Я пытаюсь предоставить доступ 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.