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
rootimmer 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
sudodem 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:
whoamiPrüfe deinen Benutzernamen.
- Führe den Befehl
sudo suaus (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.idErstelle einen neuen Benutzer (wenn du Zugriff auf den Befehl
sudohast):sudo adduser testuserFühre danach aus:
id testuser
Analyse der Gruppenzugehörigkeit
Führe aus:
groupsBeachte, 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
whoamiundid. Denkt daran:whoamizeigt nur den Namen des aktuellen Benutzers, währendiddetailliertere 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
idmit 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