Mount-Berechtigungen unter Linux

Mount-Berechtigungen unter Linux

Ich habe eine Frage zum Mounten in Linux Fedora. Ich habe einen Mount-Punkt in meinem Home-Verzeichnis. Der Mount-Punkt ist /home/user/project und in fstab habe ich die Zeile hinzugefügt:

/dev/mapper/fedora-proj /home/user/project ext4 defaults 1 2

Das Verzeichnis /home/user/project hat die Dateiberechtigungen 0755 und ist Eigentum des Benutzers. Wenn ich jedoch „mount -a“ ausführe, wird der Verzeichniseigentümer in root geändert und die Berechtigungen sind 777. Ich weiß, dass ext2/3/4 keine Optionen uid= und gid= haben, aber warum erhält der Einhängepunkt während des Einhängens fest codierte Dateiberechtigungen und wie kann ich das ändern?

PS

Der Test wurde unter Fedora 25 durchgeführt. Wenn ich genau dasselbe Verfahren unter Fedora 23 ausführe, sehe ich ein anderes Verhalten: Die Berechtigungen für das Mount-Verzeichnis ändern sich auf 755 (vor dem Mounten sind es 0777).

Antwort1

Die Berechtigungen für das Stammverzeichnis eines Einhängepunkts werden im eingehängten Dateisystem gespeichert (das ist tatsächlich sinnvoll, denn wo wären sonst die Berechtigungen für das Stammverzeichnis /gespeichert?). Sie ändern sie auf die normale Weise: chmod, chown, usw.

Vor dem Mounten werden die Berechtigungen für das Mountpoint-Verzeichnis im übergeordneten Dateisystem angezeigt. Nach dem Mounten werden die Berechtigungen für das Stammverzeichnis des gemounteten Dateisystems angezeigt.

Beispiel: Sie haben zwei Dateisysteme:

FS-A             FS-B
/                /
  /mnt             /file1
    /foo           /file2
  /etc           

Beachten Sie, dass beide ein oberstes/Wurzelverzeichnis ( /) haben, wie alle (Unix-)Dateisysteme. FS-A hat zwei angezeigte Unterverzeichnisse ( /mntund /etc) und /mnthat ein Unterverzeichnis /mnt/foo. FS-B hat zwei Dateien /file1und /file2. Da es sich um Unix-Dateisysteme handelt, haben alle diese Verzeichnisse und Dateien einen Benutzer, eine Gruppe und Berechtigungen. Machen wir nun FS-A zum Wurzeldateisystem und mounten FS-B unter /mnt/foo. Wir erhalten dann:

/                   # FS-A /
  /mnt              # FS-A /mnt
    /foo            # FS-A /mnt/foo *or* FS-B /
      /file1        # FS-B /file1
      /file2        # FS-B /file2
  /etc              # FS-A /etc

Beachten Sie, dass wir die Wahl haben, was /mnt/fookommt – es könnte /mnt/foovon FS-A oder /von FS-B kommen. Beide haben genau denselben Pfad. Die Entwickler von Unix haben sich für FS-B entschieden.

PS: In Ihrer fstab-Zeile fehlt der Dateisystemtyp. Sollte vor den Optionen ( defaults) stehen.

verwandte Informationen