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

Как запустить скрипт python, который требовал привилегий root для выполнения в apache с помощью mod_python в openbsd

Я пытаюсь запустить скрипт 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 в базе будет лучшим вариантом.