У меня есть служба ( kado-demo.service
), которую обычный пользователь ( kado
) должна иметь возможность перезапускаться без ввода пароля.
Я создал /etc/sudoers.d/user_restart
и добавил
kado ALL=NOPASSWD: /bin/systemctl restart kado-demo.service
Разрешения:
-r--r----- 1 root root 585 Mar 5 10:47 user_restart
Как пользователь k, я теперь могу выполнять данную команду, но это происходит:
/bin/systemctl restart kado-demo.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'kado-demo.service'.
Multiple identities can be used for authentication:
(...)
Это тот же результат, что и до того, как я добавил файл.
/ etc / sudoers
содержит
#includedir /etc/sudoers.d
И я даже получаю тот же результат, когда добавляю содержимое файла user_restart
непосредственно в / etc / sudoers
.
Идеи заканчиваются ...
Чтобы sudoers
вступили в силу, вам нужно использовать sudo
. :) Выполните:
sudo systemctl restart kado-demo.service
И пароль не будет запрашиваться.
Если вы не используете sudo
, systemctl
вернется к использованию Polkit для авторизации.
, чтобы любой обычный пользователь мог запускать
или перезапускать
службу:
sudo visudo
userB ALL=NOPASSWD: /bin/systemctl restart serviceA.service, /bin/systemctl stop serviceA.service, /bin/systemctl start serviceA.service, /bin/systemctl status serviceA.service