Как автоматически запустить веб-сервер на сервере Ubuntu без рут-прав?
Как я могу запустить веб-сервер при загрузке без прав root (как другой пользователь)? Я мог бы просто добавить его в rc.local, но он запускается от имени пользователя root.
2 ответа
Как я могу запустить веб-сервер при загрузке без прав root (как другой пользователь)?
Зачем? Чего ты пытаешься достичь?
Первое, что делает Apache после того, как он становится демоном и портирует порт, - это настроить пользователя, определенного в файлах конфигурации, то есть он не запускается с правами root.
Невозможно запустить демон, прослушивающий порт ниже 1024, если вы не являетесь пользователем root - но вполне возможно запустить его прослушивание, скажем, через порт 8000, а также вполне возможно настроить iptables на запросы прокси-порта 80 к порту 8000 - но только Для корневых процессов может быть задан другой uid - поэтому вам нужно изменить конфигурацию Apache, чтобы либо он не вызывал setuid, либо он вызывал только setuid для текущего uid.
Если вы беспокоитесь о безопасности, есть много других вещей, которые вы должны рассмотреть, прежде чем пытаться исправить дыру в безопасности, которая фактически не существует.
C.
Найдите следующий раздел в файле конфигурации 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' на требуемое имя пользователя.