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

AusgabefeldBedeutungBeispielwert
Dateityp und ZugriffsrechteErstes Zeichen für den Dateityp, danach die Rechte für Eigentümer, Gruppe und andere-rw-r--r--
Anzahl harter LinksAnzahl der Verzeichniseinträge, die auf denselben Dateiinhalt verweisen1
EigentümerBenutzerkonto, dem die Datei zugeordnet istbob
GruppeGruppe, der die Datei zugeordnet istbob
DateigrößeGröße der Datei, normalerweise in Byte1842
ZeitstempelZeitpunkt der letzten ÄnderungAug 18 09:42
DateinameName des Verzeichniseintragsnotizen.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?

AkteurEigentümer ändernGruppe ändernBedingungen
Normaler BenutzerÜblicherweise nicht beliebig auf einen anderen BenutzerBei einer eigenen Datei grundsätzlich auf eine Gruppe, deren Mitglied er istEigentümerstatus, Gruppenmitgliedschaft und Systemregeln müssen passen
rootJa, systemweitJa, systemweitAdministrative 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

ObjektZuordnungAnzeigewerkzeugBedeutung
Datei oder VerzeichnisEigentümer und Gruppels -lLegt zusammen mit den Rechten fest, wie Zugriffe auf das Objekt bewertet werden
Laufender ProzessBenutzerkennung des Prozessesps, häufig ps -efZeigt, 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

  1. Führe ls -l DATEI aus.
  2. Überspringe Dateirechte und Link-Anzahl, wenn du nur die Zuordnung suchst.
  3. Lies das nächste Feld als Eigentümer und das darauffolgende als Gruppe.

Die eigene Gruppenmitgliedschaft prüfen

  1. Führe id oder groups aus.
  2. Vergleiche die angezeigten Gruppen mit der Zielgruppe.
  3. Beachte, dass eine Gruppenänderung an einer eigenen Datei nur unter den geltenden Berechtigungsregeln möglich ist.

Den Besitzer eines laufenden Programms prüfen

  1. Führe ps -ef aus.
  2. Suche den Prozess anhand des Befehlsnamens in der letzten Spalte.
  3. 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 -l zeigt 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.
  • root kann Eigentümer und Gruppe systemweit ändern, sollte dies aber kontrolliert tun.
  • ps beziehungsweise ps -ef zeigt den Benutzer, unter dessen Kennung ein Prozess läuft.
  • chown und chgrp dienen 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.