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

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

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

ssh: unable to resolve hostname 

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

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

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

  • Как остановить sudo PAM-сообщения в auth.log для определенного пользователя на Ubuntu 16.04?
  • Можно ли сохранить как sudo из nano после того, как вы забыли работать как sudo?
  • переключиться на пользователя sudo с командой AND не работает
  • sudo askpass: спросить у другого tty
  • Разница между добавлением пользователя sudo с adduser или gpasswd
  • Что делать, если владелец / usr / bin / * изменяется на non-root?
  • Ограничьте стандартных пользователей для запуска команды с определенным аргументом
  • Судо говорит, что «команда не найдена» для скрипта в EncFS (нет доступа root к EncFS mount?)
  • 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 - лучшая ОС в мире.