Не могу установить разрешения для файлов в разделе NTFS

12

Я помню, что мне удалось запустить Linux .exe, который был помещен в раздел NTFS раньше, чем я установил 10.10 RC. Но если я попытаюсь запустить его сейчас, я не смогу запустить его, поскольку у него нет разрешения на выполнение. Плохо то, что я тоже не могу изменить разрешения. Я не буду chmod-ding , +xно никаких изменений вообще с его разрешения.

Так что это похоже на ошибку? Любая помощь?

Хотя, когда я помещаю его на раздел ext4, я могу установить разрешение. Но я хочу сделать это так же, как и раньше, прямо из папки NTFS по умолчанию.

ashishsony
источник

Ответы:

12

NTFS не поддерживает разрешение на выполнение, потому что оно разработано для Windows, которая не имеет такой же концепции «исполняемых» файлов, как Linux. Если вы пытаетесь запустить Windows .exe файлы в Wine, он все равно должен работать, если вы запускаете Wine явно, например так:

wine /path/to/executable.exe

Если вам нужно выполнить файлы напрямую, вы можете установить разрешения, которые будут применяться ко всем файлам с помощью fmaskопции в /etc/fstab. Вам также может понадобиться добавить эту execопцию, если это не по умолчанию для NTFS (у меня нет диска, который можно было бы проверить прямо сейчас). Значение для fmaskуказывает драйверу, какие биты следует отключить, поэтому, например, чтобы разрешить чтение, запись и выполнение для всех пользователей, у вас должно быть что-то вроде этого:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=000  0  0

Если уже есть fmaskопция, самый простой способ включить бит выполнения - вычесть 1 из любой нечетной цифры.

Если вы не знаете, как работает маскирование разрешений, основная идея заключается в том, что разрешения на чтение, запись и выполнение представлены значениями 4, 2 и 1 соответственно. Вы можете добавить их вместе, чтобы объединить разрешения, например, чтение + запись будет 6. Маска разрешений представляет собой комбинацию из трех цифр, которые относятся к владельцу, группе и «другим» (всем остальным).

Просто помните, что fmask(также umaskи dmask) в fstab - это разрешения, которые вы хотите отключить .

В качестве немного более интересного примера это установило бы права доступа «rwx» для владельца, «rx» для группы и «r» для всех остальных:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0
Мэтью Крамли
источник
спасибо Мэтью ... что запись fstab содержит ключ к моей проблеме ... так как я недавно установил ubuntu RC, так что я не включил запись fstab для автоматического монтирования дисков ntfs ... что я имел в моей более ранней ОС. ... так что флаг exec является ключом ... который, я считаю, не включается при монтировании вручную путем "двойного щелчка" на дисках в представлении "Мой компьютер" ... спасибо. :)
ashishsony
Это то, что я должен был сделать, чтобы изменить разрешения для вещей на моем втором диске.
dkuntz2
«Вопреки мнению большинства людей, NTFS - это POSIX-совместимая файловая система, и есть возможность использовать разрешения для NTFS» askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv
0

Я использую такую ​​строку в моем /etc/fstabфайле:

/dev/sda5    /media/disk    ntfs,   user,noauto,exec    0 2

который предотвращает монтирование раздела при запуске, но позволяет мне монтировать его как root с:

sudo mount /dev/sda5

или

sudo mount /media/disk 

из командной строки.

Монтирование из "Мест" дает ошибку, поэтому это решение не идеально, но я готов с этим жить. Надеюсь, что это полезно для других.

персиковый
источник
0

Похоже, ошибка в старых версиях ...

Попробуйте обновить до Wine 1.3

Это сработало для меня, и теперь я могу установить что угодно прямо из раздела NTFS.

Рафаэль Борхес
источник