我想到了suPHP,但那不是我所需要的。 它不符合我的目的是以不同的用户身份运行整个PHP脚本。 我只需要以不同的用户身份运行一个单独的linux命令行。
可能吗?
你可以尝试shell_exec函数和sudo
编辑 :看到sudo提示输入密码,你可能会想使用proc_open ,它允许你使用管道。 请参阅此评论以了解如何创建自定义密码管道。
您可以使用该用户的CRON执行脚本。 如果这是一个Web应用程序,那么你仅限于有限权限的Apache / Nobody用户。 如果这只需要在某个特定的时间运行,我会使用CRON。
另一种方法是粘滞位