Überprüfung der aktuellen Zugriffsrechte: Befehle whoami
, id
1. Wer bin ich im System? Der Befehl whoami
Jeder Linux-Benutzer agiert unter einem bestimmten Benutzerkonto, das eigene Rechte, Einschränkungen und Gruppenzugehörigkeiten hat. In dieser Vorlesung lernst du, zu überprüfen, mit welchem Konto du arbeitest, welche Rechte du hast und zu welchen Gruppen du gehörst. Das Wissen über die aktuellen Benutzerparameter ist sowohl im Alltag als auch bei Sicherheitsfragen, Administration und Fehlersuche wichtig.
Wenn du in einem Linux-System arbeitest, ist es nützlich zu wissen, unter welchem Benutzerkonto du gerade tätig bist. Zum Beispiel, wenn du versehentlich mit einem privilegierten Benutzer (root) arbeitest, könntest du unbeabsichtigte Änderungen in Systemdateien vornehmen. Um solche Situationen zu vermeiden, gibt es den Befehl whoami
.
Syntax
whoami
Was macht dieser Befehl?
Der Befehl whoami
zeigt den Namen des aktuellen Benutzers an, unter dem du im System tätig bist. Er beantwortet die wichtige Frage: "Wer bin ich?"
Beispiel
$ whoami
student
In diesem Fall bedeutet die Ausgabe student
, dass du mit einem Benutzer namens student
angemeldet bist. Wenn du unter einem Benutzer mit erweiterten Rechten (z. B. root
) arbeiten würdest, wäre die Ausgabe wie folgt:
$ whoami
root
Warum ist das wichtig?
Stell dir vor, du verwendest einen Befehl, um alle Dateien in einem Verzeichnis zu löschen (z. B. rm -rf /important_directory
). Unter einem normalen Benutzer könnte das System dich einschränken, wenn du nicht die entsprechenden Rechte hast. Aber unter dem Benutzer root
wird das System deinen Befehl bedenkenlos ausführen. Der Befehl whoami
hilft dir, solche unangenehmen Situationen zu vermeiden.
2. Detaillierte Untersuchung der Benutzerinformationen: Befehl id
Deinen Benutzernamen zu kennen ist gut, aber das reicht nicht aus, um deine Rechte und Privilegien im System vollständig zu verstehen. Für detailliertere Informationen gibt es den Befehl id
.
Syntax
id [benutzer]
Wenn kein Benutzername angegeben ist, zeigt der Befehl id
Informationen über den aktuellen Benutzer an. Wenn du den Namen eines anderen Benutzers angibst, kannst du die Details seines Kontos überprüfen.
Was gibt der Befehl id
aus?
- UID (User ID) — die eindeutige Kennung des Benutzers.
- GID (Group ID) — die eindeutige Kennung der Hauptgruppe des Benutzers.
- Liste der Gruppen — alle Gruppen, zu denen der Benutzer gehört (einschließlich der Hauptgruppe).
Beispiel
$ id
uid=1001(student) gid=1001(student) gruppen=1001(student),27(sudo),1002(developers)
- UID=1001: Dies ist die eindeutige Kennung des aktuellen Benutzers (student). In Linux-Systemen ist die UID von
root
immer 0. - GID=1001: Dies ist die Kennung der Hauptgruppe des Benutzers (student).
- Gruppen=1001(student), 27(sudo), 1002(developers): Hier sind die zusätzlichen Gruppen aufgelistet, zu denen der Benutzer gehört. Zum Beispiel erlaubt die Gruppe
sudo
dem Studenten, Befehle als privilegierter Benutzer auszuführen.
Wenn wir den Befehl für einen anderen Benutzer ausführen:
$ id user2
uid=1002(user2) gid=1002(user2) gruppen=1002(user2),1001(developers)
Es ist ersichtlich, dass der Benutzer user2
zur Gruppe developers
gehört.
3. Verwendung von UID und GID in der Praxis
Jeder Benutzer und jede Gruppe bekommt seine eigenen numerischen Identifikatoren zugewiesen (UID und GID entsprechend). Diese spielen im System eine äußerst wichtige Rolle und ersetzen oft die textbasierten Namen von Benutzern und Gruppen. Wofür braucht man das?
- Einige Systemprozesse arbeiten aus Effizienzgründen direkt mit numerischen Identifikatoren.
- Zugriffsrechte auf Dateien und Ordner werden nicht durch Benutzernamen oder Gruppennamen, sondern durch ihre UID und GID bestimmt.
- In Konfigurationsdateien und Logdateien (zum Beispiel
/etc/passwd
) können statt Benutzernamen UIDs vorkommen.
4. Gruppen untersuchen mit groups
Zusätzlich kannst du den Befehl groups
verwenden, um herauszufinden, zu welchen Gruppen der aktuelle Benutzer gehört.
Syntax
groups [benutzer]
Wenn du den Benutzernamen weglässt, erhältst du eine Liste der Gruppen für das aktuelle Konto. Gibst du einen Benutzernamen an, erfährst du die Gruppen für den angegebenen Benutzer.
Beispiel:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Arbeiten mit Befehlen
Jetzt ein bisschen Praxis, um das Gelernte zu festigen.
Überprüfung des aktuellen Benutzerkontos
- Öffne das Terminal.
Führe den Befehl aus:
whoami
Prüfe deinen Benutzernamen.
- Führe den Befehl
sudo su
aus (du wirst nach deinem Passwort gefragt) und dann erneutwhoami
, um zu sehen, unter welchem Benutzer du arbeitest.
Informationen über den Benutzer abrufen
Führe den Befehl aus:
Schau dir die UID, GID deines Benutzers an und zu welchen Gruppen er gehört.id
Erstelle einen neuen Benutzer (wenn du Zugriff auf den Befehl
sudo
hast):sudo adduser testuser
Führe danach aus:
id testuser
Analyse der Gruppenzugehörigkeit
Führe aus:
groups
Beachte, zu welchen Gruppen dein Benutzer gehört.
Füge den aktuellen Benutzer einer neuen Gruppe hinzu:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)
Prüfe das Ergebnis:
groups
6. Typische Fehler und knifflige Punkte
Viele Anfänger verwechseln
whoami
undid
. Denkt daran:whoami
zeigt nur den Namen des aktuellen Benutzers, währendid
detailliertere Informationen über Rechte und Gruppen liefert.Wenn du keine Administrator-Privilegien hast (Zugriff auf
sudo
), kannst du möglicherweise keine Benutzer zu Gruppen hinzufügen oder deren Parameter ändern. In solchen Fällen solltest du dich an den Systemadministrator wenden.Der Befehl
id
mit einem nicht existierenden Benutzer liefert einen Fehler:$ id nonexistinguser id: ‚nonexistinguser‘: kein solcher Benutzer
Jetzt weißt du, wie du überprüfen kannst, welcher Benutzer momentan aktiv ist, mit welchen Rechten und Zugriffen er arbeitet. Die Befehle whoami
und id
wirken einfach, aber sie spielen eine Schlüsselrolle beim Verständnis des Benutzersystems und der Zugriffsrechte in Linux. In der Praxis wirst du sie oft für die Fehlerdiagnose, die Überprüfung von Rechten und die Benutzerkonfiguration verwenden.
GO TO FULL VERSION