Я работаю со своим Raspberry Pi и пишу скрипт cgi python, который создает веб-страницу для управления моими выводами gpio. Мой скрипт падает, когда я пытаюсь импортировать RPi.GPIO как GPIO. Это ошибка, которую я получаю:
File "./coffee.py", line 7, in <module>
import RPi.GPIO as GPIO
RuntimeError: No access to /dev/mem. Try running as root!
Мой код отлично работает, когда я использую sudo для запуска своего скрипта, но когда я запускаю URL-адрес с моего сервера apache2, он говорит, что у меня нет доступа к /dev/mem. Я уже пытался редактировать visudo, и это не сработало. Вот как выглядит мой файл visudo:
#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(root) NOPASSWD: /usr/bin/python3 /usr/lib/cgi-bin/coffee.py *
apache2 ALL = (root) NOPASSWD: /usr/lib/cgi-bin/coffee.py
Есть ли способ, которым я могу запустить свой скрипт от имени пользователя root из вызова URL? Может ли кто-нибудь сказать мне, что я делаю неправильно?