Como encontrar usuário com senha vazia no Linux?


13

Como encontrar usuário com senha vazia no Linux?

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 '^[^:]*(?=::)'

8
getent shadow | cut -d: -f1-2 | grep ':$' | cut -d: -f1

2

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


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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.