Como restaurar el fichero sudoers en Ubuntu 13.04

Publicado el 17 diciembre 2013 por Rafael Espejo Garrido @rafaelespejog

¡Hola! En el artículo de esta semana te voy a explicar como restaurar el fichero sudoers en Ubuntu 13.04. En determinadas ocasiones, tenemos la necesidad de editar este fichero tan importante para este sistema, si por cualquier circunstancia cometemos un error al editarlo, esto provocará dependiendo del error en sí, que no podamos ejecutar determinados comandos, aún siendo nuestro usuario administrador del sistema.

Al final del artículo, te dejo un vídeo en el que te explico un sencillo truco, para poder restaurar o modificar el fichero sudoers, pero antes te voy hablar un poco sobre él.

¿Qué es y para que sirve el fichero sudoers?




El fichero sudoers se encuentra en el directorio /etc  que es donde están todos los archivos de configuración en los sistemas Linux. Este fichero es muy importante, ya que es donde se guardan todas las reglas de acceso, los alias y las opciones por defecto de sudo. En el archivo sudoers, se establecerá quien y como puede ejecutar sudo.
Es muy importante que al editar este fichero utilices el editor visudo, ya que este te avisará de si has cometido algún error y evitara que cierres el archivo si lo has hecho. Aunque también se puede editar con otros programas como: nano, gedit, vim...

A continuación te voy a explicar un poco, lo que significan las lineas del fichero. Para abrirlo, escribe en la terminal: sudo visudo y te aparecerá el fichero para editarlo, para poder hacer esto, debes de ser usuario administrador del sistema. 

El archivo viene en inglés, pero a continuación he traducido lo que quiere decir cada línea y he agregado algo más si lo he creído conveniente. Todas las líneas que comienzan por este símbolo # son comentarios, que lo único que hacen es informarnos.



# This file MUST be edited with the 'visudo' command as root.Este archivo debe ser editado con el comando 'visudo' como root.(Esto es lo que te he comentado arriba, así nos ahorraremos de meter la pata al cerrar el archivo modificado).


# Please consider adding local content in /etc/sudoers.d/ instead of directly modifying this file.Por favor considerar la adición de contenido local en /etc/sudoers.d/ en lugar de modificar directamente el archivo.(Aquí nos está diciendo que es recomendable introducir los archivos con las ordenes a ejecutar en el directorio sudoers.d en vez de modificar este archivo).
# See the man page for details on how to write a sudoers file.Lea la página de manual para más detalles sobre cómo escribir un archivo sudoers.
Defaultsenv_resetDefaults
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"(Esto anterior son reglas por defecto que vienen establecidas en el sistema, con secure_path se está diciendo que el comando introducido por la terminal se busque en los directorios que aparecen a continuación ).

# Host alias specificationEspecificación de alias de host (cuando hablo de la definición de un alias me refiero a cualquier tipo de elemento como: usuarios, comandos y hosts, los alias se crean cuando quieres ejecutar varias ordenes de una sola vez, para que se queden guardados en el sistema, debes de reflejarlos aquí).# User alias specificationEspecificación alias usuario # Cmnd alias specificationEspecificación de alias cmnd (comandos)# User privilege specificationEspecificación de privilegios del usuario (en este caso se introducen el usuario al que queremos dar el privilegio, los comandos que dicho usuario podrá ejecutar, en calidad de que usuario privilegiado podrá ejecutarlo y en que host podrá hacerlo. En este caso, el usuario es root, los comandos son todos, en calidad de todos los usuarios privilegiados y en todos los hosts, por eso se emplea la palabra ALL=todos). rootALL=(ALL:ALL) ALL# Members of the admin group may gain root privilegesLos miembros del grupo de administración pueden obtener privilegios de root%admin ALL=(ALL) ALL# Allow members of group sudo to execute any commandPermitir a los miembros del grupo sudo para ejecutar cualquier comando%sudoALL=(ALL:ALL) ALL# See sudoers(5) for more information on "#include" directives:Ver sudoers (5) para más información sobre "# include" directivas#includedir /etc/sudoers.d

Incluir los ficheros que se encuentren en el directorio sudoers.d
Se que es bastante complejo de entender todo lo que te he explicado hoy si es la primera vez que lo ves, pero si ya tienes conocimientos previos, te vendrá genial o por lo menos eso espero.

Te dejo con el vídeo en el que te muestro como restaurar o modificar el fichero sudoers en Ubuntu 13.04. ¡Saludos y hasta la próxima!