El comando sudo, que significa “superuser do”, es una herramienta importante en Linux que brinda a los usuarios autorizados la capacidad de realizar tareas administrativas con privilegios de superusuario. Esto permite que los usuarios restringidos accedan temporalmente a funciones que requieren privilegios elevados, lo que mejora la seguridad del sistema. De forma predeterminada, cada vez que se utiliza sudo, se solicita al usuario que ingrese una contraseña para verificar su identidad y obtener privilegios temporales de superusuario. Este mecanismo agrega una capa adicional de seguridad al evitar el acceso no autorizado a funciones críticas del sistema. Sin embargo, en algunos casos, es posible que desee deshabilitar la solicitud de contraseña para ciertos comandos o usuarios, como para automatizar tareas o simplificar la ejecución de comandos utilizados con frecuencia. En este tutorial, analizaremos en detalle cómo se puede configurar sudo para que no requiera una solicitud de contraseña para ciertos comandos o usuarios, así como ejemplos prácticos y escenarios en los que esto puede ser útil.
Tenga en cuenta: La desactivación de la solicitud de contraseña para sudo debe realizarse con precaución. Otorgue este privilegio solo a usuarios confiables y ciertos comandos para garantizar la seguridad del sistema. Te recomendamos leer detalladamente la documentación antes de iniciar este trámite.
Existen varios métodos para realizar este procedimiento. Cada método se describirá a continuación en detalle y con ejemplos de código.
Método 1: Solicitud de contraseña de desactivación temporal
Si desea deshabilitar temporalmente la solicitud de contraseña para la sesión actual, puede usar la opción -S con sudo.
sudo -S
Método 2: deshabilitar la solicitud de contraseña para todos los comandos
Si desea deshabilitar la solicitud de contraseña para todos los comandos de un usuario específico, puede agregar una línea más general en el archivo sudoers.
Paso 1: abra el archivo sudoers para editarlo:
sudo visudo
Paso 2: agregue una línea para deshabilitar la solicitud de contraseña:
Para deshabilitar la solicitud de contraseña para un usuario específico (por ejemplo, jane) para todos los comandos, agregue la siguiente línea debajo de la línea Defaults :
alexhostcom ALL=(ALL) NOPASSWD: ALL
- Reemplace
alexhostcom
con el nombre de usuario.
Paso 3: guarde y salga del editor
Método 3. Editar el archivo sudoers
El archivo sudoers, normalmente ubicado en /etc/sudoers, contiene la configuración para el acceso a sudo. Para desactivar la solicitud de contraseña, puede editar este archivo.
Paso 1: abra el archivo sudoers para editarlo:
sudo visudo
Paso 2: busque la línea Valores predeterminados
En el archivo sudoers, busque la línea que comienza con Defaults
.
Paso 3: agregue una línea para deshabilitar la solicitud de contraseña
Para deshabilitar la solicitud de contraseña para un usuario específico (por ejemplo, john) al ejecutar un comando específico (por ejemplo, /usr/bin/command
), agregue la siguiente línea debajo de Valores predeterminados línea:
alexhost ALL=(ALL) NOPASSWD: /usr/bin/command
Luego, reemplace alexhost con el nombre de usuario y /usr/bin/command con el comando real que desea eximir de la solicitud de contraseña. .
Paso 4: guarde y salga del editor
Método 4: evitar la solicitud de contraseña para usuarios específicos
Para evitar por completo la solicitud de contraseña para un usuario específico, puede modificar la configuración de sudo para establecer un tiempo de espera más largo para la retención de contraseña.
Paso 1: abra el archivo sudoers para editarlo
sudo visudo
Paso 2: agregue una línea para configurar timestamp_timeout:
Debajo de la línea Valores predeterminados, agregue la siguiente línea para establecer timestamp_timeout en un valor mayor (en minutos):
Defaults timestamp_timeout=30
- Este ejemplo establece el tiempo de espera en 30 minutos. Ajuste el valor según sea necesario.
Paso 3: guarde y salga del editor.
Este cambio permitirá a los usuarios ejecutar comandos sudo sin ingresar una contraseña durante el período especificado después de su primer comando sudo.