Sublime SFTP在root登录禁用时如何用sudo权限编辑保存文件
解决Sublime SFTP编辑root权限文件时的权限问题
我之前也碰到过一模一样的情况——服务器禁用root SSH登录,用普通用户连SFTP后,编辑系统文件总是弹出Permission denied。下面分享两种可行的方案,优先推荐第一种更安全的:
方案一:用sudo权限直接保存(推荐)
这种方法不需要切换到root,而是让Sublime在保存文件时自动调用sudo提升权限,步骤很简单:
- 打开你创建的SFTP服务器对应的
sftp-config.json配置文件(可以通过Sublime的SFTP菜单里的「Edit Server」打开) - 在配置中添加或修改以下参数:
要是不想把密码明文写在配置里,换成"remote_sudo": true, // 如果你的普通用户sudo需要密码,加上这行;如果是免密sudo可以删掉 "remote_sudo_password": "你的sudo密码""remote_sudo_prompt": true就行,每次保存时会弹窗让你输入sudo密码,更安全。 - 保存配置后,再去编辑那些需要root权限的文件,Sublime会自动用sudo完成保存,不会再提示权限不足了。
另外还有个临时技巧:如果只是偶尔编辑某个需要sudo的文件,不用改全局配置,直接在SFTP打开文件时,把路径写成sudo:///path/to/your/file(比如sudo:///etc/hosts),这样打开的文件会自动以sudo权限处理保存。
方案二:登录后自动切换为root(不推荐)
虽然你也提到这种方式不推荐,但还是说下操作步骤,供特殊场景参考:
- 修改
sftp-config.json,添加以下配置:
这个配置会让你通过普通用户登录后,自动执行"remote_command": "sudo -i", "remote_sudo_password": "你的sudo密码"sudo -i切换到root环境,整个SFTP会话都拥有root权限。 - 但一定要注意:这种方式风险极高,误操作很容易删掉系统关键文件或者修改重要配置,除非万不得已,绝对不建议日常使用。
额外注意事项
- 确保你的普通用户在服务器的
sudoers列表里,并且拥有足够的权限(比如允许编辑目标文件的权限) - 如果担心密码安全,除了用弹窗提示输入,也可以试试Sublime的加密插件来保护配置文件里的敏感信息。
内容的提问来源于stack exchange,提问作者Taher Khalil
相关产品推荐
相关产品推荐

