Liste der Benutzer anzeigen

24

Ich würde gerne sehen, wie viele Benutzer sich auf meinem System befinden. Wie kann ich eine Liste aller Benutzer im System anzeigen?

Ayy Lmao
quelle
2
Ich denke, /etc/passwdwürde dir helfen.
Зелёный
5
Meinen Sie damit, wie viele Benutzerkonten im System vorhanden sind oder wie viele Benutzer derzeit angemeldet sind?
D_Bye

Antworten:

28

Sie können eine Liste aller Benutzer mit erhalten

getent passwd | cut -d':' -f1

Dadurch wird die erste Spalte (Benutzername) der Systembenutzerdatenbank ausgewählt. Im Gegensatz zum Parsing von Lösungen /etc/passwdfunktioniert dies unabhängig vom verwendeten Datenbanktyp (traditionell /etc/passwd, LDAP usw.). Beachten Sie, dass diese Liste auch Systembenutzer enthält (z. B. nobody, mail, etc.).

Die genaue Benutzernummer kann wie folgt ermittelt werden:

getent passwd | wc -l

Eine Liste der aktuell angemeldeten Benutzer erhalten Sie mit dem Befehl usersoder who:

users  # or
who
Marco
quelle
Warum nicht verwenden getent passwd, um die aktuelle Benutzerliste abzurufen, einschließlich der über LDAP usw. gefundenen Benutzer? Dies wc -lwäre auch eine weitaus kürzere Möglichkeit, die Zeilen /etc/passwd(oder die Ausgabe von getent passwd) zu zählen.
27.
@ n.st Das ist in der Tat besser. Ich habe die Änderung in meine Antwort aufgenommen. Vielen Dank.
Marco
Das wird nicht unbedingt alle Benutzer auflisten. Einige Benutzerdatenbanken können nicht aufzählbar gemacht werden
Stéphane Chazelas
3

Sie könnten einfach catdie /etc/passwdDatei oder verwenden,

awk -F':' '{ print $1}' /etc/passwd

Wenn Sie das erste Feld derselben Datei ausschneiden, werden die erwarteten Namen aufgelistet. Zusätzlich w whound fingerwürde Ihnen helfen, mit wem alle von welchen Positionen / tty und ihren Tätigkeitsdetails angemeldet werden.

Keyshov Borat
quelle
1

Das funktioniert:

sed 's/:.*//g' /etc/passwd
Anzeigename
quelle
Sie können das globale Flag auch entfernen, wenn Sie möchten.
Anzeigename