像这样安装一个驱动器,用 1000 替换您想要的任何用户 ID(出于本示例的目的,0 除外):
sudo mount -t drvfs C: /mnt/c -o metadata,uid=1000
现在,在驱动器文件系统下运行此命令:
sudo touch example.txt
您将看到 example.txt 归用户 1000 所有,而不是 root!这可不是好事,轻描淡写。例如,这意味着有权访问驱动器的 Web 服务器进程将创建归用户 1000(或您设置的任何用户)所有,而不是 Web 服务器配置为以用户身份运行的用户所有。我在尝试获取 LEMP 堆栈以在我的 C: 驱动器上运行 WordPress 时发现了这一点。
我能做些什么来解决这个问题?这是 WSL 错误吗?
答案1
后与 WSL GitHub repo 上的好心人交流,我通过将所有安装设置移至 部分automount
、/etc/wsl.conf
卸载 C: 驱动器并重新启动计算机解决了我的问题。基本上是一个“关闭并重新打开”的解决方案,但它确实有效。