it-swarm.com.de

Wie erstelle ich eine ext4-Partition für alle Benutzer?

Ich weiß, dass es sich wie eine Frage anhört, aber ich habe Folgendes ausprobiert und es hat nicht geholfen:

Mein Laufwerk ist unter montiert

/media/data

also trat ich ein

Sudo chown -R :users /media/data

Ich kann jedoch immer noch nicht als Benutzer auf diese Partition schreiben. Ich habe auch versucht, einen Eintrag in der/etc/fstab zu machen

UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0

aber danach konnte mein Computer nicht mehr booten, weil er die Festplatte nicht finden konnte.

Ich habe Ubuntu 14.04 Server installiert. Die Partition ist unter /dev/nvmeOn1p1 aufgeführt und erscheint nicht in /etc/fstab (siehe Bilder unten).

(Das Gerät ist eine 800-GB-SSD von "Intel DC P3700".)

Zusätzlicher Hinweis: Da die Partition leer ist, könnte ich sie auch formatieren und beispielsweise mit gparted neu erstellen. Gibt es eine Möglichkeit in gparted oder anderen GUI-Programmen anzugeben, dass die Partition von allen Benutzern verwendet werden soll?

4
mcExchange

Ich habe das Problem endlich gelöst. Ich fand heraus, dass ich einen Tippfehler in meiner UUID hatte. Mein letzter Eintrag in fstab war also:

UUID=... /media/data ext4 defaults 0 0

oder noch besser:

/dev/sdb1 /media/data ext4 defaults 0 0

Ich habe es vor dem Neustart überprüft, indem ich einfach anrief:

Sudo umount /media/data
Sudo mount -a

Wenn der fstab-Eintrag korrekt ist, wird alles in Ordnung und jeder Benutzer des Computers hat Zugriff auf die Partition (zumindest auf die von ihm selbst erstellten Ordner, was das richtige Verhalten ist).

Eine Katze tut es

Sudo chown -R UserNameOfSudo:users /media/data 
Sudo chmod -R g+rw /media/data 

während die Partition noch gemountet ist, kann jeder auf die Partition zugreifen.

Wenn Sie das "Angezeigte" tun, stellen Sie sicher, dass der bestimmte Benutzer Teil der Gruppe "Benutzer" ist, indem Sie Folgendes eingeben:

Sudo adduser yourSpecificUsername users

und abmelden und wieder einloggen!

Bearbeiten
Die Partition gehört nach dem Mounten standardmäßig root. Dies scheint zu verhindern, dass jemand auf die Partition schreibt. Das Ändern des Besitzers in "UserNameOfSudo" nach dem Mounten wie oben gezeigt führt zum gewünschten Verhalten.

Edit2
Im Fall der gemeinsamen Nutzung des Computers zwischen lokalen Benutzern und LDAP-Benutzern besteht eine Lösung darin, allen Benutzern alle Rechte zu erteilen:

Sudo chmod 777 /media/data

und dann ein 'Sticky Bit' setzen, was bedeutet, dass nur der Benutzer, der einen Ordner/eine Datei erstellt hat, diese löschen darf. Was für eine sinnvolle Sicherheit sorgt:

Sudo chmod o+t /media/data/
1
mcExchange

Vielleicht machst du die Dinge in der falschen Reihenfolge. Wenn Sie ein Dateisystem mit mkfs.ext4 erstellen, gehört alles, was sich darin befindet, dem Benutzer root und der Gruppe root, und Ihre Systemstandardberechtigungen sind festgelegt.

Wenn Sie dieses Dateisystem in ein Verzeichnis einhängen, werden die Dateisystemberechtigungen und der Eigentümer angezeigt, unabhängig vom ursprünglichen Eigentümer und den Berechtigungen für dieses Verzeichnis.

So etwas funktioniert nicht:

Sudo mkfs.ext4 /dev/some/data
Sudo mkdir /media/data
Sudo chown -R :users /media/data
Sudo chmod -R g+rw /media/data
Sudo mount /dev/some/data /media/data

Das Richtige ist, das Dateisystem zu erstellen, es einzuhängen und dann die Berechtigungen und den Besitz darauf zu ändern. Es spielt keine Rolle, was Sie in/etc/fstab tun.

Der richtige Weg ist dies:

Sudo mkfs.ext4 /dev/some/data
Sudo mkdir /media/data
Sudo mount /dev/some/data /media/data
Sudo chown -R :users /media/data
Sudo chmod -R g+rw /media/data

Dies sollte Ihre Frage beantworten. Wenn Sie weitere Informationen benötigen, lesen Sie weiter.


m besser zu verstehen, was passiert, experimentieren wir ein wenig mit einer Bilddatei

Erstellen Sie eine leere Datei zum Formatieren und Mounten mit fallocate -l 100MB /tmp/filesystem.img. Formatieren Sie es dann als ext4-Dateisystem mit Sudo mkfs.ext4 /tmp/filesystem.img (es ist kein Block-Gerät, aber wenn Sie mit Ja antworten, können Sie trotzdem ein funktionierendes ext4-Dateisystem darauf ablegen) und erstellen Sie ein Verzeichnis, das als Mount-Punkt mkdir /tmp/experiment verwendet wird.

Versuchen Sie nun, den Eigentümer und die Berechtigungen für dieses Verzeichnis mit Sudo chown -R :users /tmp/experiment und Sudo chmod -R g+rw /tmp/experiment zu ändern, und überprüfen Sie die Berechtigungen mit ls -la /tmp/experiment. Sie werden so etwas bekommen:

 ls -la /tmp/experiment/
 total 0
 drwxrwx--x 2 gerlos users  40 feb 19 10:37 .
 drwxrwxrwt 8 root   root  180 feb 19 10:38 ..

Dies sagt Ihnen, dass/tmp/experiment dem Benutzer gerlos und den Gruppenbenutzern gehört und dass Gruppenmitglieder darauf lesen, schreiben und ausführen können. Sie können Dateien darin ablegen, zum Beispiel mit touch /tmp/experiment/somefile.

Hängen Sie nun das Dateisystem mit Sudo mount /mnt/filesystem.img /tmp/experiment in dieses Verzeichnis ein und sehen Sie sich noch einmal die Ausgabe von ls an:

$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root  1024 feb 19 10:41 .
drwxrwxrwt 8 root root   180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found

Wie Sie sehen, scheint/tmp/experiment nun root mit unterschiedlichen Berechtigungen zu gehören! Warum? Weil wir uns nicht/tmp/experiment selbst ansehen, sondern das Stammverzeichnis des in /mnt/filesystem.img enthaltenen Dateisystems, eingehängt in/mnt/experiment.

Außerdem kann Ihr normaler Benutzer dort keine Dateien mit touch /tmp/experiment/anotherfile ablegen.

Wenn Sie jetzt erneut versuchen, chown und chmod wie oben beschrieben auszuführen, ändern Sie den Eigentümer und die Berechtigungen nicht für den Einhängepunkt, sondern für im eingehängten Dateisystem und für Ihre Benutzer wird in der Lage sein, das Dateisystem zu verwenden. So bestätigen Sie diesen Blick auf ls Ausgabe ein letztes Mal:

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users  1024 feb 19 10:41 .
drwxrwxrwt 8 root root    180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found

Wie Sie sehen, können jetzt Mitglieder der Benutzergruppe Dateien in das Dateisystem stellen! Tatsächlich hindert nichts Ihren normalen Benutzer daran, dort eine neue Datei mit touch /tmp/experiment/myfile zu erstellen:

$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root   users   1024 feb 19 11:05 .
drwxrwxrwt 8 root   root     180 feb 19 11:02 ..
drwxrw---- 2 root   users  12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos     0 feb 19 11:02 myfile

Mission erfüllt! :-)

6
gerlos