0

我需要postfix reload从 php 网页可访问的脚本中调用。postfix reload需要超级用户权限。我可以使用echo "password" | sudo ...但我不想将超级用户权限授予可从 apache 访问的脚本,也不想在那里以明文形式写入密码。你如何调用这样的命令而不产生安全问题?像 ISPConfig 这样的软件如何解决这个需求?

4

1 回答 1

1

必须允许运行 Apache 的用户(例如 apache)在没有密码的情况下执行“sudo postfix reload”。为此,您需要在“/etc/sudoers”文件中添加以下行:

apache   ALL = NOPASSWD: /path/to/postfix reload

我建议在脚本中使用“sudo /path/to/postfix reload”,因为后缀文件可能不在 apache 用户的默认路径中。

关于安全性,您需要确保不会经常启动此命令,因为它可能会导致性能问题。由于该命令指定了一个参数,即使您的站点会受到威胁,postfix 重新加载也只会执行特定操作而无法更改该行为(只要 sudo 和 postfix 是 up2date)。

于 2017-04-20T19:24:31.893 回答