В настоящее время я пишу веб-приложение с использованием Django, Apache и mod_wsgi, которое предоставляет некоторые функции управления и настройки сервера FreeBSD, включая обычные операции межсетевого экрана.
Моя библиотека Python / C использует необработанные сокеты для непосредственного взаимодействия с брандмауэром и прекрасно работает при работе от имени пользователя root, но операции с необработанными сокетами разрешены только для пользователя root.
На этом этапеЕдинственное, о чем я могу думать, это установить и использовать sudo, чтобы явно разрешить пользователю www доступ к / sbin / ipfw, что не идеально, так как я предпочел бы использовать мои необработанные операции с библиотеками сокетов, а не вызов подпроцесса.
Полагаю, другим вариантом было бы написать (сокеты локального домена) или использовать существующую систему заданий (Celery?), Которая работает от имени root и обрабатывает эти запросы.
Или, может быть, есть какая-то хитрость в режиме WSGI Daemon, о которой я не знаю?Я уверен, что эта проблема встречалась раньше.Какой-нибудь совет относительно лучшего способа справиться с этим?