Como encontrar usuário com senha vazia no Linux?

13

Como encontrar usuário com senha vazia no Linux?

met78
fonte

Respostas:

15

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

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

Ele tem apenas uma chamada cute encontrará entradas de qualquer um dos formulários abaixo:

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

Se você quer apenas verdadeiramente vazio:

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

Se você possui o GNU grep, pode eliminar cutcompletamente:

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

ou

sudo getent shadow | grep -Po '^[^:]*(?=::)'
Pausado até novo aviso.
fonte
8
getent shadow | cut -d: -f1-2 | grep ':$' | cut -d: -f1
AndreKR
fonte
2

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

sysadmin1138
fonte
2

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
ooshro
fonte
0

O usuário " user " possui uma senha vazia?

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

retornar 1 em caso de falha - a senha não está vazia
retornar 0 em caso de sucesso - uma senha está definida

Espero que isso seja preciso

LittleEaster
fonte