¿Qué es el archivo Sudoers?
El archivo sudoers es un archivo de texto que vive en «/etc/sudoers». Controla cómo funciona sudo en su máquina. Probablemente esté familiarizado con el papel principal de sudo de elevar los privilegios de su cuenta corriente a root, el superusuario en todos los sistemas basados en Unix. Esto permite a sus usuarios ejecutar comandos que de otro modo estarían prohibidos.
¿Cuándo necesito editar el archivo sudoers?
Cuando instale Linux (o macOS) por primera vez, el primer usuario y el usuario predeterminado se añadirán automáticamente al archivo sudoers para que pueda ejecutar tareas administrativas con el comando sudo. Sin embargo, si crea una nueva cuenta de usuario, no tendrá el permiso de superusuario de forma predeterminada. Si necesita concederle permiso de superusuario, tendrá que editar el archivo sudoers y añadirle esta cuenta de usuario.
¿Cómo puedo editar los sudoers?
Nunca edite el archivo sudoers en un editor de texto normal. Esto puede dar lugar a la edición simultánea y a archivos dañados, lo que puede impedir el acceso a cualquier administrador. Los Sudoers deben ser editados ejecutando visudo en Terminal, así:
sudo visudo
Tenga en cuenta que necesita usar sudo para ejecutar visudo. Esto abrirá el archivo sudoers en el editor de texto predeterminado en Terminal (por defecto, nano).
¿Qué puede hacer un cambio en el archivo sudoers?
El trabajo principal del archivo sudoers es definir qué usuarios pueden usar sudo para qué. También contiene algunas preferencias simples, que podemos ajustar primero para tener una idea de cómo funciona visudo.
Cambiar el tiempo de espera de sudo
De forma predeterminada, si introduce su contraseña de sudo, elevará sus permisos hasta que cierre el intérprete de comandos o salga. Esto puede ser inseguro, y algunos pueden preferir introducir su contraseña cada vez que usan sudo.1. Ejecute sudo visudo como se mencionó anteriormente.
2. Pulse Alt + / para navegar hasta el final del documento. Si está usando Vi o Vim, presione Mayúsculas + G en su lugar.
3. Cree una nueva línea en la parte inferior del documento y añada la siguiente línea:
Por defecto timestamp_timeout=0
Esto establecerá el tiempo de espera de sudo en cero segundos, por lo que tendrá permisos sudo durante cero segundos después de ejecutar el primer comando. Si prefiere un intervalo diferente, introduzca ese valor en segundos.
También puede establecer el tiempo de espera en «-1», lo que le da un período de gracia infinito. No hagas eso. Es una forma práctica de destruir accidentalmente tu sistema algún día.
4. Presione Ctrl + o para guardar y Ctrl + x para salir.
Limitar quién puede usar sudo y para qué
El objetivo principal del archivo sudoers es controlar qué usuarios pueden ejecutar sudo. Sin sudo, los usuarios no pueden elevar sus permisos. Si tiene varios usuarios accediendo al mismo sistema a través de shells, puede controlar su acceso configurando valores en sudo.Todos los archivos de los sudoers tendrán la siguiente línea:
root ALL=(ALL) ALL
Esto permite al usuario root en TODOS los hosts que utilizan TODOS los usuarios para ejecutar TODOS los comandos. ALL es un valor especial en el archivo sudoers que significa «sin restricciones». La sintaxis es la siguiente:
username hostlist = (lista de usuarios) commandlist
Si desea añadir otro usuario como root, simplemente copie la línea de root y modifique el usuario de esta manera:
alexander ALL=(ALL) ALL
Para más control, puede añadir una línea como la siguiente, que sólo permitiría al usuario de «alexander» ejecutar apt-get update.
alexander ALL=(ALL) /usr/bin/apt-get update
Ponga un «%» delante del usuario, y definirá un grupo. La línea de abajo permitiría a cada usuario del grupo «admin» tener permisos a nivel de root. Este sería el grupo definido por los grupos de permisos de su sistema operativo.
%admin ALL=(ALL) ALL
Cambiar el visudo editor
Dependiendo de la versión de Linux que esté ejecutando, hay dos formas principales de cambiar el editor.En el caso de Ubuntu, deberá ejecutar el comando Terminal a continuación:
Sudo update-alternatives -config editor
Verás algo como lo siguiente:
>.
Si desea seleccionar vim como su visudo editor de la opción predeterminada de nano, pulse su número de selección 3 y luego pulse Intro.
Para otros sabores de Linux, querrá añadir una nueva línea a su archivo «~./bashrc» como se muestra a continuación:
export EDITOR="vim"
A continuación, guarde el archivo. Eso pondría a tu visudo editor en vim.
Conclusión
El archivo sudoers no es algo con lo que normalmente tenga que meterse en los sistemas de un solo usuario. Pero los administradores de sistemas tendrán más que suficientes razones para explorar su funcionamiento interno.