autorisation de lecture et d'écriture pour la partition FAT32 dans Ubuntu

16

C'est un étrange problème. J'ai la table de partition suivante

   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

J'ai double démarrage Win7 (sda2) et Ubuntu (sda3) et je voulais utiliser la partition FAT32 pour partager des fichiers sur deux systèmes d'exploitation.

J'ai suivi un tutoriel en ligne et l'ai fait:

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

après avoir monté le fichier, je ne peux que lire mais je ne peux pas y écrire.

J'ai vérifié l'autorisation du fichier, elle devient:

drwxr-xr-x

mais après avoir démonté le, il devient alors

drwxrwxrwx

et je peux y lire et écrire.

Je ne sais pas où je me suis trompé.

doyen
la source

Réponses:

18

Essayez de monter avec rw et spécifiez le type:

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

où uid et gid sont ceux de votre compte utilisateur.

John T
la source
L'umask a un effet lors de la création de nouveaux fichiers.
geek
useret autosont des options pour l' fstabentrée; ils ne sont pas très utiles sur la ligne de commande.
Quack Quichotte
ouais je viens de traduire une de mes entrées fstab en ligne de commande. Laissé dans quelques bits qui ne sont pas utiles mais ils ne sont pas exactement dangereux non plus.
John T
2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
chefarov
1

Pour les systèmes de fichiers FAT, la disponibilité en lecture / écriture est régie par les options de montage.

Consultez la page de manuel pour le montage et lisez les options de montage uid et gid pour FAT.

geek
la source
1

Avez-vous essayé d'écrire dans les fichiers avec une sudocommande? Cela devrait fonctionner avec votre configuration actuelle.

Pour obtenir des écritures de fichiers pour votre utilisateur normal, vous devez utiliser les options uidet pour définir le propriétaire des fichiers de la partition sur votre ID utilisateur actuel. Vous voulez probablement aussi des options ou et .gidmountumaskdmaskfmask

Votre mountcommande ressemblerait à ceci:

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
Quack Quichotte
la source
1

Vous avez le mauvais ordre sur les commandes que vous souhaitez:

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

Ce qui se passe, c'est que / media / FAT32 représente différents répertoires avant et après le montage. Avant, c'est le répertoire que vous avez créé et que vous avez modifié 777. Après, c'est le répertoire racine du système de fichiers dans / dev / sda6.

jneves
la source
1

Si vous oubliez simplement la ligne de commande et montez avec Nautilus, il devrait le définir comme vous le souhaitez.

Depuis le terminal, les autorisations du dossier avant le montage n'ont pas d'importance. Ce sont les options de montage qui comptent. Essayer:

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

Cela définira les fichiers rw-r--r--et les dossiers sur rwxr-xr-x.

Si vous souhaitez d'autres utilisateurs / groupes et autorisations, par exemple pour copier des fichiers de fat32 vers la partition ext4 avec les attributs souhaités, mieux consulter la mountpage de manuel . En gros, vous mettez à umaskl'opposé de ce que vous mettriez chmod.

user39559
la source
0

Parfois, j'ai perdu le disque Windows de Linux et j'ai résolu en utilisant mount avec "-o force", comme cet exemple:

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

Dans votre cas, étant FAT32, vous devriez en savoir plus, mais mon aide de cette astuce. Quoi qu'il en soit, essayez à vos risques et périls!

Tamara Wijsman
la source
0

J'ai eu exactement le même problème et la seule chose qui a réellement fonctionné est:

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

Voir aussi cette réponse

lauhub
la source
Je l'ai fait, la clé USB est toujours protégée en écriture
Eildosa
As-tu essayé chmod 777 /media/FAT32?
lauhub
1
pour une raison quelconque, la suppression de ", umask = 0000" a fonctionné
Eildosa
0

Sans montage manuel, une ligne fstab fait l'affaire,

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

(uid, gid sont de votre utilisateur, / media / exthd / TERABYTE_G doit être pré-créé)

mais notez que le montage -a ne semble pas s'appliquer correctement pour tester la nouvelle ligne fstab, donc un redémarrage complet aide.

Angelo Dureghello
la source
0

Réparation / vérification très importante du disque sous windows avant de l'utiliser sur linux, par défaut les pilotes fat / ntfs désactivent l'écriture s'ils trouvent des erreurs sur le disque

chkdsk d: /f 

alors

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

comme indiqué précédemment

intika
la source