WSL 2 访问 Windows 文件权限为 777 的解决方案

起因

一般来说,我们希望一个文件的权限不为 777,理由如下:

  1. ls 的时候看到一堆绿色带星文件
  2. 新建新的 .py*.sh 文件后,不需要额外进行 chmod 就能执行,但在真正的 Linux 环境上是需要 chmod u+x 的。
  3. 可能意外执行了一个 .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

调整新建的文件的权限。

posted @   caijianhong  阅读(864)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-04-02 游记 GDOI2023(联合省选)
点击右上角即可分享
微信分享提示