Unterschiedliche UID / GID bei Verwendung eines ext4-formatierten USB-Laufwerks mit einem anderen Computer

11

Das Problem bei der Verwendung eines Dateisystems wie ext4auf einem USB-Stick oder einer Speicherkarte besteht darin, dass die UID / GID der Festplatte möglicherweise nicht vorhanden ist, wenn sie in ein anderes System eingebunden ist.

Kann dies mit einer Mount-Option behoben werden?

Marc
quelle
Ähnliche Frage: askubuntu.com/questions/12009/…
Jofel

Antworten:

11

Ich nehme an, Sie hoffen , ein Äquivalent der zu finden uid=Nund gid=NOptionen , die von einigen der anderen Dateisysteme Linux unterstützten mountBefehl kennt. Entschuldigung, aber nein, ext4 hat diese Option nicht.

Diese anderen Dateisysteme verfügen über eine solche Option, um Dateien für ein Dateisystem Berechtigungen zu erteilen , die möglicherweise keine nützlichen POSIX-Berechtigungen haben. Sie möchten Berechtigungen wegnehmen - oder zumindest neu zuweisen -, was aus Sicherheitsgründen eine schlechte Idee ist. Dies ist zweifellos der Grund, warum diese Optionen nicht existieren.

Wenn Sie ein Dateisystem wie ext4 auf Wechselmedien verwenden, sagen Sie, dass Sie sich für Dinge wie POSIX-Berechtigungen interessieren. Das bedeutet, dass Sie die gleichen Schritte ausführen müssen, um Benutzer- und Gruppen-IDs zu synchronisieren, wie Sie dies beispielsweise für NFS tun würden.

Wenn Sie sich nicht wirklich für Berechtigungen interessieren, gibt es wahrscheinlich ein geeigneteres Dateisystem für Ihre Situation.

Ich habe UDF als Kandidaten für ein solches Dateisystem nach dem folgenden Kommentar ausprobiert, aber leider wird es nicht funktionieren:

  • Wenn Sie ein UDF-Dateisystem auf einer Linux-Box erstellen, Dateien hinzufügen, ihre Berechtigungen ändern und sie auf einer anderen Linux-Box bereitstellen, werden die dort gefundenen Berechtigungen eingehalten, auch wenn Sie diese erteilen uid=N,gid=N. Sie müssen hier wie bei NFS UIDs und GIDs synchronisieren.

  • Mac OS X verhält sich wie erhofft: Es glaubt, dass es alles in einem UDF-Dateisystem besitzt, das auf einer Linux-Box erstellt wurde. Fügen Sie jedoch eine Datei zur Festplatte hinzu, und es werden die UID und die GID der Datei festgelegt, denen eine Linux-Box dann gehorcht.

  • Wenn Sie dann versuchen, dieses Dateisystem auf einer FreeBSD-Box zu mounten, schreit es invalid argument. Ich gehe davon aus, dass dies daran liegt, dass die Kernel-Entwickler nicht erkannt haben, dass UDF auf nicht optischen Medien angezeigt werden kann, einfach weil ich online keine Erfolgsberichte finden konnte. Vielleicht gibt es eine magische Beschwörung, die ich verpasst habe.

  • Es ist angeblich möglich, eine UDF-Festplatte unter Windows zum Laufen zu bringen, aber es ist sehr wählerisch, wie sie erstellt wird. Wenn dies erforderlich ist, ist es wahrscheinlich am besten, es unter Windows zu formatieren. Über die Befehlszeile:

    format /fs:udf x:

    Nicht verwenden /q: Dadurch wird ein Dateisystem erstellt, das weniger wahrscheinlich auf anderen Betriebssystemen bereitgestellt wird.

    Beachten Sie, dass UDF nur unter Vista und höher gelesen / geschrieben werden kann. XP stellt eine unter Vista erstellte UDF-Festplatte bereit, kann jedoch nicht darauf schreiben.

Eine Form von FAT ist hier wahrscheinlich die beste Option. Wenn Sie dies aufgrund der Dateigrößenbeschränkung von 4 GB für FAT32 vermeiden, sollten Sie sich mit exFAT befassen . Es ist eine kostenlose FUSE-Version verfügbar.

NTFS funktioniert möglicherweise auch, wenn Sie neuere Linux-Distributionen verwenden, die eine zuverlässige Lese- / Schreibunterstützung für NTFS enthalten.

Warren Young
quelle
Ich habe diese Optionen vor einiger Zeit auf udf korrigiert und das Hinzufügen zu ext [234] ist seit einiger Zeit auf meiner Aufgabenliste. Es scheint albern, dass Sie dies mit udf tun können, und Macs können es mit ihrem hfsplus tun, aber Linux kann immer noch nicht mit seinen bevorzugten fs.
Psusi
3
Tatsächlich verfügt UDF über Posix-Berechtigungen. Wenn Sie die Optionen uid / gid nicht angeben, werden Besitz und Berechtigungen wie bei ext [234] oder anderen Posix-Fs gespeichert. Wenn Sie eine ID angeben, wird diese ID standardmäßig beim Schreiben auf die Disc in -1 und beim Lesen von der Disc in diese ID übersetzt. Dies erleichtert es einem normalen Benutzer, Dateien zwischen Systemen zu verschieben, deren ID unterschiedlich ist. Vor ein paar Jahren habe ich "Ignorieren" als Wert hinzugefügt, um die ID immer anzuwenden, nicht nur, wenn sie -1 auf der Disc ist, und "Vergessen" schreibt immer -1 auf die Disc, unabhängig davon, ob der Eigentümer mit der Standard-ID übereinstimmt oder nicht.
Psusi
Ich vermute, der Grund, warum sie dies für UDF zulassen, ist, dass UDF normalerweise mit CD-RW und DVD verwendet wird. Das macht es zu einem "mobilen" Dateisystem, so dass das Anwenden fehlender Eigentumsrechte ein häufiges Bedürfnis ist. Außerdem ist es wahrscheinlich selten, dass ein UDF-Dateisystem mit Benutzer- und Gruppenberechtigungen angezeigt wird. Ich denke immer noch, dass das Hinzufügen einer solchen Option zu ext4 eine potenzielle Sicherheitslücke wäre. Aber wenn Ihnen das nichts ausmacht, ist UDF in diesem Fall vielleicht eine gute Alternative zu ext4.
Warren Young
UDF ist also eine großartige Lösung für Geräte, die unter verschiedenen Betriebssystemen verwendet werden können, eher vfat.
Marc
1
Die einzige Sicherheit für Wechselmedien ist die physische Sicherheit oder Verschlüsselung. Es spielt keine Rolle, welche fs Sie verwenden. Wenn Sie mir eine Festplatte geben, kann ich sie jederzeit anschließen und die Berechtigungen ändern. Es ist einfach eine Frage der Bequemlichkeit, es automatisch überschreiben zu können.
Psusi