Все файлы на автомонтированном разделе NTFS помечены как исполняемые файлы

7

Я установил раздел 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 в конфигурацию. Зачем? Поскольку любой файл, который я создаю или перемещаю в раздел, автоматически помечен как исполняемый файл.

Проблема в том, что нет способа изменить это через наутилус. Я не могу снять флажок «Разрешить выполнение файла как программу».

Опция noexec не помогает, к сожалению. Это только предотвращает отображение Nautilus диалогового окна «run» или «read», но не меняет исполняемый флаг.

Можно ли это исправить?

    
задан Glutanimate 30.08.2012 в 10:54
источник

2 ответа

4

С январской помощью мне удалось найти следующие опции 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. В моем случае это не проблема, поскольку я не планирую хранить какие-либо исполняемые файлы в этом разделе.

    
ответ дан Glutanimate 30.08.2012 в 12:31
источник
8

Параметр 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 mount. Это также объясняет, почему вы не можете изменять разрешения: нет возможности их сохранить, поскольку NTFS не поддерживает их.

К сожалению, если вы установите все с помощью «неисполняемого» бита, вы не сможете изменить его в каталогах, потому что они должны быть исполняемыми для ввода. Вы можете использовать опции dmask и fmask для установки разрешений по умолчанию отдельно для каталогов и файлов в смонтированной системе NTFS.

    
ответ дан January 30.08.2012 в 11:09
источник

Ознакомьтесь с другими вопросами по меткам