我需要从我的PHP Web应用程序调用一些命令,这些命令只能以sudo
运行。
http://php.net/manual/en/function.shell-exec.php(在评论中)说我可以做到以下几点:
system('echo <password> | sudo -u root -S <command>');
它不起作用。我正在尝试groupadd
,useradd
等建议吗?
答案 0 :(得分:0)
据推测,只有当用户php运行为(apache,nobody或其他东西,具体取决于apache配置)时,才能使用sudo而不使用该命令的密码。这是不太可能的,因为它会打开宽阔,打哈欠的安全漏洞。
答案 1 :(得分:0)
要将用户添加到sudo列表并让它不提示输入某个程序的密码...编辑/ etc / sudoers文件:
Cmnd_Alias BUNDLE = /usr/bin/bundle
deploy ALL=(ALL) NOPASSWD:BUNDLE
其中deploy是用户名,/ usr / bin / bundle是我想要在没有密码的情况下访问的程序的路径。