Wenn ich in Windows eine EXE-Datei auf diese Partition herunterlade, kann ich sie überhaupt nicht ausführen. Ich erhalte die Fehlermeldung: „Windows kann auf das angegebene Gerät, den Pfad oder die Datei nicht zugreifen. Möglicherweise verfügen Sie nicht über die erforderlichen Berechtigungen, um auf das Element zuzugreifen.“
Aufstellen:
Ich verfüge über ein Dual-Boot-Setup mit Arch Linux und Windows 10. Ich habe eine 1-TB-Festplatte mit NTFS-Benutzerzuordnung in Arch Linux für eine NTFS-Partition auf dieser Festplatte wie folgt eingerichtet:
# 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
Ich kann diese NTFS-Partition erfolgreich mounten und wie jede andere Partition verwenden (und chmod
es chown
funktioniert einwandfrei).
Der fstab-Eintrag für diese Partition lautet wie folgt:
# /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
Ich kann in Windows ganz normal Dateien lesen und schreiben, die mit Arch erstellt wurden. Ich kann auch nicht ausführbare Dateien unter Windows erstellen und sie ganz normal unter Arch Linux verwenden.
Situation:
Das Ausführen einer neuen EXE-Datei schlägt normalerweise fehl, selbst wenn Sie sie als Administrator ausführen. Die einzige Möglichkeit, dies zum Laufen zu bringen, besteht darin, jedem in Windows über die Registerkarte „Sicherheit“ in den Dateiberechtigungen die vollständige Kontrolle über diese Datei zu gewähren.
Es scheint, als könnten neue Dateien gelesen und geschrieben werden, aber sie können auf dieser Partition nicht ausgeführt werden. Dies ist bei anderen Partitionen (der auf meiner SSD) nicht der Fall.
Wenn ich die Berechtigungen einer neu heruntergeladenen EXE-Datei in Linux überprüfe, scheint die Ausführungsberechtigung zu fehlen. Das Setzen chmod
des Ausführungsbits für alle (in Linux) hilft nicht dabei, diese Datei in Windows auszuführen. Wenn ich Windows Powershell verwende und den Get-Acl
Befehl für eine neue EXE-Datei (die nicht ausgeführt wird) und eine ältere ausführe, die vor der Benutzerzuordnung erstellt wurde (und einwandfrei ausgeführt wird), erhalte ich dieselbe Ausgabe, d. h. denselben Eigentümer und denselben Zugriff (Jeder verweigert ExecuteFile...).
Ich habe die Vererbung auch in dem Ordner aktiviert, in den ich die EXE-Datei herunterlade (über die Registerkarte „Sicherheit“ in den Eigenschaften des Ordners und dann über die erweiterten Optionen).
Vor der Verwendung von NTFS Usermap ist mir dieser Fehler nicht begegnet. Übersehe ich hier etwas?
Antwort1
Ich habe festgestellt, dass es in den erweiterten Sicherheitseinstellungen für alle vorhandenen Ordner in dieser Partition eine neue Regel gab, die allen die Durchsuchungs- und Ausführungsberechtigungen verweigerte. Das Entfernen dieser Regel löste mein Problem. Außerdem fehlte diese Regel in neueren Ordnern, was bedeutet, dass das Beheben dieser Regel für alle vorhandenen Ordner das Problem vollständig löst.