允许用户在没有 Sudo 的情况下重新加载 PHP FPM

Allow users to reload PHP FPM without Sudo

在我们的开发服务器上,我们允许多个开发人员访问服务器以 [​​=11=] 他们的更改。通常这需要 运行 sudo systemctl reload php-fpm(或发送 USR2,等等)。但是,我们希望允许他们在 PHP-FPM 中重新加载更改后的代码,而不需要 sudo.

回到我以前使用 Ruby 的时候,您可以通过 touchtmp目录。

PHP-FPM 是否支持类似的东西?或者,无论如何都允许 reload 命令(或发送 USR2 的任何类似方法)而不使用 sudo

在 /etc/sudoers 文件中将命令列入白名单时,您可能会在那里:

首先编辑 sudoers 文件:

sudo visudo

添加以下配置行:

user ALL=(root) NOPASSWD: systemctl reload php-fpm

Replace user (at the beginning of the line) with the real username, for whom the command is executed.

这将使用户有权调用 sudo systemctl reload php-fpm 作为 root 执行(无密码)。

或者可以使用:

user ALL=(ALL) NOPASSWD: /usr/sbin/service php7.3-fpm *

其中 7.3 可能会根据您拥有的 php 版本而改变,user 是您的用户。