因此,我一直在遵循 Samba4 HOWTO,效果还不错。我遇到的问题是,当 samba 配置包含在以下位置时,我无法让 BIND9 重新启动/etc/bind/named.conf.local
:
include "/var/lib/samba/private/named.conf";
但是当我尝试重新启动 Bind9 时,sudo /etc/init.d/bind9 restart
我的日志中出现了错误:
Oct 18 20:25:00 xxxx kernel: [ 251.397899] type=1400 audit(1350588300.188:16):
apparmor="DENIED" operation="open" parent=1807 profile="/usr/sbin/named"
name="/var/lib/samba/private/named.conf" pid=1810 comm="named" requested_mask="r"
denied_mask="r" fsuid=105 ouid=0
我已经制定了以下规则/etc/apparmor.d/usr.sbin.named
(我认为有些过分,但我已经调试了好几个小时)
/var/lib/samba/ rw,
/var/lib/samba/* rw,
/var/lib/samba/private/ rw,
/var/lib/samba/private/* rw,
/var/lib/samba/private/dns/ rw,
/var/lib/samba/private/dns/* rw,
为了完整起见,有问题的文件的权限如下:
-rw-r--r-- 1 root root 384 Oct 17 11:39 named.conf
我尝试将 apparmor 置于投诉模式,禁用命名配置文件,bind9 完美启动,Samba 运行正常。但是,我一重新启动机器,它又坏了,我更愿意了解发生了什么,然后删除服务器安全的一部分来让系统正常运行。
~ sudo aa-complain /usr/sbin/named
Setting /usr/sbin/named to complain mode.
~ sudo /etc/init.d/bind9 restart
* Stopping domain name service... bind9
rndc: connect failed: 127.0.0.1#953: connection refused
...done.
* Starting domain name service... bind9
...done.
任何帮助均感激不尽。
答案1
这是我所做的(经过反复尝试):
$ cat /etc/apparmor.d/local/usr.sbin.named
# Site-specific additions and overrides for usr.sbin.named.
# For more details, please see /etc/apparmor.d/local/README.
/var/lib/samba/private/named.conf r,
/var/lib/samba/private/dns.keytab kwr,
/usr/lib/samba/** m,
/var/lib/samba/private/dns/** krw,
/var/tmp/** krw,
/dev/urandom rw,
$ service apparmor reload
$ service bind9 start
那么它就可以正常工作了。