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

44

Ich habe eine Ubuntu 10.04 Box mit einer EXT4 Partition. Diese Partition ist so eingestellt, dass sie automatisch eingehängt wird /etc/fstab. Für die Zwecke dieses Thema werden wir es nennen: /media/foo.

Leider können nur rootDateien / Verzeichnisse im Root-Dateisystem von erstellt / gelöscht werden foo. Damit andere Benutzer file / io auf diesem Volume ausführen können, rootmüssen Sie ein Verzeichnis und chmoddie Berechtigungen für andere Benutzer erstellen .

Ich mag die Lautstärke so montieren, dass jemand in der Lage sein würde , / schreibt auf das Volumen , ohne die Notwendigkeit zu lesen rootauf chmod.

Unten ist mein fstabEintrag:

/dev/sda8    /media/foo    ext4    rw,user,exec 0 0

Der Eintrag hatte ursprünglich defaultsstatt rw,user,exec. Ich habe die zusätzlichen Einträge nämlich hinzugefügt, rwdamit jeder Benutzer lesen / schreiben kann.

Leider fstabfunktioniert der Eintrag nicht. Es passt, aber es muss noch rooteingegriffen werden.

Und für den Fall, dass jemand fragt, einfach laufen: chmod -R 777 *weiter /media/foowie rootgeht nicht.

Phanto
quelle

Antworten:

45

Mit der Mount-Option userkann das Dateisystem nur von einem Benutzer gemountet werden. Die rwOption 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 chmodangezeigte Befehl wirkt sich nur auf die vorhandenen Dateien in aus /media/foo .

Dennis Williamson
quelle
2
Was ist der beste Ort in Ubuntu, um diesen Befehl beim Start hinzuzufügen?
Ivan Balashov
@IvanBalashov: Sie können unter anderem einen @rebootEintrag verwenden /etc/crontab.
Dennis Williamson
3
@DennisWilliamson Danke. Ich habe es hineingesteckt, /etc/rc.localwenn es einen Unterschied macht. Was mich insgesamt daran stört, ist, dass es wirklich in konfiguriert werden sollte fstab. Andernfalls kann sich der Einhängepunkt ändern, und auch die Skripte müssen geändert werden.
Ivan Balashov
Wow, ich muss anfangen, diese Dinge zu erraten: D Vielen Dank.
erm3nda
1
Stimmen Sie dem chmod zu, aber fügen Sie
Folgendes
25

Ich denke, es wäre einfacher, den Eintrag fstab zu ändern:

/dev/sda8    /media/foo    ext4    rw,user,exec,umask=000 0 0

umask=000bedeutet, 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.

jemanden
quelle
32
umask ist nur eine Option für ntfs / vfat-Partitionen. mount wird umask auf einem ext-Dateisystem nicht mögen.
Daniel
8

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.

Dario
quelle
Wenn es sich um ein verschlüsseltes Verzeichnis handelt, /homewird dieses beispielsweise im /etc/crypttab?
George Udosen
2

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.

hotei
quelle
1

Versuchen,

sudo setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>
user247046
quelle
0

Vor ein paar Jahren habe ich die Gruppe des Einhängepunkts auf die Gruppe plugdev gesetzt und den Benutzer 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.

Doom3d
quelle