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


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

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

Как я могу восстановить пароль?


132
2018-05-13 22:19


происхождения


Какой пароль вы потеряли точно? Ваш пароль учетной записи Windows? - David Foerster
примером «загрузки» может быть загрузка в однопользовательский режим, установив ядро ​​cmdline в «single» через grub. Для любопытных. - kevinf


ответы:


  • Бег bash и запишите свое имя пользователя Linux (это не соответствует вашему имени пользователя Windows), см. Как узнать свое имя пользователя?
  • Закройте Bash на Ubuntu, если он запущен (или сбой следующей команды).
  • В командной строке администратора Windows (Супер+Икс, ) измените пользователя по умолчанию на root:

    ubuntu config --default-user root
    

Если вы используете Ubuntu 18.04 в WSL, команда изменилась на ubuntu1804 , так

ubuntu1804 config --default-user root
  • Теперь Bash на Ubuntu на Windows регистрирует вас как root без запроса пароля
  • использование passwd команду в Bash изменить пароль пользователя (пользователь, пароль которого вы хотите сбросить):

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

    ubuntu config --default-user  your_username
    

Если вы используете Ubuntu 18.04 в WSL, команда изменилась на ubuntu1804 , так

ubuntu1804 config --default-user your_username

Смотреть полное видео для восстановления пароля Windows Subsystem Linux https://youtu.be/dTR232yvDCE 

Примечание 1: Подсистемой, используемой в видео, является не Ubuntu, а Kali Linux. Отсюда разница в команде.

Примечание 2. Если вы все еще используете оригинальную подсистему Ubuntu, которая поставляется с обновлением Anniversary Update, используйте команду lxrun, Рекомендуется обновить версию подсистемы, распространяемую через Microsoft Store.)


243
2017-08-05 10:02



lxrun для бета-версии WSL. Если вы устанавливаете ubuntu из магазина приложений, команда ubuntu config --default-user root, - Endy Tjahjono
Да, это альтернативный способ, но я получил ошибку: Failed to set default user to: root, - Kirby
@Kirby: вы должны выйти из оболочки WSL перед запуском команды в командной строке Windows. - dr01
Я попробовал «ubuntu config --default-user root» и получил сообщение об ошибке: «ubuntu не распознается как внутренняя или внешняя команда, операционная программа или командный файл», - Indominus
Я продолжал получать Error: 0x80070057 The parameter is incorrect, поэтому я закончил с помощью @ dr01 's cue и запустил ubuntuв PowerShell, то logout, затем снова настроил пользователя по умолчанию. успех - skia.heliou


Вышеуказанное не сработало. Даже после изменения пользователя по умолчанию 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. снова начать баш
  5. sudo bash
  6. пароль это потребует вашего нового пароля, не требуя предыдущего.

27
2018-05-13 15:59



это работает, но официальный каталог теперь похож на% localappdata% \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs \ etc \ shadow - Mauro Destro
Это лучший ответ безусловно, Чтобы найти путь к вашему shadow файл, вы можете использовать эту мерзость PowerShell: Get-ChildItem -Path C:\ -Filter shadow -Recurse -ErrorAction SilentlyContinue -Force которая является безумно верной версией find /mnt/c/ -name shadow как в исполнении, так и в результатах. Нет необходимости в повышенных привилегиях для редактирования файла, но убедитесь, что ваше окно bash закрыто, прежде чем вы это сделаете. - Russ
Это победитель! Работал отлично, когда первый ответ не сделал. - Kim
Принятый ответ получил меня «Ошибка: 0x80070057 Параметр неверный.». (и нет, консоль не находилась в унаследованном режиме). Это работало беспрепятственно; - Cristi Diaconescu
попробуйте найти lxss, но он говорит: Windows can't find 'C:\Users\longnx\AppData\Local\lxss'. Check the spelling and try again. - Luke


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

# 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

21
2018-06-06 23:52