You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下WSL Ubuntu目录只读问题求助

WSL Ubuntu目录在Windows下无法读写的问题解决

这不是单纯的Windows或Linux问题,本质是WSL的Linux文件系统与Windows权限映射机制导致的兼容性问题。WSL的原生文件系统(如ext4)通过\\wsl$共享给Windows时,默认权限配置会限制Windows应用的读写操作,且Windows的属性修改(比如取消只读标签)不会生效——因为Linux文件系统的权限逻辑和Windows完全不同,Windows侧的属性设置无法同步到Linux权限体系中。

解决办法

1. 全局修改WSL挂载配置(推荐)

修改WSL的全局挂载配置,让Linux文件系统在Windows侧拥有正常的读写权限:

  • 在Windows用户目录(C:\Users\<你的用户名>)下新建或编辑.wslconfig文件,添加以下内容:
    [automount]
    enabled = true
    options = "metadata,umask=0022,fmask=0133"
    mountFsTab = false
    
  • 配置说明:
    • metadata:开启Windows与Linux文件属性的映射支持
    • umask=0022:设置默认目录权限为755(所有者读写执行,组和其他用户读执行)
    • fmask=0133:设置默认文件权限为644(所有者读写,组和其他用户只读)
  • 保存文件后,在PowerShell中执行wsl --shutdown关闭所有WSL实例,重新启动Ubuntu即可生效。

2. 临时调整单个目录权限

如果不想修改全局配置,仅针对特定目录调整权限:
在Ubuntu终端中执行以下命令(替换为你的目标目录路径):

sudo chmod -R 755 /path/to/your/project
sudo chown -R $USER:$USER /path/to/your/project

这会将目录及下属文件的权限设置为所有者可读写,其他用户可读,确保Windows应用能正常编辑保存。

3. 最佳实践规避权限问题

  • 尽量在WSL环境内操作Linux文件系统中的文件,比如使用WSL内置的Git、终端工具,或支持WSL的IDE(如WebStorm的WSL开发环境),减少通过\\wsl$在Windows侧直接操作的场景。
  • 若需要Windows与WSL共享文件,优先使用WSL挂载的Windows目录(如/mnt/c/Users/<你的用户名>/Documents),而非反向访问Linux文件系统,这样能避免权限冲突。

内容的提问来源于stack exchange,提问作者Martin Van Nostrand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:12:44