Wie man UID und GID eines Benutzers in Linux überprüft: Der komplette Leitfaden

Bei der Verwaltung von Benutzern und Gruppen auf einem Linux-System sind Benutzer-ID (UID) und Gruppen-ID (GID) grundlegende und kritische Konzepte. Diese IDs werden verwendet, um Benutzer und Gruppen auf dem System eindeutig zu identifizieren. Sie wirken sich direkt auf das Benutzerberechtigungsmanagement und die Dateizugriffskontrolle aus, daher müssen Systemadministratoren und Entwickler diese IDs effizient überprüfen und verstehen können. Dieser Artikel bietet eine detaillierte Erklärung, wie man diese IDs einfach mit Hilfe von Befehlszeilen-Tools und Systemdateien überprüfen kann.

Inhaltsverzeichnis

Was sind UID und GID

UID (Benutzer-ID) und GID (Gruppen-ID) sind numerische IDs, die verwendet werden, um Benutzer und Gruppen in einem Linux-System zu unterscheiden. Das System verwendet diese IDs, um Datei- und Verzeichniseigentum zu verwalten und Zugriffsrechte zu steuern.

  • UID (Benutzer-ID): Eine einzigartige Nummer, die jedem Benutzerkonto zugewiesen wird. Diese ID bestimmt die Operationen, die ein Benutzer im System durchführen kann. Zum Beispiel ist die UID des Root-Benutzers normalerweise 0, was alle Berechtigungen im System hat.
  • GID (Gruppen-ID): Eine einzigartige Nummer, die jeder Benutzergruppe zugewiesen wird. Eine Gruppe im System bezieht sich auf eine Sammlung von Benutzern, die spezifische Berechtigungen teilen. Ein Benutzer kann zu mehreren Gruppen gehören und die Berechtigungen dieser Gruppen erben.

In Linux werden UIDs und GIDs automatisch zum Zeitpunkt der Benutzererstellung zugewiesen, aber Systemadministratoren können diese Werte bei Bedarf ändern. Im Dateisystem werden Dateien und Verzeichnisse basierend auf der UID und GID des Eigentümers verwaltet, und Zugriffsrechte werden auf dieser Grundlage festgelegt.

Wie man UID und GID von der Befehlszeile überprüft

In einem Linux-System können Sie die UID und GID eines Benutzers einfach mit Hilfe von Befehlszeilen-Tools überprüfen. Die gebräuchlichste und direkteste Methode ist die Verwendung des id Befehls. Dieser Befehl zeigt die aktuelle oder angegebene Benutzer-UID, GID und die IDs der Gruppen, zu denen sie gehören, an.

Grundlegende Verwendung des `id` Befehls

Die Ausführung des id Befehls ohne Argumente zeigt die UID und GID des Benutzers an, der die aktuelle Shell-Sitzung bedient, sowie die IDs der Gruppen, zu denen sie gehören.

id

Dieser Befehl produziert eine Ausgabe wie diese:

uid=1000(username) gid=1000(groupname) groups=1000(groupname),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd),998(docker)

Hier repräsentiert uid die Benutzer-ID, gid repräsentiert die ID der Hauptgruppe des Benutzers und groups listet die IDs der zusätzlichen Gruppen auf, zu denen der Benutzer gehört.

Überprüfung der UID und GID für einen bestimmten Benutzer

Um die UID und GID für einen bestimmten Benutzer zu überprüfen, geben Sie den Benutzernamen als Argument für den id Befehl ein.

id username

Zum Beispiel, um die Informationen für einen Benutzer namens alice zu überprüfen, würden Sie ausführen:

id alice

Diese Methode ist hilfreich, um schnell die Identifikationsinformationen eines beliebigen Benutzers im System zu überprüfen. Der id Befehl ist eines der Werkzeuge, die häufig von Systemadministratoren verwendet werden und sich als sehr praktisch für die Einstellung von Benutzerberechtigungen und für die Fehlerbehebung erweisen.

Finden von UID und GID in der /etc/passwd Datei

In Linux-Systemen enthält die Datei /etc/passwd Informationen über alle Benutzerkonten auf dem System. Sie können auch die UID und GID eines Benutzers aus dieser Datei überprüfen. Die Datei /etc/passwd ist textbasiert und in einem für Menschen lesbaren Format geschrieben, wobei jede Zeile Informationen über einen Benutzer enthält.

Struktur der `/etc/passwd` Datei

Jeder Eintrag in der Datei /etc/passwd ist im folgenden Format notiert:

username:x:UID:GID:GECOS:home_directory:shell

Hier,

  • username gibt den Benutzernamen an.
  • x ist das Passwortfeld, das jetzt vom Shadow-Passwortsytem in der Datei /etc/shadow verwaltet wird.
  • UID ist die Benutzer-ID des Benutzers.
  • GID ist die Hauptgruppen-ID des Benutzers.
  • GECOS ist ein Feld, das den vollen Namen des Benutzers oder andere Informationen enthält.
  • home_directory ist der Pfad zum Heimverzeichnis des Benutzers.
  • shell gibt die Shell an, die beim Login des Benutzers gestartet wird.

Suchen nach UID und GID mit der Befehlszeile

Um die UID und GID eines bestimmten Benutzers aus der Datei /etc/passwd zu finden, kann der Befehl grep praktisch sein. Zum Beispiel, um die UID und GID für den Benutzer namens alice zu überprüfen, führen Sie aus:

grep 'alice' /etc/passwd

Ausgabebeispiel:

alice:x:1001:1001:Alice Beispiel:/home/alice:/bin/bash

In diesem Beispiel sind sowohl die UID als auch die GID für den Benutzer alice 1001. Außerdem ist alices Heimverzeichnis /home/alice, und die Standard-Shell ist /bin/bash.

Die direkte Bezugnahme auf die Datei /etc/passwd ist besonders nützlich, um die Informationen aller im System registrierten Benutzer zu überprüfen oder in Situationen, in denen eine grafische Oberfläche nicht verfügbar ist. Da jedoch aus Sicherheitsgründen Passwortinformationen in der Datei /etc/shadow gespeichert werden, sind administrative Privilegien für den direkten Zugriff erforderlich.

Praktische Beispiele: Wie man die UID und GID eines spezifischen Benutzers überprüft

Es gibt verschiedene Möglichkeiten, die UID (Benutzer-ID) und GID (Gruppen-ID) eines spezifischen Benutzers auf einem Linux-System zu überprüfen, aber hier werden wir praktisch die zwei häufigsten Methoden erklären.

Methode 1: Verwendung des `id` Befehls

Die einfachste und direkteste Methode ist die Verwendung des id Befehls. Dieser Befehl zeigt die spezifische UID, GID und die IDs der Gruppen an, zu denen der Benutzer gehört.

Um die Informationen für einen spezifischen Benutzer zu erhalten, geben Sie folgendes in die Befehlszeile ein:

id username

Zum Beispiel, wenn der Benutzername alice ist, würde es so aussehen:

id alice

Dieser Befehl liefert alices UID, GID und Gruppenzugehörigkeitsinformationen.

Methode 2: Untersuchung der `/etc/passwd` Datei

Alle Benutzerkontoinformationen im System werden in der Datei /etc/passwd gespeichert. Sie können diese Datei auch direkt untersuchen, um UID und GID zu finden.

Um nach den Informationen eines bestimmten Benutzers zu suchen, verwenden Sie den Befehl grep:

grep 'username' /etc/passwd

Zum Beispiel, wenn der Benutzername alice ist, würden Sie eingeben:

grep 'alice' /etc/passwd

Dies zeigt den Eintrag von alice aus der Datei /etc/passwd, der alices UID und GID in dieser Zeile enthält.

Diese Methoden ermöglichen die einfache Überprüfung der UID und GID eines spezifischen Benutzers auf einem Linux-System. Für Systemadministratoren und Sicherheitsexperten spielt diese Information eine entscheidende Rolle bei der Verwaltung von Berechtigungen und der Überprüfung des Systems.

Verwendung von Skripten, um die UID und GID mehrerer Benutzer in Massen zu überprüfen

Wenn Sie die UID und GID für mehrere Benutzer effizient überprüfen müssen, kann das Schreiben eines kleinen Shell-Skripts diesen Prozess automatisieren. Hier präsentieren wir ein einfaches Skriptbeispiel, um die UID und GID mehrerer Benutzer auf einem Linux-System in Massen abzurufen.

Skriptbeispiel

Unten ist ein Shell-Skript, das die UID und GID für eine spezifizierte Liste von Benutzern anzeigt. Dieses Skript listet die Benutzernamen, getrennt durch Leerzeichen, auf und führt für jeden Benutzer den id Befehl aus.

#!/bin/bash

# Liste von Benutzernamen
usernames="alice bob charlie"

# Anzeige von UID und GID für jeden Benutzer
for username in $usernames; do
  echo "Benutzer: $username";
  id $username
  echo ""; # Druckt eine leere Zeile
done

Um dieses Skript zu verwenden, öffnen Sie zuerst einen Texteditor und fügen Sie den obigen Code ein, dann speichern Sie die Datei (z.B. show_uid_gid.sh). Bewegen Sie sich als Nächstes im Terminal zum Verzeichnis, in dem die Skriptdatei gespeichert ist, und geben Sie dem Skript Ausführungsberechtigungen.

chmod +x show_uid_gid.sh

Dann führen Sie das Skript aus.

./show_uid_gid.sh

Die Ausführung des Skripts zeigt die UID und GID für jeden angegebenen Benutzer an. Diese Methode ist besonders nützlich, wenn Untersuchungen oder Überprüfungen spezifischer Benutzergruppen innerhalb des Systems durchgeführt werden. Zusätzlich können Sie durch Bearbeiten der Liste von Benutzern im Skript diese Operation nach Bedarf für jede Benutzergruppe durchführen.

Zusammenfassung

Es gibt mehrere effiziente Wege, die UID (Benutzer-ID) und GID (Gruppen-ID) eines Benutzers in Linux zu überprüfen, einschließlich der direkten Erlangung dieser Informationen von der Befehlszeile mit dem id Befehl, der Untersuchung der Datei /etc/passwd und der Verwendung von Skripten, um Informationen für mehrere Benutzer in Massen abzurufen. Jede Methode ist effektiv, abhängig von Ihren Bedürfnissen und Ihrer Situation.

Durch das Verständnis und die angemessene Nutzung dieser Methoden können Sie die Effizienz der Benutzerverwaltung in der Linux-Systemadministration und Sicherheitsüberprüfung erheblich verbessern. Besonders für Systemadministratoren und Sicherheitsprofis ist es wichtig, diese grundlegenden Operationen zu beherrschen, da sie Teil der täglichen Aufgaben werden.

Letztendlich sind das genaue Verständnis der Konzepte von Benutzern und Gruppen und die angemessene Verwaltung grundlegender Elemente wie UID und GID wesentlich, um sicher und effizient auf Linux-Systemen zu arbeiten. Dieser Artikel hofft, als wertvoller Leitfaden für Linux-Benutzer und -Administratoren gleichermaßen zu dienen.

Inhaltsverzeichnis