Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

Alle Benutzer in Linux auflisten

Alle Benutzer in Linux auflisten (Titelbild)

Alle Benutzer in Linux aufzulisten ist Grundlagenwissen für Sysadmins, Security-Auditoren und Entwickler. Da Linux als Mehrbenutzersystem gebaut ist, können mehrere Personen oder Dienste gleichzeitig auf das System zugreifen. Den Überblick über diese Konten zu behalten stellt sicher, dass nur Berechtigte Zugang zu sensiblen Daten und Systemressourcen haben.

Ob du ein Routine-Audit durchführst oder Rechteproblemen auf den Grund gehst – wenn du weißt, wie du Benutzer effizient auflistest, machst du dir das Leben leichter. Diese Anleitung führt dich von der einfachen Dateiabfrage bis zu erweiterten Filteroptionen und Automatisierungsskripten, die auf jeder Linux-Distribution funktionieren.

Linux-Benutzertypen verstehen

Bevor es zu den Befehlen geht, kurz zu den verschiedenen Benutzertypen auf einem typischen System. Nicht jeder Eintrag in der Benutzerliste steht für eine echte Person – die meisten Konten gehören zu Hintergrundprozessen.

Reguläre Benutzer vs. Systemkonten

Linux kategorisiert Konten danach, was sie tun, und nach ihrer UID oder GID:

  • Root-Benutzer: Der Superuser mit UID 0. Dieses Konto kann ohne Einschränkungen auf Befehle und Dateien zugreifen.
  • Systemkonten: Diese nutzt das OS, um bestimmte Dienste wie sshd, messagebus oder nginx auszuführen. Sie haben üblicherweise UIDs zwischen 1 und 999 und oft keine Login-Shell.
  • Reguläre Benutzer: Diese werden für echte Personen angelegt. Auf den meisten modernen Distributionen beginnen diese Konten ab UID 1000.

Benutzerdateien: /etc/passwd und /etc/shadow

Die zentrale Datenbank für Benutzerinformationen liegt in /etc/passwd. Wenn du cat /etc/passwd ausführst, siehst du eine durch Doppelpunkte getrennte Benutzerliste. Jede Zeile hat sieben Felder: Benutzername, Passwort-Platzhalter (x), UID, GID, Benutzerinfo, Heimverzeichnis und Login-Shell.

Während /etc/passwd für alle lesbar ist, damit das System Namen auflösen kann, liegen die eigentlichen verschlüsselten Passwörter in /etc/shadow. Auf diese Datei haben nur der Root-Benutzer und Personen mit sudo-Rechten Zugriff.

Voraussetzungen

Bevor du Benutzer auf deinem System überprüfst, vergewissere dich, dass du die nötigen Zugriffsrechte hast. Die grundlegende Benutzerliste erfordert keine besonderen Rechte; das Anlegen von Benutzern oder der Zugriff auf /etc/shadow setzt jedoch sudo– oder Root-Rechte voraus. Die meisten der hier beschriebenen Werkzeuge sind auf Debian, Ubuntu, CentOS und Fedora standardmäßig vorinstalliert.

Alle Linux-Benutzer mit cat auflisten

Der direkteste Weg, alle auf dem System registrierten Konten einzusehen, ist das direkte Lesen der lokalen Passwortdatei.

Die /etc/passwd-Datei lesen

cat /etc/passwd

Dieser Befehl gibt die gesamte Benutzerdatenbank im Terminal aus. Die Rohausgabe kann schnell unübersichtlich werden, da alle Systemdienstkonten zusammen mit den menschlichen Benutzern erscheinen.

Benutzer mit grep und less filtern

Um Benutzer gezielter zu durchsuchen, leite die Ausgabe an andere Werkzeuge weiter. So suchst du nach einem bestimmten Benutzernamen:

grep "benutzername" /etc/passwd

Zum seitenweisen Durchscrollen der langen Liste:

cat /etc/passwd | less

Benutzer mit getent auflisten

Während cat eine bestimmte Datei liest, ist getent für moderne Systeme die robustere Wahl.

Lokale und LDAP-Datenbanken abfragen

getent passwd

Dieser Befehl schlägt nicht nur in /etc/passwd nach, sondern fragt die NSS-Konfiguration (Name Service Switch) ab. Das bedeutet: Er listet Benutzer aus lokalen Dateien und aus vernetzten Datenbanken wie LDAP oder NIS. Auf Systemen in einem Unternehmensnetzwerk ist das die zuverlässigste Methode.

Details zu einem bestimmten Benutzer abrufen

getent passwd benutzername

Dieser Befehl gibt nur den Datensatz des angegebenen Benutzers zurück – die sauberste Methode, um ein Konto zu überprüfen, ohne Hunderte von Zeilen zu durchsuchen.

Benutzernamen mit compgen auflisten

Wenn du nur eine einfache Namensliste ohne UID oder Heimverzeichnis brauchst, ist compgen ideal:

compgen -u

Die Ausgabe ist eine saubere Liste aller Benutzernamen. Besonders praktisch für Shell-Skripte, die Benutzer durchlaufen müssen, ohne komplexe Strings zu parsen.

Benutzerdefinierte Ausgabe mit awk und cut

Manchmal brauchst du nur bestimmte Spalten, zum Beispiel Benutzername und Login-Shell.

Benutzernamen mit awk extrahieren

awk eignet sich gut für durch Doppelpunkte getrennte Dateien. So listest du nur das erste Feld (Name) und das dritte Feld (UID):

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

Das hilft dir, Benutzerrechte schnell zu prüfen und zu erkennen, welche UIDs zu welchen Benutzergruppen gehören.

Benutzernamen mit cut extrahieren

Der cut-Befehl ist einfacher als awk. So gibst du nur die Benutzernamen aus:

cut -d: -f1 /etc/passwd

Ideal, wenn du die Namen schnell abrufen und in einen anderen Prozess weiterleiten möchtest.

Angemeldete Benutzer überprüfen

Die vollständige Benutzerliste zeigt dir, wer Zugang hat. Wer gerade aktiv ist, erfährst du so:

Die Befehle who und users

who

Dieser Befehl listet aktive Sitzungen mit Terminal und Anmeldezeit auf. Für eine platzsparende Liste nur der aktuell angemeldeten Benutzernamen:

users

Benutzeraktivität mit w überwachen

w

Dieser Befehl zeigt angemeldete Benutzer, ihre aktuelle Aktivität (JCPU- und PCPU-Zeiten) und ihre Remote-IP-Adresse bei SSH-Verbindungen. Unverzichtbar, wenn du Systemlast und Sicherheit im Blick behalten möchtest.

Benutzer nach UID, Gruppe und Shell filtern

Eine fortgeschrittene Benutzerverwaltung erfordert oft die Filterung nach bestimmten Attributen.

Benutzer nach UID-Bereich filtern

Um nur reguläre Benutzer (UID 1000+) anzuzeigen:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

So unterscheidest du menschliche Konten auf einen Blick von Systemdienstkonten.

Benutzer nach Gruppe auflisten

Um zu sehen, welche Benutzer einer bestimmten Gruppe angehören, überprüfe /etc/group oder nutze:

getent group gruppenname

Das Verständnis von Gruppen und deren Mitgliedern ist wichtig für eine saubere, abteilungsbasierte Zugriffskontrolle.

Benutzer mit sudo-Rechten finden

Wer mit administrativen Rechten ausgestattet ist, sollte kein Geheimnis sein:

getent group sudo

Best Practices für die Benutzerverwaltung

Ein sicheres System erfordert regelmäßige Audits und die Einhaltung bewährter Praktiken.

Befehle mit Pipes kombinieren

Die Stärke von Linux liegt im Kombinieren von Werkzeugen. So listest du alle Benutzer und zählst sie gleichzeitig:

cut -d: -f1 /etc/passwd | wc -l

Das gibt dir einen schnellen Überblick, ob die Anzahl deinen Erwartungen entspricht.

GUI für die Benutzerverwaltung nutzen

Auf Desktop-Umgebungen wie GNOME oder KDE kannst du Benutzerrechte über „Einstellungen“ oder „Benutzer“ verwalten. Weniger flexibel als die Kommandozeile, aber für Einsteiger eine solide Option.

Benutzerkonten absichern und auditieren

Auditiere regelmäßig deine Systemdienstkonten und den Root-Benutzer. Stelle sicher, dass kein nicht autorisierter Benutzer eine UID von 0 hat, und setze für Dienstkonten die Shell auf /sbin/nologin, um unbefugten Zugriff zu verhindern.

Benutzerverwaltung mit Bash-Skripten automatisieren

Bei großen Serverlandschaften sind manuelle Checks ineffizient. Skripte helfen dir, Benutzer über mehrere Server hinweg aufzulisten.

Ein Benutzeraudit-Skript schreiben

Ein einfaches Skript kann die /etc/passwd durchlaufen und Konten mit weitreichenden Berechtigungen markieren. So liefert dir dein Benutzeraudit verwertbare Daten statt reinen Text.

Audits mit Cron-Jobs planen

Wenn du diese Skripte per Cron planst, automatisierst du deine Benutzerverwaltung und erhältst Benachrichtigungen, wenn ein neuer Benutzer angelegt wird.

FAQ

Wie liste ich alle Benutzer in Linux auf?

Du kannst getent passwd oder cat /etc/passwd verwenden, um alle Benutzer aufzulisten.

Wie überprüfe ich, welche Benutzer gerade angemeldet sind?

Nutze who oder w, um angemeldete Benutzer und ihre aktuelle Aktivität anzuzeigen.

Wie liste ich Benutzer und Gruppen in Linux auf?

Mit getent group siehst du alle Gruppen des Systems inklusive ihrer Mitglieder.

Welcher Befehl listet Benutzer in Linux auf?

Der einfachste Befehl für eine saubere Namensliste ist cut -d: -f1 /etc/passwd.

Wie überprüfe ich, ob ein Benutzer existiert?

Führe id benutzername oder getent passwd benutzername aus.

Wie sehe ich alle Benutzer in Linux?

Nutze getent passwd oder cat /etc/passwd, um die vollständige Benutzerdatenbank anzuzeigen.

Was bedeutet Linux-Benutzersicherheit?

Linux-Benutzersicherheit umfasst die Zugriffskontrolle über korrekte Berechtigungen, regelmäßige Audits und die Sicherstellung, dass nur autorisierte Konten erhöhte Rechte besitzen.

Nach oben scrollen