Wie werden Dateibesitzer und Gruppe für ein externes Laufwerk gespeichert?

14

Ich habe eine externe Festplatte mit einer ext4-Partition formatiert und anschließend gemountet. Damit ich die neue Partition verwenden konnte, habe ich Folgendes getan: sudo chown me:me /mount/directoryDen Dateieigentümer und die Gruppe von root zu mir zu ändern, was gut funktioniert hat.

Diese Änderung ist dauerhaft, daher frage ich mich, wo diese Informationen gespeichert sind. Wenn ich die Festplatte trenne und sie dann in ein anderes Verzeichnis einhänge, bin ich immer noch als Dateieigentümer und Gruppe festgelegt, sodass die Informationen nicht im Inode des Einhängeverzeichnisses gespeichert werden können.

Verfügt die gesamte Partition über einen eigenen Inode, in dem diese Art von Informationen gespeichert werden? Wenn ja, gibt es eine Möglichkeit, diese Informationen anzuzeigen? Oder gibt es vielleicht einen anderen Ort, an dem die Informationen gespeichert werden?

Kyle G
quelle

Antworten:

19

Es gibt keinen Unterschied zwischen einem externen und einem internen Laufwerk in Bezug auf das darauf gespeicherte Dateisystem. Der Eigentümer und die Gruppe des Stammverzeichnisses des Dateisystems werden im Stammverzeichnis gespeichert, genauso wie der Eigentümer und die Gruppe Ihres Root-Dateisystems gespeichert werden.

Eine Konsequenz daraus ist, dass, da UIDs und GIDs nur numerisch gespeichert werden, wenn Sie ein externes Laufwerk auf einem System mit unterschiedlichen Benutzern bereitstellen /etc/passwd, der Eigentümer und die Gruppe in die UID- und GID-Zuordnung geändert wurden anderes System. (Wenn Ihr Systembenutzer mebeispielsweise die UID 1000 hat und Sie das Laufwerk auf einem System einbinden, auf dem sich die UID 1000 befindet rms, wird das Verzeichnis angezeigt , dessen Eigentümer Sie sind rms.)

Wenn Sie dagegen ein Dateisystem verwenden, in dem keine UID / GID-Informationen gespeichert sind (z. B. FAT), wird die UID / GID jeder Datei im Dateisystem anhand der Parameter ermittelt, die Sie dem mountBefehl übergeben haben (entweder direkt oder über /etc/fstab).

Eine zweite Konsequenz ist, dass es nicht darauf ankommt, welche Eigentümer oder Berechtigungen /mount/directoryIhr Root-Dateisystem hatte. Sobald ein Dateisystem dort eingehängt ist, sind die Berechtigungen dieses Dateisystems von Bedeutung. Deshalb möchte ich chmod a-rwx /mount/directoryvor dem Einhängen des Dateisystems. Es verhindert, dass ich versehentlich schreibe, /mount/directorywenn das Dateisystem nicht dort eingehängt ist.

cjm
quelle
1
Es war einmal ein Fehler in Solaris 1.x, durch den die Inhaberschaft des Mount-Punkts gefiltert wurde. Das Symptom war, dass Benutzer beim Versuch, auf das Dateisystem zuzugreifen, Berechtigungsfehler erhielten, aber keine falschen Berechtigungen angezeigt wurden, da lsdie Berechtigungen im angehängten Dateisystem angezeigt wurden.
Barmar
+1 für die chmod-Technik, an die ich nicht gedacht hatte - zusätzlich zu der Tatsache, dass sie ansonsten korrekt ist.
Joe