php exec sudo -u root ...使用另一个用户名

时间:2018-03-20 13:05:04

标签: php linux ubuntu sudo php-7.1

我对一个完全逃脱的问题感到非常难过 - 我似乎无法找到任何特定的文档。

我刚刚转到php7.1来重构一个在php5.3上运行多年的webapp。在旧版本中,我使用

之类的东西
exec("sudo -u root -S some_command < /path/to/secret/password/file");

它总是完美无缺,今天仍然如此。 在使用php7.1的不同域下的同一台服务器上,我正在尝试同样的事情,但我没有成功。

exec("sudo -u root -S some_command 2>&1 < /path/to/secret/password/file", $output, $retval);

给我一​​条错误消息

["[sudo] password for otheruser:","Sorry, try again.","sudo: 3 incorrect password attempts"]

它显然尝试使用 otheruser 作为用户而不是root !什么?! Apache以www-data运行,其他用户(名称已更改)完全不同(FTP用户)并且在该上下文中不起作用。

sudoers文件对于两个域/ php版本都是相同的(如果我没弄错的话)。

所以它似乎归结为php版本的差异。任何见解都可能有所帮谢谢!

0 个答案:

没有答案