Dateien gehören mehreren Benutzern

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

mir ist heute was komisches aufgefallen.
Wenn ich die Ausgabe von "ls -l" und "sudo ls -l" vergleiche, werden für die selben Dateien jeweils unterschiedliche Eigentümer/Gruppen ausgegeben.

Im folgenden Beispiel habe ich noch die Option "-n" angegeben, damit die IDs anstelle des Namens angezeigt werden.
Code:
ls -ln /pfad
total 598968
drwxr-xr-x   6 501  501        204 10 Sep 21:03 Englisch
drwxr-xr-x   8 501  501        272 23 Sep 22:03 mirrors
-rw-r--r--   1 0    501  154236524 24 Okt 20:54 www.0.tgz
-rwxr-xr-x   1 501  501  152429303 19 Sep 15:54 www.1.tgz
-----
sudo ls -ln /pfad
total 598984
-rw-r--r--   1 501  501       6148 24 Okt 21:30 .DS_Store
drwxr-xr-x   6 99   99         204 10 Sep 21:03 Englisch
drwxr-xr-x   8 99   99         272 23 Sep 22:03 mirrors
-rw-r--r--   1 0    99   154236524 24 Okt 20:54 www.0.tgz
-rwxr-xr-x   1 99   99   152429303 19 Sep 15:54 www.1.tgz
Wie gibts denn sowas?
Wem gehören die Dateien nun wirklich (99 ist übrigens "unknown")


Wenn ich mit "touch file" eine Datei anlege, gehört sie auch mit sudo dem richtigen Benutzer (501).
Code:
sudo ls -ln /pfad
total 598984
-rw-r--r--   1 501  501       6148 24 Okt 21:30 .DS_Store
drwxr-xr-x   6 99   99         204 10 Sep 21:03 Englisch
-rw-r--r--   1 501  501          0 24 Okt 21:39 file
drwxr-xr-x   8 99   99         272 23 Sep 22:03 mirrors
-rw-r--r--   1 0    99   154236524 24 Okt 20:54 www.0.tgz
-rwxr-xr-x   1 99   99   152429303 19 Sep 15:54 www.1.tgz

Die http://www.0.tgz Dateien wurden von einem Skript mit root Rechten angelegt.
Komisch finde ich, dass diese Datei nicht die Gruppe admin (80) bekommt sondern 501 bzw 99.


Kann da jemand was dazu sagen?
 
Hmm...
Liegen die Dateien auf einer externen Platte oder auf einer anderen Partition?
Oder sind dabei vielleicht ACLs im Spiel?
 
Eigenartig, oder?

Nein, die Daten liegen nicht auf einer externen Platte sondern auf einer zweiten internen Platte (also nicht auf dem Boot Laufwerk).
Eigentümer ignorieren ist nicht markiert.

ACLs sind auch nicht im Spiel, wobei ich jetzt spontan auch nicht sehe, wie dadurch das beobachtete Ergebnis hervorgerufen werden könnte.

Ich muss gestehen, im Augenblick bin ich ratlos.
 
Noch was komisches:
Heute habe ich noch einmal "touch file" probiert.
Ergebnis:
Code:
-rw-r--r--   1 501  [color=blue]80[/color]           0 25 Okt 08:38 file

% groups
[color=blue]maceis[/color]  appserveradm appserverusr admin
:confused:

[edit]Lösung:
Die Datei bekommt die Gruppe des übergeordneten Ordners (die ich gestern noch geändert hatte).
Ich dachte immer eine Datei wird mit der Primärgruppe des Benutzers angelegt; da hab' ich mich offensichtlich getäuscht.[/edit]
 
Zuletzt bearbeitet:
maceis schrieb:
Nein, die Daten liegen nicht auf einer externen Platte sondern auf einer zweiten internen Platte (also nicht auf dem Boot Laufwerk).
Eigentümer ignorieren ist nicht markiert.
Dann vermute ich mal, dass Eigentümer ignorieren bei sudo automatisch aktiviert wird.
 
Das wäre natürlich denkbar, aber mit welchem Sinn?

Ich glaube allerdings nicht so recht daran, weil bei "Eigentümer ignorieren" ja der angemeldete Benutzer als Eigentümer der Dateien eingestellt wird.
Da würde ich dann vermuten, dass entweder root (0) oder der Benutzer (501) angezeigt wird, nicht aber unknown (99).

Noch etwas lässt mich zweifeln.
Ich habe backup Scripte die von cron gestartet werden; sie laufen also mit root Rechten (ohne sudo).
In diesen Skripten kommt auch "ls -l" vor, weil ich mir die Ergebnisse per Mail schicken lasse, um zu kontrollieren, ob die Backups ordentlich durchgelaufen sind.
Und auch da tritt das geschilderte Verhalten auf.

-----

Durch Herumprobieren habe ich jetzt herausgefunden, wie ich das Verhalten ändern kann.
Ich muss zuerst einem (z.B.) Verzeichnis eine andere Benutzer/Gruppen Kombination zuweisen (z.B. 0:20). Danach weise ich dem selben Verzeichnis wieder 501:501 zu.
Jetzt wird auch mit sudo die Benutzer-/Gruppenzugehörigkeit korrekt angezeigt.
Wenn ich nur die Zuweisung 501:501 (ohne vorher was anderes) durchführe, genügt das nicht.

Sehr sonderbar :confused:.
 
Die Lösung

Ich habe inzwischen herausgefunden, was die Ursache für das geschilderte Verhalten ist.

Unter Mac OS X wird der Benutzer unknown dem aktuell angemeldeten Benutzer gleichgesetzt. Der aktuell angemedete Benutzer erhält auch die Rechte von unknown.

Ob das unter anderen Unixen auch so ist, weiss ich nicht.
Der Sinn des ganzen erschließt sich mir ebenfalls noch nicht so ganz.
 
Zurück
Oben Unten