Ubuntu
在 chroot 中執行 BIND9
我正在嘗試在 chroot 監獄中的 ubuntu 機器上執行 bind9,如“Linux 系統管理”(Adelstein & Lubanovic) 中所述。命令“sudo /etc/init.d/bind9 start”在 syslog 中生成錯誤:
Jun 27 13:39:48 doli named[12418]: starting BIND 9.5.1-P2 -u bind -t /var/lib/named . . . Jun 27 13:39:48 doli named[12418]: loading configuration from '/etc/bind/named.conf' Jun 27 13:39:48 doli named[12418]: none:0: open: /etc/bind/named.conf: permission denied Jun 27 13:39:48 doli named[12418]: loading configuration: permission denied Jun 27 13:39:48 doli named[12418]: exiting (due to fatal error) Jun 27 13:39:48 doli kernel: [426157.438173] type=1503 audit(1246124388.753:33): operation="inode_permission" requested_mask="r::" denied_mask="r::" fsuid=105 name="/var/lib/named/etc/bind/named.conf" pid=12419 profile="/usr/sbin/named"
伺服器配置如下:
- /etc/bind 符號連結到 /var/lib/named/etc/bind。
- /var/…/etc 的所有權以及其中的所有內容都設置為 bind:bind。
- /etc/default/bind9 有 OPTIONS="-u bind -t /var/lib/named" (但我注意到 /etc/init.d/bind9 有 OPTIONS="" 和一個似乎說別管它的符號並重置 /etc/default/bind9 中的值)。
系統日誌表明問題是bind9的程序所有者無法讀取配置文件,但它以root身份啟動並重置為bind,我認為其中任何一個都應該能夠讀取配置。
我在這裡想念什麼?
編輯:哎呀,AppArmor,而不是 SELinux ……
查看 /etc/apparmor.d/usr.sbin.named
有一個部分如下所示:
/etc/bind/** r, /var/lib/bind/** rw, /var/lib/bind/ rw, /var/cache/bind/** rw, /var/cache/bind/ rw,
我建議之後添加這個(或者可能用這個替換它):
/var/lib/named/etc/bind/** r, /var/lib/named/var/lib/bind/** rw, /var/lib/named/var/lib/bind/ rw, /var/lib/named/var/cache/bind/** rw, /var/lib/named/var/cache/bind/ rw,