Как восстановить удаленный файл /etc/passwd?
Я удалил /etc/passwd
файл и не может войти в систему сейчас. Я не знаю пароль root и перепробовал много паролей, но ни один из них не работал.
Как я могу это исправить?
3 ответа
На этот вопрос, похоже, уже есть подходящие ответы, я просто добавлю комментарий@Lekensteyn:
sudo cp /var/backups/passwd.bak /etc/passwd
sudo chmod 644 /etc/passwd
Вот шаги, чтобы сделать это графически:
Загрузка в живую среду Ubuntu с использованием загрузочного носителя Ubuntu;
Запустите файловый менеджер Nautilus и смонтируйте раздел Ubuntu (здесь, на снимке, это файловая система 129 ГБ);
(Нажмите Ctrl + L, чтобы увидеть UUID раздела.)
Запустите Nautilus с правами суперпользователя (нажмите Alt + F2 и введите
gksu nautilus
и нажмите ввод);Раздел Ubuntu должен появиться на боковой панели с его UUID. Нажмите, чтобы установить его, и перейдите к
/etc
каталог;В
/etc
каталог, прокрутите вниз, чтобы найти файл с именемpasswd-
и сделайте копию этого в каталоге (нажмите и удерживайте клавишу Ctrl, поместите указатель мыши на файл, нажмите и удерживайте левую кнопку мыши, перетащите указатель мыши и затем отпустите кнопку мыши, а затем клавишу Ctrl, чтобы сделать копия в том же каталоге, файл с именемpasswd- (copy)
будет создан);Выберите файл копии, щелкните правой кнопкой мыши и выберите переименовать. Затем переименуйте файл в
passwd
;После того, как файл был переименован в
passwd
щелкните правой кнопкой мыши и выберите " Свойства" в контекстном меню, а на вкладке " Разрешения" установите соответствующие разрешения, т. е. корень владельца должен иметь права на чтение и запись, в то время как для группы и других установите доступ только для чтения и закройте окно свойств;Теперь перезагрузите систему, и вы сможете войти под своим паролем.
Вы можете сделать то же самое, используя терминал в реальной среде.
Шаги:
Загрузиться, чтобы жить сессия Ubuntu;
Откройте терминал или tty и введите команду:
sudo fdisk -l
(и запомните имя устройства вашего раздела Ubuntu, которое будет в форме
/dev/sdX
.)Монтировать устройство,
sudo mount /dev/sdXY /mnt
(repace
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
(как отметил Лекенштейн в своих комментариях)
Затем перезагрузите компьютер:
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-
Редактировать:(другой метод "Я не пробую это прежде, чем я думаю, что это должно также работать")
- Запустите GRUB при загрузке (нажмите ESC во время загрузки)
- Нажмите e over (режим восстановления)
- Нажмите e над строкой, начинающейся с ядра
- Нажмите пробел и введите "
init=/bin/bash
" - Нажмите Ввод
- Нажмите b
- В командной строке введите: "
cp /etc/passwd- /etc/passwd
" - Перезагрузитесь в GRUB снова
- Нажмите e over (режим восстановления)
- Нажмите e над строкой, начинающейся с ядра
- Нажмите пробел и введите "init=/bin/bash"
- Нажмите Ввод
- Нажмите b
- В командной строке введите "
mount -o remount,rw /
" - Введите "passwd YOURUSERNAMEHERE" (если вы не знаете свое имя пользователя, введите "ls /home" (то есть строчные буквы L и строчные S) для списка пользователей)
- Введите новый пароль по запросу
- Перезагрузитесь для нормальной загрузки.