Папка /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

Теперь для восстановления вашей текущей системы вы можете сделать:

  1. Загрузитесь в живую среду.

  2. Смонтируйте свой текущий раздел Ubuntu:

    sudo mount /dev/sdXY /mnt
    

    Измените XY на текущий раздел Ubuntu. Если не уверены, запустите Gparted из живого окружения и найдите что-то вроде sda1, sda2, sda3, так далее.

  3. Скопируйте /etc вернуться на свое место, т.е. /mnt/path/to/moved/etc в /mnt/etc Скопируйте это с sudo,

  4. Выход.

    sudo reboot
    
  5. Теперь после загрузки установленной системы вы можете удалить ранее перенесенную /etc папка.

Это то, что вы сделали, переехав /etc без открытой оболочки с привилегиями:

Изображение с: https://imgur.com/gallery/eEsd4V1

... Единственный выход - сбросить VPS после резервного копирования. Сожалею. Помните, с sudo прийти великая сила и большая ответственность...

Другие вопросы по тегам