Wie finde ich Benutzer mit leerem Passwort in Linux?
13
Dies ist eine kürzere und genauere Version der Antwort von AndreKR:
sudo getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1
Es wird nur einmal angerufen cut
und Einträge der folgenden Formulare gefunden:
foo:!: ...
bar:*: ...
baz:: ...
Wenn Sie nur wirklich leer wollen:
sudo getent shadow | grep '^[^:]*::' | cut -d: -f1
Wenn Sie GNU haben grep
, können Sie cut
vollständig beseitigen :
sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'
oder
sudo getent shadow | grep -Po '^[^:]*(?=::)'
Ihr Eintrag in enthält /etc/shadow/
keinen Passwort-Hash. Sie müssen jedoch als root angemeldet sein, um sie sehen zu können.
Das verschlüsselte Passwort ist das zweite Feld in / etc / shadow.
Wenn das zweite Feld leer ist, ist das Passwort leer:
awk -F":" '($2 == "") {print $1}' /etc/shadow
!
und *
ist ein ungültiges Passwort (Benutzer kann sich nicht anmelden):
awk -F":" '($2 == "!" || $2 == "*") {print $1}' /etc/shadow