Raspbian root пароль по умолчанию

16

Я попытался изменить файл sudoers на Raspbian /etc/sudoers, и похоже, что я допустил ошибку, так как не могу изменить его снова. Я также не могу вызвать любую команду, которая требует sudoразрешения. Итак, я провел некоторое исследование и нашел решение здесь .

Решение использует команду *pkexec visudo*, но когда я попробовал , что это дает мне сообщение об ошибке: Authentication is needed to run '/usr/sbin/visudo' as the super user. Также есть выпадающий список, он содержит только слово «корень» (и не может быть изменен). А также с именем Identity и пустым текстовым полем с именем Password.

Итак, вопрос в том, как я могу узнать пароль пользователя root? Я пробовал «root», «raspberry», «admin» и т. Д., Но ничего не помогло.

Судя по ответам, вход в систему с использованием root кажется немного невозможным, тогда использование pkexec visudo не решит мою проблему! и, согласно ответу, мой единственный способ - использовать Linux-компьютер, чтобы просмотреть содержимое моего sd и изменить файл sudoers. Я уже установил Debian на свою виртуальную машину, и, наконец, я могу получить доступ к файлу sudoers, но у меня нет прав доступа к нему! это говорит о том, что я не владелец файла! Я понимаю эту проблему безопасности, но так как многие люди во время моего онлайн-поиска предлагают использовать Linux-компьютер для изменения файла sudoers, то должен быть способ получить к нему доступ. кто-нибудь знает такой способ?

Дани
источник

Ответы:

15

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).

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

  2. Отредактируйте /etc/passwdи удалите его, xкак описано выше, вставьте карту обратно, войдите как root, создайте пароль. Конечно, вам все равно придется исправить sudoers, но проб и ошибок будет легче, так как если вы действительно root, вы всегда сможете получить к нему доступ.

Если у вас нет системы, которая может обращаться к файловым системам ext4 («живой CD» Debian здесь хороший выбор), то вы застряли. Вам придется перепрошить карту и начать заново.

Златовласка
источник
Я уже установил debian в VM Ware и вставил свою карту, но он просматривает только файлы, которые отображаются так, как будто я использую систему Windows. Я имею в виду, я не могу просмотреть / изменить файл sudoers. я должен использовать некоторые команды, чтобы просмотреть их в Debian?
Дани
Я не пользователь VMware, поэтому я не могу помочь со спецификой этого, но, вероятно, у вас есть root-доступ в VM, верно? Если это так, и вы можете получить доступ к SD-карте из виртуальной машины, вы сможете смонтировать второй раздел и заглянуть внутрь /etc. Если sudoersего там нет, вы можете случайно удалить его, и в этом случае вам придется заменить его из свежего образа Debian (вам не нужно создавать новую карту, вам просто нужен файл изображения, см. Здесь ) .. .
Златовласка
... Вы также должны иметь доступ etc/passwdк карте и изменять ее через корневую учетную запись виртуальной машины Debian.
Златовласка
(вы должны быть в состоянии смонтировать второй раздел и посмотреть в / etc), какие команды я должен использовать для монтирования второго раздела?
Дани
С VMware VM? Я не знаю. Я использую virtualbox, но мне никогда не приходилось настраивать доступ к оборудованию или монтированию на хост-системе, кроме работы в сети (если мне нужно передавать данные, я просто делаю это через сеть). Я предполагаю, что это возможно и просто, но моя хост-система также Linux. Я также предположил бы, что есть какой-то способ использования VMware с Windows / Mac / любым хостом для предоставления ВМ доступа к устройству SD, подключенному к аппаратному обеспечению хоста ... даже если сам хост не может прочитать раздел, он все еще может получить доступ к фактической карте, так что виртуальная машина должна быть в состоянии (и тогда операционная система виртуальной машины сможет ее прочитать).
Златовласка
4

Raspbian не имеет rootпароля. В этом отношении он отличается от Ubuntu. Вы можете создать rootпароль, но AFAIK, который требует sudo.

Лучше всего редактировать файлы, монтируя SD-карту на Linux-машине.

Это можно сделать на Pi, если 1. у вас есть устройство для чтения карт SD 2. Вы используете хорошую ОС на другой SD для загрузки Pi.

Milliways
источник
но почему распбиан спросил у меня пароль? а почему он не принимал пустые пароли?
Дани
У корневой учетной записи может быть «неверный» или «невозможный» пароль - это обычная уловка для блокировки учетной записи root таким образом.
хлопья
4

Чтобы установить пароль root:

  • Загрузитесь и войдите как обычно.
  • Бегать:sudo passwd root
  • Введите новый пароль для пользователя root в ответ на запрос

Источник: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25.

Превосходство Ilesanmi
источник
1
Проблема в том, что я не смог использовать команду sudo, потому что я сделал ошибку во время изменения файла sudoers. Проблема была решена установкой Linux Debian OS на мой компьютер, вставкой SD-карты и возвращением файла sudoers в исходное состояние ...
Dani
-1

Если вы загрузите Puppy Linux for Raspberry Pi с http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky и установите его на флэш-накопителе, то вы сможете загружать свой компьютер с этого, а поскольку Puppy всегда запускается как root без пароля, вы можете изменить что-либо на компьютере, который вы хотите. Сделайте ваши изменения, затем перезагрузите компьютер без загрузочного носителя Puppy. Теперь компьютер загрузится в вашу измененную систему без Puppy.

Я немного новичок в Raspberry Pi, так что я не знаю, как загрузить его с другого устройства (thumbdrive), но, вероятно, есть способ. Возможно, система Noobs, удерживая нажатой клавишу shift во время загрузки.

Я добавлю простую альтернативу загрузке с другого диска: вместо этого Raspberry Pi может быть загружен из установки Puppy на SD-карту (или карту microSD), а исходный установочный носитель может быть считан и изменен с устройства чтения карт, подключенного к тот же Raspberry Pi.

Мириам Инглиш
источник
2
Я считаю, что отрицательное голосование неприятно, поэтому я постараюсь заменить анонимного подписчика. Ответ, который имеет «я не знаю», возможно, более уместен в качестве комментария. К сожалению, это требует репутации 50. Пожалуйста, продолжайте свои усилия, чтобы помочь. Это стоит усилий. : D
OyaMist