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

So listen Sie Benutzer unter Linux auf

Wollten Sie schon immer alle Benutzer in Ihrem Linux-System auflisten oder die Anzahl der Benutzer im System zählen? Es gibt Befehle, um einen Benutzer zu erstellen, einen Benutzer zu löschen, angemeldete Benutzer aufzulisten, aber wie lautet der Befehl, um alle Benutzer in Linux aufzulisten?

Dieses Tutorial zeigt Ihnen, wie Sie Benutzer in Linux-Systemen auflisten.

Erhalten Sie eine Liste aller Benutzer mit /etc/passwd Datei #

Lokale Benutzerinformationen werden in /etc/passwd gespeichert Datei. Jede Zeile in dieser Datei stellt Anmeldeinformationen für einen Benutzer dar. Um die Datei zu öffnen, können Sie entweder cat verwenden oder less :

less /etc/passwd

Jede Zeile in der Datei hat sieben durch Doppelpunkte getrennte Felder, die die folgenden Informationen enthalten:

  • Benutzername.
  • Verschlüsseltes Passwort (x bedeutet, dass das Passwort in /etc/shadow gespeichert ist Datei).
  • Benutzer-ID-Nummer (UID).
  • Gruppen-ID-Nummer (GID) des Benutzers.
  • Vollständiger Name des Benutzers (GECOS).
  • Home-Verzeichnis des Benutzers.
  • Login-Shell (standardmäßig /bin/bash ).

Wenn Sie nur den Benutzernamen anzeigen möchten, können Sie entweder awk verwenden oder cut Befehle, um nur das erste Feld mit dem Benutzernamen zu drucken:

awk -F: '{ print $1}' /etc/passwd
cut -d: -f1 /etc/passwd
root
daemon
bin
sys
sync
...
...
sshd
vagrant
jack
anne

Rufen Sie eine Liste aller Benutzer mit dem getent-Befehl #

Der getent zeigt Einträge aus Datenbanken an, die in /etc/nsswitch.conf konfiguriert sind Datei, einschließlich passwd Datenbank, mit der eine Liste aller Benutzer abgefragt werden kann.

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

getent passwd

Wie Sie sehen können, ist die Ausgabe die gleiche wie bei der Anzeige des Inhalts von /etc/passwd Datei. Wenn Sie LDAP für die Benutzerauthentifizierung verwenden, wird der getent zeigt alle Linux-Benutzer von beiden /etc/passwd an Datei und LDAP-Datenbank.

Sie können auch awk verwenden oder cut um nur das erste Feld mit dem Benutzernamen zu drucken:

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

Überprüfen Sie, ob ein Benutzer im Linux-System # existiert

Jetzt, da wir wissen, wie man alle Benutzer auflistet, können wir, um zu überprüfen, ob ein Benutzer in unserer Linux-Box existiert, einfach die Benutzerliste filtern, indem wir die Liste an grep weiterleiten Befehl.

Zum Beispiel, um herauszufinden, ob ein Benutzer mit dem Namen jack in unserem Linux-System existiert, können wir den folgenden Befehl verwenden:

getent passwd | grep jack

Wenn der Benutzer existiert, druckt der obige Befehl die Anmeldeinformationen des Benutzers. Keine Ausgabe, was bedeutet, dass der Benutzer nicht existiert.

Wir können auch prüfen, ob ein Benutzer existiert, ohne den grep zu verwenden Befehl wie unten gezeigt:

getent passwd jack

Wie zuvor, wenn der Benutzer existiert, zeigt der Befehl die Anmeldeinformationen des Benutzers an.

Wenn Sie herausfinden möchten, wie viele Benutzerkonten Sie auf Ihrem System haben, leiten Sie getent passwd weiter Ausgabe an wc Befehl:

getent passwd | wc -l
33

Wie Sie der obigen Ausgabe entnehmen können, hat mein Linux-System 33 Benutzerkonten.

System- und normale Benutzer #

Es gibt keinen wirklichen technischen Unterschied zwischen dem System und normalen (normalen) Benutzern. Normalerweise werden Systembenutzer erstellt, wenn das Betriebssystem und neue Pakete installiert werden. In einigen Fällen können Sie einen Systembenutzer erstellen, der von einigen Anwendungen verwendet wird.

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 numerische Benutzer-ID namens UID. Wenn nicht angegeben beim Erstellen eines neuen Benutzers mit dem useradd Befehl wird die UID automatisch aus der /etc/login.defs ausgewählt Datei abhängig von der UID_MIN und UID_MIN Werte.

Um die UID_MIN zu überprüfen und UID_MIN Werten auf Ihrem System können Sie den folgenden Befehl verwenden:

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

Aus der obigen Ausgabe können wir ersehen, dass alle normalen Benutzer eine UID zwischen 1000 und 60000 haben sollten. Wenn wir den minimalen und maximalen Wert kennen, können wir eine Liste aller normalen Benutzer in unserem System abfragen.

Der folgende Befehl listet alle normalen Benutzer in unserem Linux-System auf:

getent passwd {1000..60000}
vagrant:x:1000:1000:vagrant,,,:/home/vagrant:/bin/bash
jack:x:1001:1001:,,,:/home/jack:/bin/bash
anne:x:1002:1002:Anne Stone,,,:/home/anne:/bin/bash
patrick:x:1003:1003:Patrick Star,,,:/home/patrick:/usr/sbin/nologin

Ihr System UID_MIN und UID_MIN Werte können unterschiedlich sein, daher wäre die allgemeinere Version des obigen Befehls:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

Wenn Sie nur die Benutzernamen drucken möchten, leiten Sie die Ausgabe einfach an cut weiter Befehl:

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

Schlussfolgerung #

In diesem Tutorial haben Sie gelernt, wie Sie Benutzer in Ihrem Linux-System auflisten und filtern und was die Hauptunterschiede zwischen System- und normalen Linux-Benutzern sind.

Dieselben Befehle gelten für alle Linux-Distributionen, einschließlich Ubuntu, CentOS, RHEL, Debian und Linux Mint.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.


Linux
  1. So erstellen Sie mehrere Benutzerkonten in Linux

  2. So finden Sie alle Sudo-Benutzer in Linux

  3. Benutzer in Linux auflisten - Beste Methode

  4. So listen Sie Benutzer in CentOS 7 auf

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

So beschränken Sie den SSH-Zugriff auf bestimmte Benutzer in Linux

So erhalten Sie eine Liste der MySQL-Benutzerkonten unter Linux

So listen Sie Benutzer und Gruppen unter Linux auf

So ändern Sie den Benutzer unter Linux

So listen Sie alle Benutzer einer Gruppe in Linux auf

So erstellen/fügen Sie Benutzer in Linux hinzu