Windows のそのパーティションに exe ファイルをダウンロードしても、まったく実行できません。次のエラーが表示されます: 「Windows は指定されたデバイス、パス、またはファイルにアクセスできません。項目にアクセスするための適切な権限がない可能性があります。」
設定:
私は Arch Linux と Windows 10 のデュアル ブート セットアップを使用しています。1TB の HDD があり、その HDD 上の 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 上のパーティション) ではそうではありません。
Linux で新しくダウンロードした exe ファイルの権限を調べると、実行権限がないようです。 を使用してchmod
すべての実行ビットを設定しても (Linux の場合)、Windows でそのファイルを実行することはできません。Windows Powershell を使用して、Get-Acl
新しい exe ファイル (実行されない) と Usermap より前に作成された古いファイル (問題なく実行される) でコマンドを実行すると、同じ出力 (つまり、同じ所有者、同じアクセス (Everyone Deny ExecuteFile...)) が得られます。
また、exe ファイルをダウンロードするフォルダーで継承を有効にしました (フォルダーのプロパティの [セキュリティ] タブを使用し、詳細オプションを使用)。
NTFS ユーザーマップを使用する前は、このエラーは発生しませんでした。何か見落としている点があるのでしょうか?
答え1
そのパーティションにあるすべての既存のフォルダの高度なセキュリティ設定に、すべてのユーザに対してトラバーサルと実行権限を拒否する新しいルールがあることが分かりました。それを削除することで問題は解決しました。また、新しいフォルダにはそのルールがありませんでした。つまり、すべての既存のフォルダに対してそれを修正することで問題は完全に解決します。