重置WSL Ubuntu系统root密码

Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

Windows 11版本默认集成了WSL虚拟系统,用户可以在应用商店选择安装多个linux版本,笔者安装的版本为Ubuntu-20.04版本。

系统安装后,一段时间没有使用,最尴尬的事情发生了,root密码不记得了。。。

不过好在Windows还留了一个后门,可以通过外部去跳过linux虚拟机内部的验证,直接重置任意用户的密码。

具体步骤:

  1. 管理员身份打开Powershell或cmd
  2. 输入wsl -u root,用root身份登入Ubuntu系统,此操作可以跳过Ubuntu验证,无需输入密码即可直接登录
  3. root身份进入系统后,剩下的操作就比较常规了,输入passwd [用户名(可以是root)]
  4. 输入并确认密码
  5. 重新打开WSL即可

这个相当于后门的东西,令人非常诧异,这么搞相当于root权限直接放开了,完全无安全性可言。不过,毕竟wsl只是微软的一个虚拟系统,物理目录都是开放的,root权限有没有都可以无限制访问内部任何目录和文件。那这样来说好像也说的过去哈?

本文永久链接: https://www.mulianju.com/reset-wsl-root-password/