Zuletzt aktualisiert am
Es ist wichtig zu wissen, wer Zugriff auf Ihren Linux-PC hat (und die Kontrolle über Ihre Dateien hat), aber Sie können Benutzer in Linux einfach auflisten, um dies herauszufinden. Hier ist wie.
Der Linux-Betriebssystem bietet Befehle zum Erstellen und Löschen von Benutzern und zum Überprüfen, welche angemeldet sind. Es gibt jedoch keinen Befehl zum Auflisten von Benutzern, ob angemeldet oder nicht, auf dem System.
Dennoch gibt es ein paar Möglichkeiten, dies zu erreichen. Wenn Sie erfahren möchten, wie Sie Benutzer unter Linux auflisten, befolgen Sie die nachstehenden Schritte.
Warum Sie Ihre Linux-Benutzerliste überprüfen sollten
Es gibt eine Reihe von Gründen, warum Sie Benutzer in Linux auflisten möchten. Es ist zum einen eine gute Praxis, ungenutzte Konten zu finden und zu löschen. Aus Sicherheitsgründen ist dies auch eine gute Möglichkeit, um sicherzustellen, dass Sie keine Eindringlinge haben, die Benutzerkonten erstellen.
Dies ist eine administrative Aufgabe, die Sie wahrscheinlich mindestens einmal im Monat erledigen sollten. Wenn Sie einen Unternehmens-Linux-Server betreiben, möchten Sie dies vielleicht öfter tun.
Benutzer, die in /etc/passwd aufgelistet sind
Alle Benutzerkonten Ihres Linux-Servers haben Einträge in der Datei /etc/passwd. Jede Zeile repräsentiert einen Benutzer und hat sieben durch Doppelpunkte getrennte Felder. Die Felder geben Auskunft über den Benutzer.
- Nutzername.
- Verschlüsseltes Passwort (x zeigt an, dass das Passwort tatsächlich drin ist /etc/shadow)
- Benutzer-ID-Nummer (UID).
- Gruppen-ID-Nummer (GID) des Benutzers.
- Vollständiger Name des Benutzers, falls aufgeführt.
- Home-Verzeichnis des Benutzers.
- Login-Shell
Das bringt uns also zu einer Möglichkeit, alle Benutzer unter Linux aufzulisten. Du kannst den... benutzen weniger Befehl, um die gesamte Datei Bildschirm für Bildschirm anzuzeigen.
weniger /etc/passwd.
Wenn Sie überprüfen möchten, ob ein bestimmter Benutzer im Linux-System existiert, ist das eine gute Verwendung für den Befehl grep:
weniger Passwort | Grep Jeff.
Wenn Sie keine Ausgabe erhalten, existiert dieser Benutzer nicht auf dem Linux-Server.
Trotzdem sind das viele Informationen. Sie können es beispielsweise auf den Benutzernamen reduzieren, indem Sie entweder die ach oder schneiden Befehle:
awk -F: '{print $1}' /etc/passwd. cut -d: -f1 /etc/passwd.
Das ist in der Regel viel einfacher zu verstehen, aber es lässt Sie immer noch alle systembasierten Benutzerkonten gemischt mit Ihren menschlichen Benutzern anzeigen.
So verwenden Sie getent, um Benutzer aufzulisten
Ein weiterer Befehl, getent, ist viel nützlicher. Es zeigt Einträge von jede Datenbank konfiguriert in Ihrem Server /etc/nsswitch.conf Datei. Einer davon ist der Passwort Datenbank. Benutzen getent Um eine Liste aller Linux-Benutzer anzuzeigen, funktioniert das folgendermaßen:
Passwort erhalten
Die Ausgabe sieht genauso aus wie bei der Verwendung von weniger Befehl, listet jedoch alle LDAP-Benutzer auf dem Linux-System auf. Noch einmal unsere ach und schneiden Befehle können helfen, nur das erste Feld, die Benutzernamen, anzuzeigen.
Wenn Sie prüfen möchten, ob ein bestimmter Benutzer im Linux-System existiert, getent macht es einfach:
getent passwd jeff.
Auch hier sagt Ihnen keine Ausgabe dieses Befehls, dass der Benutzer nicht existiert.
Eine weitere tolle Verwendung für getent herauszufinden, wie viele Benutzerkonten auf dem Server existieren. Dies geschieht durch Rohrleitungen getent’s Ausgabe durch die Toilette Befehl, etwa so:
passwd abrufen | WC-l.
Wie Sie sehen können, hat mein Linux-System insgesamt 48 Konten. Ziemlich interessant, da ich der einzige bin, der es verwendet, aber das zeigt nur, wie viele Systemkonten in Linux erstellt werden.
Systembenutzer von normalen Benutzern aussortieren
In den Augen von Linux gibt es keinen Unterschied zwischen einem Systembenutzer und einem Menschen. Jedes Mal, wenn Sie das Betriebssystem installieren, erstellt es eine Reihe von Systembenutzern. Andere Systembenutzer werden für verschiedene Pakete wie Web- oder Mail-Service-Software erstellt.
Wie können Sie also nur die normalen, menschlichen Benutzer des Linux-Systems auflisten? Der Schlüssel hier ist zu verstehen, dass beim Erstellen eines regulären Benutzers seine UID innerhalb eines bestimmten Zahlenbereichs zugewiesen wird. Durch Überprüfung der /etc/login.defs -Datei können wir den Bereich der UID-Werte ermitteln, die für normale Benutzerkonten verfügbar sind.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Aufgrund der Ausgabe weiß ich, dass normale Benutzer eine UID zwischen 1000 und 60000 haben sollten. Daraus kann ich a konstruieren getent Abfrage, die nur normale Benutzer anzeigt.
getent passwd {1000..60000}
Denken Sie daran, getent scheint zu hängen, selbst nachdem es seine Ausgabe angezeigt hat. Sie können drücken Strg-C, um den Vorgang zu beenden, oder warten Sie, bis er abgeschlossen ist. Es dauert normalerweise weniger als 15 Sekunden, um die Suche abzuschließen Passwort Datenbank.
Eine allgemeinere Version dieses Befehls berücksichtigt andere UID_MIN und UID_MAX Werte, die verschiedene Server verwenden könnten.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
In diesem Befehl nutzen wir die Fähigkeit von Linux, mehrere Dinge gleichzeitig zu tun. Der ach Befehle bekommen die UID_MIN und UID_MAX Werte, dann verwenden Sie sie innerhalb der getent Befehl.
Nehmen wir an, wir wollen nur die Benutzernamen. Wieder einmal leiten wir unsere Ausgabe durch die schneiden Befehl, etwa so:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | Schnitt -d: -f1.
Die Ausführung dieses Befehls kann 10 bis 15 Sekunden dauern, seien Sie also geduldig.
Effektive Verwaltung Ihrer Linux-Benutzer
Es ist wichtig, den Überblick darüber zu behalten, welche Benutzerkonten auf Ihrem Linux-System vorhanden sind. Wenn Sie wissen, dass ein Mitarbeiter gegangen ist, löschen Sie umgehend sein Benutzerkonto. Die regelmäßige Auflistung Ihrer Linux-Benutzer hilft sicherzustellen, dass Sie alle Konten finden, die möglicherweise noch vorhanden sind.
Achten Sie gleichzeitig darauf, den Überblick zu behalten Kennwortsicherheitsrichtlinien und ermutigen Sie Ihre Benutzer dazu ihre Passwörter ändern regelmäßig.