@Mraleks10

Зажечь светодиод raspberry через web интерфейс посредством php, или другим любым способом?

Надо зажечь светодиод посредством php через web интерфейс. В PHP я написал на исполнение Python скрипта exec("sudo /var/www/html/led/***.py"), но в итоге светодиод не зажигается. PHP работает в FastCGI.
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Скорее всего прав не хватает. PHP запускает скрипт с правами веб-юзера, у которого нет прав дергать ножками. Запускать от рута нужно - скорее всего нужен сервис который работает от рута и принимает команды(через сокет) и дергает нужные выводы. Команды он может принимать из любых приложений которы могут писать в сокет.
Ответ написан
Комментировать
NikitOS_MV
@NikitOS_MV
Король шутов
PHP скрипт выполняется от имени пользователя www-data, у которого нет прав на использование sudo.
Как вариант, добавить в /etc/sudoers:
www-data ALL=(ALL:ALL) NOPASSWD:ALL
Здесь пользователю www-data дается разрешение на использование всех команд через sudo без пароля.

Можно разрешить только использование команды python:
www-data ALL=/usr/bin/python NOPASSWD:ALL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы