我正在尝试在 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(使用前将#替换为@)