Как запустить службу в линукс от имени другого пользователя?

lutskboy
На сайте с 22.11.2013
Offline
173
1693

Привет

прописал в скрипт команду для запуска службы

потом

Вы можете вставить что-нибудь /etc/crontabи запустить@reboot

@reboot username /etc/init.d/script start

но она запустилась два раза от имени етого пользователя.

какие еще есть варианты?

lealhost
На сайте с 07.06.2014
Offline
136
#1

systemd присутствует на сервере?

Если да, то можете попробовать, создайте файл, например, /etc/systemd/system/test.service:

[Unit]
Description=Description your service
DefaultDependencies=no
After=network.target

[Service]
Type=simple
User=username
Group=groupname
WorkingDirectory=/path_to_directory
ExecStart=/path_to_directory/bin/test
TimeoutStartSec=0
Restart=always
RestartSec=5s
[Install]
WantedBy=default.target


ExecStart - путь до бинарного файла (запускающий демон службы).

WorkingDirectory - путь до рабочего каталога процесса.

User/Group - имя пользователя и группа.


Далее:

systemctl daemon-reload
systemctl start test
systemctl status test


Если все хорошо:

systemctl enable test

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий