Quiero que el usuario predeterminado ubuntu
pueda ejecutar un servicio específico sin que se le solicite una contraseña.
Específicamente systemctl restart unicorn_my_app.service
.
Han seguido las instrucciones aquí para agregar usuarios ubuntu
a un grupo recién creado LimitedAdmins
, que se confirma con:
$ getent group LimitedAdmins
LimitedAdmins:x:1001:ubuntu
Creó un nuevo archivo, limitedadmins
(usando sudo vim
) en el /etc/sudoers.d
directorio que contiene el siguiente texto:
%LimitedAdmins ALL=NOPASSWD: /etc/init.d/unicorn_ofn_america restart, /etc/init.d/unicorn_ofn_america start
También he intentado:
%LimitedAdmins ALL=NOPASSWD: /bin/systemctl/unicorn_ofn_america restart, /bin/systemctl/unicorn_ofn_america start
(Y /bin/systemd
)
El contenido de /etc/sudoers/
es el predeterminado según lo confirmado con sudo visudo
(o sudo cat /etc/sudoers
):
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
(El inicio de sesión hash #includedir
no es un comentario, sino parte de la sintaxis de la directiva #include ).
Sin embargo, todavía hay un mensaje de contraseña después de ejecutar systemctl restart unicorn_my_app.service
El servicio está allí en el init.d
directorio:
$ ls -l /etc/init.d | grep unicorn
-rwxr--r-- 1 ubuntu ubuntu 1874 Oct 29 06:47 unicorn_my_app
Intenté chmodding 755
en la aplicación, pero no creo que eso haga la diferencia, ya que la ubuntu
posee de todos modos.
Incluso trató de reiniciar el sistema sin diferencia. ¿Me estoy perdiendo un paso, como un reinicio / recarga)? ¿Configurando algo mal?
También debo mencionar que solía vim
crear el nuevo archivo dentro /etc/sudoers.d
, ya que parece que el visudo
comando es solo para editar /etc/sudoers
.