问题解答:如何重置忘记的WSL密码?

2021年11月9日17:36:10 发表评论 1,547 次浏览

适用于 Linux 的 Windows 子系统 (WSL) 是一项 Windows 功能,可让用户直接从 Windows 操作系统生成完整的 Linux 环境。
如何重置忘记的WSL密码?WSL 提供了一个完整的 Linux 实例,包括所有本机实用程序、工具和应用程序,而无需使用虚拟机或 Windows/Linux 双引导设置等技术。

适用于 Linux 的 Windows 子系统的显着特性包括:

  1. 能够从各种流行的 Linux 发行版中进行选择,例如 Ubuntu、Debian、OpenSUSE、Kali Linux 等。
  2. 运行本机 Linux 应用程序,就像它们是本机 Windows 应用程序一样。
  3. 在 Linux 环境中编写和执行脚本,无需任何修改。
  4. 设置本机 Linux 开发工具。
  5. 使用默认的 Windows 文件浏览器浏览 WSL Linux 文件系统。
  6. 从 Visual Studio Code 等工具部署 WSL 环境

WSL密码如何重置?本指南的目的是向你展示如何为任何 WSL Linux 实例重置忘记的用户密码。

注意:本教程仅适用于忘记密码不是 root 用户的情况。

功能如何运作

在深入了解命令并重置忘记的密码之前,让我们讨论一下此功能的工作原理。

第一次启动 WSL 实例时,它会提示你配置用户名和密码。

WSL 将使用配置的用户名和密码自动登录你的 Linux 环境。尽管这是一个方便的功能,但如果你忘记了用户名的密码,则无法调用任何需要密码的命令。

重置 WSL 密码

如何重置忘记的WSL密码?要为你的 WSL 实例重置忘记的密码,我们将执行以下操作:

  1. 将 WSL 配置为默认使用 root 用户。
  2. 重置默认 WSL 用户名的密码
  3. 恢复默认用户名。

将 Root 配置为默认帐户

重置WSL密码的方法 - 之前我们提到过 WSL 会自动使用设置的默认帐户登录。在大多数情况下,你必须在安装 WSL Linux 实例期间配置默认帐户。

但是,我们可以使用 WSL Linux 可执行命令将默认用户设置为 root 帐户,强制 WSL 登录 Linux 环境而不提示我们输入密码。

在 Windows 系统上启动命令提示符。

接下来,找到 Linux 发行版的可执行文件的路径。默认情况下,安装 Linux 发行版的可执行文件位于:

C:\Users\\AppData\Local\Microsoft\WindowsApps

注意:用户名表示默认的 Windows 系统用户名。

例如,Debian 的可执行文件在:

C:\Users\linuxhint\AppData\Local\Microsoft\WindowsApps\debian.exe

在命令提示符下,cd 进入 Linux 可执行文件所在的目录。例如:

cd C:\users\linuxhint\AppData\Local\Microsoft\WindowsApps

接下来,使用以下命令为你的发行版设置默认用户:

distroname.exe config --default-user root

将 distroname.exe 替换为 Linux 发行版的实际可执行文件,如下所示:

debian.exe config --default-user root

更改默认用户名的密码

如何重置忘记的WSL密码?启动你的 WSL Linux 发行版,你应该会自动进入 root shell。

下一步是使用 passwd 命令重置忘记的密码,重置WSL密码的方法:

passwd <default_username>

将 default_username 替换为你的实际 WSL 实例用户名。你可以检查 /etc/passwd 以查看你的用户名。

接下来,为你指定的用户名输入新密码。

恢复默认用户名

WSL密码如何重置?为用户名设置新密码后,你需要从 root 帐户恢复默认登录用户名。

distroname.exe config --default-user

现在你应该以指定用户的身份登录到你的 WSL 实例。

关闭

本指南介绍了如何为任何 WSL Linux 实例重置忘记的密码。

感谢你的阅读!

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: