Reimposta la password in Linux Bash in Windows

128

Ho installato Linux Bash su Windows 10 (che è disponibile nel recente aggiornamento di Microsoft), ma è passato molto tempo che mi è capitato di dimenticare la mia password adesso.

Ho controllato molti siti Web e tutto ciò che dice è di passare attraverso l'opzione di avvio in cui non funzionerà in questo caso poiché si tratta di un sistema Windows.

Come posso ripristinare la mia password?

    
posta Maheedhar K V 14.05.2016 - 00:19

3 risposte

236
  • Esegui bash e prendi nota del tuo nome utente Linux (questo non deve corrispondere al tuo nome utente Windows), vedi Come posso trovare il mio nome utente?
  • Chiudi Bash su Ubuntu se è in esecuzione (o il prossimo comando fallirà).
  • Nel prompt dei comandi di amministrazione di Windows ( Super + X , A ) cambia l'utente predefinito in root:

    ubuntu config --default-user root
    

Se stai utilizzando Ubuntu 18.04 in WSL, il comando è cambiato in ubuntu1804 , quindi

ubuntu1804 config --default-user root
  • Ora Bash su Ubuntu su Windows ti collega come root senza chiedere la password
  • Utilizza il comando passwd in Bash per modificare la password dell'utente (l'utente di cui desideri reimpostare la password):

    passwd your_username
    
  • Cambia l'utente predefinito nel tuo normale utente nel prompt dei comandi di Windows

    ubuntu config --default-user  your_username
    

Se stai utilizzando Ubuntu 18.04 in WSL, il comando è cambiato in ubuntu1804 , quindi

ubuntu1804 config --default-user your_username

Guarda il video completo per recuperare la tua password Sottosistema di Windows Linux link

Nota 1: il sottosistema utilizzato nel video non è Ubuntu, ma Kali Linux. Da qui la differenza nel comando.

Nota 2: Se si sta ancora utilizzando il sottosistema Ubuntu originale fornito con l'Aggiornamento Anniversario, utilizzare il comando lxrun . Si consiglia di eseguire l'aggiornamento alla versione del sottosistema distribuita tramite Microsoft Store.)

    
risposta data Tmu 05.08.2016 - 12:02
24

Quanto sopra non ha funzionato. Anche dopo aver cambiato utente predefinito, la bash si apriva sempre con il mio utente. Così invece ha funzionato:

  1. modifica file (in notepad o notepad ++):

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. trova il tuo utente normale, ad esempio:

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

    e rimuovi semplicemente la parte hash (sotto la parte)

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    vedrai un hash diverso, spero :), quindi dovrebbe essere simile a:

    user1::17299:0:99999:7:::
    
  3. Salva il file

  4. inizia di nuovo a bash
  5. sudo bash
  6. Password questo richiederà la tua nuova password senza richiedere quella precedente.
risposta data Vladimir Jirasek 13.05.2017 - 17:59
21

Per aggiungere alla risposta di Tmu, ecco uno script Powershell ( gist ) che automatizza il processo (incluso il rilevamento automatico della corrente nome utente predefinito)

# 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
    
risposta data Richard Szalay 07.06.2017 - 01:52

Leggi altre domande sui tag