Como habilitar a listagem sem senha de permissões do sudo (`sudo -l`) sem adicionar `sudo -l` ao/etc/sudoers?

Como habilitar a listagem sem senha de permissões do sudo (`sudo -l`) sem adicionar `sudo -l` ao/etc/sudoers?

Quero que todos os usuários possam visualizar suas sudopermissões sem inserir a senha.

Existe alguma maneira de permitir isso sem ALL ALL=(ALL) NOPASSWD: /usr/bin/sudo -ladicionar /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:

Responder1

A documentação do sudoersarquivo ( man sudoers) oferece estas sugestões

Por padrão, sudoexige que um usuário se autentique antes de executar um comando. [...] se a NOPASSWDtag for aplicada aqualquerdas entradas para um usuário no host atual, ele poderá executar sudo -lsem uma senha. Este comportamento pode ser substituído através das [...] listpwopções.

e

listpwEsta opção controla quando uma senha será exigida quando um usuário executar sudoa -lopção. Possui os seguintes valores possíveis:

  • all- Todas as entradas do usuário sudoerspara o host atual devem ter o NOPASSWDsinalizador definido para evitar a inserção de uma senha
  • always- O usuário deverá sempre inserir uma senha para utilizar a -lopção.
  • any- Pelo menos uma das sudoersentradas do usuário para o host atual deve ter o NOPASSWDsinalizador definido para evitar a inserção de uma senha.
  • never- O usuário nunca precisa digitar uma senha para utilizar a -lopção.

Supondo que você queira evitar NOPASSWD, você definiria listpw=never:

Defaults listpw=never

Use visudopara editar e verificar o sudoersarquivo (dica: use EDITOR=nano visudose quiser nanoeditar o sudoers file instead ofvi`). Melhor ainda, mantenha outro shell root aberto enquanto você testa para não perder o acesso.


Infelizmente, parece queum bug emsudo, qual écorrigido em 1.8.28, pode ignorar a listpw=neverconfiguração. Neste cenário vocêNão deveuse listpw=never, mas em vez disso crie uma entrada sem sentido como esta

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

O resultado líquido deve ser aquele que sudo -lserá acionado noqualquer entrada temNOPASSWDregra e você alcançará sua exigência.

informação relacionada