Raspbian по умолчанию настроен таким образом, что в учетную запись root невозможно войти, используя пароль. Это делается, начиная с записи, в /etc/password
которой начинается:
root:x:0:0:
Поля разделены двоеточиями и объяснены в man 5 passwd
(обратите внимание на 5
, так man passwd
как даст вам страницу руководства для команды passwd
; раздел 5 для файлов конфигурации, и в этом случае они имеют одинаковое имя). Здесь первый - name ( root
), третий и четвертый - числовые uid и gid (оба 0
), а второй - для пароля. Для большинства записей это будет означать x
, что фактический пароль находится в другом файле /etc/shadow
.
Обратите внимание, что «настоящий пароль» нигде не хранится. В нем хранится shadow
однонаправленный хэш действительного пароля. Односторонний хэш - это результат процесса, который всегда будет производить одно и то же (что позволяет подтвердить ваш пароль), но необратим. Другими словами, если кто-то попадает в руки shadow
, нет способа вывести пароль из хэша. Однако, если они могут изменить shadow
, очевидно, что они могут отключить или изменить то, что будет работать в качестве пароля. Но они никогда не смогут узнать ваши пароли. Вот почему даже root
не может этого сделать (хотя root всегда может изменить их на что-то другое, не требуя оригинала).
В случае root запись in shadow
начинается следующим образом, как и для большинства других системных учетных записей:
root:*:
*
Не указывает на наличие в настоящее время возможно пароль , который можно было бы использовать для этой учетной записи.
Привилегированный пользователь может изменить это, однако, используя passwd
команду , чтобы установить новый пароль, который заменит *
с хэш уже упоминалось ранее (это всегда начинаются , $n$
где n
некоторая случайная величина , которая используется как «соль» для хэша, но вы не не нужно это понимать).
В любом случае, когда я настраиваю карту из свежего изображения, первое, что я делаю, это захожу /etc/passwd
и удаляю x
запись root, поэтому теперь начинается:
root::0:0
Обратите внимание, что теперь нет второго поля. Это означает, что пароля нет, и все, что вам нужно сделать, это набрать root
в приглашении для входа в систему, и вы вошли как root
. Затем вы можете использовать, passwd
чтобы установить один.
Итак, у вас есть два варианта здесь, но они оба требуют, чтобы вы вынули карту из pi и получили доступ ко второму разделу из другой системы (которая может читать / записывать разделы ext4).
Восстановление sudoers
. Если у вас есть эталонное изображение, это легко, вы можете просто вернуть его на место, заменив его. В противном случае это более сложный вариант, так как вы должны знать, что вы делаете (и ваш послужной список sudoers
не так хорош ...).
Отредактируйте /etc/passwd
и удалите его, x
как описано выше, вставьте карту обратно, войдите как root
, создайте пароль. Конечно, вам все равно придется исправить sudoers
, но проб и ошибок будет легче, так как если вы действительно root
, вы всегда сможете получить к нему доступ.
Если у вас нет системы, которая может обращаться к файловым системам ext4 («живой CD» Debian здесь хороший выбор), то вы застряли. Вам придется перепрошить карту и начать заново.