WSL drvfs マウントの問題 — ユーザー マッピングが認識されない?

WSL drvfs マウントの問題 — ユーザー マッピングが認識されない?

WSL (Win10 Linux Subsystem) でドライブをマウントする際にいくつか問題が発生しています。別のドライブでのマウント エラーについては別の質問を参照してください。

ドライブ W: にローカルにネットワーク共有がマウントされており、Windows で読み取り/書き込みアクセス権があります。

このドライブを drvfs でマウントすると正常に動作します。

$ sudo マウント -t drvfs W: /mnt/w

しかし、ドライブにアクセスしたい場合:

( -/- ) e514678@K46290: ~ $ ls -l /mnt/w
ls: '/mnt/w/bar' にアクセスできません: 権限が拒否されました
ls: '/mnt/w/baz' にアクセスできません: 権限が拒否されました
ls: '/mnt/w/foo' にアクセスできません: 権限が拒否されました
合計 0
d????????? ? ? ? ? ? バー
d????????? ? ? ? ? ?バズ
d????????? ? ? ? ? ? foo
( -/- ) e514678@K46290: ~ $

繰り返しますが、Windows ではドライブとドライブ上のサブディレクトリにアクセスできます。drvfs を使用してマウントすると、ドライブのトップレベルのエントリが表示されますが、ユーザーと権限の情報が欠落しているようです。そのため、Linux からもファイルにアクセスできません。

他のいくつかのネットワーク共有上のファイルへのアクセスは問題なく動作しますが、この共有では何が違うのかわかりません。

このネットワーク ボリュームで何が異なっているかについて、何かアイデアはありますか? (特定の uid/gid を使用してマウントしようとしても役に立ちません: 'sudo mount -t drvfs -ouid=1000,gid=1000 W: /mnt/w' Linux は依然としてドライブにアクセスできず、同じ問題が発生します)。

答え1

私も同じ問題を抱えていました。

Windows Build 17093 以降にWSL が導入されていることがわかりました。/etc/wsl.conf詳細については、こちらをご覧ください。https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf

これは、問題を解決できるかもしれない簡単な例です。

$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022

上記の例はここから見つけました:WSL マウントされたファイルの権限

ファイルを作成または変更した後は、WSL を再起動する必要があります。

関連情報