четверг, 4 июня 2015 г.

Проблема доступа к ряду команд из PHP с помощью shell_exec

В PHP я пытался выполнить команду:
$listcdr = shell_exec('/usr/bin/ssh root@10.10.5.20 ls -l /mnt/db/cdr/ '); 
Команда не выполнялась, в переменную $listcdr ничего не записывалось. В логах возникает ошибка.

Для устранения проблемы правим файл /etc/sudoers
# nano  /etc/sudoers
вставляем после строки
root    ALL=(ALL)       ALL:
строку:
apache ALL=(ALL) NOPASSWD: ALL
получается:
...
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
apache ALL=(ALL) NOPASSWD: ALL
..

Перезагружаем. 
Все работает.
Данной манипуляцией мы разрешаем пользователю apache выполнять любые команды от своего имени.

Комментариев нет:

Отправить комментарий