2014-09-23 115 views
2

我正在運行CentOS 6,因爲httpd是作爲用戶'apache'執行的。出於安全原因,我想使用sudo通過EXEC作爲用戶「AQ」被執行:與exec sudo php執行失敗CentOS

<?php exec("/usr/bin/sudo -u aq somescript.sh",$output,$return_val);?> 

隨着visudo命令我加入以下行:

apache ALL = (aq) NOPASSWD: ALL 

而且我臨時給了Apache作爲登錄shell(/ bin/bash),以便能夠測試

/usr/bin/sudo -u aq somescript.sh 

直接工作。

php exec失敗,因爲如果sudo被調用,$ return_val傳遞'1'。

+0

sestatus返回被禁用,因此SELINUX被關閉。 – Stefan 2014-09-23 12:18:22

回答

2

註釋掉該行從/ etc/sudoers文件

默認requiretty

心中已經在幾個方面測試你的情況這螞蟻一個讓我成功。

+0

加上1,000,000 upvotes給你! – 2015-06-22 18:25:07