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?

slm
fuente

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.

slm
fuente
¿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.

Rui F Ribeiro
fuente
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.

Toby Speight
fuente