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

sudo [нет tty и не указана программа askpass] [невозможно stat / var / run / sudo: Permission denied]

Я запускаю rsync из php-скрипта, используя операторы обратных кавычек. Он работает как пользователь apache.

В / etc / sudoers я установил

#Defaults requiretty
Cmnd_Alias REPORTS = /usr/bin/rsync
apache ALL = NOPASSWD: REPORTS

В журнале ошибок я получаю эти ошибки

sudo: can't stat /var/run/sudo: Permission denied
sudo: no tty present and no askpass program specified

Кроме того, не то, чтобы путь rsync был правильным, как и команда rsync в php. Я могу запустить команду как root, а также, если я добавлю NOPASSWD другому пользователю, я могу выполнить sudo и запустить ту же команду.

Вероятно, потому что sudo требуется сеанс TTY для запуска. Вы можете заставить sudo предполагать / использовать TTY, передавая -t аргументы, то есть:

sudo -tt /usr/bin/rsync

Отключите SELINUX (/ etc / selinux / config SELINUX = disabled и перезагрузитесь).