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

Как автоматически запустить веб-сервер на сервере Ubuntu без прав root?

Как я могу запустить веб-сервер при загрузке без прав root (как другой пользователь)? Я мог бы просто добавить его в rc.local, но он запускается под пользователем root.

Как я могу запустить веб-сервер при загрузке без прав root (как другой пользователь)?

Зачем? Чего вы пытаетесь достичь?

Первое, что делает Apache после того, как он стал демоном и прослушивает порт, - это установить uid для пользователя, определенного в файлах конфигурации, то есть он не запускается с правами root.

Невозможно запустить демон, прослушивающий порт ниже 1024 если только вы - root - но вполне возможно запустить его прослушивание, скажем, порт 8000, а также вполне возможно настроить iptables для прокси-порта 80 запросов на порт 8000 - но только корневые процессы могут установить uid на другой uid - так что вы необходимо изменить конфигурацию Apache, чтобы либо он не вызывал setuid, либо вызывал setuid только для текущего uid.

Если вас беспокоит безопасность, вам следует подумать о многих других вещах, прежде чем пытаться исправить дыру в безопасности, которой фактически не существует.

С.

Найдите следующий раздел в файле конфигурации httpd:

#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon

и измените пользователя и группу daemon на требуемое имя пользователя.