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