Всякий раз, когда я загружаю exe-файл в этот раздел в Windows, я вообще не могу его запустить. Он выдает мне ошибку: "Windows не может получить доступ к указанному устройству, пути или файлу. У вас может не быть соответствующих разрешений для доступа к элементу".
Настраивать:
У меня установлена двойная загрузка с Arch Linux и Windows 10. У меня есть жесткий диск емкостью 1 ТБ с NTFS Usermap, настроенным в Arch Linux для раздела NTFS на этом жестком диске следующим образом:
# Generated by ntfsusermap for Linux, v 1.2.0
:100:S-1-5-21-3728005000-258166423-2201256221-513
1000:1000:S-1-5-21-3728005000-258166423-2201256221-1001
Я могу успешно смонтировать и использовать этот раздел NTFS как любой другой раздел (и chmod
все chown
работает нормально).
Запись fstab для этого раздела выглядит следующим образом:
# /dev/sda1 LABEL=Data
UUID=0492DE6F92DE64A8 /mnt/Data ntfs rw,nosuid,nodev,relatime,uid=1000,gid=1000,allow_other,dmask=022,fmask=133 0 0
Я могу нормально читать и писать в файлы, созданные в Arch в Windows. Я также могу создавать неисполняемые файлы в Windows и использовать их в Arch Linux нормально.
Ситуация:
Запуск нового exe-файла обычно не удается, даже если запустить его от имени администратора. Единственный способ заставить его работать — разрешить всем иметь полный контроль над этим файлом в Windows через вкладку «Безопасность» в разрешениях файла.
Кажется, что новые файлы можно читать и записывать, но их нельзя выполнить на этом разделе. Это не относится к другим разделам (тому, что на моем SSD).
Когда я проверяю разрешения недавно загруженного exe-файла в Linux, кажется, что у него отсутствует разрешение на выполнение. Использование chmod
для установки исполняемого бита для всех (в Linux) не помогает запустить этот файл в Windows. Когда я использую Windows Powershell и запускаю команду Get-Acl
для нового exe-файла (который не запускается) и более старого, созданного до Usermap (который запускается нормально), я получаю тот же вывод, т. е. того же владельца и тот же доступ (Everyone Deny ExecuteFile...).
Я также включил наследование в папке, в которую загружаю exe-файл (используя вкладку «Безопасность» в свойствах папки, а затем используя дополнительные параметры).
Я не сталкивался с этой ошибкой до использования NTFS Usermap. Может, я что-то упускаю?
решение1
Я обнаружил, что в дополнительных параметрах безопасности для всех существующих папок в этом разделе появилось новое правило, запрещающее разрешения на обход и выполнение для всех. Удаление этого правила решило мою проблему. Кроме того, в более новых папках этого правила не было, что означает, что исправление его для всех существующих папок полностью решает проблему.