Я пытаюсь завершить работу моего RaspberryPi под управлением Raspbian из php-скрипта, запущенного на веб-сервере lighttpd. shell_exec("sudo /sbin/shutdown -h now 2>&1");
я добавил lighttpd ALL=(ALL) NOPASSWD: /sbin/shutdown
в мой файл / etc / sudoers и проверил, что Defaults !requiretty
установлено.
Я все еще получаю "sudo: tty присутствует и не задана программа askpass" при запуске сценария.
Может кто-нибудь, пожалуйста, помогите мне? Спасибо!
shell_exec
функция вместоexec
так как это командная оболочка (думаю, так оно и есть). Я не уверен на 100% (отсюда и комментарий), но, возможно, стоит попробовать.2>&1
) требует снаряда; попробуйте удалить это из команды и посмотрите, получите ли вы другой результат.echo `whoami`
; Это может быть www-data или http вместоОтветы:
Lighttpd может не работать как пользователь
lighttpd
,В сценарии PHP напишите следующее, чтобы узнать, с каким пользователем он работает:
Это может быть
www-data
или жеhttp
вместо.источник