GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So listen Sie Benutzer und Gruppen unter Linux auf

Unter Linux als Systemadministrator möchten Sie oft eine vollständige Liste aller Benutzer und aller Gruppen auf Ihrem Host haben.

Aus Sicherheitsgründen ist es sehr wichtig sicherzustellen, dass Sie die richtige Anzahl von Benutzern haben und dass Sie nicht vergessen haben, einige zu löschen.

Es gibt mehrere Möglichkeiten, Benutzer und Gruppen unter Linux aufzulisten .

Erstens können Sie die passwd- und die Gruppendatei auf Ihrem System lesen, mit cut-Befehlen nützliche Informationen extrahieren.

Ein effektiverer Weg ist die Verwendung des getent-Befehls, der auf dem Name Service Switch basiert, einer Unix-basierten Einrichtung, um benutzerdefinierte Datenbanken auf Ihrem Host zu definieren.

So können Sie Benutzer und Gruppen unter Linux auflisten .

Benutzer unter Linux auflisten

Um Benutzer unter Linux aufzulisten, müssen Sie den Befehl „cat“ in der Datei „/etc/passwd“ ausführen. Wenn Sie diesen Befehl ausführen, wird Ihnen die Liste der derzeit auf Ihrem System verfügbaren Benutzer angezeigt.

Alternativ können Sie den Befehl „weniger“ oder „mehr“ verwenden, um in der Liste der Benutzernamen zu navigieren.

$ cat /etc/passwd

$ less /etc/passwd

$ more /etc/passwd

Ihnen wird eine Liste der derzeit auf Ihrem System verfügbaren Benutzer angezeigt.

Hinweis:Dies bedeutet nicht, dass Benutzer verbunden sind sofort!

Aber was machen die Spalten der passwd-Datei überhaupt?

Als kurze Randnotiz bedeutet ein „x“ in der Passwortspalte, dass das Passwort verschlüsselt ist und in der Datei /etc/shadow zu finden ist.

Nachdem Sie nun wissen, wie Sie Benutzer auf Ihrem Linux-Host auflisten, sehen wir uns an, wie Sie eine Liste von Benutzernamen effektiv isolieren können.

Benutzernamen mit der /etc/passwd-Datei auflisten

Wie Sie wahrscheinlich bemerkt haben, ist die Datei /etc/passwd Datei besteht aus Zeilen, die durch Doppelpunkte getrennt sind.

a – Auflisten von Benutzernamen mit Ausschneiden

Um Benutzernamen unter Linux aufzulisten, verwenden Sie den „cat“-Befehl und leiten Sie ihn an den „cut“-Befehl weiter, um verfügbare Benutzernamen in der ersten Spalte Ihrer Datei zu isolieren.

Führen Sie dazu den folgenden Befehl aus

$ cat /etc/passwd | cut -d: -f1

Zuerst drucken Sie eine Liste aller Datensätze in der passwd-Datei. Als nächstes werden diese Ergebnisse (unter Verwendung von Linux-Pipes und -Umleitung) an den cut-Befehl weitergeleitet.

Der Befehl cut definiert ein benutzerdefiniertes Trennzeichen (mit der Option d), das dem Doppelpunkt entspricht.

Schließlich isolieren wir das erste Feld der Ergebnisse, die wir erhalten. In diesem Fall entspricht dies den Benutzernamen, wie sie von unserem Schema in den passwd-Spalten definiert sind.

b – Benutzernamen mit awk auflisten

Um Benutzernamen unter Linux aufzulisten, können Sie auch den „cat“-Befehl verwenden, der mit dem „awk“-Befehl verbunden ist, der dem „cut“-Befehl ähnelt, den wir zuvor gesehen haben.

Zur Erinnerung:Der Befehl awk (oder mawk) ist ein Interpreter für die Programmiersprache AWK.

AWK ist eine Programmiersprache, die entwickelt wurde, um die Datenextraktion und -manipulation für Datenströme zu vereinfachen.

Es wird häufig auf Unix-basierten Systemen verwendet, wenn Textstrukturen ziemlich kompliziert sind und nicht mit einem einzigen Befehl getrennt werden können.

Um Benutzernamen unter Linux mit dem awk-Interpreter aufzulisten, führen Sie den folgenden Befehl aus

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

Benutzer unter Linux mit getent auflisten

Der einfachste Weg, Benutzer unter Linux aufzulisten, besteht darin, den Befehl „getent“ mit dem Argument „passwd“ zu verwenden und einen optionalen Benutzer anzugeben, den Sie auf Ihrem System auflisten möchten.

getent passwd <optional_user>

Zur Erinnerung:Der getent-Befehl ruft Einträge aus Name Service Switch-Datenbanken ab .

Der Name Service Switch ist ein Unix-Dienstprogramm, das Einträge aus einer Reihe verschiedener Datenquellen wie Dateien, LDAP, einem DNS-Server oder einem Netzwerkinformationsdienst abruft .

Die Liste aller verfügbaren Datenquellen kann der nsswitch.conf entnommen werden Datei unter /etc.

In unserem Fall kann es verwendet werden, um Benutzer und Gruppen einfach auf unserem Linux-Host aufzulisten.

Führen Sie den folgenden Befehl aus, um Benutzer mit der getent-Funktion aufzulisten

$ getent passwd

a – Benutzernamen mit getent auflisten

Ähnlich wie im vorherigen Abschnitt ist es möglich, nur Benutzernamen aufzulisten, wenn mit dem getent-Befehl interagiert wird.

Um dies zu erreichen, können Sie alternativ den cut-Befehl oder den awk-Befehl auf folgende Weise ausführen.

$ getent passwd | cut -d: -f1

Oder mit AWK

$ getent passwd | awk -F: '{print $1}'

Verbundene Benutzer auf Ihrem Linux-Host auflisten

Wie bereits erwähnt, führt die Überprüfung der passwd-Datei, entweder mit less oder mit getent, nicht aus stellt Ihnen eine Liste aller verbundenen Benutzer auf Ihrem Host zur Verfügung.

Um dies zu erreichen, verwenden Sie den who-Befehl.

$ who

Wie Sie sehen können, erhalten Sie eine Liste der Benutzer, die derzeit mit Ihrem Host verbunden sind, zusammen mit der Shell, die sie verwenden, und wann sie sich verbunden haben.

Alternativ können Sie den Users-Befehl verwenden, um das gleiche Ergebnis mit weniger Details zu erzielen.

$ users
devconnected john

Ziemlich praktisch!

Nachdem wir nun gesehen haben, wie wir Benutzer auf einem Linux-Host auflisten können, sehen wir uns an, wie wir dasselbe Wissen anwenden können, um Gruppen auf Ihrem System aufzulisten.

Listen Sie Gruppen unter Linux mit der Datei /etc/group auf

Um Gruppen unter Linux aufzulisten, müssen Sie den Befehl „cat“ in der Datei „/etc/group“ ausführen. Wenn Sie diesen Befehl ausführen, wird Ihnen die Liste der auf Ihrem System verfügbaren Gruppen angezeigt.

Verwenden Sie einen der folgenden Befehle, um Gruppen auf Ihrem System aufzulisten.

$ cat /etc/group

$ less /etc/group

$ more /etc/group

Aber was stellen die Spalten der Gruppendatei überhaupt dar?

Nehmen wir eine komplette Zeile in der Gruppendatei, um sie zu untersuchen.

Wie Sie sehen, sind die Einträge, ähnlich wie bei der passwd-Datei, durch Doppelpunkte getrennt. Sie sind ziemlich einfach zu verstehen.

Hinweis:Das Passwortfeld wird die meiste Zeit nicht verwendet, es ist reserviert, um privilegierte Gruppen auf Ihrem System zu erstellen.

Gruppennamen mit /etc/group auflisten

Wie Sie sehen können, erhalten Sie durch Untersuchen der /etc/group eine vollständige und manchmal zu detaillierte Auflistung aller Gruppen auf Ihrem System.

Manchmal möchten Sie jedoch die Gruppennamen in Ihrer Gruppendatei isolieren.

Um dies zu erreichen, können Sie entweder den cut-Befehl oder den AWK-Befehl verwenden.

$ cat /etc/group | cut -d: -f1
$ cat /etc/group | awk -F: '{print $1}'

Sie können natürlich eine Gruppe isolieren, wenn Sie sehen möchten, welche Benutzer zu der Gruppe gehören, auf die Sie abzielen.

$ cat /etc/group | grep <group>

Gruppen mit getent auflisten

Auch hier können Sie Gruppen unter Linux mit dem Befehl getent auflisten

$ getent <database> <key>

Uns interessiert hier die Datenbank „Gruppe“.

Wenn Sie keinen Schlüssel angeben, erhalten Sie die gesamte Gruppendatei.

$ getent group

Ähnlich wie bei der passwd-Datenbank können Sie eine bestimmte Gruppe „ansprechen“, indem Sie einen Schlüssel für die getent-Funktion bereitstellen.

$ getent group sudo

Gruppen für den aktuellen Benutzer auflisten

Die Gruppenbefehle werden verwendet, um eine Liste der Gruppen zu erhalten, in denen sich ein bestimmter Benutzer befindet.

$ groups <username>

Wenn keine Argumente angegeben werden, werden die Gruppen für den Benutzer zurückgegeben, der den Befehl gestartet hat.

Um zu beweisen, dass es die Gruppen für den Benutzer bereitstellt, der den Befehl gestartet hat, versuchen Sie, den Befehl mit sudo-Berechtigungen zu starten.

$ sudo groups

Das Ergebnis ist.. root! Weil der Befehl als root ausgeführt wird und root nur zu einer Gruppe gehört, nämlich der Root-Gruppe.

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie Benutzer und Gruppen auf jedem Linux-basierten System auflisten können.

Sie haben mehr über bestimmte Konfigurationsdateien wie passwd und group erfahren , sowie den getent-Befehl für Name Service Switch-Einrichtungen.

Wenn Sie sich für die Linux-Systemadministration interessieren, haben wir in unserer Kategorie Linux-Systemadministration unzählige Tutorials zu diesem Thema.

Klicken Sie auf das Bild unten, um sie zu überprüfen.


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. So verwalten und listen Sie Dienste in Linux auf

  3. So verwalten Sie Linux-Berechtigungen für Benutzer, Gruppen und andere

  4. So arbeiten Sie mit Benutzern und Gruppen in Linux

  5. Wie listet man alle Benutzer in einer Linux-Gruppe auf?

So installieren und verwenden Sie den fd-Befehl unter Linux

So listen Sie Festplatten unter Linux auf

So listen Sie alle Benutzer einer Gruppe in Linux auf

So listen Sie nur Verzeichnisse in Linux auf

So erstellen und verwalten Sie neue Benutzer unter Linux

Wie listet man alle Gruppen in Linux auf?