Как восстановить пароль root, когда его кто-то изменил?
Тот факт, что в моей лаборатории один из пользователей, который находится в списке sodoers, изменил пароль root, есть ли способ показать пароль, который он установил? Я знаю, как изменить его, отредактировав из GRUB, но что, если я хочу знать, какой у него предыдущий пароль?
2 ответа
Это обширная тема для обсуждения. Но, учитывая случай Ubuntu, пароли хранятся в месте
/etc/shadow
Вы можете просмотреть содержимое, открыв его с помощью
sudo nano /etc/shadow
На самой первой строке вы можете увидеть
root:$6$xrzOs5vu$gfLwd1NVOBRqCvmgpBOa9V4PzNOzlgC2jGU.GT8k9zPiW2zihymU/nmgdjsP8SzR3Qk7UoQUkTrsi9tCIFy6f.:16303:0:99999:7:::
Первая часть - это имя пользователя (здесь это root. Вы можете увидеть других пользователей ниже). Затем идет хешированная форма вашего корневого пароля. Обычно, когда мы назначаем пароль для Ubuntu, он генерирует случайное солт-значение и добавляет это солт-значение в файл паролей, а затем хэширует его, используя любой из алгоритмов, таких как sha512,md5 и т. Д. Поскольку соль неизвестна, взломщику очень трудно взломать пароли. Но вы все еще можете изменить свой пароль root, просто набрав в терминале следующую команду
sudo passwd
Нет способа расшифровать пароль. Исторически шифрование паролей Unix всегда было необратимым, поскольку шифрование не является уникальным для пароля. Могут быть другие пароли, которые будут генерировать ту же строку шифрования. Из-за этого расшифровка до одного пароля невозможна. Unix берет пароль, который вы вводите при входе в систему, шифрует его и сравнивает шифрование, чтобы увидеть, если вы ввели правильный пароль.