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


12

我已经尝试了两个命令

sudo passwd

和

sudo -u root /bin/bash

但是,当我两次输入新密码时,它表示密码已更新。您关闭外壳程序并打开一个新实例,它仍在使用旧的root密码。

请帮忙。


好的sudo -u root可能是一种使事情正常进行的绝望尝试。但是sudo passwd应该更改密码。当我打开一个新的WSL Shell并尝试'sudo apt-get install'时,不需要旧的版本
— Dragonborn

Answers:


23
  1. 在wsl中,sudo passwd将更改WSL根用户的密码。
  2. 在wsl中,passwd将更改当前WSL用户的密码
  3. 在wsl中,passwd [user]将更改任何WSL用户的密码
  4. 在wsl中,sudo通常要求输入当前WSL用户的密码。
  5. 在Windows cmd.exe中,您可以更改打开WSL时要登录的用户-如果该用户为root,则可以使用选项3。
    • 创作者更新及更早版本: lxrun /setdefaultuser [user]
    • 秋季创作者更新以及更高版本: ubuntu.exe config --default-user [user]

您可能要更改具有功能的sudo非root用户的密码。

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

可以在以下位置找到有关用户帐户和权限的 Microsoft官方文档:https : //msdn.microsoft.com/zh-cn/commandline/wsl/user_support


是的,我正在使用非root用户作为默认用户。这应该工作!谢谢。
— Dragonborn'7

lxrun /setdefaultuser不再工作:(
— nowox

lxrun /setdefaultuser [user]仍在Windows 10版本1709(秋季创作者更新)中工作
— hrvoj3e

注意:使用更改默认用户后,可能必须重新启动计算机ubuntu config --default-user [user]。我真的很困惑为什么它不起作用。重新启动计算机后,默认用户已更改。
— 亚历山大

我不得不关闭Ubuntu并重新启动ubuntu config --default-user [user]才能工作。
— Stefan Lasiewski

11

假定您在此说明中使用的是Ubuntu。

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

/ bin / bash /:配置:找不到命令
— systemovich

1
@systemovich-您需要ubuntu config ...从Windows命令提示符(cmd.exe)运行命令。要从那里打开bash shell,只需键入wsl并按Enter。要返回Windows命令提示符,请从WSL提示符处键入exit并按Enter键
— StingyJack

1
有一个更简单的方法。1.打开cmd.exe 2.键入wsl -u root 3.键入passwd username并更改密码4.键入exit 5.键入wsl 6.键入sudo echo h'确认新密码有效。
— bicole

5

有一个更简单的方法。

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

太棒了!
— Flynn

该方法更简单,答案更清晰,直接,并且效果很好
— Mickael V.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.