На этот вопрос уже есть ответ здесь:
Я удалил / etc / passwd
и не может войти сейчас. Я не знаю пароль root и пробовал много паролей, но ни один из них не работал.
Как я могу это исправить?
На этот вопрос, похоже, уже есть подходящие ответы, я просто подробно остановлюсь на комментарии @Lekensteyn :
sudo cp /var/backups/passwd.bak /etc/passwd
sudo chmod 644 /etc/passwd
Вот шаги, чтобы сделать это графически:
Загрузка в живую среду Ubuntu с использованием загрузочного носителя Ubuntu;
Запустить Nautilus файловый менеджер и смонтируйте ваш раздел Ubuntu (здесь, на снимке, это 129 ГБ файловая система );
(Нажмите Ctrl kbd> + L kbd>, чтобы увидеть UUID раздела.)
Запустить Nautilus с правами суперпользователя (Нажмите Alt kbd> + F2 kbd>, введите gksu nautilus
и нажмите Enter);
Раздел Ubuntu должен отображаться в боковой панели с его UUID. Нажмите, чтобы смонтировать его, и перейдите в каталог /etc
;
В каталоге /etc
прокрутите вниз, чтобы найти файл с именем passwd-
, и скопируйте его в каталог ( нажмите и удерживайте) Нажмите клавишу Ctrl kbd>, наведите указатель мыши на файл, удерживайте нажатой левую кнопку мыши , перетащите указатель мыши, а затем отпустите кнопку мыши, а затем клавишу Ctrl kbd>, чтобы сделать копию в том же каталоге; будет создан файл с именем passwd- (copy)
);
Выберите файл копирования, щелкните правой кнопкой мыши и выберите переименовать . Затем переименуйте файл в passwd
;
После того, как файл был переименован в passwd
, щелкните правой кнопкой мыши и выберите Свойства в контекстном меню и на вкладке Разрешения устанавливают соответствующие разрешения, т. Е. Владелец root должен иметь разрешение на чтение и запись , тогда как для Group и Others ] установите доступ к только для чтения и закройте окно свойств;
Теперь перезагрузите систему, и вы сможете войти в систему с паролем.
Вы можете сделать то же самое, используя терминал в реальной среде.
Шаги:
Загрузка для сеанса Ubuntu в реальном времени;
Открыть терминал или tty и ввести команду:
sudo fdisk -l
(и запомните имя устройства вашего раздела Ubuntu, которое будет иметь вид /dev/sdX
.)
Смонтируйте устройство,
sudo mount /dev/sdXY /mnt
(замените sdXY
вашим целевым устройством.)
cd
в каталог /etc
целевых систем:
cd /mnt/etc
Используйте файл резервной копии для восстановления и установите соответствующие разрешения:
sudo cp passwd- passwd
sudo chmod 644 passwd
Или используйте резервную копию в /var/backups/passwd.bak
:
sudo install -m 644 /mnt/var/backups/passwd.bak /mnt/var/backups/passwd
(как указал Лекенштейн в его комментариях ) sup>
Затем перезагрузите компьютер:
sudo reboot
Если вы можете войти, просто откройте терминал и попробуйте следующее:
sudo cp /etc/passwd- /etc/passwd
sudo chmod 644 /etc/passwd
Остальное
Загрузитесь в режиме восстановления или с Ubuntu live Cd. Затем установите старый диск:
mkdir /olddrive
mount /dev/hda5 /olddrive
assuming that your old drive is on /dev/hda5.
then, cd to /olddrive/etc
type:
echo "root::0:0:Superuser:/:/bin/bash" > passwd
и перезагрузите компьютер. Это не установит пароль для root.
Затем вы можете войти, заново создать все свои учетные записи и т. Д.
Вы также можете использовать резервную копию, которая называется (я думаю) /etc/passwd-
Редактировать: (еще один метод «Я не пробую, прежде чем я думаю, что это должно также работать») )
init=/bin/bash
» cp /etc/passwd- /etc/passwd
» mount -o remount,rw /
"