我正在按照以下说明进行操作Samba 维基将 BIND9 DLZ 设置为我的 Active Directory 域控制器的 DNS 后端。但是,我甚至无法named
开始。它需要对文件的写访问权限,但无法获得它...
named[886]: /etc/bind/named.conf:9: open: /var/lib/samba/private/named.conf: permission denied
named[886]: loading configuration: permission denied
named[886]: exiting (due to fatal error)
systemd[1]: bind9.service: Main process exited, code=exited, status=1/FAILURE
kernel: [ 5.004922] audit: type=1400 audit(1502211678.138:9): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/lib/samba/private/named.conf" pid=906 comm="named" requested_mask="r" denied_mask="r" fsuid=114 ouid=0
systemd[1]: bind9.service: Control process exited, code=exited status=1
systemd[1]: bind9.service: Unit entered failed state.
systemd[1]: bind9.service: Failed with result 'exit-code'.
我以为我一定是以某种方式弄乱了权限,但运行时却ls -l /var/lib/samba/private/named.conf
给了我:
-rw-rw-r-- 1 root root 678 Aug 8 17:56 /var/lib/samba/private/named.conf
由于权限为 664,任何用户都应该能够访问该文件。即使执行chown bind:bind
(肯定是正确的用户,请参阅内核日志),或将权限设置为 777 并不能解决问题。
令人费解的是apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/lib/samba/private/named.conf" pid=906 comm="named" requested_mask="r" denied_mask="r" fsuid=114 ouid=0
。
我遗漏了什么/不明白什么?
答案1
AppArmor 阻止了读取。我转到 /etc/apparmor.d/usr.sbin.named 并添加了以下行:
/var/lib/samba/private/named.conf r,
它允许命名读取文件。