我正在使用nsupdate -l
本地脚本来更新 Bind9 中的 DNS 记录。
一切正常,不过我需要 PHP 具有对 处的密钥的读取权限/run/named/session.key
。
我可以通过将密钥的组更改为 PHP 进程用户并向其添加读取权限来授予 PHP访问权限,但每次重新启动 Bind 时g+r
权限都会恢复到。bind:bind
chmod 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