Linux — php exec с sudo не работает на CentOS

Я использую CentOS 6, так как httpd выполняется как пользователь ‘apache’. Из соображений безопасности я хочу использовать sudo для выполнения через exec от имени пользователя ‘aq’:

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

С Visudo я добавил следующую строку:

apache ALL = (aq) NOPASSWD: ALL

Кроме того, я временно предоставил apache в качестве оболочки для входа в систему (/ bin / bash), чтобы иметь возможность тестировать

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

прямо который работал.

php exec завершается неудачно, так как $ return_val выдает ‘1’, если вызывается sudo.

2

Решение

Закомментируйте эту строку из / etc / sudoers

Значения по умолчанию requiretty

Я проверил ваше дело несколькими способами, и это дает мне успех.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]