无法在 Windows 10 WSL 中更改 root 密码

无法在 Windows 10 WSL 中更改 root 密码

我已经尝试过这两个命令

sudo passwd

sudo -u root /bin/bash

但是当我输入两次新密码时,它说密码已更新。你关闭 shell 并打开一个新实例,它仍然使用旧的 root 密码。

请帮忙。

答案1

有一个更简单的方法。

  1. 打开cmd.exe
  2. 类型wsl -u root
  3. 输入passwd username并更改密码
  4. 类型exit
  5. 类型wsl
  6. 输入sudo echo hi以确认新密码有效。

答案2

  1. 在wsl中,sudo passwd将会更改WSL root用户的密码。
  2. 在 wsl 中,passwd将更改当前 WSL 用户的密码
  • 指定使用哪个 WSL 用户(临时)wsl -u [user]
  1. 在 wsl 中,passwd [user]将更改任何 WSL 用户的密码
  2. 在 wsl 中,sudo通常会要求输入当前 WSL 用户的密码。
  3. 在 Windows cmd.exe 中,你可以更改默认 WSL 用户(永久):
  • 在当前版本中:ubuntu.exe config --default-user [user]
  • 在旧版本中17031709lxrun /setdefaultuser [user]
  • 可能需要重新启动

sudo您可能想要更改具有该权限的非 root 用户的密码。

您可能不想更改 root 用户的密码(因为在 Ubuntu 中,root 用户通常不应该有密码,而sudo应该使用密码)。您可能也不想将默认用户保留为 root。即使在窗口上工作,这仍然是一个不好的做法。

Microsoft 官方文档用户帐户和权限可以在这里找到: https://msdn.microsoft.com/en-us/commandline/wsl/user_support

答案3

本解释假设您使用 Ubuntu。

  • 如果您忘记了 WSL 上的密码,只需在搜索中输入 cmd 从 Windows 打开命令提示符即可。
  • 然后输入ubuntu config --default-user root将 root 设置为 Linux Bash Shell 的默认用户。
  • 然后打开 Linux Bash shell,它将以 root 身份登录而无需输入密码。
  • 然后使用passwd username重置任何用户的密码。
  • 用于ubuntu config --default-user username重置回您的正常 Linux 用户帐户。

答案4

无需重新配置 Ubuntu,但是,如果您安装了多个发行版并且 Ubuntu 不是您的默认发行版,则除了 root 用户之外,您还必须指定发行版。

  • 选项 1 —— Ubuntu 是默认的 WSL 发行版:

    wsl.exe -u root
    
  • 选项 2 —— Ubuntu 不是默认的 WSL 发行版:

    1. 首先确定发行版名称:

      wsl.exe -l -v
      
    2. -d然后使用带有/ 的发行版名称--distribution

      wsl.exe -d <distro> -u root
      

然后继续重置您的常规用户帐户。窃取@NotTheDr01ds 的一句话,假设您的发行版名称是“Ubuntu”:

wsl.exe -d Ubuntu -u root passwd username

典型的 Ubuntu 发行版名称包括:

  • Ubuntu:从 Microsoft Store 安装或wsl --install作为“未版本化”应用程序安装时。
  • Ubuntu-18.04Ubuntu-20.04, 或者Ubuntu-22.04:从 Microsoft Store 安装或wsl --install作为 Ubuntu 的特定版本安装时。

相关内容