miércoles, 27 de abril de 2016

Autorizar a usuario un comando de administrador sin contraseña

Para que el usuario que utilizo por defecto pueda por ejemplo reiniciar el equipo sin tener que poner la contraseña del administrador desde la línea de comandos, tenía varias alternativas:

  • Hacer al usuario administrador = Muy peligroso
  • Darle permisos de ejecución al comando "shutdown", con el comando:
sudo chmod a+x /sbin/shutdown
  •  Autorizar a mi usuario para ejecutar ese comando concreto en el fichero "sudoers", que es lo más correcto según mi punto de vista.

Para ello hay que ejecutar el comando:
sudo visudo
Y añadir la siguiente línea:
usuario  ALL=NOPASSWD: /sbin/shutdown
Pero OJO, cuando partiendo del fichero que viene por defecto lo más razonable sería añadir la línea dentro del apartado "User privilege specification" (en amarillo), si lo pones ahí no funciona, entiendo que porque el permiso se invalida con las líneas siguientes. El caso es que lo pones al final del fichero y ¡¡¡funciona!!!:

#
# 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:
usuario ALL=NOPASSWD: /sbin/shutdown
#includedir /etc/sudoers.d

No hay comentarios:

Publicar un comentario