You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WSL Bash在Windows桌面创建文件权限被拒,如何授权?

解决WSL访问Windows桌面文件夹的权限问题

这当然可行!WSL和Windows文件系统的权限交互确实容易踩坑,我来一步步帮你搞定这个问题:

为什么会出现权限拒绝?

Windows的文件系统在WSL里是通过DrvFS映射的,默认的挂载权限设置可能没给你的Linux用户足够的读写权限,再加上OneDrive文件夹自带同步特性,权限管控会更严格,导致你无法创建文件。

解决方案一:临时调整Windows文件夹权限(快速生效)

直接在Windows系统里修改桌面文件夹的权限:

  • 找到路径 C:\Users\zolta\OneDrive\Desktop,右键点击文件夹 → 属性 → 切换到安全选项卡
  • 点击编辑添加,输入你的Windows用户名(zolta),点击检查名称确认后添加
  • 给这个用户分配完全控制的权限,点击应用并确定
  • 重新打开WSL,再尝试创建文件应该就没问题了

解决方案二:修改WSL挂载配置(永久生效)

如果不想每次都手动调整Windows权限,可以修改WSL的DrvFS挂载选项,让所有Windows路径默认给你的Linux用户足够权限:

  1. 在WSL终端里编辑/etc/wsl.conf文件(没有的话就创建):
    sudo nano /etc/wsl.conf
    
  2. 粘贴以下内容:
    [automount]
    options = "metadata,umask=0022,fmask=0022"
    
    • metadata:让WSL能识别和保留Linux风格的权限设置
    • umask=0022:设置默认文件权限为755(所有者读写执行,其他用户读执行),目录权限同理
  3. 保存退出(按Ctrl+O,回车确认,再按Ctrl+X
  4. 在Windows的命令提示符或PowerShell里运行wsl --shutdown,关闭WSL实例
  5. 重新打开WSL,此时/mnt/c下的所有路径权限都会生效,你可以正常创建修改文件了

针对OneDrive的特殊注意事项

如果以上方法还不行,检查OneDrive的设置:

  • 确保桌面文件夹不是仅在线状态:右键OneDrive里的桌面文件夹 → 始终保留在此设备上,这样WSL才能访问本地的实际文件,而不是在线占位符
  • 暂时关闭OneDrive同步,修改权限后再重新开启,避免同步过程中权限冲突

避坑提醒

  • 尽量不要用sudo在Windows路径下创建文件,否则文件所有者会变成root,后续普通用户访问会再次遇到权限问题
  • 如果还在使用WSL1,建议升级到WSL2,它在文件系统交互上更稳定:
    wsl --set-version Ubuntu 2
    
    (把Ubuntu换成你实际的WSL发行版名称)

内容的提问来源于stack exchange,提问作者Zoltan Szokodi

火山引擎 最新活动