web-dev-qa-db-de.com

Ändern Sie den fstab-Eintrag so, dass alle Benutzer auf einem EXT4-Volume lesen und schreiben können

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.

43
Phanto

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.

45

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.

23
somebody

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.

8
dario

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.

2
hotei

Versuchen,

Sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>
1
user247046

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.

0
Doom3d