允许用户重新加载PHP FPM而不使用Sudo

n3ipq98p  于 2023-09-29  发布在  PHP
关注(0)|答案(3)|浏览(108)

在我们的开发服务器上,我们允许多个开发人员访问服务器以git pull他们的更改。通常这需要运行sudo systemctl reload php-fpm(或发送USR2等)。但是,我们希望允许他们在PHP-FPM中重新加载更改后的代码,而不需要sudo
当我使用Ruby的时候,你可以通过touchtmp目录中创建一个名为restart.txt的文件来完成我正在寻找的事情。
PHP-FPM支持这样的功能吗?或者,是否允许reload命令(或任何类似的发送USR2的方法)而不使用sudo

ldxq2e6h

ldxq2e6h1#

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

sudo visudo

添加以下配置行:

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

user(行首)替换为执行命令的真实的用户名。
这将赋予用户以root身份调用sudo systemctl reload php-fpm的权限(无需密码)。

fzsnzjdm

fzsnzjdm2#

或者可以用途:

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

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

dm7nw8vv

dm7nw8vv3#

对于像我这样的初学者/谷歌人来说。重新启动或重新加载服务的所有步骤(必要时可编辑)
1.如果尚未安装,请安装yum install sudo
1.运行visudothis is how to edit it
1.插入这个myUsername ALL=NOPASSWD: /bin/systemctl restart httpd.service(在我的例子中是apache restart,如果需要的话改为reload php-fpm。由于某种原因,上面的ans没有工作)
1.现在myUsername可以运行类似sudo /bin/systemctl restart httpd.servicenote sudo的东西

相关问题