Могу ли я запустить свое приложение mod_perl от имени обычного пользователя

Могу ли я запустить приложение mod_perl от имени обычного пользователя, похожего на простое ванильное приложение CGI под suexec?

2 ответа

Решение

Из источника:

Можно ли запустить Apache с mod_perl как suExec?

Ответ - нет. Причина в том, что вы не можете "выполнить" часть процесса. mod_perl находится внутри процесса Apache, поэтому его UID и GID совпадают с процессом Apache.

Вы должны использовать mod_cgi, если вам нужна эта функциональность.

Другое решение - использовать crontab для вызова некоторого скрипта, который проверит, есть ли что-то, что нужно сделать, и выполнит его. Сценарий mod_perl сможет создавать и обновлять этот список задач.

Более подробный ответ с некоторыми возможными обходными путями из книги "Practical mod_perl": (надеюсь, это не пиратский контент, если он есть, отредактируйте его)

mod_perl 2.0 улучшает ситуацию, поскольку позволяет пулу интерпретаторов Perl быть выделенным для одного виртуального хоста. Можно установить идентификаторы UID и GID этих интерпретаторов для пользователей, для которых настроен виртуальный хост, чтобы пользователи могли работать в своих собственных защищенных пространствах и не могли мешать другим пользователям.

Дополнительные решения из книги "Сме" находятся в приложении С2.

Поскольку mod_perl работает внутри процесса apache, я думаю, что ответ, как правило, нет. Например, вы можете запустить отдельный процесс apache от имени обычного пользователя и использовать основной процесс apache в качестве прокси-сервера.

Другие вопросы по тегам