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

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

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

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

292
задан 11 October 2018 в 10:59

6 ответов

  • Запустите bash и запишите свое имя пользователя Linux (оно не обязательно должно совпадать с именем пользователя Windows), см. Как я могу узнать свое имя пользователя?
  • Закройте Bash в Ubuntu, если он запущен (или следующая команда завершится ошибкой).
  • В командной строке администратора Windows ( Super + X , A ]) измените пользователя по умолчанию на 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 Linux https://youtu.be/dTR232yvDCE

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

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

413
ответ дан 11 October 2018 в 20:59

Изменить Это больше не работает, если у вас установлен дистрибутив WSL, установленный в магазине.

Чтобы добавьте к ответу 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
28
ответ дан 11 October 2018 в 20:59
  • 1
    Here' s, что я получаю при попытке установить gdm: Пакет gdm не доступен, но упомянут другим пакетом. Это может означать, что пакет отсутствует, был obsoleted или только доступен из другого источника Однако, следующие пакеты заменяют его: cinnamon-control-center-data – Damon 26 October 2017 в 20:43

В Windows PowerShell ( Super + X , i ) вы можете войти в корневую учетную запись Ubuntu с помощью

wsl --user root

Затем измените пароль, как обычно, то есть для текущего пользователя (который является root) на

passwd

или для другого пользователя с

passwd username

, который интерактивно запрашивает у вас новый пароль (дважды). Права администратора Windows не требуются.

Если в WSL установлено более одного дистрибутива,затем вы можете указать имена установленных дистрибутивов с помощью

wsl -l

, а затем использовать имя дистрибутива, чтобы указать, в какой дистрибутив вы хотите войти, например, чтобы войти в Ubuntu 20.04:

wsl -d Ubuntu-20.04 --user root
71
ответ дан 29 September 2019 в 16:06

Для тех из вас, кто потерял пароль root, то, что сработало для меня, обновлялся до Ubuntu 18.04 LTS через Магазин Windows. Обратите внимание, в магазине Windows есть два разных варианта:

  1. Ubuntu
  2. Ubuntu 18.04 LTS ( Выберите этот )

Чтобы проверить текущую версию, запустите следующее от имени любого пользователя:

В командной строке введите:

cat /etc/*release

Вы должны увидеть строку в выводе, которая гласит:

DISTRIB_RELEASE=16.01

Если вы это видите, то определенно обновите до 18.04 , и вам будет предложено создать новые учетные данные UNIX .

0
ответ дан 29 September 2019 в 16:06

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

Вместо этого я сделал это, что сработало:

  1. Отредактируйте этот файл (в блокноте или блокноте ++):

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

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

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

     $ jsdjksadgfhsdf.saflsdf.sadf.safd
     

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

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

  4. Снова запустите Bash с правами root и установите пароль

      sudo bash
      passwd <имя-пользователя>
     

    Теперь вы можете установить новый пароль, не вводя предыдущий.

73
ответ дан 22 November 2019 в 22:44

Мне нужно было сбросить пароль также в моей Windows 10, у меня есть WLS 1

1- Проверьте свое имя linux / ubuntu, указав папку:

%userprofile%\AppData\Local\Microsoft\WindowsApps

В моем случае Я нашел Ubuntu1604.exe , поэтому я буду использовать имя ubuntu1604 как имя для следующего шага.  list files in: %userprofile%\AppData\Local\Microsoft\WindowsApps

2- Откройте CMD с правами администратора и запустите (вы ничего не получите взамен):

ubuntu1604 config --default-user root

3- Запустите WSL, убедитесь, что у вас есть права root, или запустите whoami (вам нужно быть root) и изменить свой пароль с помощью:

passwd [your-linux-username]

4- Закройте WSL и вернитесь в окно CMD и верните свое имя пользователя linux по умолчанию:

ubuntu1604 config --default-user [your-linux-username]

5- Снова запустите WSL / Ubuntu / AnotherLinux, проверьте и наслаждайтесь.

2
ответ дан 22 November 2019 в 22:44

Другие вопросы по тегам:

Похожие вопросы: