LINUX.ORG.RU
ФорумAdmin

Проблема с перезапуском сервиса скриптом не от рутового пользователя

 , ,


0

2

Есть система, которая по событиям запускает скрипты. Она работает не от рута. Там свой пользователь для этого есть.

Написал скрипт. В нем передергиваю сервис:

service someservice restart

Но сервис этот просто так передергиваться не хочет. Проблема в том, что скрипт запускается от обычного пользователя, имею сообщение:

This program can only be used by the root user.

Как мне решить проблему c этим скриптом? Если я там пишу sudo su, скрипт встает и ждет ввода пароля.

Мне тут посоветовали такое решение: создать задачу в кроне рута, которая будет проверять каждые n минут, появился ли файл х, и если он появился передергивать сервис. И соответственно переписать мой скрипт так, чтобы он создавал файл х. Как-то так.

Мне это решение кажется костылем? Или так и нужно делать?

Есть ли более элегантные решения этой проблемы? Спасибо.



Последнее исправление: dopedopedope (всего исправлений: 1)

За sudo su я бы руки отрывал. Особенно, в неинтерактивных скриптах. Для повышения привилегий до рута есть sudo -i, а тебе нужно sudo твой_скрипт и man sudoers. Не благодари и RTFM.

dhameoelin ★★★★★
()

Разрешить выполнять данную команду без пароля через sudo

DALDON ★★★★★
()
Ответ на: комментарий от dopedopedope

Да. Но я бы рекомендовал вынести в отдельный файл в /etc/sudoers.d/блаблабла, если твой дистрибутив это умеет.

dhameoelin ★★★★★
()
Последнее исправление: dhameoelin (всего исправлений: 1)
Ответ на: комментарий от vxzvxz

Спасибо за наводящие советы! Все заработало.

dopedopedope
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.