Setzen Sie das Passwort in Linux Bash in Windows zurück

127

Ich habe die Linux Bash unter Windows 10 installiert (die im letzten Update von Microsoft verfügbar ist), aber es ist lange her, dass ich mein Passwort vergessen habe.

Ich habe viele Websites überprüft und alles, was es sagt, ist, die Boot-Option zu durchlaufen, wo es in diesem Fall nicht funktioniert, da dies Windows-System ist.

Wie kann ich mein Passwort zurücksetzen?

    
Maheedhar K V 14.05.2016, 00:19
quelle

3 Antworten

234
  • Führen Sie bash aus und notieren Sie sich Ihren Linux-Benutzernamen (dieser muss nicht mit Ihrem Windows-Benutzernamen übereinstimmen), siehe Wie finde ich? meinen Benutzernamen aus?
  • Schließe Bash auf Ubuntu, wenn es ausgeführt wird (oder der nächste Befehl fehlschlägt).
  • Ändern Sie in der Windows-Eingabeaufforderung ( Super + X , A ) den Standardbenutzer in root:

    ubuntu config --default-user root
    

Wenn Sie Ubuntu 18.04 in WSL verwenden, hat sich der Befehl in ubuntu1804 geändert, also

ubuntu1804 config --default-user root
  • Now Bash auf Ubuntu unter Windows meldet Sie als root an, ohne nach dem Passwort zu fragen
  • Verwenden Sie den Befehl passwd in Bash, um das Benutzerpasswort (den Benutzer, dessen Passwort Sie zurücksetzen möchten) zu ändern:

    passwd your_username
    
  • Ändern Sie den Standardbenutzer in der Windows-Eingabeaufforderung zurück zu Ihrem normalen Benutzer

    ubuntu config --default-user  your_username
    

Wenn Sie Ubuntu 18.04 in WSL verwenden, hat sich der Befehl in ubuntu1804 geändert, also

ubuntu1804 config --default-user your_username

Sehen Sie sich das vollständige Video an, um Ihr Passwort wiederherzustellen. Windows Subsystem Linux Pfandrecht

Hinweis 1: Das im Video verwendete Subsystem ist nicht Ubuntu, sondern Kali Linux. Daher der Unterschied im Befehl.

Hinweis 2: Wenn Sie immer noch das ursprüngliche Ubuntu-Subsystem verwenden, das mit dem Anniversary Update geliefert wurde, verwenden Sie den Befehl lxrun . Ein Upgrade auf die über Microsoft Store vertriebene Subsystemversion wird empfohlen.)

    
Tmu 05.08.2016 12:02
quelle
23

Das obige hat nicht funktioniert. Auch nach dem Ändern des Standardbenutzers hat sich die Bash immer mit meinem Benutzer geöffnet. Also, das hat funktioniert:

  1. Datei bearbeiten (in Notepad oder Notepad ++):

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. finde deinen normalen Benutzer, zum Beispiel:

    user1:$jsdjksadgfhsdf.saflsdf.sadf.safd:17299:0:99999:7:::
    

    und entfernen Sie einfach den Hash-Teil (unter dem Teil)

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    Sie werden einen anderen Hash sehen - ich hoffe :), sollte also so aussehen:

    user1::17299:0:99999:7:::
    
  3. Speichern Sie die Datei

  4. start bash wieder
  5. sudo bash
  6. Passwort Dies wird nach Ihrem neuen Passwort fragen, ohne dass Sie ein neues benötigen.
Vladimir Jirasek 13.05.2017 17:59
quelle
21

Um Tmus Antwort hinzuzufügen, gibt es hier ein Powershell-Skript ( gist ), das den Prozess automatisiert (einschließlich der automatischen Erkennung des aktuellen Problems) Standardbenutzername)

# Resets the password for the default LXSS / WSL bash user
$lxssUsername = (Get-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss).DefaultUsername
lxrun /setdefaultuser root
bash -c "passwd $lxssUsername"
lxrun /setdefaultuser $lxssUsername
    
Richard Szalay 07.06.2017 01:52
quelle