WSL でマウントしたファイルシステムでもパーミッションを扱えるようにする
WSL は一般的には「VolFs」と「DrvFs」の、ふたつのファイルシステムを併せて運用することになると思います。
- VolFs (WSL 内部を管理する。 WSL 上にインストールされたディストリビューションを管理するファイルシステム)
- DrvFs (WSL 外部を管理する。 WSL 上からマウントされた外部 (NTFS など) を管理するファイルシステム)
ですが、デフォルトの状態では DrvFs でパーミッションを細やかに管理することが出来ません。 WSL のファイルアクセス許可には下記のように書かれています。
ファイルにメタデータが関連付けられていない場合は、Windows ユーザーの有効なアクセス許可を読み取り/書き込み/実行ビットに変換し、ユーザー、グループ、およびその他の同じ値として設定します。 たとえば、Windows ユーザーアカウントに読み取りと実行のアクセス権があり、ファイルへの書き込みアクセスが許可されていない場合は、ユーザー、グループ、およびその他の r-x として表示されます。 ファイルに Windows で ' 読み取り専用 ' 属性が設定されている場合、Linux では書き込みアクセス権は付与されません。
ですが、DrvFs をマウントする際に metadata
オプションを指定することで、パーミッション情報をメタデータに保存することが出来るようになります。