Я пытаюсь создать веб-интерфейс PHP для сценария промежуточной публикации.Веб-интерфейс защищен (интранет, пароль и т. Д.), Поэтому я рад, что Apache выступил в роли пользователя root для выполнения rsync.Пароль для пользователя root отсутствует, для доступа по SSH используется ключевой файл.
Я попытался выполнить команду rysnc в сценарии оболочки ...
sudo rsync --verbose --recursive --times --perms --links --delete /tmp/dir1/* /tmp/dir2/
И разрешилapache для запуска rsync, добавив в файл sudoers следующее ...
apache ALL=(ALL) NOPASSWD:/usr/bin/rsync
Я использую PHP shell_exec для вызова сценария ...
$result = shell_exec('bash /tmp/syncscript.sh 2>&1');
Я получаю следующую ошибку...
sorry, you must have a tty to run sudo
Как настроить, чтобы я мог запустить команду rsync, как если бы я был пользователем root?
Спасибо!