Сбросить пароль в Linux Bash в Windows

105

Я установил Linux Bash в Windows 10 (который доступен в последнем обновлении от Microsoft), но я давно забыл пароль.

Я проверил множество веб-сайтов, и все, что он говорит, это пройти через параметр загрузки, где он не будет работать в этом случае, поскольку это система Windows.

Как мне восстановить пароль?

    
задан Maheedhar K V 13.05.2016 в 22:19
источник

3 ответа

196
  1. Запустите bash и запишите свое имя пользователя Linux (это не соответствует вашему имени пользователя Windows), см. Как я могу найти из моего имени пользователя?
  2. В командной строке администратора Windows ( Super + X , A ) измените пользователя по умолчанию на root:

    ubuntu config --default-user root
    
  3. Теперь Bash на Ubuntu в Windows регистрирует вас как root без запроса пароля

  4. Используйте команду passwd в Bash, чтобы изменить пароль пользователя (пользователь, пароль которого вы хотите сбросить):

    passwd your_username
    
  5. Измените пользователя по умолчанию на обычного пользователя в командной строке Windows

    ubuntu config --default-user  your_username
    
ответ дан Tmu 05.08.2016 в 10:02
13

Чтобы добавить к ответу Tmu, вот сценарий Powershell ( gist ), который автоматизирует процесс (включая автоматическое обнаружение текущего имя пользователя по умолчанию)

# 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 06.06.2017 в 23:52
12

Вышеуказанное не сработало. Даже после изменения пользователя по умолчанию bash всегда открывался моим пользователем. Так что это сработало:

  1. изменить файл (в блокноте или блокноте ++):

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. найдите своего обычного пользователя, например:

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

    и просто удалите хэш-часть (ниже части)

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    вы увидите другой хеш - надеюсь :), так должно выглядеть:

    user1::17299:0:99999:7:::
    
  3. Сохраните файл

  4. снова запустить bash
  5. sudo bash
  6. пароль это потребует вашего нового пароля, не требуя предыдущего.
ответ дан Vladimir Jirasek 13.05.2017 в 15:59