web-dev-qa-db-fra.com

Réinitialiser le mot de passe dans Ubuntu / Linux Bash sous Windows

J'ai installé Linux Bash sur Windows 10 (disponible auprès de Microsoft), mais j'ai oublié mon mot de passe.

J'ai cherché une solution, mais je ne trouve que des suggestions qui impliquent de faire quelque chose avant que le système ne démarre, comme accéder au mode de récupération, mais cela ne fonctionnera pas dans ce cas car Ubuntu n'est qu'une application dans un système Windows et n'a pas son propre processus de démarrage.

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

173
Maheedhar K V
  • Exécutez bash et notez votre nom d'utilisateur Linux (il ne doit pas nécessairement correspondre à votre nom d'utilisateur Windows), voir Comment puis-je trouver mon nom d'utilisateur?
  • Fermez Bash sous Ubuntu s’il est en cours d’exécution (sinon la prochaine commande échouera).
  • Dans l'invite de commande d'administration Windows (Super+XA) 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é changée en 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
    
  • Redéfinissez l'utilisateur par défaut sur votre utilisateur normal dans l'invite de commande Windows

    ubuntu config --default-user  your_username
    

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

ubuntu1804 config --default-user your_username

Regardez la vidéo complète pour récupérer votre mot de passe Sous-système Windows Linux https://youtu.be/dTR232yvDCE

Remarque 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.)

303
Tmu

Ce qui précède n'a pas fonctionné. Même après avoir changé d'utilisateur par défaut, Bash a toujours ouvert avec mon utilisateur.

Alors au lieu de cela, j'ai fait ceci, qui a fonctionné:

  1. Editez ce fichier (dans Notepad ou Notepad ++):

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

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

    et retirez simplement la partie de hachage (en dessous)

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

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

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

  4. Redémarrez Bash avec les privilèges root et définissez votre mot de passe

     Sudo bash
     passwd <your-user-name> 
    

    Vous pouvez maintenant définir un nouveau mot de passe sans avoir à entrer le précédent.

45
Vladimir Jirasek

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

# 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
25
Richard Szalay

Pour ceux d'entre vous qui ont perdu le mot de passe root, ce qui a fonctionné pour moi a été la mise à jour vers Ubuntu 18.04 LTS via le Windows Store. Notez que le Windows Store a deux options distinctes:

  1. Ubuntu
  2. Ubuntu 18.04 LTS (Choisissez celui-ci)

Pour vérifier votre version actuelle, exécutez ce qui suit en tant qu'utilisateur:

cat /etc-*release

Vous devriez voir une ligne dans la sortie qui dit:

DISTRIB_RELEASE=16.01

Si vous voyez cela, mettez à jour définitivement vers 18.04 et vous serez invité à créer de nouvelles informations d'identification UNIX.

0
Janac Meena