Configurar sudo sin contraseña en distribuciones de Linux


18

Recientemente configuré los sistemas Fedora 28 y Ubuntu 18.04 y me gustaría configurar mi cuenta de usuario principal en ambos para poder ejecutar sudocomandos sin que se me solicite una contraseña.

¿Cómo puedo hacer esto en los sistemas respectivos?

Respuestas:


28

Esto es bastante trivial si hace uso del grupo especial de Unix llamado wheelen los sistemas Fedora. Simplemente tiene que hacer lo siguiente:

  1. Agrega tu usuario principal al wheelgrupo

    $ sudo gpasswd -a <primary account> wheel
    
  2. Habilite NOPASSWD para el %wheelgrupo en/etc/sudoers

    $ sudo visudo
    

    Luego comente esta línea:

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    Y descomenta esta línea:

    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    

    Guarde este archivo con Shift+ Z+ Z.

  3. Cerrar sesión y volver a iniciar sesión

    NOTA: Este último paso es obligatorio para que su escritorio y todos los shells de nivel superior correspondientes se vuelvan a ejecutar, lo que demuestra que su cuenta principal ahora es miembro del wheelgrupo Unix.


¿Qué cambiaría si en lugar de wheelutilizar cualquier otro grupo?
Giacomo Alzetta

@GiacomoAlzetta Cambia %wheela ese grupo.
Barmar

19

Tradicionalmente en distribuciones basadas en Debian como Debian / Ubuntu / Mint / Kali / Antix, el grupo predeterminado para sudo es, bien, sudo.

Entonces, para agregar sudousuarios habilitados sin contraseña a un sistema basado en Debian, los pasos son:

  1. Instalar en pc sudo

    En Debian, dependiendo de las opciones de instalación, a menudo terminas sin sudoinstalar por defecto.

    Si el paquete sudono está instalado (por ejemplo, no lo tiene /etc/sudoers), ejecútelo como root:

    # apt install sudo
    
  2. Agregar al usuario al grupo sudo

    Agregue un usuario al grupo sudo, si aún no está en el grupo sudo (Ubuntu y derivados agregan un usuario creado en la instalación automáticamente al grupo sudo).

    Al configurar el primer usuario de sudo, debe llegar al primero como root:

    # gpasswd -a <primary account> sudo
    

    Cuando ya tiene un sudousuario, se recomienda como una buena práctica de seguridad, configurar los otros usuarios en el grupo sudo a través de ese usuario:

    $ sudo gpasswd -a <primary account> sudo
    
  3. Modificar /etc/sudoerspara agregar la directiva NOPASSWD

    Luego edita la línea predeterminada /etc/sudoerspara el sudogrupo con:

    $ sudo visudo
    

    y cambiarlo de:

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    

    a:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. Cerrar sesión y volver a iniciar sesión

    Si inició sesión en el sistema, el usuario previsto debe cerrar sesión e iniciar sesión para que el cambio del usuario que pertenece al sudogrupo surta efecto.

NOTA: En Debian, el grupo a wheelmenudo se usa para restringir en PAM el uso de suun grupo, en lugar de usarlo para el sudocomando como en las distribuciones basadas en RedHat / SuSE.

Tradicionalmente en distribuciones basadas en Debian, para el sudocomando se usa el sudogrupo.


7

La mayoría de las distribuciones tienen esta línea en /etc/sudoers/:

#includedir /etc/sudoers.d

En consecuencia, una manera fácil de agregar un usuario es crear un archivo adecuado en el /etc/sudoers.d/directorio; Normalmente lo llamo para que se agregue el usuario:

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

También es posible que desee agregar Defaults:%s !lecture, !authenticate\ny / u otras opciones al archivo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.