Como definir a cláusula de registro para um BIND com chroot?

Como definir a cláusula de registro para um BIND com chroot?

Esta questão é um pouco semelhante aEstemas a resposta que mais pareceu ajudar é específica do Ubuntu, e está rodando no OSX 10.6.8.

Com esta cláusula de registro:

logging {
         category default {
                 _default_log;
         };

         channel _default_log  {
                 file "/var/chroot/named/var/log/query.log";
                 severity info;
                 print-time yes;
         };
 };

Recebo este erro no system.log:

isc_log_open '/var/chroot/named/var/log/query.log' falhou: arquivo não encontrado

Este artigo sobre a cláusula de registro do bind9 no arquivo confdiz:

arquivo 'path_name' é uma string entre aspas que define o caminho absoluto para o arquivo de registro, por exemplo, "/var/log/named/namedlog.log".

Mas o conf está dentro da prisão em /var/chroot/named/etc/named.confe eu gostaria que o log fosse gravado em /var/chroot/named/var/log/query.log, que está dentro da prisão ou /Library/Logs/named.logfora da prisão (e é para onde o log estava apontando antes do chroot). O que quer que eu consiga fazer, está bom.

Qualquer ajuda é muito apreciada!

Responder1

Como o seu bind está sendo executado dentro de um jail chroot, seu caminho deve ser relativo a ele.

Para o seu bind chrooted, o /diretório começa em /var/chroot/named, portanto você deve alterar o nome do arquivo para /var/log/query.loge certificar-se de que o bind tenha permissão para gravar em /var/log.

Além disso, você pode ter seus logs gravados em ambos os arquivos. Se a alteração acima funcionar, você pode vincular os dois arquivos ( /var/chroot/named/var/log/query.loge /Library/Logs/named.log) em um usando, fora do chroot, o comando:

$ ln /var/chroot/named/var/log/query.log /Library/Logs/named.log

Isso fornecerá o mesmo conteúdo em ambos os locais. Mas esteja avisado que remover um arquivo não removerá o outro, mas esvaziá-lo fará o mesmo para ambos. Portanto, se você usar o logrotate, ou um programa semelhante, precisará girar os dois arquivos e certificar-se de que o link seja recriado todas as vezes.

Responder2

Altere o nome do arquivo na diretiva para /var/log/query.log.....Você está em uma área chroot que tem /var/chroot/nomeado como raiz.

informação relacionada