Папка /etc перемещена в другое место
Я переместил /etc папку в другое место. Теперь, когда я использую sudo mv
Команда это говорит:
sudo: uid 1010 does not exist in the passwd file
есть решение для этого? это произошло в моем VPS по SSH. Формат не вариант. (Ubuntu VPS)
3 ответа
Проблема здесь в том, что способ аутентификации пользователей для входа в Ubuntu заключается в /etc/passwd
файл. Так как этот файл отсутствует... произойдут плохие вещи, такие как sudo не работает.
Если у вас есть root-доступ где-то, например, сеанс, который у вас все еще открыт, или вы можете выяснить, как войти в систему как root, вы можете сделать symlink
(что похоже на ярлык в Windows) для нового местоположения, чтобы операционная система могла найти файл. Вы делаете это с ln
команда. Синтаксис будет:
ln -s [your new /etc location] /etc
Теперь для восстановления вашей текущей системы вы можете сделать:
Загрузитесь в живую среду.
Смонтируйте свой текущий раздел Ubuntu:
sudo mount /dev/sdXY /mnt
Измените XY на текущий раздел Ubuntu. Если не уверены, запустите Gparted из живого окружения и найдите что-то вроде
sda1
,sda2
,sda3
, так далее.Скопируйте
/etc
вернуться на свое место, т.е./mnt/path/to/moved/etc
в/mnt/etc
Скопируйте это сsudo
,Выход.
sudo reboot
Теперь после загрузки установленной системы вы можете удалить ранее перенесенную
/etc
папка.
Это то, что вы сделали, переехав /etc
без открытой оболочки с привилегиями:
Изображение с: https://imgur.com/gallery/eEsd4V1
... Единственный выход - сбросить VPS после резервного копирования. Сожалею. Помните, с sudo
прийти великая сила и большая ответственность...