我已经尝试过这两个命令
sudo passwd
和
sudo -u root /bin/bash
但是当我输入两次新密码时,它说密码已更新。你关闭 shell 并打开一个新实例,它仍然使用旧的 root 密码。
请帮忙。
答案1
有一个更简单的方法。
- 打开cmd.exe
- 类型
wsl -u root
- 输入
passwd username
并更改密码 - 类型
exit
- 类型
wsl
- 输入
sudo echo hi
以确认新密码有效。
答案2
- 在wsl中,
sudo passwd
将会更改WSL root用户的密码。 - 在 wsl 中,
passwd
将更改当前 WSL 用户的密码
- 指定使用哪个 WSL 用户(临时)
wsl -u [user]
- 在 wsl 中,
passwd [user]
将更改任何 WSL 用户的密码 - 在 wsl 中,
sudo
通常会要求输入当前 WSL 用户的密码。 - 在 Windows cmd.exe 中,你可以更改默认 WSL 用户(永久):
- 在当前版本中:
ubuntu.exe config --default-user [user]
- 在旧版本中
1703
:1709
lxrun /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 发行版:
首先确定发行版名称:
wsl.exe -l -v
-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.04,Ubuntu-20.04, 或者Ubuntu-22.04:从 Microsoft Store 安装或
wsl --install
作为 Ubuntu 的特定版本安装时。