Quelques informations :
- Déjà, si la clé USB est partagée avec des postes sous Windows, je présume que son système de fichiers est soit le NTFS, soit le FAT32. Dans ces deux cas, dès le départ, il est impossible de modifier les droits d'accès sur la clé USB
lorsqu'elle est montée, car les systèmes de fichiers NTFS et FAT32 ne gèrent pas les droits d'accès. Ils sont émulés au montage du système de fichiers et restent figés jusqu'à son démontage. Donc, dès le départ, toute commande impliquant une modification de droits d'accès (que ce soit
chmod,
chown ou
chgrp) est vouée à l'échec.
- Comme l'indiquent ces messieurs, même en étant connecté sur le compte root, si le système de fichiers est monté en lecture seule, on ne peut pas en modifier le contenu. D'où la lecture seule, hein ! 😉 Néanmoins, c'est un peu bizarre. Normalement, les périphériques externes (en NTFS et FAT32) sont montés en lecture/écriture avec des droits suffisants. Je n'ai jamais rencontré ce problème... Peut-être un mode de protection sur la clé enclenché par un bouton ou une glissière ?
Pour contourner le problème, il faut donc :
- vérifier dans un premier temps si le système de fichiers est monté en lecture seule ;
- si oui, alors on doit le démonter puis le remonter en lecture/écriture et avec des droits suffisants pour que l'on puisse en modifier le contenu :
* on doit récupérer l'identifiant de la partition en question
* puis la démonter
* et, enfin, la remonter
En ligne de commande, il est assez facile d'obtenir toutes les informations nécessaires.
1) D'abord,
où la clé USB se monte-t-elle dans le système de fichiers ? Généralement, c'est dans un dossier de /media (probablement
/media/usb0,
/media/disk ou encore
/media/[Marque de la clé]). Cette information va nous permettre de localiser la clé dans la liste des systèmes de fichiers montés actuellement. Dans cet exemple, je prendrai pour acquis que le point de montage est
/media/disk, mais son emplacement n'a pas d'impact ;
2) La commande
mount seule, sans argument, retourne la liste des systèmes de fichiers actuellement montés. Trouvons les informations concernant la clé USB. À l'aide du
point de montage de la clé USB que nous savons déjà, nous identifierons
l'identifiant de partition de la clé USB en question et
l'accès en lecture seule ou en lecture/écriture parmi toute la (longue) liste des systèmes de fichiers actuellement montés. Si ta clé vient d'être branchés, elle se trouvera probablement vers la fin de la liste :
utilisateur@machine:~$ mount
/dev/sda5 on / type ext4 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdc on /media/disk type vfat (ro,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)
Dans cet exemple, la clé USB
/dev/sdc qui est montée dans
/media/disk est montée en
lecture seule (Read-Only).
3) Nous allons utiliser
mount, encore une fois, en lui passant des options :
-
remount pour démonter puis remonter la clé, ce qui va permettre d'en modifier les droits d'accès
-
rw pour activer la clé en lecture/écriture (
read/
write)
-
umask=0000 pour s'assurer que tout le monde (comprendre : toi) pourra accéder en lecture/écriture au contenu de la clé USB, et donc pouvoir y faire le ménage
utilisateur@machine:~$ sudo mount -o remount,rw,umask=0000 /dev/sdc /media/disk
À la suite de ce petit périple, tu devrais être en mesure de modifier le contenu de ta clé USB. 🙂