
この質問は、これですしかし、最も役立つと思われる回答は 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' が失敗しました: ファイルが見つかりません
confファイル内のbind9のログ記録句に関するこの記事言う:
ファイル 'path_name' は、ログ ファイルへの絶対パスを定義する引用符で囲まれた文字列です (例: "/var/log/named/namedlog.log")。
しかし、conf は jail 内の にあり、ログはjail 内の か、 jail 外の (chroot 前にログが指していた場所)/var/chroot/named/etc/named.conf
のいずれかに書き込まれるようにしたいと思います。どちらでも動作すれば問題ありません。/var/chroot/named/var/log/query.log
/Library/Logs/named.log
どのような助けでも大歓迎です!
答え1
バインドは jail chroot 内で実行されるため、パスはそれに相対的である必要があります。
chroot された bind の場合、/
ディレクトリは で始まる/var/chroot/named
ため、ファイル名を に変更し/var/log/query.log
、bind に への書き込み権限があることを確認する必要があります/var/log
。
また、ログを両方のファイルに書き込むこともできます。上記の変更がうまくいけば、chroot の外で次のコマンドを使用して、 2 つのファイル (/var/chroot/named/var/log/query.log
および) を 1 つのファイルにリンクできます。/Library/Logs/named.log
$ ln /var/chroot/named/var/log/query.log /Library/Logs/named.log
こうすることで、両方の場所に同じコンテンツが提供されます。ただし、1 つのファイルを削除しても他のファイルは削除されませんが、ファイルを空にすると両方のファイルが削除されることに注意してください。そのため、、logrotate
または同様のプログラムを使用する場合は、両方のファイルをローテーションして、リンクが毎回再作成されるようにする必要があります。
答え2
ディレクティブ内のファイル名を /var/log/query.log に変更します。ルートとして /var/chroot/named を持つ chroot された領域にいます。