www-data
需要授予Apache用户的特权,以使用来执行某些应用程序sudo
。
- 运行命令
sudo visudo
。实际上,我们要在etc/sudoers
.file中进行编辑。为此,通过sudo visudo
在终端中使用它,可以复制(temp)sudoers
文件进行编辑。
- 在文件末尾,添加以下示例:-如果我们要使用command进行
restart
抽烟,并使用command进行php
问题中的其他操作,
www-data ALL=NOPASSWD: /etc/init.d/smokeping/restart, usr/bin/php
(这是假设您希望使用超级用户(root)特权运行restart
和php
命令,并且php
在usr/bin/
path中使用command )
但是,如果您希望使用超级用户权限运行每个应用程序,请添加以下内容而不是上面的内容:您可能不想这样做,因为对于ALL
命令而言这非常危险。
www-data ALL=NOPASSWD: ALL
3. 编辑完sudoers文件后(通过visudo
编辑sudoers
so保存的临时文件并退出临时文件(visudo)以写入sudoers
文件。(wq!
)
4.就这样,现在在脚本中使用exec()
或shell_exec
以以下方式使用xxx.php
。请记住sudo
在php脚本中使用该命令之前要使用该命令。
例如:-
exec ("sudo /etc/init.d/smokeping restart 2>&1");
要么
shell_exec("sudo php -v");
因此,在您遇到的问题中,将要使用的命令添加到中,step no (2.)
因为我要添加并根据需要更改PHP脚本。
这是与您的相同的问题/programming//a/22953339/1862107