如何更改 Bind9 中“/run/named/session.key”的默认权限?

如何更改 Bind9 中“/run/named/session.key”的默认权限?

我正在使用nsupdate -l本地脚本来更新 Bind9 中的 DNS 记录。

一切正常,不过我需要 PHP 具有对 处的密钥的读取权限/run/named/session.key

我可以通过将密钥的组更改为 PHP 进程用户并向其添加读取权限来授予 PHP访问权限,但每次重新启动 Bind 时g+r权限都会恢复到。bind:bindchmod 600

有没有办法在 Bind9 中配置默认​​权限,以便/run/named/session.key不同的组拥有它,并且chmod 640在启动 Bind 时启用组读取()?

答案1

文件/运行/命名/会话.key由 bind 创建,权限为 0600。如果你想更改为 0640,你可以“覆盖”systemd 脚本绑定

systemctl edit named

通过这种方式,你可以向单元文件中添加以下指令: 绑定无需担心更新时丢失配置绑定包,因为此配置保存在/etc/systemd/system/named.service.d/override.conf

这对我来说可以更改文件权限:

[Service]
ExecStartPost=/bin/bash -c '/usr/bin/sleep 2; /usr/bin/chmod 640 /run/named/session.key'

如果没有 2 秒的睡眠,执行开始岗位执行于/var/运行/session.key在我的绑定。等待 2 秒不太优雅,你可以尝试等待/运行/命名/会话更改权限之前

当然你应该执行这些命令来更新系统配置并重新启动服务

sudo systemctl daemon-reload
sudo systemctl restart named

相关内容