it-swarm.com.de

Zählen Sie die Anzahl der / etc / passwd-Einträge, die kein Passwort haben?

Wie kann ich die Anzahl der /etc/password Einträge, die kein Passwort haben?

3
PL22

Ich denke , dass Sie /etc/shadow Verwenden müssen, um Einträge ohne festgelegtes Kennwort zu finden:

Sudo grep -Ec '\!|\*' /etc/shadow

Die Zeichen ! Und * Zeigen an, dass für den Benutzer kein Unix-Kennwort vorhanden ist. Beispiel:

root:!:17092:0:99999:7:::
colord:*:17086:0:99999:7:::

Die Einträge in /etc/shadow Entsprechen denen in /etc/passwd

Anstelle einer Zählung könnten Sie eine saubere Liste nur der Benutzernamen erhalten:

Sudo grep -E '\!|\*' /etc/shadow | grep -o '^[^:]*'

Sie können -v Verwenden, um die Übereinstimmung umzukehren und Benutzer zu zählen oder aufzulisten mit Passwörtern natürlich:

Sudo grep -vE '\!|\*' /etc/shadow | grep -o '^[^:]*'

Anmerkungen:

  • -E Benutze ERE, damit wir abwechselnd | Benutzen können
  • -c Gibt eine Anzahl der Zeilen zurück, nicht die Zeilen selbst
  • -o Druckt einfach das passende Teil aus
  • '^[^:]*' Vom Zeilenanfang bis zum ersten :
3
Zanna
echo $(($(cat /etc/passwd | egrep "^*:x" | wc | awk '{print $1}')-$(cat /etc/passwd | wc | awk '{print $1}')))

Dies zählt nur die Einträge, die überhaupt kein Passwort haben

0
Florian Traun