Я запускаю CentOS 6, так как httpd выполняется как пользователь 'apache'. По соображениям безопасности, я хочу использовать Sudo будет выполняться с помощью Exec как пользователь «водн»:php exec с sudo не работает на CentOS
<?php exec("/usr/bin/sudo -u aq somescript.sh",$output,$return_val);?>
С visudo я добавил следующую строку:
apache ALL = (aq) NOPASSWD: ALL
Кроме того, я временно дал апача в качестве логина (/ bin/bash), чтобы иметь возможность проверить
/usr/bin/sudo -u aq somescript.sh
, который работал, и работал.
php exec не работает, так как $ return_val выдает '1', если вызывается sudo.
sestatus отключен, поэтому SELINUX выключен. – Stefan