bind - 写入从属区域文件时权限被拒绝

bind - 写入从属区域文件时权限被拒绝

系统:Ubuntu 16.04.3 LTS

概要:

#chmod 777 /etc/bind/slave
#chmod 777 /etc/bind
#service bind9 restart
#tail /var/log/syslog | grep dump                                                                                       
Aug 23 07:14:45 appserver named[25251]: dumping master file: /etc/bind/slave/tmp-IDIdwXAG2I: open: permission denied

这里发生了什么事???

答案1

发生的情况是该named进程无法在/etc/bind/slave/目录中创建文件。

首先,/etc对于常规服务来说,这确实是一个非常不寻常的位置,无法获得写入权限。通常,您会使用位于或取决于数据类型的
目录。/var/lib/var/cache

至于为什么你的极其自由的许可(根本不是一个好主意)没有帮助,我猜装甲(更可能适用于 Ubuntu)或SELinux有一个 BIND 配置文件,该配置文件基于合理的假设(见上文),即哪些文件路径需要可写named。这适用于文件系统权限。

我建议您将可写文件移动到更合理的位置。

答案2

上面的答案很好地解释了原因。 在 中定义了一个相对路径 /etc/bind/named.conf.options,即directory "/var/cache/bind

因此,我建议将您的从属区域文件存储到文件中定义的更合理的目录中named.conf.local,并将目录的所有权授予绑定组或将写权限授予绑定组,

喜欢:

mkdir /var/cache/bind/slaves
chown bind:bind /var/cache/bind/slaves

相关内容