Ubuntu根分区文件VSCode保存权限不足及自动保存配置问题
报错原因
Ubuntu系统根分区下的非用户目录默认所有者为root用户,普通登录账号默认无写入权限,当VSCode编辑这类路径下的文件时,就会弹出Failed to save 'xxx': Insufficient permissions. Select 'Retry as Sudo' to retry as superuser的权限不足提示。
方案一:配置普通用户写入权限(推荐,无需sudo即可正常使用自动保存)
该方案不会给VSCode提权,安全性最高,配置完成后自动保存、手动保存都不会触发权限报错,适合存放个人项目的目录使用。
- 先确认你需要编辑的文件所在的具体目录路径,比如自定义项目存放在
/workspace/web目录,不要直接对系统核心目录(/etc、/usr、/root等)或整个根目录/做权限修改,否则会导致系统权限混乱甚至崩溃。 - 递归修改目标目录的所有者为当前登录用户,终端执行命令:
sudo chown -R $USER:$USER /你的目标目录完整路径
举个例子,如果项目路径是/data/myproject,对应命令就是sudo chown -R $USER:$USER /data/myproject - 如果你不想修改目录所有者,也可以单独给当前用户追加目标目录的写入权限,终端执行命令:
sudo chmod -R u+w /你的目标目录完整路径
执行完上述命令后,重新用VSCode打开对应目录,即可无权限提示正常使用所有编辑、保存功能
方案二:配置VSCode常驻超级用户权限(存在安全风险,仅适用于需要频繁编辑系统配置文件的场景)
如果确实需要长期编辑系统级路径下的文件,不想每次手动点击「Retry as Sudo」,可以选择以下两种配置方式:
- 方式1:以sudo权限启动VSCode
终端进入目标文件所在目录,执行命令sudo code --no-sandbox .即可启动带超级用户权限的VSCode实例,全程所有保存操作都不会有权限限制。如果需要图形界面快捷启动,可以修改VSCode桌面启动项的执行命令,将原启动命令/usr/bin/code替换为sudo /usr/bin/code --no-sandbox即可。注意该模式下的VSCode扩展、用户配置和普通用户模式下是相互隔离的。 - 方式2:安装自动提权保存扩展
在VSCode扩展市场搜索安装支持root保存的扩展,开启自动重试提权保存的配置项后,遇到权限不足的场景会自动调用sudo权限完成保存,不需要全程给VSCode分配root权限,安全风险比全程sudo启动更低。
内容的提问来源于stack exchange,提问作者Muhammed Maruf
相关产品推荐
相关产品推荐

