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

WSL Ubuntu中丢失sudo权限的恢复求助

WSL Ubuntu中丢失sudo权限的恢复求助

别慌!这种情况在WSL Ubuntu里其实超容易解决,毕竟WSL和Windows的互通性给了我们很多快捷方式,不用在Ubuntu里死磕sudo权限~

给你一套简单的恢复步骤,亲测有效:

  • 首先关闭正在运行的Ubuntu实例:打开Windows的PowerShell或者命令提示符(CMD),输入命令

    wsl --shutdown
    

    这一步是为了确保Ubuntu完全停止,避免后续操作时文件被锁定。

  • 直接以root身份进入Ubuntu:在刚才的PowerShell/CMD里输入

    wsl -u root
    

    如果你有多个WSL发行版,先输入wsl -l -v查看你的Ubuntu 22.04的发行版名称,再用wsl -d <你的发行版名称> -u root(比如wsl -d Ubuntu-22.04 -u root)。执行完这个命令,你就直接拥有了Ubuntu的最高root权限,完全不需要普通用户的sudo验证。

  • 修复sudoers文件:现在在root shell里,一定要用visudo命令编辑sudoers(它会自动检查语法,避免你再踩坑),输入

    visudo
    

    找到你之前注释掉的那行类似%sudo ALL=(ALL:ALL) ALL的内容,把行首的#去掉,恢复这行的生效状态。

  • 保存退出并验证:如果用的是nano编辑器(visudo默认常用的),按Ctrl+O保存,按回车确认文件名,再按Ctrl+X退出。然后输入exit退出root shell,重新打开Ubuntu终端,试试sudo ls,权限应该就恢复正常了!

最后再提醒一句:以后编辑/etc/sudoers文件,永远用visudo,别直接用vim/nano打开原文件——要是语法写错了,很容易又陷入现在这种尴尬境地,visudo会在保存前帮你检查语法错误,绝对是编辑sudoers的安全首选。

备注:内容来源于stack exchange,提问作者Ahsan Hayat

火山引擎 最新活动