Проблема доступа к ряду команд из 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 выполнять любые команды от своего имени.
В 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 выполнять любые команды от своего имени.
Комментариев нет:
Отправить комментарий