Ich habe eine Ubuntu 10.04 Box mit einer EXT4 Partition. Diese Partition ist so eingestellt, dass sie automatisch in /etc/fstab
eingebunden wird. Für die Zwecke dieses Beitrags nennen wir ihn: /media/foo
.
Leider kann nur root
Dateien/Verzeichnisse im Root-Dateisystem von foo
erstellen/löschen. Damit andere Benutzer file/io auf diesem Volume ausführen können, muss root
ein Verzeichnis erstellen und chmod
die Berechtigungen für andere Benutzer.
Ich möchte das Volume so mounten, dass jeder in der Lage ist, auf das Volume zu lesen/zu schreiben, ohne dass root
bis chmod
erforderlich ist.
Unten ist mein fstab
Eintrag:
/dev/sda8 /media/foo ext4 rw,user,exec 0 0
Der Eintrag hatte ursprünglich defaults
anstelle von rw,user,exec
. Ich habe die zusätzlichen Einträge hinzugefügt, nämlich rw
, damit jeder Benutzer lesen/schreiben kann.
Leider funktioniert der Eintrag fstab
nicht. Es passt gut, aber es erfordert immer noch root
, um einzugreifen.
Und für den Fall, dass jemand fragt, einfach ausführen: chmod -R 777 *
auf /media/foo
als root
funktioniert nicht.
Die Mount-Option user
erlaubt nur, dass das Dateisystem von jedem Benutzer gemountet wird. Die Option rw
bewirkt, dass das Dateisystem nicht schreibgeschützt ist. Sie müssen Berechtigungen verwenden, um das übergeordnete Verzeichnis schreibbar zu machen.
chmod 777 /media/foo
Der von Ihnen angezeigte Befehl chmod
wirkt sich nur auf die vorhandenen Dateien innerhalb /media/foo
aus.
Ich denke, es wäre einfacher, den Eintrag fstab zu ändern:
/dev/sda8 /media/foo ext4 rw,user,exec,umask=000 0 0
umask=000
bedeutet, dass jeder in foo jede Datei oder jedes Verzeichnis lesen, schreiben oder ausführen kann. Der übliche Standardwert ist 022, was bedeutet, dass Benutzer nicht schreiben können.
Ich hatte das gleiche Problem unter openSUSE, aber ich denke, die Lösung kann auch auf dieses Problem angewendet werden. Alle Benutzer, die ich für das bereitgestellte Dateisystem freigeben möchte, gehören derselben primären Gruppe an: Benutzer
Ich habe folgende Zeile in meiner fstab:
/dev/<partition> <mount_point> ext4 rw,acl 0 0
und ich habe die folgenden Befehle ausgeführt:
Sudo chgrp -R users <mount_point>
Sudo setfacl -d -m g::rwx <mount_point>
damit neu erstellte Dateien oder Verzeichnisse diese Berechtigungen erhalten. Dies setzt voraus, dass Sie das acl-Paket installiert haben.
Zum einen möchten Sie sicherstellen, dass das Verzeichnis/media/foo selbst beschreibbar ist. Wenn dies noch nicht der Fall ist, führen Sie den folgenden Befehl aus:
chmod +w /media/foo
Denken Sie daran, dass star nur für den sichtbaren Inhalt des Verzeichnisses gilt, nicht für das Verzeichnis selbst oder für Dateien, die nicht sichtbar sind.
Versuchen,
Sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>
Vor ein paar Jahren habe ich die Gruppe des Einhängepunkts auf die Gruppe plugdev gesetzt und den Benutzer zu dieser Gruppe hinzugefügt. Auf diese Weise ist es durch das Erstellen neuer Gruppen möglich, Berechtigungen auf Benutzerbasis zu erteilen. Für den Heimgebrauch reicht es aus, Mount-Punkt-Berechtigungen für andere festzulegen: Lesen/Schreiben/Ausführen wie oben beschrieben.
Ich habe es mit 'Sudo nautilus &' im Terminal und Rechtsklick -> Eigenschaften -> Rechte gemacht, aber jeder andere Dateimanager, der als root läuft, wäre in Ordnung.