Linux bash:由非root用户使用PHP以非root用户身份运行脚本

我有一个由“tom”拥有的PHP脚本(使用PHP-FPM运行)。 “tom”想运行脚本/srv/helloworld.sh作为另一个用户“jerry”。 “tom”有权在服务器上运行脚本(所以他可以使用ex。system())。

多么短,“汤姆”想知道如何做到这一点。 “汤姆”拿了一些文章:

sudo su -c /srv/helloworld.sh jerry 

但主要的问题是,脚本要求input密码,而且您知道(如果我没有弄错),则无法在Web界面中input密码。

我很好奇这个话题,如果你能帮助我,我会很高兴。 提前致谢!

man sudoers有你需要的所有信息。

你需要使用命令sudo -u jerry /srv/helloworld.sh并且必须改变/etc/sudoers这样tom才可以执行,而不必input密码。 NOPASSWD是你的关键词。

您可以configurationsudo,让tom将这个脚本作为jerry运行而不需要密码。 阅读sudoers – 我会从“男人sudoers”开始。