Como encontrar usuário com senha vazia no Linux?

12

Como encontrar usuário com senha vazia no Linux?

    
por met78 27.02.2011 / 23:55

5 respostas

13

Esta é uma versão mais curta e mais precisa da resposta da AndreKR:

sudo getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Tem apenas uma chamada para cut e encontrará entradas de qualquer um dos formulários abaixo:

foo:!: ...
bar:*: ...
baz:: ...

Se você deseja apenas algo realmente vazio:

sudo getent shadow | grep '^[^:]*::' | cut -d: -f1

Se você tem o GNU grep , você pode eliminar cut completamente:

sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'

ou

sudo getent shadow | grep -Po '^[^:]*(?=::)'
    
por 28.02.2011 / 00:28
8
getent shadow | cut -d: -f1-2 | grep ':$' | cut -d: -f1
    
por 27.02.2011 / 23:59
2

A entrada deles em /etc/shadow/ não terá hash de senha. Você precisa estar logado como root para poder vê-los.

    
por 28.02.2011 / 00:00
2

A senha criptografada é o segundo campo em / etc / shadow.

Se o segundo campo estiver vazio, a senha estará vazia:

awk -F":" '($2 == "") {print $1}' /etc/shadow

! e * é uma senha inválida (o usuário não pode fazer login):

awk -F":" '($2 == "!" || $2 == "*") {print $1}' /etc/shadow
    
por 28.02.2011 / 00:05
0

O usuário " usuário " tem uma senha vazia?

getent shadow | grep 'user:\$' | cut -d':' -f 2 | grep '\w' -c -m 1  

retorna 1 na falha - a senha não está vazia
retornar 0 em sucesso - uma senha é configurada

Espero que isso seja preciso

    
por 07.10.2018 / 23:56

Tags