SUDO

Para empezar explicaremos para que sirve el comando sudo. En ambientes GNU/Linux   hay que dotar a los usuarios de distintos privilegios y permisos para que puedan utilizar comandos propios del administrador «root». Como es completamente impensable que todos los usuarios tengan la contraseña de root la mejor alternativa es utilizar sudo.

¿Qué es sudo?

Es un comando de los sistemas operativos tipo Unix, como GNU/LINUX, BSD, o Mac OS Xque permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (suele ser el usuario «root») . Se instala por defecto en /USR/BIN. Si un usuario normal quiere ejecutar un comando de root (o de cualquier otro usuario),  comprobara en su lista de permisos y si está permitido la ejecución de ese comando para ese usuario, entonces  se encarga de ejecutarlo.

¿Como utilizamos sudo?

El usuario tiene que confirmar su identidad cuando usa sudo dando su propia contraseña antes de ejecutar el programa que queremos ejecutar.

Una vez se a autentificado el usuario, (es el archivo etc/sudoers el que comprueba si el usuario tiene acceso al comando requerido) el sistema lo ejecuta y lo registra sin necesidad de una nueva identificación durante un periodo de tiempo, determinado en  /etc/sudoers. ( por defecto: 5 minutos).

ETC/SUDOERS

El archivo de configuración ETC/SUDOERS especifica qué usuarios pueden ejecutar qué comandos en nombre de qué otros usuarios.

Hay una utilidad para «root» llamada visudo con la que puedes modificar este archivo y revisarlo antes de su guardado.Hay que tener cuidado con lo que cambiamos en el archivo ya que podriamos inutilizar el comando sudo al cambiar sus permisos (los permisos que tiene asignados son 0440 y no deben modificarse).

Dentro de etc/sudoers tenemos todos los privilegios que pueden tener distintos usuarios con sudo.

Ejemplo:

#administradores con todos los privilegios
User_Alias ADMINS = angel, ana
# administradores de red - network operators
User_Alias NETOPS = jesus, victor
# webmasters -
User_Alias WEBMAS = chema, fito
# supervisores de producción (todos los del grupo de sistema supervisores)
User_Alias SUPPRO = alvaro, %supervisores
# usuarios que pueden conectarse desde Internet
User_Alias INETUS = NETOPS, ADMINS, fito
# servidores web
Host_Alias WEBSERVERS = 10.0.1.100, 10.0.1.101
# servidores de aplicaciones
Host_Alias APLICACIONES = WEBSERVERS, 10.0.1.102, 10.0.1.103