在为 Debian 11.1 安装 bind9 并进行预配置后,重新启动 bind 后我得到以下信息:
example.local/IN: loading from master file /var/named/example.local.zone failed: permission denied
当我将文件 example.local.zone 移动到 /etc/bind9 并在 named.conf.local 中更改文件位置后,一切正常。
当然,我对 /var/named 的权限是没问题的,并且用户/组:root:bind。即使我授予完全权限,也会出现同样的错误。问题出在哪里?
答案1
当我遇到这种情况时,是因为 apparmor 处于活动状态,不允许访问未列入白名单的路径。您可能可以查看配置文件以/etc/apparmor.d/usr.sbin.named
进行确认。我建议您将文件移动到/etc/bind
或/var/lib/bind
,或更新 apparmor 配置文件以包含/var/named
。