Службы по умолчанию запускаются как root
во время загрузки в поле RHEL. Если я правильно помню, то это же верно для других дистрибутивов Linux, которые используют сценарии init в /etc/init.d
.
Как вы думаете, лучший способ вместо этого запускать процессы как (статический) пользователь по своему выбору?
Единственный метод, с которым я пришел, заключался в том, чтобы использовать что-то вроде:
su my_user -c 'daemon my_cmd &>/dev/null &'
Но это кажется немного неопрятным...
Есть ли какая-то немного магии, которая обеспечивает легкий механизм автоматического запуска сервисов, как других пользователей без полномочий root?
EDIT: Я должен был сказать, что процессы, которые я запускаю в этом примере, - это скрипты Python или Java-программы. Я бы предпочел не писать родную оболочку вокруг них, так что, к сожалению, я не могу назвать setuid() как Black.