bindのchroot化をした後、syslogを見ると起動時にいくつかアクセスできないファイルが存在していることがわかったため、その対応についてメモ
以下はこちらのエントリの続き
http://jsapachehtml.hatenablog.com/entry/2014/02/09/125839
bindは起動したものの、syslogを見ると以下のようなwarningが出ていた
ubuntu named[2974]: Could not open '/var/run/named/named.pid'. ubuntu named[2974]: Please check file and directory permissions or reconfigure the filename. ubuntu named[2974]: could not open file '/var/run/named/named.pid': Permission denied ubuntu named[2974]: generating session key for dynamic DNS ubuntu named[2974]: Could not open '/var/run/named/session.key'. ubuntu named[2974]: Please check file and directory permissions or reconfigure the filename. ubuntu named[2974]: could not open file '/var/run/named/session.key': Permission denied ubuntu named[2974]: could not create /var/run/named/session.key ubuntu named[2974]: failed to generate session key for dynamic DNS: permission denied ubuntu named[2974]: could not open entropy source /dev/random: permission denied ubuntu named[2974]: using pre-chroot entropy source /dev/random
まずはディレクトリのアクセス権限を確認
$ ls -l /var/chroot/bind/var/run/ drwxrwxr-x 2 bind bind 4096 Feb 9 11:24 named $ ls -l /var/chroot/bind/dev crw-rw-rw- 1 bind bind 1, 3 Feb 5 18:21 null crw-r--r-- 1 bind bind 1, 8 Feb 9 11:18 random
どちらもbindユーザが書き込めるようになっている
次にapparmorの設定を確認
# vim /etc/apparmor.d/local/usr.sbin.named /var/chroot/bind/etc/bind/** r, /var/chroot/bind/usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgost.so rm,
chroot後の/var/runに対する書き込み、/devに対する読み込みが許可されていない
chroot前の設定と同様の状態にするため
・/etc/apparmor.d/usr.sbin.named
・/etc/apparmor.d/abstractions/base
から関係しそうな設定を探してchroot後のディレクトリ用に追記
# vim /etc/apparmor.d/local/usr.sbin.named /var/chroot/bind/etc/bind/** r, /var/chroot/bind/usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgost.so rm, # 以下追記部分 /var/chroot/bind/var/cache/bind/ rw, /var/chroot/bind/var/cache/bind/** rw, /var/chroot/bind/var/lib/bind/ rw, /var/chroot/bind/var/lib/bind/** rw, /var/chroot/bind/var/log/named/ rw, /var/chroot/bind/var/log/named/** rw, /var/chroot/bind/var/run/named/named.options r, /var/chroot/bind/var/run/named/named.pid w, /var/chroot/bind/var/run/named/session.key w, /var/chroot/bind/dev/log w, /var/chroot/bind/dev/null rw, /var/chroot/bind/dev/random r,
apparmorの設定再読みこみ
$ service apparmor reload
これでbindを再起動してみるとwarningがでなくなった

プロのための Linuxシステム構築・運用技術 (Software Design plus)
- 作者: 中井悦司
- 出版社/メーカー: 技術評論社
- 発売日: 2010/12/22
- メディア: 大型本
- 購入: 21人 クリック: 411回
- この商品を含むブログ (38件) を見る