Comando Visudo en Linux

En el sistema operativo Linux, existe un archivo llamado “sudoers” que es un archivo de texto que se usa para controlar el nivel más profundo de los permisos del sistema. Permite o rechaza que el usuario obtenga un acceso de superusuario al sistema y obtenga algunas preferencias de superusuario para el sudo. El visudo es un comando que se usa para editar o modificar el archivo sudoer en una zona segura. Este artículo define qué es un archivo sudoer y demuestra cómo se usa un comando visudo para editarlo.

¿Qué es un archivo Sudoer en el sistema operativo Linux?

El sudoer es un archivo de texto ubicado en el directorio “/etc” del sistema operativo Linux. Este archivo de texto define cómo funciona «sudo» en una máquina habilitada para Linux. Es el archivo de reglas, reglamentos y lista de acciones para el “sudo”. Le dice al «sudo» a qué usuario otorgar los privilegios de root y permitirles tener un permiso de superusuario y qué usuario denegar el acceso a los privilegios de root. También puede permitir que un determinado usuario ejecute un comando como cualquier otro usuario del sistema. Puede encontrar el archivo “sudoer.d” en el directorio /etc.

Cuando intente abrirlo directamente, el sistema no se lo permitirá ya que no tiene los derechos administrativos para abrirlo. Por lo tanto, debe obtener los derechos de administrador para abrir el archivo sudoer. La primera y sencilla forma de hacerlo es hacer clic derecho en la carpeta y elegir la opción «abrir como administrador». La segunda forma es abrir el archivo en la terminal usando el comando visudo. Simplemente escriba «sudo visudo» en la terminal y presione enter.

Esto abre el archivo sudoer en la terminal.

¿Por qué necesitamos editar un archivo Sudoer?

Cuando instala un sistema operativo Linux como Ubuntu 22.04, automáticamente agrega el primer usuario al archivo sudoer con derechos administrativos. El primer usuario puede ejecutar los comandos como instalar, actualizar, etc. con el comando «sudo» después de que finalice la instalación de Ubuntu. Pero, cuando se agrega un nuevo usuario de forma predeterminada, no se le asignan derechos administrativos. Para otorgar los derechos administrativos o el acceso de superusuario al nuevo usuario, el archivo sudoer debe editarse y el nuevo usuario debe agregarse al archivo sudoer.

Cómo editar un archivo Sudoer

La mejor manera de editar un archivo sudoer es usar el comando visudo en la terminal. Evite siempre editar un archivo sudoer en un editor de texto. Si intenta hacer eso, puede terminar corrompiendo archivos simultáneos y eliminando involuntariamente cualquier acceso de administrador. Por lo tanto, siempre edite el archivo sudoer en la terminal usando el comando visudo.

¿Qué es un comando Visudo?

Un visudo es un comando de Linux que se usa para editar el archivo sudoer con privilegios «sudo». Le permite editar de forma segura el archivo sudoer y realizar los cambios necesarios sin corromper ningún archivo ni eliminar ningún derecho de administrador. Realiza las comprobaciones de validez básicas en el archivo visudo, comprueba los errores de sintaxis y lo bloquea contra varias ediciones simultáneas antes de instalar el archivo editado. Si hay algún error de sintaxis en el archivo, el archivo no se guardará y en su lugar se imprimirá un mensaje de error.

Sintaxis del comando Visudo

La sintaxis del comando visudo es muy simple. Solo toma dos parámetros: uno es la opción y el otro es el archivo sudoer. Consulte la siguiente sintaxis del comando visudo:

“visudo” es el nombre del comando, “-options” hace referencia a una de las opciones que funcionan con el comando visudo y “sudoer” es el nombre del archivo “sudoer.d”. Hay seis opciones disponibles para el comando visudo: -c, -h, -q, -s, -V y -f. La opción -c o el indicador se usa con visudo para habilitar el modo de solo verificación. Al usar el indicador -c, el archivo sudoer solo se verificará en busca de errores de modo, propietario o sintaxis. El indicador -h se utiliza para imprimir un mensaje de ayuda. El indicador -q se usa para habilitar el modo silencioso; silencia el comando si se encuentra con algún error de sintaxis. El indicador -s se usa para habilitar el modo de verificación estricta. El indicador -V muestra la versión del comando visudo. Y, por último, el indicador -f se usa para definir una ubicación alternativa para el archivo sudoer.

Cambiar la ubicación del archivo Sudoer modificado

Se recomienda editar el archivo sudoer en el directorio /etc/sudoers.d con el comando visudo. Para hacer eso, ejecute el comando visudo con el indicador -f. Vea el siguiente comando:

Esto abre un archivo sudoer en un modo de edición y le permite realizar los cambios necesarios en él. Cuando haya terminado de editar el archivo sudoers, salga de él presionando CTRL+X y regrese a la terminal.

Cuando presiona ctrl+x, regresa al terminal de salida estándar donde se enumeran los cambios que realizó en el archivo. Vea el siguiente resultado:

Como no hicimos ningún cambio en el archivo y salimos, el archivo permaneció sin cambios y lo mismo se imprime en la terminal.

Asignar derechos de «sin restricciones» a un nuevo usuario

Permitamos que un nuevo usuario trabaje como cualquier usuario y ejecute cualquier comando requerido en cualquier host. Esto se puede hacer asignando el valor TODO al nuevo usuario. ALL es un valor especial en el archivo sudoer que se usa para definir «sin restricciones». El valor TODO no establece ninguna restricción para el usuario y le permite ejecutar cualquier comando en el host según sea necesario. Vea el siguiente comando:

Ahora, cuando vuelva a verificar el comando sudoer, tendrá un nuevo usuario agregado en la sección «especificación de privilegios de usuario» con TODOS los derechos. Consulte el siguiente archivo sudoer:

Conclusión

En este artículo, aprendimos qué es un archivo sudoer y qué es un comando visudo. Demostramos cómo se usa un comando visudo en un archivo sudoer para editarlo. El visudo es un comando de Linux que se utiliza para editar un archivo sudoer en modo seguro. Le permite realizar cualquier cambio en el archivo sudoer sin corromper ningún archivo ni eliminar el acceso de root de ningún usuario.