* bind9のシステムアカウントの変更(Debian) ついでにchroot化もしちゃう(詳細はbind添付のドキュメント参照)。 ** /etc/init.d/bind9の変更(ユーザ、chroot jailの指定) 以下のように変更 OPTS="-u nobody -t /var/lib/named" ** chroot環境に必要なディレクトリを作成 (シェルで実行) # mkdir -p /var/lib/named/etc # mkdir /var/lib/named/dev # mkdir -p /var/lib/named/var/cache/bind # mkdir /var/lib/named/var/run ** デバイスファイルの作成 (シェルで実行) # mknod /var/lib/named/dev/null c 1 3 # mknod /var/lib/named/dev/random c 1 8 # chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random ** bindで触れるファイルのオーナを変更 (シェルで実行) # chown -R nobody:nogroup /var/lib/named/var/* # chown nobody:nogroup /var/lib/named/etc/bind # chown -R nobody:nogroup /etc/bind/* <-- 後々、bind mountする # chown -R nobody:nogroup /var/cache/bind/* <-- 後々、bind mountする ** /etc/init.d/bind9 の変更(bind mountの位置の指定) "start" の箇所のサービス開始前の部分に以下を追加 mount --bind /etc/bind /var/lib/named/etc/bind mount --bind /var/cache/bind /var/lib/named/var/cache/bind "stop" の箇所のサービス停止後の部分に以下を追加 umount /var/lib/named/var/cache/bind umount /var/lib/named/etc/bind ** syslogdの設定変更 /var/lib/named/dev/logをsyslogdが見に行くようにする。ここではsyslog-ngの設定。/etc/syslog-ng/syslog-ng.confの設定は以下のとおり source src { unix-dgram("/dev/log"); unix-dgram("/var/lib/named/dev/log"); internal(); }; ** 起動 以下を実行し、起動したら、namedのプロセスがnobodyで実行されていれば成功。 /etc/init.d/bind9 start