以不同(非 root)用户身份从 PHP 运行 shell 脚本

2024-02-23

我正在尝试在 Ubuntu 服务器上从 PHP 运行非特权用户拥有的 shell 脚本。权限问题使得运行它exec()不切实际,因为它是www-data正在运行它。我用谷歌搜索了一下,发现对 suExec 的各种引用(对于这么小的问题来说,这似乎太麻烦了),设置 suid 位,以及 Stackoverflow 上的一个有趣的方法,涉及一个 Python 服务器侦听发送的命令通过 PHP。

无论如何,在所有这些解决方案中,我倾向于涉及设置 suid 位的解决方案,尝试了一下,但没有成功:chmod u+s script.sh,并且我的 Apache 日志仍然显示权限错误,所以我知道该脚本没有以其所有者的身份运行,而是以www-data.

我需要做什么才能使其正常工作,是否有更简单的解决方案来解决这个问题?


看一下 sudo 的手册页:sudo -u your_other_user会让您以其他用户的身份执行该命令。

还可以使用 man sudoers 查找用户可以使用 sudo 执行哪些命令的选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以不同(非 root)用户身份从 PHP 运行 shell 脚本 的相关文章

随机推荐