J'utilise Microsoft Visual C++ sous Windows et Qt Creator sous Ubuntu. Je ne peux pas modifier les autorisations sur mon lecteur flash (FAT32), même en tant que root.
Comment puis-je modifier les autorisations sur un lecteur flash FAT32?
vfat ne supporte pas les permissions Linux. Vous pouvez définir les autorisations manuellement lorsque vous montez le périphérique.
Démontez le lecteur flash de Nautilus, mais ne le retirez pas.
Sudo mkdir /media/flash
Sudo mount /dev/sdb1 /media/flash -o dmask=000,fmask=111
Vous pouvez éventuellement contourner le problème si vous utilisez NTFS sur le lecteur flash et, dans ce cas, montez-le avec l'option autorisations.
Sudo mkdir /media/flash
Sudo mount /dev/sdb1 /media/flash -o permissions
Avec les autorisations, chown
et chmod
devraient fonctionner.
Voir man mount
Vous pouvez également utiliser ext2 sur le lecteur flash (temps système réduit) et sur le pilote fs sous Windows.
FAT32 ne prend pas en charge les autorisations similaires à Linux.
La seule possibilité qui me vienne à l’esprit est de modifier les paramètres de /etc/fstab
pour l’ensemble du lecteur. Lors du montage, ces autorisations sont mappées sur l'ensemble du lecteur, mais vous ne pouvez pas faire la distinction entre les fichiers exécutables, les autorisations de lecture et d'écriture de fichier à fichier.
Et comme vous devez exécuter un répertoire pour le saisir, vous devez disposer d'autorisations d'exécution globales. Et donc les autorisations de lecture globales aussi.
Une entrée typique ressemblerait à ceci:
/dev/pny /media/pny vfat defaults,users,exec,uid=1000,gid=46 0 0
uid
serait votre UID (à l'aide de la commande id
lors de la connexion), gid=46
est plugdev sur mon système, utilisé pour le démon hotplug.