Я настроил раздел NTFS, чтобы автосмонтироваться через fstab:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda7 during installation
UUID=e63fa8a2-432f-4749-b9db-dab328807d04 / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda4 during installation
UUID=e9ad1bb4-7c1f-4ea9-a6a5-799dfad71c0a /boot ext4 defaults 0 2
# /home was on /dev/sda8 during installation
UUID=eda8c755-5448-4de8-b58c-9cb75823c22d /home ext4 defaults 0 2
# swap was on /dev/sda9 during installation
UUID=804ff3a7-e5dd-406a-b63c-e8f3c635fbc5 none swap sw 0 0
#Windows-Partition
UUID=368CEBC57807FDCD /media/Share ntfs defaults,uid=1000,gid=1000,noexec 0 0
Поскольку Вы видите, что я добавил noexec
бит к конфигурации. Почему? Поскольку любой файл я создаю на или перемещаюсь в раздел, автоматически отмечен как исполняемый файл.
Проблема состоит в том, что нет никакого способа изменить это через наутилус. Я не могу снять флажок с опцией "Allow executing file as program".
noexec
опция не помогает, к сожалению. Это только препятствует тому, чтобы наутилус отобразил "выполнение", или "считайте" диалоговое окно, но не изменяйте исполняемый флаг.
Есть ли какой-либо способ, которым я могу зафиксировать это?
Со справкой в январе я смог найти следующие fstab опции, которые решили мою проблему:
umask=0000,fmask=0111
fstab запись для моего раздела NTFS теперь следующие:
#Windows-Partition
UUID=368CEBC57807FDCD /media/Share ntfs defaults,uid=1000,gid=1000,umask=0000,fmask=0111 0 0
Редактирование: Изменение этих опций также означает, что Вы не сможете установить что-либо на исполняемый файл на Вашем диске NTFS. В моем случае это не проблема, поскольку я не планирую хранение никаких исполняемых файлов на этом разделе.
noexec
опция не имеет никакого отношения к фактическим полномочиям; это только для того, чтобы не позволять выполнять что-либо от того раздела:
~ $ ls -l test.sh
-rwxr-xr-x 1 jw jw 28 Aug 30 13:05 test.sh
~ $ ./test.sh
Hello world
~ $ sudo mount -o remount,noexec /home
~ $ ./test.sh
bash: ./test.sh: Permission denied
~ $ ls -l test.sh
-rwxr-xr-x 1 jw jw 28 Aug 30 13:05 test.sh
, Как Вы видите, после того как раздел смонтирован с noexec
, опция, test.sh не может быть выполнена; но сами полномочия не изменились.
NTFS не поддерживает исполняемый бит. Способ, которым NTFS замечен системой и что то, как полномочия установлены, зависит поэтому только от того, как это было смонтировано. Обычно, это сделано с эти umask
, монтируют опцию. Это объясняет также, почему Вы не можете изменить полномочия: нет никакого способа сохранить их, потому что NTFS не поддерживает их.
, К сожалению, при монтировании всего с 'неисполняемым' битом Вы не сможете измениться в каталоги, потому что они должны быть исполняемым файлом, чтобы вводиться. Можно использовать опции dmask
и fmask
для установки полномочий по умолчанию отдельно к для каталогов и файлов в смонтированной системе NTFS.