Réinitialiser le mot de passe sous Linux Bash sous Windows

127

J'ai installé Linux Bash sur Windows 10 (qui est disponible dans la mise à jour récente de Microsoft), mais il m’a tardé à oublier mon mot de passe maintenant.

J'ai vérifié de nombreux sites Web et tout ce qui est dit est de passer par l'option de démarrage où cela ne fonctionnera pas dans ce cas car il s'agit d'un système Windows.

Comment puis-je réinitialiser mon mot de passe?

    
posée Maheedhar K V 14.05.2016 - 00:19
la source

3 réponses

234
  • Exécutez bash et notez votre nom d'utilisateur Linux (cela ne doit pas nécessairement correspondre à votre nom d'utilisateur Windows), consultez Comment puis-je trouver mon nom d'utilisateur?
  • Fermez Bash sur Ubuntu s'il est en cours d'exécution (ou la prochaine commande échouera).
  • À l'invite de commande de l'administrateur Windows ( Super + X , A ), changez l'utilisateur par défaut en root:

    ubuntu config --default-user root
    

Si vous utilisez Ubuntu 18.04 dans WSL, la commande a été remplacée par ubuntu1804 , donc

ubuntu1804 config --default-user root
  • Maintenant, Bash sur Ubuntu sous Windows vous connecte en tant que root sans demander de mot de passe
  • Utilisez la commande passwd dans Bash pour modifier le mot de passe de l'utilisateur (l'utilisateur dont vous souhaitez réinitialiser le mot de passe):

    passwd your_username
    
  • Remplacez l'utilisateur par défaut par votre utilisateur habituel dans l'invite de commande Windows

    ubuntu config --default-user  your_username
    

Si vous utilisez Ubuntu 18.04 dans WSL, la commande a été remplacée par ubuntu1804 , donc

ubuntu1804 config --default-user your_username

Regardez la vidéo complète pour récupérer votre mot de passe Windows Subsystem Linux lien

Note 1: Le sous-système utilisé dans la vidéo n'est pas Ubuntu, mais Kali Linux. D'où la différence dans la commande.

Remarque 2: Si vous utilisez toujours le sous-système Ubuntu d'origine fourni avec la mise à jour d'anniversaire, utilisez la commande lxrun . La mise à niveau vers la version du sous-système distribuée via Microsoft Store est recommandée.

    
réponse donnée Tmu 05.08.2016 - 12:02
la source
23

Ce qui précède n'a pas fonctionné. Même après avoir changé d'utilisateur par défaut, le bash est toujours ouvert avec mon utilisateur. Donc, à la place, cela a fonctionné:

  1. modifier le fichier (dans le bloc-notes ou le notepad ++):

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. recherchez votre utilisateur normal, par exemple:

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

    et retirez simplement la partie hachée (ci-dessous)

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    vous verrez un hash différent - j'espère :), devrait donc ressembler à:

    user1::17299:0:99999:7:::
    
  3. Enregistrer le fichier

  4. recommencez bash
  5. sudo bash
  6. mot de passe Cela vous demandera votre nouveau mot de passe sans nécessiter le précédent.
réponse donnée Vladimir Jirasek 13.05.2017 - 17:59
la source
21

Pour ajouter à la réponse de Tmu, voici un script Powershell ( liste générale ) qui automatise le processus (y compris la détection automatique du courant). nom d'utilisateur par défaut)

# 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
    
réponse donnée Richard Szalay 07.06.2017 - 01:52
la source

Lire d'autres questions sur les étiquettes