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

Блокировка домашнего каталога пользователя Apache2 до root

Я использую Apache2 для развертывания приложения django, я установил apache2 для другого пользователя, а не для apache. Проблема в том, что когда сервер запускается, пользователь изменяется, но переменная среды домашнего каталога ($ HOME) остается /root. Почему?

Я не эксперт во внутреннем устройстве Linux / Unix, но думаю, что системный вызов, изменяющий эффективный идентификатор пользователя, не меняет никаких переменных среды.

Переменные среды будут задействованы только в том случае, если новый процесс был exec () 'd или spawn ()' d, т.е. когда вы запускаете Apache.

Вы можете написать небольшой сценарий-оболочку, чтобы установить для $ HOME другое значение, а затем запустить Apache. Если вы используете Debian, вы можете просто изменить /etc/init.d/apache2.