WSL 2 访问 Windows 文件权限为 777 的解决方案
起因
一般来说,我们希望一个文件的权限不为 777,理由如下:
ls
的时候看到一堆绿色带星文件- 新建新的
.py
或*.sh
文件后,不需要额外进行chmod
就能执行,但在真正的 Linux 环境上是需要chmod u+x
的。 - 可能意外执行了一个
.cpp
文件。
但其实作为一个 OIer,以上东西都没什么影响,但是我们还是可以修理一下的:
第一步
/etc/wsl.conf 加入以下内容:
[automount]
enabled = true
options = "metadata,umask=22,fmask=111"
mountFsTab = true
root = /mnt/
这样所有 Windows 下的文件就没有了可执行权限,同时修改文件会带有“元数据”。
第二步
/etc/fstab 加入以下内容:
C:\ /mnt/c drvfs rw,noatime,uid=1000,gid=1000,metadata,umask=22,fmask=11 0 0
将 C: 盘下的文件重新加上可执行权限,以使用 explorer.exe
等 Windows 应用。
第三步
~/.profile 加入以下内容:
# Note: Bash on Windows does not currently apply umask properly.
if [[ "$(umask)" = "0000" ]]; then
umask 0022
fi
调整新建的文件的权限。
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/18111647