Как редактировать / etc / hosts без sudo?

У меня есть машина, с которой я могу получить доступ только с помощью SSH.

Я возился с именами хостов, и теперь он говорит:

ssh: unable to resolve hostname 

Я знаю, как исправить это в /etc/hosts .

Проблема в том, что мне нужно sudo чтобы исправить их, потому что у моей обычной учетной записи нет разрешений.

Каков наилучший способ исправить хосты?

  • Опорожнение каталога, принадлежащего другому пользователю в неделю
  • сбросить разрешения системного файла, владельцев и групп
  • Сделать каталог немодифицированным или невосстанавливаемым, кроме как root
  • Что такое эквивалент sudo для FreeBSD?
  • Команды «sudo» медленны во время работы в сети
  • Как узнать, кто добавил пользователя?
  • Проблема с vim при входе в систему как root
  • SUDO_USER undefined в руководстве sudo - разъяснение будет прекрасным
  • 2 Solutions collect form web for “Как редактировать / etc / hosts без sudo?”

    Вам не нужно sudo, чтобы исправить это, попробуйте pkexec ,

     pkexec nano /etc/hosts pkexec nano /etc/hostname 

    После запуска pkexec nano /etc/hosts добавьте новое имя хоста в строку, начинающуюся с 127.0.1.1 как 127.0.1.1 ниже,

     127.0.0.1 localhost 127.0.1.1 your-hostname 

    Кроме того, не забудьте добавить имя хоста внутри файла /etc/hostname после запуска команды pkexec nano /etc/hostname ,

     your-hostname 

    Перезагрузите компьютер. Теперь это работает.

    Для редактирования файла /etc/hosts на локальном хосте вам понадобятся права sudo или root. Если вы этого не сделаете, нет способа редактировать этот файл.

    Затем вы должны добавить запись в /etc/hosts чтобы ваш локальный хост мог правильно разрешить имя хоста удаленного хоста.

    Это формат строк в /etc/hosts

     127.0.0.1 localhost.localdomain localhost 10.10.2.9 remotehost.labs remotehost 
    Linux и Unix - лучшая ОС в мире.