刚刚升级了 debian,named 现在无法启动。我配置了 2 个日志通道:
channel "named_log" {
file "/var/log/bind/named.log" versions 10 size 2m;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
channel "query_log" {
file "/var/log/bind/query.log" versions 2 size 100k;
severity dynamic;
print-severity yes;
print-time yes;
};
升级前一切正常。以下是目录:
root@dom:/var/log/bind# ls -la /var/log/bind
total 156
drwxrwsr-x 2 bind bind 4096 Oct 30 17:14 .
drwxr-xr-x 36 root root 4096 Oct 30 15:41 ..
-rw-r----- 1 bind bind 149847 Oct 30 17:45 bind9.log
root@dom:/var/log/bind# id bind
uid=110(bind) gid=118(bind) groups=118(bind)
root@dom:/var/log/bind# ls -lna /var/log/bind
total 156
drwxrwsr-x 2 110 118 4096 Oct 30 17:14 .
drwxr-xr-x 36 0 0 4096 Oct 30 15:41 ..
-rw-r----- 1 110 118 149847 Oct 30 17:45 bind9.log
root@dom:/var/log/bind# named -v
BIND 9.11.5-P4-5.1-Debian (Extended Support Version) <id:998753c>
root@dom:~# ps -eo pid,gid,euid,comm|grep named
6677 118 110 named
但是有这个:
Oct 30 17:04:35 dom named[4997]: configuring command channel from '/etc/bind/rndc.key'
Oct 30 17:04:35 dom named[4997]: command channel listening on 127.0.0.1#953
Oct 30 17:04:35 dom named[4997]: isc_stdio_open '/var/log/bind/named.log' failed: permission denied
Oct 30 17:04:35 dom named[4997]: configuring logging: permission denied
Oct 30 17:04:35 dom named[4997]: loading configuration: permission denied
Oct 30 17:04:35 dom named[4997]: exiting (due to fatal error)
我临时启用了用户绑定的登录,并确认该用户可以在 /var/log/bind/ 中创建和修改文件
请帮忙
upd:执行了 chmod 777 /var/log/bind - 同样的错误
答案1
听起来好像bind9
由于其他原因可能不允许写入该文件夹。
检查 AppArmor 是否正在通过 运行aa-status
。
AppArmor 是 Linux 的另一种强制访问控制机制,与 SELinux 类似。实际上,您需要它,因为它可以防止应用程序被恶意利用。
如果是,请暂时禁用它以进行测试:
sudo systemctl stop apparmor
sudo systemctl disable apparmor
如果这解决了问题,那么您将需要更新bind9
AppArmor 中的配置文件以允许其访问日志文件夹。
作为参考,AppArmor 配置文件存储在/etc/apparmor.d/
答案2
无需禁用 apparmor 或重新配置(假设您确实希望日志转到/var/log/bind
)。
Debian 中的 Apparmor 已配置为允许读写访问/var/log/named
(并指出您应改用 syslog)。/etc/apparmor.d/usr.sbin.named
有关更多信息,请参阅。
创建文件夹为:
mkdir -m 775 -p /var/log/named # can also use mode 770
chown root:bind /var/log/named