Этот вопрос немного похож на этот, но ответ, который, похоже, больше всего помогает, зависит от Ubuntu, и он работает на OSX 10.6.8.

С этим пунктом регистрации:

logging {
         category default {
                 _default_log;
         };

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

Я получаю эту ошибку в system.log:

isc_log_open '/var/chroot/named/var/log/query.log' не удалось: файл не найден

Эта статья о пункте регистрации в bind9 в файле conf гласит:

file 'path_name' - это строка в кавычках, определяющая абсолютный путь к файлу регистрации, например, "/var/log/named/namedlog.log".

Но conf находится внутри тюрьмы в /var/chroot/named/etc/named.conf и я бы хотел, чтобы журнал записывался либо в /var/chroot/named/var/log/query.log , который находится внутри jail, или /Library/Logs/named.log который находится за пределами тюрьмы (и там, где журнал указывал до привязки). Все, что я могу получить на работу в порядке.

Любая помощь высоко ценится!

2 ответа2

1

Так как ваша привязка выполняется внутри тюрьмы, ваш путь должен быть относительно нее.

Для вашей привязки chroot каталог / начинается с /var/chroot/named , поэтому вы должны изменить имя файла на /var/log/query.log и убедиться, что у привязки есть разрешение на запись в /var/log .

Кроме того, ваши журналы могут быть записаны на обоих файлах. Если указанное выше изменение сработает, вы можете связать два файла (/var/chroot/named/var/log/query.log и /Library/Logs/named.log) в один, используя за пределами chroot команду:

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

Это даст вам одинаковый контент в обоих местах. Но имейте в виду, что удаление одного файла не приведет к удалению другого, но его очистка сделает это для обоих. Поэтому, если вы используете logrotate или аналогичную программу, вам нужно будет повернуть оба файла и убедиться, что ссылка воссоздается каждый раз.

1

Измените имя файла в директиве на /var/log/query.log .....Вы находитесь в области chroot'd, для которой /var /chroot / назван в качестве корня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .