在我的 Windows 上,我将 y: 映射到 samba 共享上。在此共享上,即使我没有查看文件的权限,我也可以读取/写入文件。
在我的 WSL Ubuntu-20.04 上,我尝试映射此驱动器:
$ sudo mount -t drvfs y: /mnt/test/ -o metadata,rw,noatime,uid=1000,gid=1000,umask=22,fmask=11
我可以访问此共享,甚至可以在其中写入新文件,但由于权限未知,我无法对已存在的文件执行任何操作
$ touch /mnt/test/outbox/test.txt
$ ls -la /mnt/test/outbox/
ls: cannot access '/mnt/test/outbox/foo.txt': Permission denied
drwxr-xr-x 1 myuser myuser 512 Jan 26 16:39 .
drwxr-xr-x 1 myuser myuser 512 Oct 7 2019 ..
-????????? ? ? ? ? ? foo.txt
-rwxr--r-- 1 myuser myuser 0 Jan 26 17:05 test.txt
我该怎么做才能直接从我的 Ubuntu WSL 修改/删除我的 foo.txt?(就像我可以从我的 Windows 上做的那样)
谢谢
答案1
已在评论中解决,但对于遇到此问题的其他人来说,有几点需要注意:
解决方案其实相当简单——使用 将 samba 驱动器共享直接挂载到 WSL2 中,
cifs-utils
而不是通过 挂载映射驱动器drvfs
。至少对于 Ubuntu 来说是这样(其他发行版软件包可能略有不同):sudo apt install cifs-utils sudo mount -t cifs -o username=<share_user> //share.server/path/to/share /mnt/test
故障排除有点困难,因为共享的驱动器不在 OP 的控制范围内,而且我们无法获取有关共享配置的信息。如果其他人遇到此问题并且有基于配置的解决方案,请也分享一下。
对我来说,将 Windows(非域)samba 共享映射到 Windows,然后通过
drvfs
工作正常安装该共享,因此我们确实觉得它是配置所独有的。