Lese- und Schreibberechtigung für FAT32-Partition in Ubuntu


16

Das ist ein merkwürdiges Problem. Ich habe die folgende Partitionstabelle

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

Ich habe Win7 (sda2) und Ubuntu (sda3) dual gebootet und wollte die FAT32-Partition verwenden, um Dateien zwischen zwei Betriebssystemen auszutauschen.

Ich bin einem Online-Tutorial gefolgt und habe dies getan:

sudo mkdir /media/FAT32
sudo chmod 777 /media/FAT32
sudo mount /dev/sda6/ /media/FAT32

Nachdem ich die Datei gemountet habe, kann ich sie nur lesen, aber nicht beschreiben.

Ich habe die Dateiberechtigung überprüft, es wird:

drwxr-xr-x

aber nachdem ich das abmontiert habe wird es dann

drwxrwxrwx

und ich kann lesen und schreiben.

Ich weiß nicht, wo ich mich geirrt habe.

Antworten:


18

Versuchen Sie die Montage mit rw und geben Sie den Typ an:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

Wobei UID und GID die Ihres Benutzerkontos sind.


Die umask wirkt sich beim Anlegen neuer Dateien aus.
Aussenseiter

userund autosind Optionen für den fstabEintrag; Sie sind in der Befehlszeile nicht sehr nützlich.
Quacksalber 7.

Ja, ich habe gerade einen meiner fstab-Einträge in eine Befehlszeile übersetzt. Verbleibt in einigen Teilen, die nicht nützlich sind, aber auch nicht gerade schädlich.
John T

2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
Chefarov

1

Bei FAT-Dateisystemen wird die Lese- / Schreibverfügbarkeit durch die Mount-Optionen bestimmt.

Konsultieren Sie die Hilfeseite zum Mounten und lesen Sie die Optionen zum Mounten von uid und gid für FAT.


1

Haben Sie versucht, mit einem sudoBefehl in die Dateien zu schreiben ? Das sollte mit Ihrem aktuellen Setup funktionieren.

Um Datei schreibt für Ihr normales Benutzerarbeits zu erhalten, müssen Sie die verwenden uidund gidzu Möglichkeiten mount, den Besitzer von Dateien auf der Partition zu Ihrem aktuellen Benutzer - ID zu setzen. Sie möchten wahrscheinlich auch entweder umaskoder dmaskund fmaskOptionen.

Ihr mountBefehl würde folgendermaßen aussehen:

sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition

1

Sie haben die falsche Reihenfolge bei den gewünschten Befehlen:

sudo mkdir /media/FAT32
sudo mount /dev/sda6 /media/FAT32
sudo chmod 777 /media/FAT32

Was passiert ist, dass / media / FAT32 verschiedene Verzeichnisse vor und nach dem Mount repräsentiert. Bevor es das von Ihnen erstellte Verzeichnis ist und das Sie geändert haben. Danach ist es das Stammverzeichnis des Dateisystems in / dev / sda6.


1

Wenn Sie die Befehlszeile einfach vergessen und mit Nautilus mounten, sollten Sie sie wie gewünscht einstellen.

Vom Terminal aus spielen die Berechtigungen des Ordners vor dem Mounten keine Rolle. Auf die Mount-Optionen kommt es an. Versuchen:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

Dadurch werden Dateien rw-r--r--und Ordner auf festgelegt rwxr-xr-x.

Wenn Sie möchten, dass andere Benutzer / Gruppen und Berechtigungen beispielsweise Dateien von fat32 auf die ext4-Partition mit den gewünschten Attributen kopieren, lesen Sie besser die mountManpage. Sie setzen ungefähr umaskdas Gegenteil von dem auf, was Sie anziehen würden chmod.


0

Manchmal habe ich die Windows-Festplatte von Linux verloren und mit mount mit "-o force" gelöst, wie im folgenden Beispiel:

sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

In deinem Fall, als FAT32 solltest du darüber lesen, aber mein Tipp soll dir dabei helfen. Auf jeden Fall versuchen Sie es auf eigene Gefahr!


0

Ich hatte genau das gleiche Problem und das einzige, was tatsächlich funktioniert hat, ist:

sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

Siehe auch diese Antwort


Ich habe dies getan, der USB-Schlüssel ist immer noch schreibgeschützt
Eildosa

Hast du es versucht chmod 777 /media/FAT32?
Lauhub

1
aus irgendeinem grund hat das entfernen von ", umask = 0000" funktioniert
Eildosa

0

Ohne manuelles Mounten reicht eine Fstab-Zeile aus.

UUID = 1DD9-0D44 / media / exthd / TERABYTE_G vfat rw, noatime, uid = 1000, gid = 1000, user 0 0

(UID, GID sind von Ihrem Benutzer, / media / exthd / TERABYTE_G muss vorab erstellt worden sein)

Beachten Sie jedoch, dass mount -a zum Testen der neuen fstab-Zeile anscheinend nicht richtig angewendet wird, sodass ein vollständiger Neustart hilfreich ist.


0

Sehr wichtig, reparieren / überprüfen Sie die Festplatte unter Windows, bevor Sie sie unter Linux verwenden. Standardmäßig deaktivieren Fat / NTFS-Treiber das Schreiben, wenn sie Fehler auf der Festplatte finden

chkdsk d: /f 

Dann

sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

wie vorher gewiesen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.