在 Windows 10 环境中在 Ubuntu 终端上重置用户密码

在 Windows 10 环境中在 Ubuntu 终端上重置用户密码

我在 Windows 上使用 Ubuntu,从 Microsoft Store 下载。我创建了一个用户密码,但似乎我忘记了或输入了错误。对于 sudo 命令,我的用户密码不起作用。

由于我无法使用 Grub 以 Linux 形式重新启动系统来重置密码,是否有其他方法可以重置我的用户密码而无需重新安装应用程序(我已经设置了几个应用程序)?

答案1

当我自己遇到这种情况并最终解决它时,这真的很棘手。

  1. 首先启动“Ubuntu”,输入cat /etc/passwd/并记下 UID 号,然后退出终端。
    如下所示,在终端中

    mandheer@WKWIN1754031:~$ cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    mandheer:x:1000:1000:,,,:/home/mandheer:/bin/bash
    
  2. 记下“root”用户和登录用户(本例中为“mandheer”)的用户 ID

    • 根:x:0:0:根目录:/根目录:/bin/bash
    • 曼德希尔:x:1000:1000:,,,:/home/mandheer:/bin/bash
    • 对于root用户0来说,mandheer这是1000

    WSL(Windows Subsystem for Linux)使用注册表来识别一些值,包括初始启动时登录的用户。

  3. 只需继续win+R,然后输入regedit将打开注册表编辑器导航到: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss

  4. 检查已安装的发行版并导航到“Ubuntu”发行版。

  5. 然后,导航至"DefaultUid"

    • 检查其当前值,必须将其设置为1000十进制或0x3e8十六进制
    • 将用户的"DefaultUid"值设置为0十进制root
    • 退出注册表编辑器
  6. 打开“Ubuntu”,它应该以已经登录的 root 身份启动。

    • 然后运行命令passwd <User_name>,例如#$passwd mandheer
      输入新密码并重新输入密码。

      bash#>passwd <existing username> and press Enter  
      New password: <type your password here>  
      Retype password: <re enter password here>  
      
  7. 您现有的用户名密码现已重置为新密码。

    • 退出命令提示符
  8. 对现有用户重复步骤 3 至 5
    • 意思是,进入注册编辑器并将“DefaultUid”设置为以前的值,例如用户1000的十进制数mandheer
  9. 再次启动Ubuntu终端,它应该使用您现有的用户登录而无需输入密码。
    • 键入$sudo su以获取 root 访问权限。
    • 按照上面第6步输入新设置的密码。

答案2

打开命令提示符,输入ubuntu config --default-user rootlxrun /setdefaultuser root。按 Enter。

接下来,打开 Linux Bash shell,它会以 root 身份登录,而无需输入密码。因此,您可以使用以下命令重置忘记的用户密码:

passwd user_name

完成后,打开命令提示符并运行此命令:

ubuntu config --default-user user_name

这会将您的 Linux Bash shell 设置为以常规用户身份运行。

来源:https://www.top-password.com/blog/forgot-linux-bash-password-in-windows-10/

答案3

我已启用 WSL 并在 PC 上安装了 ubuntu。根据 MS Docs 网站*,我运行了 PowerShell(powershell.exe)并执行wsl -u root,然后执行passwd <my-username-on-ubuntu>。我在提示后输入了新密码并重置完成。对我来说就这些了。我使用的是 Win10 [版本 10.0.19041.572] 并运行“Ubuntu 20.04.1 LTS”

参考编号:*:https://docs.microsoft.com/en-us/windows/wsl/user-support#forgot-your-password

答案4

在 Windows Powershell 或命令提示符中,可以使用 root 访问权限登录 wsl 默认帐户。

wsl --user root

要更改密码,请使用以下命令。

passwd

或者可以使用以下命令,传递需要更改密码的用户的用户名。在本例中,它是发行版的用户名。

passwd username

以上两个命令将要求您输入新密码。输入新密码两次后,您应该会看到成功的令牌更新消息。

之后,您可以按 退出 wsl ctrl+d。如果您安装了多个发行版,但不知道要更改密码的发行版的名称,请使用以下命令列出已安装的发行版。

wsl -l

要登录所需的发行版,请使用列表中的名称。对于 Ubuntu 20.04,命令将是:

wsl -d Ubuntu-20.04 --user root

对于 CentOS7,命令如下:

wsl -d CentOS7 --user root

相关内容