为什么拒绝读取(r)777 文件?

为什么拒绝读取(r)777 文件?

我正在按照以下说明进行操作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,

它允许命名读取文件。

相关内容