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

Benutzer in Linux auflisten - Beste Methode

Um das Berechtigungssystem zu konfigurieren und zu verwalten, benötigt der Administrator eine Liste aller Benutzer. Es gibt Befehle zum Erstellen von Benutzern und zum Löschen von Benutzern, aber es ist eine wichtige Aufgabe, alle Benutzer im Linux-System aufzulisten. Außerdem ist es aus Sicherheitsgründen unbedingt erforderlich, sicherzustellen, dass Sie die richtige Anzahl von Benutzern haben und dass Sie nicht vergessen haben, einige zu löschen.

Hier bei LinuxAPT helfen wir unseren Kunden im Rahmen unserer Server Management Services regelmäßig bei der Durchführung verwandter Linux-Systemabfragen.

In diesem Zusammenhang werden wir untersuchen, wie Benutzer in Linux-Systemen aufgelistet werden.


Wie listet man alle Benutzer mit der /etc/passwd-Datei auf?

Benutzerinformationen werden in der Datei /etc/passwd gespeichert. Es enthält eine Zeile mit dem Benutzernamen für jedes Benutzerkonto im System. Sie können den Befehl less oder cat verwenden, um den Dateiinhalt anzuzeigen:

$ cat /etc/passwd

In der Ausgabe sehen Sie, dass jede Zeile sieben durch Doppelpunkte getrennte Felder hat, die die folgenden Informationen enthalten:

  • Benutzername.
  • Verschlüsseltes Passwort, wobei x bedeutet, dass das Passwort in etc/shadow file gespeichert ist.
  • UID (Benutzer-ID).
  • GID (Gruppen-ID des Benutzers).
  • Vollständiger Name des Benutzers.
  • Benutzer $HOME-Verzeichnis.
  • Login-Shell-Pfad.


Wenn Sie nur den Benutzernamen auflisten möchten, können Sie awk- oder cut-Befehle verwenden, um nur den Benutzernamen auszugeben:

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

Die Ausgabe sieht wie folgt aus:

Output
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
...
...
geoclue
gdm
gnome-initial-setup
sshd


Wie listet man alle Benutzer mit dem getent-Befehl auf?

Der Getent-Befehl liest Einträge aus Datenbanken. Es listet Benutzer sowohl aus der LDAP-Datenbank als auch aus der /etc/passwd-Datei auf.

Um eine Liste aller Linux-Benutzer zu erhalten, geben Sie den folgenden Befehl ein:

$ getent passwd

Die Ausgabe entspricht dem Inhalt der Datei /etc/passwd. Sie können auch awk oder cut verwenden, um nur den Benutzernamen auszugeben:

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


So prüfen Sie, ob ein Benutzer im Linux-System existiert ?

Jetzt wissen wir, wie man eine Benutzerliste erhält. Aber was ist, wenn Sie überprüfen möchten, ob ein Benutzer auf dem aktuellen System vorhanden ist oder nicht. Sie können mit dem grep-Befehl und ohne den grep-Befehl prüfen.

Zum Beispiel möchten wir überprüfen, ob der Linuxapt-Benutzer existiert oder nicht, dann sollten Sie den folgenden Befehl eingeben:

$ getent passwd | grep linuxapt
$ getent passwd linuxapt
Output
linuxapt:x:1001:1001:,,,:/home/linuxapt:/bin/bash

Wenn der Benutzer im System vorhanden ist, werden Details dieses Benutzers gedruckt, andernfalls wird nichts gedruckt.

Wenn Sie möchten, dass die Gesamtzahl der Benutzer auf Ihrem System vorhanden ist, können Sie sie wie folgt abrufen:

$ getent passwd | wc -l

Es gibt die Anzahl der Benutzer als folgende Ausgabe zurück:

Output
47


Wie kann man System- und normale Benutzer unterscheiden?

Systembenutzer werden erstellt, wenn Sie das Betriebssystem installieren oder neue Pakete aktualisieren. Es gibt keinen Unterschied mehr zwischen Systembenutzern und normalen Benutzern.

Normale Benutzer sind die Benutzer, die vom Root oder einem anderen Benutzer mit sudo-Berechtigungen erstellt wurden. Normalerweise hat ein normaler Benutzer eine echte Login-Shell und ein Home-Verzeichnis.

Jeder Benutzer hat eine UID (Benutzer-ID), entweder er ist Systembenutzer oder normaler Benutzer. Wenn ein normaler Benutzer einen Benutzer mit dem Befehl adduser hinzufügt. Der Benutzer wird hinzugefügt und die UID wird automatisch mit Referenz auf UID_MIN und UID_MAX aus der Datei /etc/login.defs.

zugewiesen

Sie können UID_MIN und UID_MAX mit dem folgenden Befehl überprüfen:

$ grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Die Ausgabe wird wie folgt angezeigt:

Output
UID_MIN             1000
UID_MAX            60000

Aus der obigen Ausgabe können wir ersehen, dass alle normalen Benutzer eine eindeutige ID zwischen 1000 und 60000 haben sollten.

Jetzt geben wir den Befehl aus, um eine Liste normaler Benutzer zu erhalten, deren eindeutige ID zwischen 1000 und 60000 liegt.

$ getent passwd {1000..60000}
Output
linuxapt:x:1000:1000:LinuxAPT,,,:/home/linuxapt:/bin/bash
demouser:x:1001:1001:,,,:/home/demouser:/bin/bash

Um nur Benutzernamen zu drucken, geben Sie folgenden Befehl ein:

$ eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
Output
linuxapt
demouser


Wie erhalte ich eine Gruppenliste unter Linux?

Sie können alle Gruppen in Linux auflisten, indem Sie den folgenden Befehl verwenden:

$ getent group

Mit dem folgenden Befehl können Sie alle Gruppen mit einem bestimmten Benutzer auflisten:

$ getent group | grep linuxapt



Linux
  1. So erstellen Sie mehrere Benutzerkonten in Linux

  2. Verwalten Sie Linux-Benutzer und Linux-Gruppen

  3. So finden Sie alle Sudo-Benutzer in Linux

  4. So listen Sie Benutzer in CentOS 7 auf

  5. 3 Möglichkeiten zum Auflisten von Benutzern in Linux

Die Auswirkungen des Hinzufügens von Benutzern zu einem Linux-System

So listen Sie Benutzer und Gruppen unter Linux auf

So listen Sie alle Benutzer einer Gruppe in Linux auf

Löschen Sie Benutzer in Linux mit dem Userdel-Befehl

Linux – Benutzer zur Sudoers-Liste hinzufügen

Top 10 der besten Antivirenprogramme für Linux – Liste der Linux-Antivirensoftware!