Я пытаюсь запустить bind9 в системе ubuntu в chroot jail, как описано в разделе «Системное администрирование Linux» (Адельштейн и Любанович). Команда "sudo /etc/init.d/bind9 start" генерирует ошибки в системном журнале:
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"
Сервер настроен следующим образом:
Системный журнал предполагает, что проблема заключается в том, что владелец процесса для bind9 не может прочитать файл конфигурации, но он запускается как root и сбрасывается для привязки, любой из которых, я думаю, должен иметь возможность читать конфигурацию.
Что мне здесь не хватает?
РЕДАКТИРОВАТЬ: ой, 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,