Mounten Sie das USB-Laufwerk mit Schreibrechten für alle oder einen bestimmten Benutzer

25

Ich weiß, dass es ähnliche Fragen gibt, aber ich habe ein bestimmtes Problem, das ich nicht überwinden kann.

Ich habe:

  • Festplatte in zwei Partitionen aufgeteilt. /dev/sdb1und /dev/sdb2. sdb1ist NTFS und ich brauche es nicht. Ich brauche sdb2was fat32 ist.
  • Ubuntu 12.04.1 LTS (Server)

Ich möchte:

Letztlich muss ich eine perma-Mount /dev/sdb2an /home/storagemit Zugriffsrecht (rw) für den Benutzer media.

Probleme, mit denen ich konfrontiert bin:

1) Verwenden der manuellen Bereitstellung über die Befehlszeile.

Wenn ich nur benutze

server# sudo mount /dev/sdb2 /home/storage

Es wird gemountet, aber der Benutzer /home/storageerhält root als Eigentümer und Gruppe und erlaubt dem mediaBenutzer nicht , dort zu schreiben.

Wenn ich den mountBefehl ohne sudoals Benutzer benutze, mediabin ich nicht erlaubt. Sagt, nur root kann mount verwenden.

Wenn ich mountmit Optionen benutze : server# sudo mount /dev/sdb2 /home/storage -o umask=000Ich bekomme was ich brauche. Ein bisschen übertrieben natürlich, da der Speicherordner für alle beschreibbar wird. ABER - das ist manuell gemountet - jetzt muss ich es bei jedem Neustart neu mounten.

2) Beim Neustart erneut einbinden - mit fstab

Also dachte ich mir, dass es mir gut geht, wenn ich fstabdiese Partition ( /dev/sdb2) bei jedem Neustart einbinde. Die fstabZeile, die ich hinzugefügt habe:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

habe uuid mit blkid. Der fs-Typ habe autoich ein paar Mal geändert ... auch versucht vfat, aber immer beim Neustart stoppt Ubuntu, wenn fstab (wie ich denke) mit der Meldung (aus dem Protokoll genommen) verarbeitet wird:

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

Und auch - macht sudo mount -anie wirklich etwas.

Was mache ich falsch? Ich vermute, ich habe etwas durcheinander gebracht :)

AKTUALISIEREN:

Wie es scheint - fstab sollte nur Mounts für statische Laufwerke enthalten, keine Art von USB-Zeug. Ich bin verwundert, wie das dann bei all den Leuten funktioniert, die ihre Erfolgsgeschichten ins Netz stellen ...

aber ..wenn dies nicht möglich ist - ich möchte wissen, wie ich meinen USB nach jedem Neustart wieder einbinden kann ... wenn nicht mit fstab - als wie? :)

GeekSince1982
quelle
Ich denke, Sie sollten alle fstab zur Überprüfung und nicht nur eine Zeile posten. Was die richtigen Berechtigungen betrifft, führen Sie id mediaund verwenden Sie uid=und gid=und umask=027Optionen.
mikewhatever
1
Gibt es einen Grund, warum Sie FAT verwenden müssen? Wenn nicht, würde ich die Daten sichern und ein natives Linux-Dateisystem verwenden. Sie können dann Eigentümer und Berechtigungen festlegen.
Panther
@mikewhatever danke, aber es funktioniert seltsam eigentlich ... na ja ... nicht wirklich :)
GeekSince1982
@ bodhi.zazen hat mehr gelesen ... Nähte wie auf Ubuntu 12 fstab sollten nur Halterungen für statische Laufwerke haben. keine usb ...
GeekSince1982

Antworten:

27

Ihr Problem scheint sich auf die von Ihnen festgelegten Berechtigungen zu beziehen. Mit FAT / FAT32 formatierte Laufwerke unterstützen keine Dateiberechtigungen. Die Berechtigungen für alles hängen davon ab, wie das Laufwerk bereitgestellt wird. Wenn Sie die Berechtigung öffnen, hat es bei Ihnen funktioniert

server# sudo mount /dev/sdb2 /home/storage -o umask=000

Da es nicht automatisch beim Neustart einbindet

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

Das "noauto" führt dazu, dass dies NICHT automatisch beim Systemstart gemountet wird und die Datei / etc / fstab analysiert wird. Entfernen Sie diese Option und es wird beim Start bereitgestellt. Sie können die Berechtigungen für den Mount-Punkt chmodfestlegen, sobald er mit gemountet ist, oder sie in / etc / fstab angeben.

Wenn der Medienbenutzer darauf zugreifen muss, können Sie die Berechtigungen auf 764 festlegen und sie der Sicherheitsgruppe hinzufügen. Root hat immer Zugriff auf alles.

Unter http://www.linux.org/threads/file-permissions-chmod.4094/ finden Sie einige Beispiele für die richtigen Dateiberechtigungen

Nebenbei bemerkt, hat bodhi.zazen einen guten Punkt gemacht. Gibt es einen Grund, warum Sie FAT verwenden müssen? Wenn nicht, würde ich die Daten sichern und ein natives Linux-Dateisystem verwenden. Sie können dann Eigentümer und Berechtigungen festlegen.

CacheXT
quelle
1
-o umask=000ist es!! Vielen Dank!
Antony
4

Sofern nicht durch die Mount-Optionen GID = oder UID = überschrieben, werden der Eigentümer und die Berechtigungen des Mount-Punkts beim Mounten zu denen des Dateisystembaums, der gemountet wird.

Wenn also / dev / sdb1 ein ext4-Dateisystem (z. B. ein Backup) enthält, das dem Benutzer gehört, wird der Benutzer nach erfolgreicher Bereitstellung Eigentümer des Mount-Punkts.

Zunächst haben wir einen leeren Ordner 'backup', der als Einhängepunkt dient und Eigentum von root ist.

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

jetzt mounten wir / dev / sdb1 (schreibgeschützt)

# mount -o ro /dev/sdb1 /mnt/backup

und mal sehen ...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

Wenn Sie nun ein leeres Laufwerk haben und es als Erweiterung des Festplattenspeichers des Benutzers für "Benutzer" bereitstellen möchten, stellen Sie das Laufwerk als Root bereit, und geben Sie "Benutzer" als Root des Bereitstellungsvorgangs an.

Wenn das nächste Mal das Dateisystem gemountet wird (von root oder einer anderen Person gemäß fstab), ist der Eigentümer des Mount 'user'.

user555425
quelle
3

Du kannst auch rennen

sudo chmod 0777 /home/storage

Da FAT-Laufwerke keine Berechtigungen haben, wendet Linux die Berechtigung des Bereitstellungspunkts auf das gesamte Laufwerk an.

Zane Hooper
quelle
1
Wenden Sie niemals R + W + X-Berechtigungen für jeden Benutzer an. Dies würde es jedem oder allem ermöglichen, auf Speicher und seinen Inhalt zuzugreifen, ihn auszuführen, zu löschen, ihn zu ändern ....
Angry 84
1
Auf den meisten Betriebssystemen sind USB-Laufwerke bereitgestellt, sodass jeder Benutzer den Inhalt ändern kann. Wenn Sie ein Serveradministrator in einer Situation sind, in der dies ein Problem sein könnte, müsste ich Ihnen nicht sagen, was 0777 bedeutet.
Zane Hooper
Laufwerke werden standardmäßig nie gemountet, um alle Benutzer zuzulassen. Aus diesem Grund verfügen sie über Gruppen und Berechtigungen. So oder so ist es immer sicherer, einen besseren Sicherheits-Mod zu zeigen, da die Leute einfach kopieren und einfügen, ohne es besser zu wissen
Angry 84
-1

Wenn Sie ein externes Speichergerät mit NTFS an Ihre Linux-Box angeschlossen haben, stellen Sie sicher, dass das Dateisystem sauber ist.

Bevor Sie den Speicher in Ihre Linux-Box einbinden:

  1. Führen Sie den folgenden Befehl aus

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Starten Sie Ihre Linux-Box neu

  3. Hängen Sie den externen Speicher ein, indem Sie den folgenden Befehl ausführen:

    mount -o rw /dev/storagedevice /media/ 
    

    oder

    mount -o rw /dev/storagedevice /mnt/ 
    

    oder hängen Sie das Speichergerät über die GUI ein.

Vitalie
quelle