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/sdb1
und/dev/sdb2
.sdb1
ist NTFS und ich brauche es nicht. Ich brauchesdb2
was fat32 ist. - Ubuntu 12.04.1 LTS (Server)
Ich möchte:
Letztlich muss ich eine perma-Mount /dev/sdb2
an /home/storage
mit 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/storage
erhält root als Eigentümer und Gruppe und erlaubt dem media
Benutzer nicht , dort zu schreiben.
Wenn ich den mount
Befehl ohne sudo
als Benutzer benutze, media
bin ich nicht erlaubt. Sagt, nur root kann mount verwenden.
Wenn ich mount
mit Optionen benutze : server# sudo mount /dev/sdb2 /home/storage -o umask=000
Ich 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 fstab
diese Partition ( /dev/sdb2
) bei jedem Neustart einbinde. Die fstab
Zeile, 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 auto
ich 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 -a
nie 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? :)
quelle
id media
und verwenden Sieuid=
undgid=
undumask=027
Optionen.Antworten:
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
Da es nicht automatisch beim Neustart einbindet
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
chmod
festlegen, 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.
quelle
-o umask=000
ist es!! Vielen Dank!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.
jetzt mounten wir / dev / sdb1 (schreibgeschützt)
und mal sehen ...
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'.
quelle
Du kannst auch rennen
Da FAT-Laufwerke keine Berechtigungen haben, wendet Linux die Berechtigung des Bereitstellungspunkts auf das gesamte Laufwerk an.
quelle
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:
Führen Sie den folgenden Befehl aus
Starten Sie Ihre Linux-Box neu
Hängen Sie den externen Speicher ein, indem Sie den folgenden Befehl ausführen:
oder
oder hängen Sie das Speichergerät über die GUI ein.
quelle