sudo para usuários com senhas vazias

2

Eu quero que o sudo se comporte assim para todos os usuários:

  1. Se o usuário tiver atualmente uma senha não vazia, solicite a senha.

  2. Se o usuário tiver uma senha vazia, solicite a senha e aceite a string vazia ou não solicite nada e permita.

Isso é possível? No momento, eu tenho (1), mas é o que acontece com um usuário com uma senha vazia:

$ sudo echo
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts

Como alternativa, posso desativar a verificação de senha por usuário, mas não é isso que desejo, porque o usuário pode definir uma senha posteriormente e, em seguida, o sudo deve solicitá-la.

    
por Ashley Yakeley 27.06.2014 / 23:35

3 respostas

0

Foi um erro no meu script "auth" do PAM: o script foi encerrado sem nunca receber um "ok" ou "concluído".

    
por 17.07.2014 / 00:47
6

Eu não acho que isso seja possível porque sudo não saberá que um usuário não tem uma senha ou que é a string vazia até que ela ( sudo ) apresente a senha, vazia ou não, Módulo PAM para validação. Portanto, sempre será necessário solicitar a senha ao usuário antes de prosseguir.

Seu único recurso aqui é configurar usuários que não exigem o uso de uma senha com a opção NOPASSWD em seu arquivo sudoers. Mas isso é altamente inseguro, e eu recomendo que você considere seriamente qual é o seu objetivo final antes de continuar com esse método.

... então eu não me importo com segurança ...

Primeiro defina uma senha "em branco"

Este U & Q & A intitulado: Como você cria um usuário sem senha? sugeriu usar esse método que funcionou para mim.

$ sudo passwd --delete samtest
Removing password for user samtest.
passwd: Success

Agora teste-o

Agora, adicione uma linha como esta ao seu arquivo /etc/sudoers . NOTA: Edite sempre este arquivo usando sudo visudo .

samtest ALL=(ALL)       NOPASSWD: ALL

Agora tente fazer login como usuário "samtest" sem nenhuma senha.

$ su - samtest
$ 

Agora, tente usar essa conta usando sudo :

$ whoami
samtest

$ sudo echo

$ 
    
por 28.06.2014 / 03:56
0

Perguntando por que sudo através de um console funciona enquanto solicita uma senha por SSH?

Pelo menos no Ubuntu 16.04, a política padrão em /etc/pam.d/common-auth contém:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure

Os pam_unix (8) documentos manuais que nullok_secure apenas permitem senhas vazias ao usar um dos TTYs em /etc/securetty . Se essa limitação não for desejada, pode-se substituir nullok_secure por nullok .

Como alternativa, é possível permitir que um usuário específico use senhas vazias por meio de um arquivo NOPASSWD sudoers, conforme descrito por slm.

    
por 18.05.2017 / 17:09

Tags