我在 Ngnix 服务器上有一个名为 boot.sh 的 shell 脚本
我正在尝试通过 PHP 调用它,但我认为我没有权限。
我如何授予 www-data 运行 boot.sh 的权限-以及仅boot.sh
当我尝试sudo chown
或sudo chgrp
Operation Not Permitted
答案1
system("whoami");
获取 Web 服务器的用户名,我www-data
在本例中使用。编辑您的 sudoers 文件并添加以下内容。user
它将以哪个用户名运行。
www-data ALL=(user) NOPASSWD: /path/to/program/or/script
然后在 PHP 中使用以下命令。
system("sudo -u user /path/to/program/or/script");
答案2
尽管这篇文章是很久以前的,但我还是想推荐这个:从侧服务器脚本语言运行命令“whoami”,执行命令行(php),然后使用特定用户修改 sudoers 文件,因为在某些情况下是 www-data,其他是守护进程.....