Windows (с NTFS Usermap в Linux) ошибка доступа к новым файлам

567
Harish Rajagopal

Всякий раз, когда я загружаю исполняемый файл в этот раздел в Windows, я вообще не могу его запустить. Это дает мне ошибку: «Windows не может получить доступ к указанному устройству, пути или файлу. Возможно, у вас нет соответствующих разрешений для доступа к элементу».

Настроить:

У меня есть установка двойной загрузки с Arch Linux и Windows 10. У меня есть жесткий диск на 1 ТБ с пользовательской картой NTFS, настроенный в 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 (который работает нормально), я получаю тот же вывод, т.е. один и тот же владелец и тот же доступ (Все запрещают ExecuteFile ...).

Я также включил наследование в папке, в которую загружаю exe-файл (с помощью вкладки «Безопасность» в свойствах папки, затем с помощью «Дополнительные параметры»).

Я не сталкивался с этой ошибкой перед использованием NTFS Usermap. Есть что-то, чего я здесь не хватает?

0

1 ответ на вопрос

0
Harish Rajagopal

Я обнаружил, что в расширенных параметрах безопасности для всех существующих папок в этом разделе существует новое правило, запрещающее обход и права на выполнение для всех. Удаление это решило мою проблему. Кроме того, более новым папкам не хватало этого правила, что означает, что исправление его для всех существующих папок полностью решает проблему.