У меня есть процесс, работающий как root (скажем, веб-сервер), и я хочу, чтобы он запускался как не root.
Есть ли способ изменить владельца процесса с root на непривилегированного пользователя?
Я работаю на машине Debian.
Спасибо!
Не существует разумного универсального способа изменить владельца запущенного процесса извне. Процессы могут изменить свои своя владение от пользователя root к другому с помощью системного вызова setuid (2). Если рассматриваемый веб-сервер - Apache, вы можете настроить пользователей, от имени которых он работает, отредактировав / etc / apache2 / envvars и перезапустив его.
поскольку веб-серверы должны прослушивать порт 80 или 443, он должен запускаться как root для привязки к этим портам. Если сама программа не поддерживает работу от имени пользователя без полномочий root, вы не можете заставить ее работать.
Альтернатива - заставить его прослушивать порт больше 1024 и перенаправлять трафик, используя iptables
но это в высшей степени "хакерское".