WSL drvfs 마운트 문제 — 사용자 매핑이 인식되지 않습니까?

WSL drvfs 마운트 문제 — 사용자 매핑이 인식되지 않습니까?

WSL(Win10 Linux 하위 시스템)에 드라이브를 탑재하는 데 몇 가지 문제가 있습니다. 다른 드라이브의 탑재 오류에 대한 별도의 질문을 참조하세요.

W: 드라이브에 로컬로 네트워크 공유가 마운트되어 있고 Windows에서 읽기/쓰기 액세스 권한이 있습니다.

drvfs를 사용하여 이 드라이브를 마운트하면 정상적으로 작동합니다.

$ sudo mount -t drvfs W: /mnt/w

하지만 - 드라이브에 액세스하고 싶을 때:

( -/- ) e514678@K46290: ~ $ ls -l /mnt/w
ls: '/mnt/w/bar'에 액세스할 수 없습니다: 권한이 거부되었습니다.
ls: '/mnt/w/baz'에 액세스할 수 없습니다: 권한이 거부되었습니다.
ls: '/mnt/w/foo'에 액세스할 수 없습니다: 권한이 거부되었습니다.
총 0
디????????? ? ? ? ? ? 술집
디????????? ? ? ? ? ? 바즈
디????????? ? ? ? ? ? 푸
( -/- ) e514678@K46290: ~ $

다시 말하지만, Windows에서는 드라이브와 드라이브의 하위 디렉터리에 액세스할 수 있습니다. drvfs를 사용하여 마운트하면 드라이브의 최상위 항목을 볼 수 있지만 사용자 및 권한 정보가 누락된 것 같습니다. 그래서 리눅스에서도 어떤 파일에도 접근할 수 없습니다.

다른 네트워크 공유에 있는 파일에 액세스하는 것은 잘 작동합니다. 하지만 이것과 무엇이 다른지 잘 모르겠습니다.

이 네트워크 볼륨에서 무엇이 다를 수 있는지에 대한 아이디어가 있습니까? (특정 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을 다시 시작해야 합니다.

관련 정보