Linux отсутствует passwd запись для пользователя

Обновлено: 07.07.2024

Пароли и аутентификация – это понятия, с которыми сталкивается каждый пользователь, работающий в среде Linux. Данные темы охватывают ряд различных конфигурационных файлов и инструментов.

Данное руководство рассматривает некоторые базовые файлы, такие как «/etc/passwd» и «/etc/shadow», а также такие инструменты для настройки проверки подлинности, как команды «passwd» и «adduser».

Для демонстрации примеров используется выделенный сервер Ubuntu 12.04 , но любой современный дистрибутив Linux работает таким же образом.

Что такое файл «/etc/passwd»?

Для начала нужно рассмотреть файл под названием «/etc/passwd», который на самом деле не содержит паролей.

Когда-то этот файл хранил хешированные пароли всех пользователей в системе. Тем не менее, по соображениям безопасности позже эта ответственность была перенесена в отдельный файл.

Итак, что же находится в файле «/etc/passwd»?

less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
. . .

Первое, на что стоит обратить внимание: этот файл доступен для непривилегированных пользователей.

То есть, любой пользователь системы может читать данный файл. Вот почему все пароли были перенесены в другой файл.

Рассмотрим формат файла.

Чтение файла «/etc/passwd»

Каждая строка файла содержит информацию о входе всех пользователей системы. Некоторые из этих пользователей могут быть созданы для работы демонов и фоновых служб.

Чтобы объяснить, какая именно информация содержится в строках данного файла, нужно подробно рассмотреть одну строку.

Поля информации разделяются двоеточием (:). Каждая строка типичного Linux-файла «/etc/passwd» содержит 7 полей:

  1. Root: имя пользователя;
  2. х: место для информации о паролях; пароль можно найти в файле «/etc/shadow».
  3. 0: ID пользователя. Каждый пользователь имеет уникальный идентификатор, благодаря которому система распознает его. ID root-пользователя всегда 0;
  4. 0: ID группы. Каждая группа имеет уникальный идентификатор. По умолчанию у каждого пользователя есть главная группа. Опять же, ID root-группы всегда 0;
  5. root: поле для примечаний. Данное поле можно использовать для описания пользователя или его функций. Оно может содержать что угодно, начиная от контактной информации пользователя и заканчивая описанием сервисов, для которых была создана учетная запись;
  6. /root: домашний каталог. Для обычных пользователей домашним каталогом является «/home/username», для root-пользователя это «/root»;
  7. /bin/bash: оболочка пользователя. Данное поле содержит оболочку, которая будет создана, или команды, которые будут выполняться при входе пользователя в систему.

По мере добавления пользователей с помощью таких команд, как «adduser» и «useradd», или с установкой большего количества сервисов этот файл будет расти. Информация о новом пользователе будет добавлена в конце данного файла.

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

Что такое «/etc/shadow»?

Фактические данные о паролях хранятся в файле с именем «/etc/shadow».

Данный файл на самом деле не содержит паролей в виде простого текста. Вместо этого, он использует функцию выведения ключей для создания случайных данных. Вот что хранится в данном файле.

Функция выведения ключей – это алгоритм, создающий при вводе одних и тех же данных определенный хэш. Такой же алгоритм выполняется на пароль, который дается в процессе аутентификации, и это значение сравнивается со значением в этом файле.

Имейте в виду, данный файл, в отличие от файла «/etc/passwd», не доступен дл прочтения непривилегированными пользователями.

Пользователь root имеет привилегии читать и писать в файлах; группа «shadow», содержащая пользователей, которым необходима аутентификация, имеет права на чтение.

Чтение файла «/etc/shadow»

Чтобы открыть файл «/etc/shadow», введите:

sudo less /etc/shadow
root:$6$mJD3Rsj4$xUa7jru6EEGTXnhwTfTT26/j8M5XiQvUl6UH32cfAWT/6W9iSI5IuIw5OOw4khwrsOHPyMwfCLyayfYiVdhAq0:15952:0:99999:7.
daemon:*:15455:0:99999:7.
bin:*:15455:0:99999:7.
sys:*:15455:0:99999:7.
sync:*:15455:0:99999:7.
games:*:15455:0:99999:7.
man:*:15455:0:99999:7.
. . .

Как и в файле «/etc/passwd», каждая строка содержит информацию об отдельном пользователе, а каждое поле отделяется символом двоеточия.

Примечание: символ звездочки (*) во втором поле строк значит, что данная учетная запись не может войти в систему. Обычно это используется для сервисов.

Для примера можно рассмотреть одну строку данного файла:

Файл «/etc/shadow» содержит следующие поля:

  1. daemon: имя пользователя;
  2. *: соль и хешированный пароль; данное поле можно просмотреть, войдя как root. Как указано выше, звездочка значит, что данная учетная запись не может быть использована для входа в систему.
  3. 15455: последнее изменение пароля. Данное значение ограничивается датой начала «Unix-эпохи» (1 января 1970).
  4. 0: допустимое количество дней для смены пароля. 0 в данном поле значит, что таких ограничений нет.
  5. 99999: количество дней до необходимости смены пароля. Значение 99999 указывает на то, что ограничения на продолжительность использования одного пароля не установлены.
  6. 7: количество дней до предупреждения об истечении срока использования пароля. Если требуется сменить пароль, пользователь будет извещен о данной необходимости за указанное количество дней.
  7. [blank]: последние три поля нужны для того, чтобы указать количество дней до деактивации учетной записи. Последнее поле не используется.

Изменение пароля

Для изменения паролей пользователей используется команда «passwd».

По умолчанию данная команда изменяет пароль текущего пользователя и не требует особых привилегий.

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

sudo passwd username

Будет запрошен пароль для команды «sudo», затем можно будет ввести новый пароль и подтвердить его.

Если сравнить значение хэш в файле «/etc/shadow», можно увидеть, что после ввода команды passwd оно изменилось.

Создание нового пользователя

Нового пользователя можно создать при помощи нескольких команд.

Самый простой способ – использовать команду «adduser». В системах Ubuntu данная команда связана со скриптом «perl», который обрабатывает создание пользователя.

Команду можно вызвать следующим образом:

adduser demo
Adding user `demo' .
Adding new group `demo' (1000) .
Adding new user `demo' (1000) with group `demo' .
Creating home directory `/home/demo' .
Copying files from `/etc/skel' .
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for demo
Enter the new value, or press ENTER for the default
Full Name []: test
Room Number []: room
Work Phone []: work phone
Home Phone []: home phone
Other []: other
Is the information correct? [Y/n]

На данном этапе появится несколько вопросов, которые помогут внести необходимую информацию в файлы «/etc/passwd» и «/etc/shadow».

Можно просмотреть внесенную в файл «/etc/passwd» запись, введя:

tail -1 /etc/passwd
demo:x:1000:1000:test,room,work phoneme phone,other:/home/demo:/bin/bash

Как можно видеть, данная команда использует поле для примечаний в своих интересах. Остальные поля заполнены должным образом.

Можно запустить похожую команду для того, чтобы просмотреть изменения, внесенные в файл «/etc/shadow».

sudo tail -1 /etc/shadow
demo:$6$XvPCmWr4$HXWmaGSeU5SrKwK2ouAjc68SxbJgUQkQ.Fco9eTOex8232S7weBfr/CMHQkullQRLyJtCAD6rw5TVOXk39NAo/:15952:0:99999:7.

Итоги

При помощи этих простых инструментов можно изменить регистрационную информацию системы.

После внесения изменений важно проверить, можете ли вы войти в систему. Также необходимо проверить права на идентификационные файлы, чтобы сохранить функциональность сервера и обеспечить ему безопасность.

$ sudo chown -R $USER:$USER /var/www
выдает:
sudo: /etc/sudoers принадлежит пользователю с uid 1000, а должен принадлежать пользователю с uid 0
sudo: no valid sudoers sources found, quitting
sudo: не удаётся инициализировать модуль политики

Через наутилус то же ничего не выходит. Вечером выключал комп, все работало, утром вот такая оказия. есть бэкап от 9 февраля, запустил востановление, не помогло.

Пожалуйста помогите. Переустанавливать ОС, это как крайний вариант, хотелось бы востановить.
ОС Ubuntu 14.04 LTS

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Как востановить права на папку Var Ubuntu 14.0.4
Здравствуйте всем нахимичил с правами на папке var и нечайно поставил ей права 777 соответственно.


Права пользователя
Доброго времени суток. Решил поставить Ubuntu, но после установки обнаружил проблему: пользователь.

Изменить права на создаваемые файлы пользователя
Вобщем вопрос. При создании пользователем файла он создается с правами -rw-r--r--. Нужно чтобы.

попробуй "передобавить" себя в группу sudo. от имени su:
возможно, кстати, сначала стоит себя удалить из sudo грузиться в режим восстановления и возвращать файлу /etc/sudoers правильноого владельца

$ adduser grig sudo
adduser: Только суперпользователь может добавить пользователя или группу в систему.

Добавлено через 3 минуты

$ su -c "chown root:root /etc/sudoers; chmod 440 /etc/sudoers"
Пароль:
su: Сбой при проверке подлинности
если без кавычек:
grig@grig-SPN:

$ su -c chown root:root /etc/sudoers; chmod 440 /etc/sudoers
Отсутствует passwd-запись для пользователя «root:root»

ivanivanovich, забыл, что в ubuntu root "отключен"
загрузитесь с флешки/болванки с ubuntu в live-режиме
откройте терминал и в нем
ivanivanovich, забыл, что в ubuntu root "отключен"
загрузитесь с флешки/болванки с ubuntu в live-режиме
откройте терминал и в нем

$ sudo chown -R $USER:$USER /var
sudo: /etc/sudoers принадлежит пользователю с uid 1000, а должен принадлежать пользователю с uid 0
sudo: no valid sudoers sources found, quitting
sudo: не удаётся инициализировать модуль политики
.
Неужели переустанавливать.

$ adduser grig sudo
adduser: Только суперпользователь может добавить пользователя или группу в систему.

Добавлено через 3 минуты

to Cra3y
grig@grig-SPN:

$ su -c "chown root:root /etc/sudoers; chmod 440 /etc/sudoers"
Пароль:
su: Сбой при проверке подлинности
если без кавычек:
grig@grig-SPN:

$ su -c chown root:root /etc/sudoers; chmod 440 /etc/sudoers
Отсутствует passwd-запись для пользователя «root:root»

напиши в бубунте, а я посмотрю на результат
для root-а в файле /etc/shadow написано "!"
введешь пароль? напиши в бубунте, а я посмотрю на результат
для root-а в файле /etc/shadow написано "!"
введешь пароль?

$ su
Пароль:
su: Сбой при проверке подлинности
grig@grig-SPN:

ivanivanovich, предложение было не вам.
вам выше уже написали, что делать

$ sudo chown -R $USER:$USER /var
sudo: /etc/sudoers.d принадлежит пользователю с uid 1000, а должен принадлежать пользователю с uid 0
sudo: /var/lib/sudo принадлежит uid 1000, должен быть uid 0
[sudo] password for grig:

$ sudo
sudo: /etc/sudoers.d принадлежит пользователю с uid 1000, а должен принадлежать пользователю с uid 0
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
[command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
prompt] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
prompt] [-u user] file .
grig@grig-SPN:

Dmitry, похоже там было что то вроде sudo chown -R grig:grig / (а чо оно редактировать файлы запрещало)
ivanivanovich, снова грузимся с live-cd/flash и продолжаем фиксить

К сожалению этот идиот я и есть. (
Что делать дальше.
.
Ясно иду пробовать.

Добавлено через 17 минут
ubuntu@ubuntu:

$ sudo su -
root@ubuntu:

$ sudo
sudo: доступ на запись в /etc/sudoers.d разрешена всем
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
[command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
prompt] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
prompt] [-u user] file .

В Linux команда passwd используется для установки или изменения паролей учетных записей пользователей, в то время как при использовании этой команды иногда пользователи могут столкнуться с ошибкой: passwd: Authentication token manipulation error, как показано ниже.

В этой статье мы расскажем о различных способах исправления ошибки в системах Linux.

1. Перезагрузка системы

Первым основным решением является перезагрузка системы.

Я не могу сказать, почему это сработало, но это сработало для меня на моем CentOS 7.

Если это не удается, попробуйте следующие решения.

2. Установите правильные настройки модуля PAM

Другой возможной причиной ошибки является неправильный параметр PAM (Pluggable Authentication Module).

Это делает модуль неспособным получить введенный новый токен аутентификации.

Различные параметры для PAM находятся в /etc/pam.d/.

3. Перезапись раздела root

Вы также можете увидеть эту ошибку, если / partition установлен только для чтения, что означает, что файл не может быть изменен, поэтому пароль пользователя не может быть установлен или изменен.

4. Установите правильные разрешения в файле shadow

Неправильные разрешения на файл /etc/shadow, который хранит фактические пароли для учетных записей пользователей в зашифрованном формате, также могут вызвать эту ошибку.

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

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

5. Восстановление и исправление ошибок файловой системы.

Незначительные ошибки накопителя или файловой системы также могут вызвать ошибку.

Вы можете использовать инструменты для проверки диска Linux, такие как fsck, для исправления таких ошибок.

6. Освободите дисковое пространство

Кроме того, если ваш диск заполнен, вы не можете изменять какой-либо файл на диске, особенно когда размер файла должен увеличиваться.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Если вы не можете войти в систему Linux из-за того, что забыли пароль учётной записи пользователя, то не всё потеряно! Хотя этот пароль нельзя узнать (простыми методами), но его можно сбросить и заменить на новый, данная инструкция расскажет, что делать, если забыли пароль пользователя в Linux.

Как поменять пароль для пользователя Linux

Любые пользователи из группы администраторов (чей аккаунт входит в группу wheel) могут поменять пароль для любого другого пользователя – как для непривилегированных учётных записей, так и для других администраторов, в том числе для root’a. Т.е. если вы забыли пароль root, но помните пароль пользователя, имеющего право на выполнение команд с sudo, то пароль может восстановить командой passwd. Чтобы поменять пароль пользователя root выполните:


Чтобы поменять пароль любого пользователя выполните:

Где вместо имя_пользователя нужно подставить имя учётной записи пользователя Linux.

Что делать если забыт пароль от входа Linux

Если у вас нет других административных учёток и, забыв пароль учётной записи Linux, вы не можете войти в операционную систему, то для сброса пароля нам понадобиться однопользовательский режим.

В однопользовательском режиме для входа не спрашиваются учётные данные (логин, пароль), при этом вошедший обладает правами суперпользователя. В данном режиме, используя знакомую команду passwd, есть возможность задать новый пароль.

Алгоритм во всех дистрибутивах Linux схож:

  1. Прерывание работы загрузчика GRUB
  2. Добавление опции загрузки, включающей однопользовательский режим
  3. Возобновление загрузки
  4. Изменение пароля командой passwd
  5. Перезагрузка в обычном режиме

Обратите внимание, что изменения, внесённые на втором шаге (изменение опций загрузки), являются временными – действуют только на одну последующую загрузку. Поэтому при перезагрузке на пятом шаге не нужно ничего предпринимать – система включится в обычном режиме.

Для перемещения в конец строки и в начало строки (на втором шаге) используйте сочетания клавиш Ctrl+a и Ctrl+e.

Хотя алгоритм сброса пароля root схож, но в различных дистрибутивах могут быть свои нюансы, рассмотрим их подробнее.

Примечание для UEFI: Если у вас используется UEFI вместо GRUB, то смотрите также эту статью, в ней рассказано, как изменить опции загрузки в этом случае.

Кстати: если вы хотите защитить систему от смены пароля, описанного в этой статье, смотрите материал «Как защитить загрузчик GRUB паролем».

Сброс пароля в Linux Mint, Ubuntu, Debian, Kali Linux (также должно работать для других производных Debian)

Чтобы прервать загрузку GRUB (первый шаг) во время запуска компьютера нажмите и удерживайте клавишу SHIFT – это работает всегда, даже на Linux Mint, где по умолчанию показ меню GRUB отключён.

Остановите загрузку удерживая клавишу SHIFT при запуске компьютера, вы увидите:


Нажмите клавишу «e» и вы перейдёте к редактированию настроек загрузки:


На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux:


Перейдите в конец этой строки, поставьте пробел и допишите:

Должно получиться примерно так (номер ядра может отличаться):


Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

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


Командой passwd меняем пароль, как можно увидеть, команда passwd завершилась ошибкой:


Чтобы понять причину ошибки, введём команду:


Буквы ro говорят о том, что файловая система смонтирована только для чтения и по этой причине сделанные изменения не могут быть сохранены. Перемонтируем файловую систему:

Как видим, после этого смена пароля прошла успешно:


Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Как сбросить пароль в Arch Linux, BlackArch (а также в других производных Arch Linux)

Во время появления меню GRUB нажмите клавишу «a», чтобы остановить загрузку:


Затем нажмите «e» для перехода к редактированию параметров загрузки:


На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux.

Перейдите в конец этой строки, поставьте пробел и допишите:

Должно получиться примерно так:


Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

В Arch Linux файловая система по умолчанию монтируется с правами на запись. Поэтому можно сразу перейти к смене пароля с помощью команды

Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Сброс пароля в RHEL/CentOS 7

Кроме необходимости смонтировать файловую систему для запиши, в RHEL/CentOS 7 также имеется особенность, связанная с наличием SELinux.

Во время появления меню GRUB нажмите клавишу «a», чтобы остановить загрузку:


Затем нажмите «e» для перехода к редактированию параметров загрузки:


На экране отсутствует нужная нам строка, пролистните курсорными клавишами вниз и найдите строку, начинающуюся с linux16:


Найдите часть строки

Должно получиться примерно так:


Когда всё готово нажмите Ctrl+x или F10, чтобы загрузка продолжилась с установленными опциями.

Проверим права на запись:


Как можно убедиться, права на запись отсутствуют. Перемонтируем файловую систему с правами записи:

Пароль изменён, но дело ещё не закончено. Нам нужно переобозначить контекст SELinux. Если мы не выполним переобозначение всего контекста SELinux, мы не сможем войти используя новый пароль. Для этого:


Для выхода наберите:

Чтобы выключить компьютер выполните:

Или перезагрузите компьютер командой:

Что такое группа wheel в Linux

Применительно к компьютерам, термин wheel относится к учётным записям пользователя с битом wheel – системному параметру, который предоставляет дополнительные специальные системные привилегии, которые позволяют пользователю выполнять команды для служебного пользования, к которым обычные пользователи не могут получить доступ. Этот термин происходит от сленговой фразы big wheel (букв. «большое колесо»), отсылающего на человека с большой властью или влиянием. Он был впервые использован в этом контексте в отношении операционной системы TENEX, позже распространенной под названием TOPS-20 в 1960-х и начале 1970-х годов.

Этот термин был принят пользователями Unix в 1980-х годах из-за движения разработчиков операционной системы и пользователей от TENEX/TOPS-20 к Unix.

Современные системы Unix обычно используют группы пользователей в качестве протокола безопасности для управления правами доступа. Группа wheel – это особая группа пользователей, используемая в некоторых системах Unix для управления доступом к команде sudo, которая позволяет пользователю маскироваться как другой пользователь (обычно суперпользователь).

Что такое однопользовательский режим в Unix

Однопользовательский режим – это режим, в котором многопользовательская компьютерная операционная система загружается в одиночного суперпользователя. Этот режим в основном используется для обслуживания многопользовательских сред, таких как сетевые серверы. Для некоторых задач может потребоваться эксклюзивный доступ к общим ресурсам, например, запуск fsck в сетевом ресурсе. Этот режим также может использоваться в целях безопасности – сетевые службы не запускаются, что исключает возможность внешних помех. В некоторых системах потерянный пароль суперпользователя можно изменить, переключившись на однопользовательский режим. Поскольку при входе в этот решим не запрашивается никакой пароль, это можно рассматривать как уязвимость безопасности.

Unix-подобные операционные системы обеспечивают однопользовательский режим работы либо с помощью уровня выполнения в стиле System V, либо с загрузчиками в стиле BSD, либо с другими параметрами загрузки.

Уровень выполнения обычно изменяется с помощью команды init, уровень выполнения 1 или S будет загружаться в однопользовательский режим.

Параметры загрузчика могут быть изменены во время запуска перед выполнением ядра. В FreeBSD и DragonFly BSD он может быть изменен перед перезагрузкой системы с помощью команды nextboot -o "-s" -k kernel, и ее загрузчик предложит возможность загрузки в однопользовательском режиме. В Solaris команда

приведет к перезагрузке в однопользовательском режиме.

В GRUB 2 нельзя изменить пароль в однопользовательском режиме?

В официальной документации Red Hat мне встретилось утверждение, что в GRUB 2 больше не выполняется сброс пароля в однопользовательском режиме, как это было в GRUB. И что теперь для работы в однопользовательском режиме, а также в аварийном режиме требуется пароль рута. Возможно, это применимо только к последним версиям Red Hat Enterprise Linux, поскольку, как видно из этой инструкции и скриншотов, в GRUB 2 можно изменить пароль в однопользовательском режиме. В документации, на которую дана ссылка, описано два способа сброса пароля root в Red Hat Enterprise Linux на тот случай, если описанный здесь метод не сработал.


Роман Самборский / Shutterstock

Забудьте свой пароль пользователя подсистемы Windows для Linux, и вы попадете в петлю. Чтобы сбросить пароль… вам необходимо знать свой пароль. Вот как выбраться из этого цикла.

Заперт в бесконечной петле

При первом запуске недавно установленного дистрибутива Linux под WSL вас просят указать имя пользователя и пароль. Это ваш пароль пользователя. В обычной установке Linux вас просят ввести пароль каждый раз, когда вы входите в систему. Однако при использовании WSL ваш пользователь входит в систему автоматически, и вы попадаете прямо в командную строку Linux.

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

Это может не показаться такой неудачей, потому что, в конце концов, вы автоматически входите в систему. Проблема становится очевидной, когда вы пытаетесь получить доступ к файлам, которые не находятся в вашем домашнем каталоге, или установить программное обеспечение, или выполнить административные действия, такие как создание и управление другими пользователями.

Для этого вам нужно использовать команду sudo. В Linux вы подтверждаете, что имеете право использовать команду sudo, указав свой пароль.

Если вы используете sudo с командой passwd, вы можете изменить пароль для любого пользователя, независимо от того, знаете ли вы его пароль или нет. Это звучит как решение, но нам все еще мешают, потому что для использования команды sudo вам необходимо знать свой пароль. Это начинает ощущаться как уроборос и Словить 22 комбинированный.

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

Сброс с помощью исполняемого файла Linux

Нам нужно определить исполняемый файл для дистрибутива Linux, который вы используете с WSL. В Windows 10 он будет в этом каталоге:

c: user AppData Local Microsot WindowsApps

Замените « » именем своей учетной записи пользователя Windows. В командной строке Windows смените каталог на это место и введите «dir».

dir в командном окне

Исполняемый файл должен быть легко идентифицирован. На этой тестовой машине мы установили Ubuntu 20.04, и очевидно, что нам нужен файл «ubuntu2004.exe».

Мы запустим сеанс Ubuntu, но скажем ему войти в систему как пользователь root вместо учетной записи пользователя, которую вы создали при установке дистрибутива Linux.



Если потребуются дополнительные доказательства, мы можем использовать команду whoami.


Итак, мы определенно вошли в систему как root. Мы можем пойти дальше и сбросить пароль пользователя по умолчанию. Команда passwd запросит у вас новый пароль, а затем попросит ввести его второй раз. Ни один из них не будет эхом отражаться на экране. Пароль, который мы меняем, принадлежит пользователю «dave».


Убедитесь, что вы помните новый пароль. Мы выйдем из сеанса Ubuntu и вернемся в командную строку Windows.


Чтобы проверить наш новый пароль, нам нужно запустить новый сеанс Ubuntu и сбросить учетную запись обычного пользователя в качестве учетной записи по умолчанию.


Сеанс начинается, и мы вошли в систему как обычный пользователь с нашей обычной цветной командной строкой.


Чтобы доказать, что наш пароль был изменен, мы воспользуемся командой sudo для команды. Команда, которую мы используем, не имеет значения, важно то, что мы используем sudo. Мы воспользуемся командой ps, чтобы перечислить некоторые процессы.


Вам будет предложено ввести пароль, который вы создали, когда использовали команду passwd от имени пользователя root. Пароль должен быть принят, и команда должна быть запущена за вас.

Сброс с помощью команды wsl

Мы можем сделать то же самое с помощью команды WSL. В нашем тестировании мы получили противоречивые результаты, но, возможно, вам повезет больше, чем нам. Это более короткий метод, поэтому вы можете сначала попробовать его, а если он не сработает, попробуйте более длинный метод, который мы показали вам выше.

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

wsl --user root в командном окне

Начнется сеанс Linux. Вы войдете в систему как root. Вы можете проверить это с помощью команды whoami.


Чтобы сбросить забытый пароль пользователя, используйте команду passwd и укажите имя учетной записи пользователя.


Вас дважды попросят ввести новый пароль. Так и должно быть.

Если вы выйдете из этого сеанса и начнете новый сеанс, вы снова войдете в систему как обычную учетную запись по умолчанию, и у вас будет новый пароль.

Хватит жевать хвост

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

Читайте также: