为什么bind9给连接拒绝权限拒绝错误,当它是777

这些问题没有帮助:

https://askubuntu.com/questions/172030/how-to-allow-bind-in-app-armor
无法启动BIND9

我想开始bind9并看到它在syslog授予拒绝权限,如下所示:

 Feb 8 09:37:24 aname named[27278]: automatic empty zone: AEFIP6.ARPA Feb 8 09:37:24 aname named[27278]: automatic empty zone: BEFIP6.ARPA Feb 8 09:37:24 aname named[27278]: automatic empty zone: 8.BD0.1.0.0.2.IP6.ARPA Feb 8 09:37:24 aname named[27278]: command channel listening on 127.0.0.1#953 Feb 8 09:37:24 aname named[27278]: command channel listening on ::1#953 Feb 8 09:37:24 aname named[27278]: isc_stdio_open '/var/log/bind9/query.log' failed: permission denied Feb 8 09:37:24 aname named[27278]: configuring logging: permission denied Feb 8 09:37:24 aname named[27278]: loading configuration: permission denied Feb 8 09:37:24 aname named[27278]: exiting (due to fatal error) Feb 8 09:37:24 aname kernel: [1984823.682079] type=1400 audit(1454924244.439:45): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/query.log" pid=27279 comm="named" requested_mask="c" denied_mask="c" fsuid=109 ouid=0 

为什么在777时会出现permission error

我想也许这是由于zones目录,所以我也检查:

 4 drwxr-sr-x 2 root root 4096 Feb 7 18:45 zones 

我通过/usr/sbin/named-checkconf检查了区域文件,但没有在terminal上打印出错误。

bind9含量:

 4 -rw-r--r-- 1 root root 2389 Jan 18 14:04 bind.keys 4 -rw-r--r-- 1 root root 237 Jan 18 14:04 db.0 4 -rw-r--r-- 1 root root 271 Jan 18 14:04 db.127 4 -rw-r--r-- 1 root root 237 Jan 18 14:04 db.255 4 -rw-r--r-- 1 root root 353 Jan 18 14:04 db.empty 4 -rw-r--r-- 1 root root 270 Jan 18 14:04 db.local 4 -rw-r--r-- 1 root root 3048 Jan 18 14:04 db.root 4 -rw-r--r-- 1 root bind 464 Feb 7 17:56 named.conf 4 -rw-r--r-- 1 root bind 490 Jan 18 14:04 named.conf.default-zones 4 -rw-r--r-- 1 root bind 333 Feb 7 18:47 named.conf.local 4 -rw-r--r-- 1 root bind 455 Feb 7 18:33 named.conf.options 4 -rw-r--r-- 1 root bind 890 Feb 7 13:22 named.conf.options.bak 4 -rw-r----- 1 bind bind 77 Feb 7 13:22 rndc.key 4 drwxr-sr-x 2 root root 4096 Feb 7 18:45 zones 4 -rw-r--r-- 1 root root 1317 Jan 18 14:04 zones.rfc1918 

编辑2:

ls -las /var/lib/bind/ output:

 4 -rw-r--r-- 1 root root 53 Feb 7 13:22 bind9-default.md5sum 

编辑3:
我有apparmor ,这与文件permissons混乱?

这个问题几乎解决了我的问题:
https://askubuntu.com/questions/469866/bind-fatal-error-cant-open-custom-log

有些目录不存在,所以我创build了它们。 named.conf.options中的path是错误的,我纠正它们以指向一个存在的文件。

问题解决了!

你的输出中有错误:

 Feb 8 09:37:24 aname kernel: [1984823.682079] type=1400 audit(1454924244.439:45): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/query.log" pid=27279 comm="named" requested_mask="c" denied_mask="c" fsuid=109 ouid=0 

添加一个

 /var/log/bind9/query.log rw, 

Stanza to /etc/apparmor.d/usr.sbin.named ,重新启动apparmor并绑定服务,你很好走。

并将文件系统权限恢复到日志文件。

只需更改文件的所有权:

 chown bind:bind /var/log/bind9/query.log