Как изменить разрешения на диске, отформатированном в FAT32?

Как изменить разрешения на диске, отформатированном в FAT32?

Я использую Microsoft Visual C++ на Windows и Qt Creator на Ubuntu. Я не могу изменить права доступа на моем флэш-накопителе (FAT32), даже как root.

Как изменить права доступа к флешке FAT32?

решение1

vfat не поддерживает разрешения Linux. Вы можете установить разрешения вручную при монтировании устройства.

Отключите флешку от Nautilus, но не извлекайте ее.

sudo mkdir /media/flash
sudo mount /dev/sdb1 /media/flash -o dmask=000,fmask=111

Эту проблему можно обойти, если использовать NTFS на флэш-накопителе и в этом случае смонтировать его с опцией разрешений.

sudo mkdir /media/flash
sudo mount /dev/sdb1 /media/flash -o permissions    

С опцией разрешений chownдолжно chmodработать.

Видетьman mount

Другими вариантами могут быть использование ext2 на флэш-накопителе (меньшие накладные расходы) и драйвера fs на Windows.

http://www.fs-driver.org/

решение2

FAT32 не поддерживает разрешения, подобные Linux.

Единственная возможность, которая приходит мне в голову, это изменить настройки /etc/fstabдля всего диска. При монтировании эти разрешения сопоставляются со всем диском, но вы не можете различать исполняемые файлы, разрешения на чтение и запись от файла к файлу.

А поскольку для входа в каталог нужно выполнить его, нужны глобальные права на выполнение. А значит, и глобальные права на чтение.

Типичная запись будет выглядеть так:

/dev/pny    /media/pny  vfat    defaults,users,exec,uid=1000,gid=46 0   0

uidбудет вашим UID (проверьте с помощью команды idпри входе в систему), gid=46это plugdev в моей системе, используемый для демона hotplug.

Связанный контент