Cómo ejecutar sudo sin contraseña en Linux

Puedes ejecutar sudo sin contraseña añadiendo una NOPASSWDregla a la política de sudoers. La opción más segura es permitir solo el comando administrativo exacto que necesitas, en lugar de deshabilitar la solicitud de contraseña para todos los comandos sudo.

Antes de realizar cualquier cambio, recuerde qué implica esta configuración: cualquier persona o entidad que obtenga el control de su cuenta iniciada podrá ejecutar el comando permitido como root sin necesidad de autenticación adicional. El manual de sudoers documenta NOPASSWDla etiqueta que elimina la autenticación para los comandos correspondientes.

Por qué sudo -s no es un método sudo sin contraseña

El consejo anterior de ejecutarlo sudo -sno configura realmente sudo sin contraseña. La -sopción inicia una consola con sudo, pero la política de sudo aún puede requerir que te autentiques primero. También es posible que veas que se ejecutan varios comandos sin que se te solicite otra solicitud, ya que sudo normalmente almacena en caché la autenticación exitosa durante un breve período. Esto es diferente a una NOPASSWDregla permanente.

Ejecutar un comando sudo específico sin contraseña

Este ejemplo permite al usuario alexreiniciar Nginx sin contraseña. Sustituya el nombre de usuario, el comando y los argumentos por valores que coincidan con su sistema.

1. Confirma tu nombre de usuario y la ruta del comando.

Ejecute los siguientes comandos como su usuario habitual:

whoami
command -v systemctl

El segundo comando puede devolver /usr/bin/systemctl. Utilice la ruta que indique su propio sistema. Las reglas de sudoers deben identificar los comandos por su ruta completa.

Terminal de Linux que muestra whoami y el comando -v systemctl para identificar el nombre de usuario y la ruta completa del comando.
Antes de escribir la regla sudoers, compruebe el nombre de la cuenta y la ruta completa del comando.

2. Crea un archivo de configuración específico para sudoers.

En lugar de editar /etc/sudoersdirectamente, utilice visudocon un archivo en /etc/sudoers.d:

sudo visudo -f /etc/sudoers.d/alex-nopasswd

Normalmente, deberá introducir su contraseña en este paso de configuración. visudoSe prefiere porque comprueba la sintaxis antes de aceptar los cambios. El manual de Ubuntu visudo también indica que visudobloquea el archivo durante la edición y comprueba si hay errores de análisis.

Terminal Linux abriendo un archivo sudoers.d dedicado con sudo visudo para configuración sudo sin contraseña
Abra un archivo sudoers drop-in separado en visudolugar de editar el archivo de política principal con un editor de texto normal.

3. Agregue la regla NOPASSWD más restrictiva que necesite.

Para el ejemplo de reinicio de Nginx, agregue:

alex ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx

Esta regla permite que solo el comando con esos argumentos se ejecute como root sin autenticación. Para permitir varios comandos específicos, separe las especificaciones de los comandos con comas.

Si desea deliberadamente que todos los comandos sudo de un usuario omitan la autenticación, la regla general es:

alex ALL=(ALL:ALL) NOPASSWD: ALL

Esto es mucho menos seguro y rara vez es la mejor opción en una estación de trabajo o sistema compartido. Una sesión de usuario comprometida tendría acceso directo a privilegios de administrador sin restricciones.

Editor Nano que muestra una regla NOPASSWD de sudoers para reiniciar nginx y un ejemplo sin restricciones comentado.
Una regla específica para el comando es más segura que otorgar NOPASSWD: ALL.

4. Validar y probar la regla

Después de guardar y salir del editor, compruebe la política completa de sudoers:

sudo visudo -c

No omita esta comprobación. La visudodocumentación explica que la política de sudoers se evalúa en su conjunto, por lo que comprobar la configuración completa permite detectar problemas que puedan estar relacionados con los archivos incluidos.

A continuación, invalide cualquier credencial sudo almacenada en caché y realice la prueba de forma no interactiva:

sudo -k
sudo -n /usr/bin/systemctl restart nginx

Esta -nopción le indica a sudo que no solicite contraseña. Si la regla coincide, el comando se ejecuta sin pedirla. Si aún se requiere autenticación, sudo finaliza con un error en lugar de esperar la entrada. Esto resulta sudo -nespecialmente útil para scripts que nunca deben quedarse bloqueados al solicitar una contraseña.

Terminal Linux validando sudoers con visudo -c, borrando credenciales almacenadas en caché y probando un comando NOPASSWD con sudo -n
Valide la política, borre las credenciales almacenadas en caché y úselas sudo -npara confirmar que el comando realmente ya no necesita una contraseña.

Solución de problemas de sudo sin contraseña

  • El comando sigue solicitando una contraseña: confirme que el nombre de usuario, la ruta del comando y los argumentos coinciden exactamente con la entrada de sudoers.
  • El comando no está permitido: ejecute sudo -lpara revisar los privilegios asignados a su cuenta.
  • Parece que se ignora el archivo de inserción: utilice un nombre de archivo simple como alex-nopasswd. Algunas configuraciones de sudoers ignoran los archivos /etc/sudoers.dcuyos nombres contienen un punto o terminan en sufijos de estilo de copia de seguridad.
  • Debes deshacer el cambio: vuelve a abrir el menú desplegable con sudo visudo -f /etc/sudoers.d/alex-nopasswd, elimina o restringe la regla, guarda y vuelve a ejecutar sudo visudo -c.

Buenas prácticas

Utilice sudo sin contraseña solo cuando sea estrictamente necesario, como en el caso de una acción de servicio controlada o una tarea de automatización. Prefiera una ruta de comando y argumentos exactos, evítelos NOPASSWD: ALLsiempre que sea posible y mantenga la regla sudoers lo más pequeña posible. De esta forma, se conserva la mayor parte de la protección de sudo, eliminando la solicitud de contraseña cuando sea realmente necesario.

Dejar un comentario

Cómo recuperar particiones y datos de disco duro perdidos de forma segura

Cómo recuperar particiones y datos de disco duro perdidos de forma segura

Aprende a recuperar particiones y archivos perdidos con TestDisk y PhotoRec. Protege la unidad de origen, realiza un escaneo seguro y guarda los datos recuperados en otro disco.

Cómo escanear códigos QR en un ordenador de escritorio Linux

Cómo escanear códigos QR en un ordenador de escritorio Linux

Escanea códigos QR en Linux con CoBang usando una cámara web o un archivo de imagen. Consulta las opciones de instalación, los pasos de configuración y las soluciones para el acceso a la cámara Flatpak.

Cómo cambiar la configuración de la cámara web en Linux con Cameractrls

Cómo cambiar la configuración de la cámara web en Linux con Cameractrls

Cambia la configuración de la cámara web en Linux con Cameractrls: ajusta la exposición, el color, la reducción de parpadeo y otros controles compatibles, y luego comprueba los modos de vídeo compatibles.

Cómo instalar PhpStorm en Linux: Toolbox, Tar.gz, Snap y AUR

Cómo instalar PhpStorm en Linux: Toolbox, Tar.gz, Snap y AUR

Instala PhpStorm en Linux con JetBrains Toolbox o el archivo tar.gz independiente, además de las opciones Snap y Arch AUR. Java ya viene incluido.

Cómo configurar paneles duales en XFCE 4

Cómo configurar paneles duales en XFCE 4

Crea un panel XFCE 4 independiente para cada pantalla, asigna el segundo panel a la salida correcta, colócalo y ajusta su tamaño, y añade los lanzadores y elementos de estado que necesites.

Cómo instalar Cisco Packet Tracer en Linux

Cómo instalar Cisco Packet Tracer en Linux

Descarga Cisco Packet Tracer 9.0.1 para Ubuntu de 64 bits, instala el paquete DEB con APT, acepta la licencia en la terminal e inicia sesión para comenzar un laboratorio.

Cómo recortar una imagen en Linux con GIMP

Cómo recortar una imagen en Linux con GIMP

Eliminar el fondo de una foto en Linux con GIMP: trazar el sujeto, eliminar el fondo seleccionado, mantener la transparencia y exportar un archivo PNG reutilizable.

Cómo hacer una copia de seguridad de un CD-ROM como imagen ISO en Linux

Cómo hacer una copia de seguridad de un CD-ROM como imagen ISO en Linux

Crea una imagen ISO de CD-ROM en Linux con GNOME Disks o dd. Identifica la unidad óptica, supervisa la copia, verifica la imagen y descubre cuándo un disco dañado o de audio requiere otra herramienta.

Descarga FlightGear gratis: Guía de instalación oficial

Descarga FlightGear gratis: Guía de instalación oficial

Descarga FlightGear gratis desde el sitio web oficial. Compara los paquetes para Windows, macOS y Linux, instala los archivos de datos y comienza tu primer vuelo.

OKSampler: Un muestreador de música gratuito y sencillo para ritmos de teclado.

OKSampler: Un muestreador de música gratuito y sencillo para ritmos de teclado.

OKSampler asigna clips MP3 a teclas del teclado y permite reproducir audio en bucle. Descubre qué hace este antiguo programa gratuito, dónde terminan sus funciones anteriores y qué debes comprobar antes de descargarlo.