Tengo un servicio ( kado-demo.service
) que un usuario normal ( kado
) debería poder reiniciar sin ingresar ninguna contraseña.
Creé /etc/sudoers.d/user_restart
y agregué
kado ALL=NOPASSWD: /bin/systemctl restart kado-demo.service
Permisos:
-r--r----- 1 root root 585 Mar 5 10:47 user_restart
Como usuario k, ahora debería poder ejecutar el comando dado, pero sucede esto:
/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:
(...)
Que es el mismo resultado que antes de agregar el archivo.
el /etc/sudoers
contiene
#includedir /etc/sudoers.d
E incluso obtengo el mismo resultado cuando agrego contenido del user_restart
archivo directamente a /etc/sudoers
.
Me estoy quedando sin ideas...
Respuesta1
Para sudoers
que surta efecto, debes usar sudo
. :) Hacer:
sudo systemctl restart kado-demo.service
Y no te pedirá una contraseña.
Si no lo usas sudo
, systemctl
vuelve a usar.polkitpara autorización.
Respuesta2
start
para permitir que cualquier usuario o servicio habitual restart
:
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