¿Cómo habilitar la lista sin contraseña de permisos sudo (`sudo -l`) sin agregar `sudo -l` a ​​/etc/sudoers?

¿Cómo habilitar la lista sin contraseña de permisos sudo (`sudo -l`) sin agregar `sudo -l` a ​​/etc/sudoers?

Quiero que todos los usuarios puedan ver sus sudopermisos sin ingresar su contraseña.

¿Hay alguna manera de permitir esto sin agregar ALL ALL=(ALL) NOPASSWD: /usr/bin/sudo -lnada /etc/sudoers?

bob@cad50ee0931e:/$ sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for bob:

Respuesta1

La documentación del sudoersarchivo ( man sudoers) ofrece estas sugerencias

De forma predeterminada, sudorequiere que un usuario se autentique antes de ejecutar un comando. [...] si la NOPASSWDetiqueta se aplica acualquierde las entradas de un usuario en el host actual, él o ella podrá ejecutar sudo -lsin contraseña. Este comportamiento se puede anular mediante las listpwopciones [...].

y

listpwEsta opción controla cuándo se requerirá una contraseña cuando un usuario ejecute sudola -lopción. Tiene los siguientes valores posibles:

  • all- Todas las entradas del usuario sudoerspara el host actual deben tener la NOPASSWDbandera configurada para evitar ingresar una contraseña
  • always- El usuario siempre deberá introducir una contraseña para utilizar la -lopción.
  • any- Al menos una de las sudoersentradas del usuario para el host actual debe tener el NOPASSWDindicador configurado para evitar ingresar una contraseña.
  • never- El usuario nunca necesita ingresar una contraseña para utilizar la -lopción.

Suponiendo que desea evitarlo NOPASSWD, establecería listpw=never:

Defaults listpw=never

Úselo visudopara editar y verificar el sudoersarchivo (consejo: úselo EDITOR=nano visudosi desea nanoeditar el sudoers file instead ofvi`). Mejor aún, mantenga abierto otro shell raíz mientras realiza la prueba para no perder el acceso.


Desafortunadamente, parece queun error ensudo, cual esarreglado en 1.8.28, puede ignorar ellistpw=never configuración. En este escenario ustedno debeuse listpw=never, pero en su lugar cree una entrada sin sentido como esta

ALL ALL=(ALL) NOPASSWD: /bin/false

El resultado neto debería ser quesudo -l se activará en elcualquier entrada tieneNOPASSWDgobierna y lograrás tu requerimiento.

información relacionada