Как мне восстановить или узнать забытый пароль от терминала?

Я хочу использовать команду sudo, но меня запрашивают пароль. Я предполагал, что это пароль от блокировки, но он не подходит. Также пароль от учетной записи не срабатывает. Как мне узнать, что это за пароль и где его можно найти в WSL?
  • 4 февраля 2025 г. 14:24
Ответы на вопрос 1
Если вы забыли пароль для вашей учетной записи в Windows Subsystem for Linux (WSL), то стоит иметь в виду, что WSL обычно использует учетные данные, которые сохранил Windows. Существует несколько подходов к решению данной проблемы:

### 1. Сброс пароля через учетную запись

В WSL пароль обычно установлен при первом запуске дистрибутива. Если пароль для `sudo` не срабатывает, вы можете попробовать восстановить пароль через специальное окружение (например, через более низкоуровневую среду boot). Однако в WSL это сложнее сделать, чем в полноценной системе Linux.

### 2. Сброс пароля в WSL

Существует способ сбросить пароль, запустив WSL в режиме root:

1. **Откройте PowerShell или командную строку от имени администратора.**
2. **Запустите ваш дистрибутив WSL с параметром для выполнения команд от имени root:**
   ```
   wsl -d <Имя_вашего_дистрибутива> --user root
   ```
   Замените `<Имя_вашего_дистрибутива>` на наименование вашей инсталляции (например, Ubuntu).

3. **Смените пароль учетной записи:**
   После выполнения вышеуказанной команды вы окажетесь в shell как пользователь root. Теперь вы можете изменить пароль для вашего пользователя с помощью команды:
   ```
   passwd <Имя_вашего_пользователя>
   ```
   Замените `<Имя_вашего_пользователя>` на ваш действительный логин.

4. **Закройте WSL и перезапустите его:**
   Введите `exit` для выхода из режима root. Теперь вы должны иметь возможность войти с новым паролем.

### 3. Деактивация пароля для sudo

Если вам не нужен пароль для выполнения команд `sudo`, вы можете изменить файл `/etc/sudoers`:

1. Выполните те же шаги, чтобы открыть WSL как root.
2. Откройте файл `/etc/sudoers` с помощью текстового редактора:
   ```
   visudo
   ```
3. Найдите строку, которая выглядит примерно так:
   ```
   %sudo ALL=(ALL:ALL) ALL
   ```
4. Измените её на:
   ```
   %sudo ALL=(ALL:ALL) NOPASSWD: ALL
   ```
5. Сохраните изменения и выйдите.

После этого, команды `sudo` не будут запрашивать пароль.

### Заключение

Описанные шаги помогут вам восстановить доступ к вашему дистрибутиву WSL, изменив пароль. Если вы хотите, чтобы `sudo` не требовал пароль, вы можете также воспользоваться последним шагом.
Похожие вопросы