Comment trouver un utilisateur avec un mot de passe vide sous Linux?


13

Comment trouver un utilisateur avec un mot de passe vide sous Linux?

Réponses:


15

Il s'agit d'une version plus courte et plus précise de la réponse d'AndreKR:

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

Il n'a qu'un seul appel à cutet trouvera les entrées de l'un des formulaires ci-dessous:

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

Si vous voulez seulement vraiment vide:

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

Si vous avez GNU grep, vous pouvez éliminer cutcomplètement:

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

ou

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

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

2

Leur entrée /etc/shadow/ne contiendra aucun hachage de mot de passe. Vous devrez cependant être connecté en tant que root pour pouvoir les voir.


2

Le mot de passe crypté est le deuxième champ dans / etc / shadow.

Si le deuxième champ est vide, le mot de passe est vide:

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

!et *est un mot de passe invalide (l'utilisateur ne peut pas se connecter):

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

0

L'utilisateur " utilisateur " a-t-il un mot de passe vide?

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

retour 1 en cas d'échec - le mot de passe n'est pas vide
retour 0 en cas de succès - un mot de passe est défini

J'espère que c'est exact

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.