Я пытаюсь запустить скрипт Python в Apache 2.x с помощью mod_python. Я редактировал httpd.conf с издателем
LoadModule python_module /usr/local/apache2/modules/mod_python.so
<Directory /usr/local/apache2/htdocs/mod_python>
SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
Я пытаюсь добавить правило в брандмауэр, используя скрипт Python, для которого требуются привилегии root. он просит привилегии root? Пожалуйста, помогите кому-нибудь.
Проверить это.
"Аналогично pfctl (8), py-pf отправляет команды ядру через интерфейс ioctl (2), предоставляемый псевдоустройством pf (4); это позволяет Python напрямую взаимодействовать с ядром благодаря модулям fcntl и ctypes, без необходимости писать специальный модуль расширения C. "
Итак, проверьте разрешения в псевдоустройстве pf пользователем, запустившим apache.
Вам нужно использовать sudo
бежать pfctl
из вашего веб-приложения, и вам нужно добавить пользователя "apache" в sudoers
файл с правами на запуск pfctl
без запроса пароля.
НОТА: Чтобы изменить ваш sudoers
файл используйте команду visudo
как root, или учетная запись с повышенными привилегиями для этого.
Возможно, вы также не захотите использовать устаревший способ mod_python для запуска веб-приложений на Python. Что-то вроде Бутылка или Колба в паре с nginx в базе будет лучшим вариантом.