VMware ESXi and vSphere Cluster Management
Dateieigentümer und Gruppen in Linux anzeigen
Lerne, wie du Dateieigentümer, Gruppen und Prozessbesitzer unter Linux mit ls -l, id, groups und ps erkennst.
Unter Linux ist jedes Dateisystemobjekt – also jede Datei und jedes Verzeichnis – einem Benutzerkonto und einer Gruppe zugeordnet. Diese Zuordnung ist ein zentraler Bestandteil des Linux-Berechtigungsmodells.
In dieser Lektion lernst du, wie du Eigentümer und Gruppe anzeigst, wie Gruppenmitgliedschaften die erlaubten Änderungen beeinflussen und wie du den Besitzer laufender Prozesse erkennst.
Grundprinzip der Eigentümerschaft in Linux
Der Dateieigentümer ist das Benutzerkonto, dem eine Datei oder ein Verzeichnis zugeordnet ist. Die Gruppe ist eine weitere Zuordnung zu einer Benutzergruppe. Beide Informationen werden unabhängig vom Dateinamen, Dateityp und Inhalt verwaltet.
Ein Benutzerkonto ist eine Identität, unter der eine Person oder ein Programm im System handelt. Gruppen fassen mehrere Benutzer zusammen. Das ist besonders für Gruppenrechte wichtig: Eine Datei kann zum Beispiel dem Benutzer bob und der Gruppe projekt gehören.
Eigentümer und Gruppe bestimmen nicht allein alle Zugriffsrechte, sind aber die Grundlage dafür, welche Rechte für den Eigentümer, für Mitglieder der Gruppe und für andere Benutzer gelten.
Eigentümer und Gruppe mit ls -l anzeigen
Mit ls -l fordert die Shell eine lange, detaillierte Dateiliste an:
ls -l
Für eine einzelne Datei kannst du den Dateinamen angeben:
ls -l notizen.txt
Eine typische Ausgabe kann so aussehen:
-rw-r--r-- 1 bob bob 1842 Aug 18 09:42 notizen.txt
Wichtig ist die Reihenfolge nach der Link-Anzahl: Zuerst steht der Eigentümer, danach die Gruppe. In diesem Beispiel gehören die Datei und ihre Gruppenzuordnung beide zu bob. Das ist möglich, aber nicht vorgeschrieben. Benutzername und Gruppenname können gleich sein oder voneinander abweichen.
Aufbau einer ls -l-Ausgabe
| Ausgabefeld | Bedeutung | Beispielwert |
|---|---|---|
| Dateityp und Zugriffsrechte | Erstes Zeichen für den Dateityp, danach die Rechte für Eigentümer, Gruppe und andere | -rw-r--r-- |
| Anzahl harter Links | Anzahl der Verzeichniseinträge, die auf denselben Dateiinhalt verweisen | 1 |
| Eigentümer | Benutzerkonto, dem die Datei zugeordnet ist | bob |
| Gruppe | Gruppe, der die Datei zugeordnet ist | bob |
| Dateigröße | Größe der Datei, normalerweise in Byte | 1842 |
| Zeitstempel | Zeitpunkt der letzten Änderung | Aug 18 09:42 |
| Dateiname | Name des Verzeichniseintrags | notizen.txt |
Bei Verzeichnissen beginnt die Ausgabe typischerweise mit d, bei symbolischen Links mit l. Für die Frage nach Eigentümer und Gruppe sind vor allem die Felder direkt nach der Link-Anzahl relevant.
Mehrere Dateien vergleichen
Mit ls -l kannst du die Zuordnungen mehrerer Dateien im aktuellen Verzeichnis vergleichen:
ls -l
Beispielsweise können Dateien im selben Verzeichnis unterschiedlichen Konten gehören:
-rw-r--r-- 1 bob projekt 1200 Aug 18 10:00 entwurf.txt
-rw------- 1 clara users 980 Aug 18 10:05 privat.txt
Die gemeinsame Lage im selben Verzeichnis bedeutet also nicht, dass alle Dateien denselben Eigentümer oder dieselbe Gruppe haben.
Eigentümer, Gruppe und Gruppenmitgliedschaft
Ein Benutzer kann Mitglied mehrerer Gruppen sein. Die Gruppenmitgliedschaft bezeichnet die Zuordnung eines Benutzerkontos zu diesen Gruppen. Sie beeinflusst unter anderem, auf welche Gruppe eine eigene Datei gesetzt werden darf.
Ein normaler Benutzer darf die Gruppe einer eigenen Datei grundsätzlich nur auf eine Gruppe ändern, der er selbst angehört. Die aktuelle Benutzer- und Gruppeninformation kannst du mit id prüfen:
id
Eine kürzere Ausgabe der Gruppenmitgliedschaften liefert:
groups
Angenommen, bob besitzt bericht.txt und ist Mitglied der Gruppe projekt. Dann kann eine Gruppenzuordnung wie diese zulässig sein:
chgrp projekt bericht.txt
Das Werkzeug chgrp ändert die Gruppenzuordnung. Es ist hier nur als weiterführendes Beispiel relevant: Vor einer Änderung müssen Eigentümer, Gruppenmitgliedschaften und die möglichen Folgen verstanden werden.
Den Eigentümer darf ein normaler Benutzer üblicherweise nicht beliebig auf ein anderes Benutzerkonto übertragen. Ein Benutzer kann also nicht einfach jede fremde Datei sich selbst oder einer anderen Person zuordnen.
Wer darf Eigentümer und Gruppe ändern?
| Akteur | Eigentümer ändern | Gruppe ändern | Bedingungen |
|---|---|---|---|
| Normaler Benutzer | Üblicherweise nicht beliebig auf einen anderen Benutzer | Bei einer eigenen Datei grundsätzlich auf eine Gruppe, deren Mitglied er ist | Eigentümerstatus, Gruppenmitgliedschaft und Systemregeln müssen passen |
root | Ja, systemweit | Ja, systemweit | Administrative Rechte; Änderungen müssen sorgfältig kontrolliert werden |
Die Sonderrolle von root
root ist das administrative Benutzerkonto mit umfassenden Rechten zur Verwaltung des Systems. Dazu gehört normalerweise auch, Eigentümer und Gruppen von Dateien systemweit zu ändern.
Das Werkzeug chown dient zum Ändern des Dateieigentümers:
chown BENUTZER DATEI
In der Praxis ist dafür normalerweise eine administrative Berechtigung erforderlich. Eine falsche Eigentumsänderung kann dazu führen, dass Programme nicht mehr auf benötigte Dateien zugreifen können oder vertrauliche Dateien für falsche Konten zugänglich werden.
Auch Prozesse haben einen Besitzer
Ein Prozess ist ein laufendes Programm. Auch ein Prozess ist einem Benutzerkonto zugeordnet. Der Prozessbesitzer ist das Konto, unter dessen Benutzerkennung der Prozess ausgeführt wird.
Startet ein Benutzer ein Programm normalerweise selbst, läuft dieses Programm unter dessen Benutzerkennung. Ein grafisches Programm wie xeyes, das von bob gestartet wurde, erscheint daher typischerweise als Prozess von bob.
Mit ps kannst du laufende Prozesse anzeigen:
ps
Eine ausführlichere, systemweite Prozessliste erhältst du häufig mit:
ps -ef
Eine Beispielausgabe könnte so aussehen:
UID PID PPID C STIME TTY TIME CMD
bob 2481 1900 0 09:30 ? 00:00:00 xeyes
root 712 1 0 08:10 ? 00:00:02 systemd
In dieser Darstellung steht die erste Spalte UID für den Benutzer des Prozesses. Der Prozess xeyes läuft unter bob, während systemd unter root läuft.
Dateizuordnung und Prozesszuordnung im Vergleich
| Objekt | Zuordnung | Anzeigewerkzeug | Bedeutung |
|---|---|---|---|
| Datei oder Verzeichnis | Eigentümer und Gruppe | ls -l | Legt zusammen mit den Rechten fest, wie Zugriffe auf das Objekt bewertet werden |
| Laufender Prozess | Benutzerkennung des Prozesses | ps, häufig ps -ef | Zeigt, unter welchem Benutzerkonto das Programm ausgeführt wird |
Der Eigentümer einer ausführbaren Datei muss nicht derselbe sein wie der Besitzer eines laufenden Prozesses. Dateieigentümer und Prozessbesitzer sind zwei getrennte Informationen.
Typische Probleme und Diagnose
Beim Ändern der Gruppe fehlt die Berechtigung
Wenn chgrp mit einer Fehlermeldung abbricht, kommen mehrere Ursachen infrage:
- Die Datei gehört nicht dem angemeldeten Benutzer.
- Der Benutzer ist kein Mitglied der Zielgruppe.
- Das Dateisystem oder zusätzliche Sicherheitsmechanismen begrenzen die Änderung.
Prüfe zuerst die Datei und die eigenen Gruppen:
ls -l DATEI
id
groups
Vergleiche den Eigentümer aus ls -l mit dem angemeldeten Benutzer und prüfe, ob die gewünschte Gruppe in der Gruppenliste erscheint. Bei Unsicherheit sollte die zuständige Administration die Änderung beurteilen.
Der erwartete Benutzername ist nicht sichtbar
Wenn in der langen Liste ein anderer Wert als erwartet erscheint, lies die Spalten noch einmal in der richtigen Reihenfolge: Auf die Link-Anzahl folgen Eigentümer und Gruppe, danach Größe, Zeitstempel und Name.
Je nach Ausgabe können statt Namen auch numerische Benutzer- oder Gruppenkennungen erscheinen. Außerdem kann die Datei tatsächlich einem anderen Konto gehören. Betrachte deshalb Benutzer- und Gruppenfeld getrennt und gleiche sie bei Bedarf mit den lokalen Benutzer- und Gruppeninformationen ab.
Ein Prozess gehört scheinbar zum falschen Benutzer
Ein Prozess kann unter einem anderen Konto laufen, wenn er von einem anderen Benutzer gestartet wurde, ein Dienst ihn unter einem eigenen Dienstkonto startet oder administrative Rechte beziehungsweise ein Systemdienst beteiligt sind.
Verwende eine Prozessausgabe mit Benutzerfeld, zum Beispiel:
ps -ef
Prüfe anschließend die Startart oder Dienstkonfiguration. Verwechsle dabei nicht den Eigentümer einer Programmdatei mit dem Benutzer, unter dessen Kennung das Programm aktuell läuft.
Eigentümer und Gruppe sind gleich
Gleiche Werte sind normal. Viele Systeme verwenden ein Modell, bei dem für einen Benutzer eine gleichnamige primäre Gruppe existiert. Eine Datei kann außerdem mit der primären Gruppe ihres Besitzers erstellt worden sein oder ihre Gruppenzuordnung wurde nie geändert.
Mit id BENUTZER oder der Prüfung der Gruppeninformationen lässt sich der Kontext weiter untersuchen.
Praktische Kurzabläufe
Eine einzelne Datei prüfen
- Führe
ls -l DATEIaus. - Überspringe Dateirechte und Link-Anzahl, wenn du nur die Zuordnung suchst.
- Lies das nächste Feld als Eigentümer und das darauffolgende als Gruppe.
Die eigene Gruppenmitgliedschaft prüfen
- Führe
idodergroupsaus. - Vergleiche die angezeigten Gruppen mit der Zielgruppe.
- Beachte, dass eine Gruppenänderung an einer eigenen Datei nur unter den geltenden Berechtigungsregeln möglich ist.
Den Besitzer eines laufenden Programms prüfen
- Führe
ps -efaus. - Suche den Prozess anhand des Befehlsnamens in der letzten Spalte.
- Lies den Prozessbesitzer in der ersten Spalte
UID.
Prüfungsrelevante Zusammenfassung
- Jede Datei und jedes Verzeichnis besitzt einen Benutzer als Eigentümer und eine Gruppenzuordnung.
- Die Zuordnung ist unabhängig von Dateiname, Dateityp und Inhalt.
ls -lzeigt in der langen Liste nach der Link-Anzahl zuerst den Eigentümer und danach die Gruppe.- Benutzername und Gruppenname können gleich sein, müssen es aber nicht.
- Ein normaler Benutzer darf die Gruppe einer eigenen Datei grundsätzlich nur auf eine Gruppe setzen, deren Mitglied er ist.
- Den Eigentümer einer Datei darf ein normaler Benutzer üblicherweise nicht beliebig auf ein anderes Konto übertragen.
rootkann Eigentümer und Gruppe systemweit ändern, sollte dies aber kontrolliert tun.psbeziehungsweiseps -efzeigt den Benutzer, unter dessen Kennung ein Prozess läuft.chownundchgrpdienen zum Ändern von Zuordnungen und sind nicht mit dem bloßen Anzeigen zu verwechseln.
Als nächster Schritt eignet sich die Lektion Dateieigentümer und Gruppen in Linux anzeigen, um die Zuordnung mit den Linux-Dateirechten zu verbinden.