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

So listen Sie alle Benutzer in Linux auf

Diese kurze Anleitung erläutert, wie Sie alle Benutzer in Linux-Betriebssystemen auflisten. Bevor wir uns mit dem Thema befassen, sehen wir uns an, was die Datei /etc/passwd ist. Weil wir in diesem Handbuch von dieser Datei abhängig sind.

Eine kurze Anmerkung zur /etc/passwd-Datei

Unter Linux (und Unix im Allgemeinen) werden die grundlegenden Informationen zu jedem Benutzerkonto in "/etc/passwd" gespeichert Datei. Es ist nichts anderes als eine einfache Textdatei, die die Attribute aller Benutzerkonten enthält, die in einem Linux-System vorhanden sind.

Standardmäßig ist diese Datei für alle Benutzer mit Hilfe beliebiger Text- oder Grafikprogramme wie Vi, Nano, Gedit usw. oder mit Befehlen wie "cat" lesbar ".

Wenn Sie diese Datei öffnen..

$ cat /etc/passwd

... sehen Sie mehrere Einträge wie unten:

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/ bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games :/usr/games:/usr/sbin/nologin[...]

Jede Zeile in der Datei /etc/passwd repräsentiert einen einzelnen Benutzer. Der Root-Benutzer wird oben aufgeführt. Jede Zeile enthält sieben Attribute oder Felder, die durch einen Doppelpunkt ohne Leerzeichen zwischen den einzelnen Feldern getrennt sind. Die Namen der sieben Felder sind unten angegeben:

  1. Name,
  2. Passwort,
  3. Benutzer-ID,
  4. Gruppen-ID,
  5. gecos,
  6. Home-Verzeichnis,
  7. Schale.

1. Name

Der "Name" Feld ist der Anmeldename des Benutzers, mit dem Sie sich bei Ihrer Linux-Box anmelden.

2. Passwort

Das "Passwort" Feld enthält lediglich einen Buchstaben X. Bedeutung - das Passwort wird verschlüsselt und aus Sicherheitsgründen in einer separaten Datei namens "/etc/shadow" gespeichert. Die /etc/shadow kann von den normalen Benutzern nicht gelesen werden. Hier zeigt das X an, dass der Benutzer ein Passwort hat. Wenn dieses Feld leer ist, hat der Benutzer kein Passwort, er kann sich also ohne Passwort anmelden.

3. Benutzer-ID

Die "Benutzer-ID " (oder kurz UID) gibt die eindeutige numerische Identifikationsnummer des Benutzers an. Die UID des Root-Kontos ist 0 (Null). Die Nummern von 1 bis 99 sind für Systemkonten reserviert. Und die Nummern von 100 bis 999 sind für normale Benutzer und reserviert Gruppen.

4. Gruppen-ID

Die "Gruppen-ID" (oder kurz GID) gibt die primäre Gruppenkennung an, zu der der Benutzer gehört. Die GID ist normalerweise die gleiche wie die UID.

5. Geckos

Die "Geckos" Feld enthält die allgemeinen Informationen eines Benutzers. Beispielsweise kann es den echten Namen des Benutzers enthalten. Dieses Feld kann entweder leer sein, getrennt durch zwei Doppelpunkte, oder es kann mehrere Einträge enthalten, getrennt durch Kommas.

6. Home-Verzeichnis

Das "Home-Verzeichnis" Feld gibt den vollständigen Pfad des Home-Verzeichnisses des Benutzers an, zum Beispiel /home/sk . Dies ist das Verzeichnis, in dem sich der Benutzer zuerst befindet, wenn er sich an einem System anmeldet. Das Home-Verzeichnis enthält normalerweise Programme und Konfigurationsdateien, die dem Benutzer gehören.

7. Schale

Das letzte Feld ist "shell" . Es gibt den vollständigen Pfad der Standard-Shell für diesen Benutzer an.

Nehmen wir nun als Beispiel die folgende Zeile:

root:x:0:0:root:/root:/bin/bash

In der obigen Zeile,

  • root - ist der Benutzername,
  • x - zeigt an, dass der Root-Benutzer ein Passwort hat,
  • 0 - Die erste 0 (Null) gibt die UID an,
  • 0 - Die zweite Null gibt die GID an,
  • root - Gibt den echten Namen des Benutzers an.
  • /root - Es ist das Home-Verzeichnis des Root-Benutzers,
  • /bin/bash - Standard-Shell für Root-Benutzer.

Ich hoffe, Sie bekommen eine grundlegende Vorstellung von der /etc/passwd-Datei. Kommen wir nun zurück zu unserem Thema, dem Auflisten aller Benutzer in einem Linux-System.

Alle Benutzer in Linux auflisten

Es gibt mehrere Möglichkeiten, alle Benutzer in einem Linux-System aufzulisten. Hier habe ich alle möglichen Wege aufgeführt.

1. Alle Benutzer in Linux mit dem cat-Befehl auflisten

Wie der Name schon sagt, wird der cat-Befehl im Allgemeinen verwendet, um Dateien zu verketten und den Inhalt der Dateien auszudrucken.

Um alle Benutzer in einem Linux-System mit dem cut-Befehl aufzulisten, führen Sie Folgendes aus:

$ cat /etc/passwd

Dieser Befehl listet alle verfügbaren Benutzer auf

Beispielausgabe:

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/ bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games :/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologinnews:x:9:9:news:/var/spool/news:/usr/sbin/nologinuucp:x :10:10:uucp:/var/spool/uucp:/usr/sbin/nologinproxy:x:13:13:proxy:/bin:/usr/sbin/nologinwww-data:x:33:33:www-data :/var/www:/usr/sbin/nologinbackup:x:34:34:backup:/var/backups:/usr/sbin/nologinlist:x:38:38:Mailinglisten-Manager:/var/list:/usr /sbin/nologinirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologingnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/ usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinsystemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin /nologinsystemd-resolve:x:101:103:systemd-Resolver,, ,:/run/systemd/resolve:/usr/sbin/nologinsyslog:x:102:106::/home/syslog:/usr/sbin/nologinmessagebus:x:103:107::/nonexistent:/usr/sbin/ nologin_apt:x:104:65534::/nonexistent:/usr/sbin/nologinuuidd:x:105:111::/run/uuidd:/usr/sbin/nologinavahi-autoipd:x:106:112:Avahi Autoip-Daemon, ,,:/var/lib/avahi-autoipd:/usr/sbin/nologinusbmux:x:107:46:usbmux-Daemon,,,:/var/lib/usbmux:/usr/sbin/nologindnsmasq:x:108:65534 :dnsmasq,,,:/var/lib/misc:/usr/sbin/nologinrtkit:x:109:114:RealtimeKit,,,:/proc:/usr/sbin/nologincups-pk-helper:x:110:116 :user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologinspeech-dispatcher:x:111:29:Speech Dispatcher,,,:/var/run/speech- Dispatcher:/bin/falsewhoopsie:x:112:117::/nonexistent:/bin/falsekernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologinsaned:x:114:119 ::/var/lib/saned:/usr/sbin/nologinavahi:x:116:122:Avahi mDNS-Daemon,,,:/var/run/avahi-daemon:/usr/sbin/nologincolord:x:117:123 :colord Farbmanagement-Daemon,,,:/var/lib/colord:/usr/sbi n/nologinhplip:x:118:7:HPLIP-Systembenutzer,,,:/var/run/hplip:/bin/falsegeoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologingnome- initial-setup:x:120:65534::/run/gnome-initial-setup/:/bin/falsegdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/falsesk:x:1000:1000:sk,,,:/home/sk:/bin/bashDebian-exim:x:122:128::/var/spool/exim4:/usr/sbin/nologinpulse:x:115:120:PulseAudio-Daemon ,,,:/var/run/pulse:/usr/sbin/nologinsystemd-timesync:x:123:127:systemd Zeitsynchronisierung,,,:/run/systemd:/usr/sbin/nologintss:x:124:131 :TPM Software Stack,,,:/var/lib/tpm:/bin/falsetcpdump:x:125:132::/nonexistent:/usr/sbin/nologin_flatpak:x:126:133:Flatpak systemweite Installationshilfe, ,,:/nonexistent:/usr/sbin/nologinsystemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin

Alle Benutzer in Linux mit dem cat-Befehl auflisten

Wie ich bereits erwähnt habe, repräsentiert das erste Feld in den obigen Einträgen die Benutzer. Wenn Sie nicht alle Felder, sondern nur die Benutzernamen anzeigen möchten, helfen die folgenden Methoden.

3. Benutzer mit dem Ausschneidebefehl auflisten

Der Befehl "Ausschneiden" wird verwendet, um Abschnitte (oder Felder) aus jeder Dateizeile zu entfernen.

Um alle Benutzer mit dem cut-Befehl in einem Linux-System aufzulisten, führen Sie Folgendes aus:

$ cut -d:-f1 /etc/passwd

Dieser Befehl zeigt nur die Benutzernamen aus der Datei /etc/passwd an und ignoriert alle anderen Felder.

Beispielausgabe:

rootdaemonbinsyssyncgamesmanlpmailnewsuucpproxywww-databackuplistircgnatsnobodysystemd-networksystemd-resolvesyslogmessagebus_aptuuiddavahi-autoipdusbmuxdnsmasqrtkitcups-pk-helperspeech-dispatcherwhoopsiekernoopssanedavahicolordhplipgeocluegnome-initial-setupgdmsk

Alle Benutzer in Linux mit dem cut-Befehl auflisten

4. Benutzer unter Linux mit dem awk-Befehl drucken

Wir können auch den Befehl "awk" verwenden, um alle Benutzer in Linux aufzulisten.

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

Dieser Befehl zeigt auch nur die Benutzer an und lässt alle anderen Details weg.

Alle Benutzer in Linux mit dem awk-Befehl auflisten

5. Liste der Benutzer mit compgen anzeigen

Compgen ist in BASH integriert, um die programmierbaren Vervollständigungsfunktionen zu manipulieren.

Führen Sie Folgendes aus, um alle Benutzer aufzulisten, die compgen verwenden:

$ compgen -u

6. Zeigen Sie alle Benutzer mit dem getent-Befehl an

Eine andere Möglichkeit, die Benutzer unter Linux aufzulisten, ist die Verwendung von "getent" Befehl wie unten:

$ getent passwd

Dieser Befehl liest die Datei /etc/passwd und listet alle Benutzer in dieser Datei auf.

Alle Benutzer in Linux mit dem awk-Befehl auflisten

Ein bemerkenswerter Vorteil des Befehls getent ist, dass er nicht nur die Benutzer in der Datei /etc/passwd auflistet, sondern alle Benutzer in allen konfigurierten Benutzerdatenbank-Backends, zum Beispiel LDAP, auf einem bestimmten System.

7. Listen Sie Benutzer mit den Befehlen "mehr" oder "weniger" auf

Die mehr und weniger Befehle werden verwendet, um eine bestimmte Datei zum interaktiven Lesen zu öffnen, was Scrollen und Suchen ermöglicht.

Um alle Benutzer mit mehr oder weniger Befehlen zu drucken, führen Sie Folgendes aus:

$ mehr /etc/passwd

Oder,

$ weniger /etc/passwd

Verwandte Lektüre:

  • Wie man die Mitglieder einer Gruppe in Linux auflistet
  • So finden Sie aktuell angemeldete Benutzer in Linux
  • So überwachen Sie die Benutzeraktivität unter Linux
  • Einschränken des Benutzerzugriffs auf das Linux-System
  • Der Unterschied zwischen mehr, weniger und den meisten Befehlen
  • So fügen Sie Benutzern in Ubuntu Sudo-Berechtigungen hinzu, löschen und gewähren sie
  • Wie man herausfindet, zu welchen Gruppen ein Benutzer in Linux gehört
  • Der richtige Weg, /etc/passwd- und /etc/group-Dateien unter Linux zu bearbeiten

Hoffe das hilft.


Linux
  1. So finden Sie alle Sudo-Benutzer in Linux

  2. So listen oder sortieren Sie alle Dateien nach Größe in Linux

  3. So listen Sie alle installierten Pakete in Linux auf

  4. Benutzer in Linux auflisten - Beste Methode

  5. Wie kann ich alle gesperrten Benutzer in Linux auflisten?

So listen Sie Linux-Benutzer auf Ubuntu auf

So listen Sie Benutzer unter Linux auf

So listen Sie Benutzer unter Linux auf

So listen Sie alle Benutzer einer Gruppe in Linux auf

Wie listet man alle Gruppen in Linux auf?

Linux – Benutzer zur Sudoers-Liste hinzufügen