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

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

我有一个“tom”拥有的 PHP 脚本(使用 PHP-FPM 运行)。“tom”想要以另一个名为“jerry”的用户身份运行脚本 /srv/helloworld.sh。“tom”有权在服务器上运行脚本(因此他可以使用例如 system())。

总而言之,“汤姆”想知道如何做到这一点。“汤姆”读了一些关于此的文章:

sudo su -c /srv/helloworld.sh jerry

但主要的问题是,脚本要求输入密码,而您知道(如果我没记错的话)没有办法在 Web 界面中输入密码。

我对这个话题非常感兴趣,如果您能帮助我,我将非常高兴。提前谢谢!

答案1

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

您需要命令sudo -u jerry /srv/helloworld.sh并且必须进行更改/etc/sudoers,以便 tom 无需输入密码即可执行此操作。NOPASSWD是您的关键词。

答案2

您可以配置 sudo 以允许 tom 以 jerry 身份运行该脚本而无需密码。阅读 sudoers - 我会从“man sudoers”开始。

相关内容