In diesem Beitrag erfahren Sie mehr über die Auflistung von Benutzern unter Linux. Außerdem kennen Sie andere Tricks über die Eigenschaften von Linux-Benutzern.
Es gibt zwei Arten von Benutzern in Linux, Systembenutzer, die standardmäßig mit dem System erstellt werden. Andererseits gibt es regelmäßige Benutzer, die von Systemadministratoren erstellt werden und sich beim System anmelden und verwenden können.
Inhaltsverzeichnis
Welche Datei enthält die Liste der Benutzer unter Linux?,
Bevor wir anfangen, Benutzer aufzulisten, müssen wir wissen, wo diese Benutzer unter Linux gespeichert sind.
Die Benutzer werden in einer Textdatei auf dem System namens passwd-Datei gespeichert. Diese Datei befindet sich im Verzeichnis / etc.
Die Datei befindet sich im folgenden Pfad:
$ /etc/passwd
In dieser Datei finden Sie alle Informationen zu den Benutzern im System.
Alle Benutzer auflisten
Das Auflisten von Benutzern ist der erste Schritt, um sie zu verwalten. Auf diese Weise wissen wir, wie viele sie sind und wer sie sind. Unter Linux kann fast alles auf verschiedene Arten durchgeführt werden, und dies ist keine Ausnahme.,
Um alle Benutzer aufzulisten, können Sie den cat-Befehl verwenden:
$ cat /etc/passwd
Wie Sie im Bild sehen können, gibt es alle Informationen zu den Benutzern.
1 – Im ersten Feld sehen Sie den Benutzernamen.
2-Das zweite Feld (das x-Zeichen) ist eine Darstellung des verschlüsselten Passworts. Das verschlüsselte Passwort wird in der Datei /etc/shadow gespeichert.
3-Die UID oder die Benutzer-ID.
4-Das nächste Feld bezieht sich auf die primäre Gruppe des Benutzers.
5-Dann werden Benutzer-ID-Informationen wie Adresse, E-Mail usw. angezeigt.,
6 – Danach sehen Sie das home-Verzeichnis des Benutzers.
7-Das letzte Feld ist die von diesem Benutzer verwendete Shell.
Obwohl die Informationen sehr nützlich sind, können Sie diesen Befehl verwenden, wenn Sie die Namen der Benutzer nur auf grundlegende Weise auflisten möchten:
$ cut -d: -f1 /etc/passwd
Jetzt haben wir die Namen nur, indem wir nur das erste Feld der Datei drucken.
List & Benutzer nach Namen sortieren
Der obige Befehl dient dazu, Benutzer unter Linux aufzulisten. Aber was ist mit der Auflistung der Benutzer in alphabetischer Reihenfolge?,
Dazu verwenden wir den vorherigen Befehl, fügen jedoch den Sortierbefehl hinzu.
Der Befehl sieht also folgendermaßen aus:
$ cut -d: -f1 /etc/passwd | sort
Wie Sie im Bild sehen können, werden die Benutzer sortiert angezeigt.
Linux listet Benutzer ohne Passwort auf
Es ist wichtig, Benutzer ohne Passwort zu kennen und entsprechende Maßnahmen zu ergreifen. Um Benutzer aufzulisten, die kein Passwort haben, verwenden Sie einfach den folgenden Befehl:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
Der verwendete Regex listet alle Benutzer ohne Passwort auf.,
Benutzer nach Festplattennutzung auflisten
Wenn Sie ein großes Verzeichnis haben und wissen möchten, welcher Benutzer es überflutet, können Sie den Befehl du verwenden, um die Festplattennutzung abzurufen.
Damit können Sie erkennen, welcher dieser Benutzer den Speicherplatz missbraucht.
Dafür genügt es, den folgenden Befehl zu verwenden:
Auf diese Weise haben Sie die Benutzer nach der Festplattennutzung für das Verzeichnis /home.
Wir haben das-n für den Sortierbefehl verwendet, um die Ausgabe nach Zahlen zu sortieren.,
Listen Sie die aktuell angemeldeten Benutzer auf
Um die aktuell angemeldeten Benutzer aufzulisten, haben wir verschiedene Möglichkeiten. Die erste Methode können wir den Befehl users verwenden:
$ users
Es werden die Benutzer mit offenen Sitzungen im System aufgelistet.
Diese Informationen sind jedoch etwas grundlegend; Wir haben jedoch einen anderen Befehl, der weitere Details enthält. Der Befehl ist einfach w.,
$ w
Mit diesem Befehl können wir weitere Informationen haben, z. B. den genauen Zeitpunkt, zu dem die Sitzung gestartet wurde, und die Terminalsitzung, die er zur Verfügung hat.
Schließlich gibt es einen Befehl namens, der. Es ist für die gesamte Unix-Familie verfügbar. So können Sie es auf anderen Systemen wie FreeBSD verwenden.
$ who
Mit who Befehl haben wir auch einige Informationen über aktuell angemeldete Benutzer. Natürlich können wir die Option-a hinzufügen und alle Details anzeigen.,
$ who -a
Auf diese Weise wissen Sie alles über die angemeldeten Benutzer.
Linux Liste der Benutzer, die sich kürzlich im System angemeldet haben
Wir haben gesehen, wie Sie die aktuell angemeldeten Benutzer abrufen können.,
Mit dem letzten Befehl erhalten Sie weitere Informationen zu den durchgeführten Anmeldungen:
$ last
Oder die Anmeldungen eines bestimmten Benutzers
$ last
Zum Beispiel:
$ last angelo
Dies sind die Benutzeranmeldeaktivitäten und wann und wie lange sie gestartet wurden.
Listen Sie die Anmeldungen von Benutzern zu einem bestimmten Datum oder einer bestimmten Uhrzeit auf
Was ist mit der Auflistung der Anmeldungen von Benutzern zu einem bestimmten Datum oder einer bestimmten Uhrzeit?, Um dies zu erreichen, verwenden wir den letzten Befehl, jedoch mit dem Parameter-t:
$ last -t YYMMDDHHMMSS
Zum Beispiel:
$ last -t 20190926110509
Und jetzt müssen Sie nur noch ein genaues Datum auswählen & Zeit, um aufzulisten, wer sich bei dieses Mal.
Alle Benutzer in einer Gruppe auflisten
Es gibt zwei Möglichkeiten, die Mitglieder einer Gruppe in Linux aufzulisten, der einfachste und direkteste Weg ist, die Benutzer aus der Datei/etc/group wie folgt abzurufen:
$ cat /etc/group | grep likegeeks
Dieser Befehl listet Benutzer in der likegeeks-Gruppe auf.,
Der andere Weg ist die Verwendung von Befehlen wie dem members-Befehl in Debian – basierten Distributionen. Es ist jedoch nicht standardmäßig in Linux-Distributionen installiert.,
Um es in Ubuntu / Linux Mint 19 zu installieren, verwenden Sie einfach APT:
$ sudo apt install members
Oder im Fall von CentOS:
$ sudo dnf install members
Sobald es installiert ist, können Sie den Befehl ausführen, dann den Namen der Gruppe, in die Sie die Benutzer auflisten möchten:
$ members
Zum Beispiel:
$ members avahi
Auf diese Weise können Sie Benutzer für eine Gruppe in einer Debian-basierten Distribution auflisten. Was ist mit einer RedHat-basierten Distribution wie CentOS?,
Sie können den folgenden Befehl verwenden:
$ getent group likegeeks
Listen Sie Benutzer mit UID
Auf Unix-Systemen hat jeder Benutzer eine Benutzerkennung oder ID. Es dient dazu, Konten intern im Betriebssystem zu verwalten und zu verwalten.
Im Allgemeinen sind UIDs von 0 bis 1000 für Systembenutzer. Und danach für normale Benutzer. Immer auf Unix-Systemen gehört UID zero zu den Root-Benutzern (Sie können mehr als einen Benutzer mit der UID Null haben).
Jetzt listen wir die Benutzer mit ihrer jeweiligen UID mit Awk auf.,
Der Befehl, der die Aufgabe ausführt, lautet wie folgt:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Wie Sie sehen können, hat jeder Benutzer seine UID.
Root-Benutzer auflisten
In einem Unix-ähnlichen System wie Linux gibt es normalerweise nur einen Root-Benutzer. Wenn es viele gibt, wie listen Sie sie auf?
Dazu können wir diesen Befehl verwenden:
$ grep 'x:0:' /etc/passwd
Hier filtern wir die Datei, um Benutzer mit der UID Null (Root-Benutzer) abzurufen.,
Auf andere Weise überprüfen Sie die Datei/etc/group:
$ grep root /etc/group
Hier erhalten wir Benutzer im Gruppenstamm aus der Datei/etc / group.
Sie können auch überprüfen, ob ein Benutzer Befehle als root ausführen kann, indem Sie die Datei /etc/sudoers überprüfen:
$ cat /etc/sudoers
Holen Sie sich die Gesamtzahl der Benutzer
Um die Gesamtzahl der Benutzer in Linux zu erhalten, können Sie Zeilen in der Datei /etc/passwd mit dem folgenden wc-Befehl zählen:
$ cut -d: -f1 /etc/passwd | wc -l
Großartig! 43 Benutzer., Dies schließt jedoch System-und normale Benutzer ein. Was ist mit der Anzahl der regulären Benutzer?
Einfach! Da wir von oben wissen, dass normale Benutzer eine UID von 1000 oder mehr haben, können wir Awk verwenden, um sie abzurufen:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!
Liste sudo-Benutzer
Linux-Systeme verfügen über ein Dienstprogramm namens sudo, mit dem Sie Befehle ausführen können, als wären Sie ein anderer Benutzer, der normalerweise der Root-Benutzer ist.
Dies sollte in einem professionellen Umfeld mit Vorsicht gehandhabt werden.,
Außerdem ist es sehr wichtig zu wissen, welche Benutzer den Befehl sudo ausführen können. Dazu genügt es, die Benutzer aufzulisten, die zur Sudo-Gruppe gehören.
$ members sudo
Benutzer in dieser Gruppe können Befehle als Superbenutzer ausführen.
Listen Sie Benutzer auf, die über SSH-Zugriff verfügen
SSH ermöglicht Benutzern den Zugriff auf Remotecomputer über ein Netzwerk. Es ist ziemlich sicher und wurde als Ersatz für Telnet geboren.
Standardmäßig können sich alle regulären Benutzer anmelden und SSH verwenden., Wenn Sie dies einschränken möchten, können Sie die SSH-Konfigurationsdatei (/etc/ssh/ssh_config) verwenden und die folgende Direktive hinzufügen:
AllowUsers user1 user2 user3
Außerdem können Sie Gruppen zulassen, anstatt Benutzer nur mit der Direktive AllowGroups zuzulassen:
AllowGroups group1 group2 group3
Diese Direktiven definieren, wer auf den Dienst zugreifen kann. Vergessen Sie nicht, den SSH-Dienst neu zu starten.
Listen Sie Benutzer auf, die Berechtigungen für eine Datei oder ein Verzeichnis haben
Wir können mehr als einem Benutzer die Berechtigung erteilen, auf Dateien zuzugreifen oder sie zu ändern & Verzeichnisse auf zwei Arten.,
Die erste Methode besteht darin, Benutzer zur Gruppe der Datei oder des Verzeichnisses hinzuzufügen.
Auf diese Weise können wir die Gruppenmitglieder mit dem Members-Dienstprogramm wie oben gezeigt auflisten.
Okay, aber was ist, wenn dieser Benutzer nur Zugriff auf diese bestimmte Datei haben soll (nicht alle Gruppenberechtigungen)?
Hier können wir die ACL für diese Datei mit dem Befehl setfacl wie folgt festlegen:
$ setfacl -m u:newuser:rwx myfile
Hier geben wir dem Benutzer newser die Berechtigung für die Datei myfile die Berechtigungen read & write & execute.,
Nun kann die Datei zugegriffen oder durch den Eigentümer geändert werden, und der Benutzer namens newuser. Also, wie man sie auflistet?
Wir können sie mit dem Befehl getfacl wie folgt auflisten:
$ getfacl myfile
Dieser Befehl listet alle Benutzer auf, die Berechtigungen für die Datei mit ihren entsprechenden Berechtigungen haben.
Liste gesperrter (deaktivierter) Benutzer
Unter Linux können wir Benutzer als Sicherheitsmaßnahme sperren. Dies ist eine Vorsichtsmaßnahme, wenn der Verdacht besteht, dass der Benutzer etwas falsch macht und Sie den Benutzer nicht vollständig entfernen und ihn nur zur Untersuchung sperren möchten.,
Um einen Benutzer zu sperren, können Sie den folgenden Befehl verwenden:
$ usermod -L myuser
Jetzt kann sich der Benutzer myuser nicht mehr anmelden oder das System verwenden.
Um alle gesperrten Benutzer des Systems aufzulisten, verwenden Sie einfach den folgenden Befehl:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
Dies druckt alle gesperrten Benutzer, einschließlich Systembenutzer. Was ist mit der Auflistung nur normaler Benutzer?
Wie wir oben gesehen haben, können wir mit Awk normale Benutzer wie folgt sperren:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
Sehr einfach!,
Listing Remote users (LDAP)
Okay, jetzt können alle Systembenutzer (lokale Benutzer) auflisten, aber was ist mit Remote-Benutzern oder LDAP-Benutzern? Nun, wir können ein Tool wie ldapsearch verwenden, aber gibt es einen anderen Weg?
zum Glück ja! Sie können lokale & Remote-Benutzer mit einem Befehl namens getent auflisten
$ getent passwd
Dieser Befehl listet sowohl lokale Systembenutzer als auch LDAP-oder NIS-Benutzer oder andere Netzwerkbenutzer auf.
Sie können die Ergebnisse dieses Befehls auf die gleiche Weise an einen der oben genannten Befehle weiterleiten.,
Außerdem kann der Befehl getent Gruppenkonten wie folgt auflisten:
$ getent group
Sie können die Manpage des Befehls überprüfen, um die anderen Datenbanken zu kennen, in denen der Befehl suchen kann.
Fazit
Das Auflisten von Benutzern im Linux-System hat Spaß gemacht! Außerdem haben wir einige Tipps zu Benutzern und deren Verwaltung auf verschiedene Arten gelernt.
Schließlich ermöglicht dieses Wissen eine bessere Verwaltung der Benutzer des Systems.
Ich hoffe, Sie finden das Tutorial nützlich. Komm immer wieder zurück.,
Gründer von LikeGeeks. Ich arbeite seit 2010 als Linux-Systemadministrator. Ich bin verantwortlich für die Wartung, Sicherung und Fehlerbehebung von Linux-Servern für mehrere Clients auf der ganzen Welt. Ich liebe es, Shell-und Python-Skripte zu schreiben, um meine Arbeit zu automatisieren.