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