Назад | Перейти на главную страницу

Предоставление доступа php sudo

Я пытаюсь предоставить доступ php sudo (для автоматического подключения общего ресурса). Мне удалось полностью предоставить доступ php sudo в одной из моих систем, добавив демона в список sudo через

su --login -c 'visudo'

так что теперь он содержит демон вроде:

daemon  ALL=(ALL)  NOPASSWD: ALL

но когда я пытаюсь запустить простой скрипт php:

<?php
echo "\nfirst: ";
echo shell_exec("whoami");
echo "\nsecond: ";
echo shell_exec("sudo ls");
?>

Получаю результаты:

first: daemon
second:

То есть всякий раз, когда я использовал shell_exec с sudo в команде, ничего не возвращается или не возбуждается. Как я могу предоставить доступ php sudo.

Проверьте журнал ошибок вашего веб-сервера ... Держу пари, вы получаете такую ​​ошибку, как:

# tail -1 /var/log/httpd/error_log
sudo: sorry, you must have a tty to run sudo

В этом случае попробуйте изменить свой файл sudoers и изменить / удалить строку requiretty:

# grep requiretty /etc/sudoers
Defaults    requiretty

С другой стороны, если вы просто пытаетесь автоматически смонтировать и поделиться чем-то, возможно, стоит изучить autofs / automount.