Как отредактировать файл Hosts в Linux, Windows и macOS

15.12.20202020-12-15T15:07:16+03:002021-01-14T12:59:05+03:00 Linux, Команды Комментариев нет

Файл hosts используется для сопоставления доменных имен (имен хостов) с IP-адресами. Это простой текстовый файл, используемый всеми операционными системами, включая Linux, Windows и macOS.

Файл hosts имеет приоритет над DNS. Когда вы вводите доменное имя веб-сайта, который хотите посетить, это доменное имя должно быть преобразовано в соответствующий IP-адрес. Операционная система сначала проверяет свой файл hosts для соответствующего домена, и, если для этого домена нет записи, она запрашивает настроенные DNS-серверы для разрешения указанного имени домена. Это влияет только на компьютер, на котором внесено изменение, а не на то, как домен разрешается во всем мире.

Использование файла hosts для сопоставления домена с IP-адресом особенно полезно, если вы хотите протестировать свой веб-сайт без изменения настроек DNS домена.

Например, вы переносите свой веб-сайт на новый сервер и хотите проверить, полностью ли он работает, прежде чем указывать домен на новый сервер. Файл hosts также можно использовать для блокировки веб-сайтов на вашем компьютере.

В этой статье мы дадим инструкции о том, как изменить файл hosts в Linux, macOS и Windows.

Содержание

Формат файла Hosts

Записи в файле hosts имеют следующий формат:

IPAddress DomainName [DomainAliases]

IP-адрес и доменные имена должны быть разделены хотя бы одним пробелом или табуляцией. Строки, начинающиеся с # являются комментариями и игнорируются.

Чтобы добавить запись в файл hosts, просто откройте файл в текстовом редакторе. Ниже приведен пример файла hosts:

# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.1.1 linuxize.desktop linuxize
127.0.0.1 localhost

Изменения файла hosts вступают в силу немедленно, за исключением случаев, когда записи DNS кэшируются приложениями.

Чтобы отменить изменения, просто откройте файл и удалите добавленные строки.

Изменить файл Hosts в Linux

В Linux полный путь к файлу — /etc/hosts .

Приведенные ниже инструкции действительны для всех дистрибутивов Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint:

  1. В окне терминала откройте файл hosts с помощью вашего любимого текстового редактора :

    sudo nano /etc/hosts

    При появлении запроса введите свой пароль sudo.

  2. Прокрутите вниз до конца файла и добавьте новые записи:

  3. Сохраните изменения.

Изменить файл Hosts в Windows

В Windows полный путь к файлу — c:WindowsSystem32Driversetchosts . Приведенные ниже инструкции действительны для Windows 10 и Windows 8.

  1. Нажмите клавишу Windows и введите «Блокнот» в поле поиска.

  2. Щелкните правой кнопкой мыши значок «Блокнот» и выберите «Запуск от имени администратора».

  3. В Блокноте щелкните Файл, затем Открыть. В поле Имя файла вставьте c:WindowsSystem32driversetchosts .

  4. Прокрутите вниз до конца файла и добавьте новые записи:

  5. Сохраните изменения, щелкнув File > Save .

Изменить файл Hosts в macOS

В macOS полный путь к файлу — /etc/hosts . Приведенные ниже инструкции действительны для всех версий macOS.

  1. В окне терминала откройте файл hosts с помощью вашего любимого текстового редактора:

    sudo nano /etc/hosts

    При появлении запроса введите пароль администратора.

  2. Прокрутите вниз до конца файла и добавьте новые записи:

  3. Сохраните изменения и очистите кеш DNS:

    dscacheutil -flushcache

Выводы

Файл hosts позволяет вам установить IP-адрес данного доменного имени.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Как изменить файл Hosts в Linux

На вашем компьютере есть один файл, который служит небольшим шлюзом между вами и Интернетом. Его название — Hosts. Если вам нужно заблокировать веб сайты или создать персонализированные имена хостов в Linux, вы можете справиться с этой задачей, добавив или изменив несколько строк в файле hosts.

Что такое файл Hosts?

Файл hosts представляет собой простой текстовый файл, который все операционные системы используют для преобразования имен хостов (также известных как веб-адреса или URL) в IP-адреса. Когда вы вводите имя хоста, например, wikipedia.org, ваша система будет искать файл hosts, чтобы получить IP адрес, необходимый для подключения к соответствующему серверу.

Если вы откроете файл hosts, вы быстро заметите, что в нем нет списка всех адресов Интернета. Вместо этого, здесь может быть всего пара строк, и все. Что это значит?

Оказывается, ваша система сначала проверит файл hosts, прежде чем искать сайт на DNS-серверах, определенных в настройках вашей сети (обычно DNS-сервера вашего провайдера).

Это означает, что вы можете использовать файл hosts для добавления того, что DNS серверы не могут предоставить (например, псевдонимы для локальной сети, кроме тех, что предоставляют DNS-серверы в локальной сети) или переопределить IP адреса, которые обычно предоставляют ваши DNS-серверы.

Например, если вы запросите wikipedia.org, DNS-серверы вернут IP-адрес Википедии на ваш компьютер. Но если вы хотите заблокировать Википедию на этом компьютере, вы можете добавить запись в файл hosts, которая скажет вашему компьютеру, что wikipedia.org указывает на другой IP адрес, отличный от фактического IP адреса Википедии.

Есть много других вещей, которые вы можете сделать с файлом hosts, здесь указаны лишь некоторые основные примеры, остальное зависит от ваших потребностей.

Расположение файла Hosts в Linux

В Linux можно найти hosts файл в /etc/hosts. Поскольку это обычный текстовый файл, вы можете открыть его с помощью предпочитаемого вами текстового редактора.

Однако, поскольку файл hosts является системным файлом, вам понадобятся права администратора для сохранения изменений. Поэтому для редактирования файла с помощью терминального текстового редактора Linux, такого как nano, вам потребуется команда sudo, чтобы получить доступ к нему для суперпользователей:

sudo nano /etc/hosts

Чтобы воспользоваться графическим текстовым редактором, например, gedit, используйте gksu:

gksu gedit /etc/hosts

Для запуска соответствующего приложения с правами администратора необходимо использовать терминал. Просто замените nano или gedit на любимый терминальный или графический текстовый редактор. С помощью nano, после редактирования файла, нажмите Ctrl + X, а затем Y, чтобы подтвердить перезапись изменений.

Как добавлять сайты в Hosts файл

В файле hosts каждая запись имеет свою собственную строку. Синтаксис прост. Введите IP-адрес, на который вы хотите перевести имя хоста, нажмите клавишу табуляции на клавиатуре, а затем введите имя хоста.

Например, чтобы заблокировать Википедию введите это (помните, что в качестве пробела используется табуляция):

127.0.0.1        wikipedia.org

127.0.0.1 — это loopback IP-адрес, который всегда будет указывать на вашу собственную систему. Поскольку веб-страница не хранится на вашем компьютере, ваш браузер сообщит, что страница не может быть найдена. Сейчас она фактически заблокирована.

Если вы чувствуете страх перед терминалом, проверьте приложение Linux Mint Domain Blocker (также известное как mintnanny). Оно добавит записи в файл hosts, указывающие на имена хостов, которые вы указываете в 127.0.0.1. Но чтобы сделать что-то еще, вам все равно придется вносить изменения с помощью текстового редактора.

Создание ярлыков в Hosts файле

Если у вас на компьютере развернута домашняя сеть и, скажем, по IP-адресу 192.168.1.10 у вас какая-либо полезная для вас веб-страница, вы можете указать псевдоним для быстрого доступа к нему:

192.168.1.10        homeserver

Теперь, если вы откроете в браузере http://homeserver/, то автоматически попадете на 192. 168.1.10. Это удобнее, чем каждый раз вводить IP-адрес вручную.

Кроме того, вы можете использовать файл hosts для создания ярлыков доступа к определенным сайтам в Интернете. Используйте такую команду, как nslookup, чтобы найти IP-адрес веб-сайта, затем добавьте его в файл hosts вместе с нужным ярлыком, как в примере выше. Но это работает только на сайтах с выделенными IP-адресами. Скорее всего, это не сработает с большинством сайтов, которые вы посещаете.

Потенциальные проблемы использования

Итак, вы теперь знаете, как вносить изменения в файл хоста, но при использовании Google Chrome вы можете столкнуться с радом проблем. Этот веб-браузер имеет тенденцию игнорировать файл hosts, если только вы не сделаете одну из двух возможных вещей:

  • Вводите http:// в начале каждого адреса. Например, если у вас заблокирована Википедия в файле hosts, то Chrome обойдет этот блок, если вы просто введете wikipedia.com в адресную строку. Если вы введете http://wikipedia. com в адресную строку, то он будет следовать за файлом hosts.
  • Отключите в настройках Chrome параметр «Использовать веб-сервис для устранения ошибок навигации», и вам не придется каждый раз вводить адрес http:// в начале работы. Это один из нескольких советов Google Chrome по обеспечению конфиденциальности, который стоит сделать в любом случае.

Файл hosts предоставляет простой способ блокировки доступа к определенным веб-сайтам на вашем компьютере. Поскольку многие версии Linux не имеют встроенного программного обеспечения родительского контроля, эти знания могут пригодиться, если вы решите начать работу с компьютером под управлением Linux.

Windows 10, не могу редактировать файл hosts

спросил

Изменено 2 года, 3 месяца назад

Просмотрено 241 тысяч раз

Недавно я приобрел новый компьютер и обновил его до Windows 10 (хотя я подозреваю, что это проблема и в других версиях).

Мой пользователь является администратором. Я установил UAC на самый низкий уровень. Я сменил владельца на своего пользователя на всем диске c:\ (включая файл hosts). и попробуй сохранить, не пускает. Если я сначала запускаю блокнот от имени администратора, а затем открываю файл, я могу сохранить без проблем.

Но почему после проведенных мною измерений мой пользователь не считается администратором? Что мне здесь не хватает, чтобы сделать моего пользователя настоящим администратором (а не просто обычным пользователем с каким-то причудливым ярлыком в учетных записях пользователей)?

Обновленный вопрос: если у вас есть пользователь с правами администратора , почему на права этого пользователя влияет не группа безопасности Администраторы , а группа безопасности Пользователи ?

  • виндовс
  • виндовс-10
  • уак

2

Многие люди выше меня изложили это довольно ясно:

  • Копировать на рабочий стол, отредактировать с помощью Блокнота и сохранить, скопировать обратно, что перезапишет предыдущий файл хоста
  • Отключить UAC
  • Запустите cmd от имени администратора и введите «блокнот. ..»
  • Использовать диспетчер локальных пользователей и групп (не рекомендуется)

Первый вариант в моем списке — это то, как люди делают это годами. Существует только одно приглашение UAC для возврата копии . Так делалось со времен Vista.

Как было объяснено ранее, вы являетесь пользователем-администратором. Вы можете приложить усилия, чтобы изменить это, но это сопряжено с большим риском. Для сравнения: вы не запускаете приложения в Linux с «root» регулярно, а вместо этого повышаете права с помощью команды «su» или входя в систему как «root».

4

Проблема на самом деле очень проста: в Windows 10 файл hosts по умолчанию доступен только для чтения. Это означает, что даже если вы можете получить к нему доступ с правами администратора, вы все равно не сможете записать в него . Кроме того (по крайней мере, на моей машине) это означает, что редактирование копии, как предлагали другие, не будет работать, потому что она тоже будет доступна только для чтения!

Чтобы иметь возможность редактировать его, вы должны сначала отключить бит только для чтения:

  1. Откройте папку c:\windows\system32\drivers\etc\ в файловом менеджере;
  2. щелкните правой кнопкой мыши файл hosts ;
  3. выберите Свойства ;
  4. снять галочку Только для чтения ;
  5. нажмите Применить ;
  6. нажмите Продолжить (чтобы выполнить действие с правами администратора).

Затем вы можете свободно редактировать файл hosts в своем любимом текстовом редакторе (запустив его от имени администратора). Не забудьте переустановить бит только для чтения после того, как закончите, чтобы другие приложения не могли изменить его без вашего ведома.

5

Также, если вы установили tinyfirewall , там есть опция по умолчанию, которая предотвращает редактирование файла host .

Это относится к любому установленному вами брандмауэру или антивирусу, который может блокировать редактирование файла hosts

напр. ZoneAlarm Free Firewall ->

Настройки -> Дополнительные настройки -> Заблокировать файл hosts

2

Откройте notepad.exe или любой другой текстовый редактор (sublime, notepad++) с правами администратора (щелкните правой кнопкой мыши exe и выберите « Запуск от имени администратора »), отредактируйте файл и сохраните.

Или,

Открыть приглашение «Выполнить» — нажмите Клавиша Windows + R и введите/вставьте следующую команду

 powershell -c start -verb runas notepad.exe C:\Windows\System32\drivers\etc\hosts
 

1

То, что вы являетесь администратором, не означает, что все, что вы делаете, вы делаете как администратор; это просто означает, что у вас есть возможность сделать это.

По умолчанию ваш пользователь работает так же, как и любой другой пользователь, как и он сам.

Когда вы пытаетесь выполнить административные задачи — некоторые приложения будут запускаться с правами администратора (например, когда вы нажимаете «Запуск от имени администратора»).

1

Я бы не рекомендовал этого делать, но если вы дадите своему пользователю полный доступ к этому файлу, он должен работать так, как вы этого хотите. Однако это угроза безопасности, пожалуйста, хорошо подумайте, действительно ли вам это нужно.

3

Проверьте настройки брандмауэра. Я только недавно столкнулся с этой проблемой. Единственный пользователь моего ПК и не смог заставить этот файл hosts сотрудничать. Пытался удалить, а антивирус выскакивает, говоря, что защитил меня. Я использую Avira, поэтому я в своей конфигурации защиты в реальном времени проверяю вкладку «Безопасность» и «Защитить файл Windows hosts от изменений». включен по умолчанию. Я снимаю флажок, применяю, вношу изменения, затем проверяю и применяю. Нет проблем вообще, как только эта опция была снята.

2

Когда вы входите в систему, вы получаете токен «Kerberos», который определяет вашего пользователя как администратора и пользователя — независимо от того, что говорит вам панель управления.

Вы можете использовать локальный менеджер пользователей (C:\windows\system32\lusrmgr. msc), чтобы удалить себя из группы пользователей и присутствовать только в группе администраторов, но это может вызвать больше хлопот, чем пользы.

Еще один хакерский подход — запустить cmd от имени администратора, а затем «блокнот C:……»

Вы всегда можете сделать еще один шаг и запустить cmd от имени администратора, из cmd вы можете запустить «taskmgr», а затем убить и снова открыть «explorer.exe». Так как taskmgr работает от имени администратора, процесс, запущенный в этом контексте (explorer.exe — WINDOWS!) также будет в контексте чистого администратора, ОДНАКО, это сопровождается целым рядом предупреждений:

  • Путь к профилю изменится на этот администратора
  • все, что вы будете делать, будет от имени администратора (открыть дверь для вирусов, вредоносных программ и т. д.)
  • Если вы что-то напортачите — это может привести к полному выходу вашего ПК из строя

UAC должен быть там, чтобы вы могли остановиться и подумать, прежде чем делать что-то, что может иметь большие последствия.

Либо отключите UAC (Панель управления > Учетная запись пользователя и семейная безопасность > Учетные записи пользователей > Выбрать пользователя > Изменить параметры контроля учетных записей) ИЛИ (Пуск > Поиск > UAC)

1

Скопируйте файл hosts на рабочий стол отредактируйте его, сохраните в том же месте, а затем скопируйте обратно в system32\drivers\etc. всплывающий ответ UAC с да. вот и все.

1

Изменение прав доступа для группы пользователей на полный доступ к файлу hosts позволило мне сохранить его без необходимости запускать что-либо от имени администратора. Тот факт, что моя учетная запись является администраторской, и администраторы имели полный доступ к файлу, не позволял мне редактировать его. Без разницы. Давай Виндовс!

У меня была эта проблема, и в конце концов я обнаружил, что файл hosts был заблокирован моим брандмауэром (Tinywall). Временное закрытие брандмауэра помогло.

Чтобы узнать, какая программа блокирует файл, я рекомендую небольшую утилиту Unlocker от Cedrick Collomb. Загрузка больше недоступна на веб-сайте автора, но мне удалось получить ее в Softpedia.

Файл хоста Windows 10 используется другим процессом

спросил

Изменено 6 месяцев назад

Просмотрено 79 тысяч раз

Есть еще несколько вопросов с таким же названием, но они не решают мою проблему, поэтому я открываю еще один.

  • Я установил для файла hosts полный доступ для текущего пользователя. Я даже принял право собственности. Текущий пользователь находится в группе администраторов.

  • Я отключил UAC.

  • Я удалил разрешение только для чтения из файла.

     C:\Windows\System32\drivers\etc>атрибут хостов
    C:\Windows\System32\drivers\etc\hosts
     
  • Я отключил антивирус Panada. Я также остановил 3 службы панды из палитры служб.

  • Я открываю командную строку с повышенными привилегиями (запуск от имени администратора). Запустите Блокнот и измените файл. Когда я пытаюсь сохранить файл, я получаю следующую ошибку:

    «Процесс не может получить доступ к файлу, поскольку он используется другим процессом.

  • Я проверяю файл с помощью «Unlocker», и программа говорит, что активная блокировка файла отсутствует.

Кто может помочь?

  • windows-10
  • права доступа к файлам
  • файлы хостов

4

Мой файл etc\hosts был заблокирован ZoneAlarm Firewall

Чтобы разблокировать, Мне пришлось снять флажок «Блокировать файл хостов» в меню настроек брандмауэра ZoneAlarm

1

Только что наткнулся и решил эту проблему, немного повозившись, так что решил предложить заметки.

Я использовал SysInternals Process Explorer, Запуск от имени администратора , чтобы найти процесс, блокирующий файл (используя Find > Find Handle или DLL ). Обратите внимание, что когда я запускал его без прав администратора, он не мог видеть системный уровень Процесс WRSA .

В моем случае это был WRSA.exe , то есть Webroot Secure Anywhere. Отключение защиты разблокировало файл, и я смог легко перезаписать его. В некоторых версиях webroot вам придется открыть «Дополнительные настройки» > «Щиты» и снять флажок с опции блокировки редактирования файла hosts.

Совершенно верно, что антивирусное программное обеспечение должно защищать такие файлы, как hosts , конечно. Вредоносное ПО любит такие вещи.

3

В конце концов я смог найти виновника. Это была программа под названием «Tiny Firewall» (программное обеспечение для управления правилами брандмауэра Windows), которая вызвала проблему.

Я не совсем уверен, что он делает с файлом hosts, потому что ни одно из доступных программ не может показать блокировку файла. Я мог обнаружить, что он каким-то образом связан с файлом с помощью монитора процессов (Sysinternals). Я вышел из пользовательского интерфейса и остановил процесс (не позволил остановить, убил дерево процессов и установил ручное обслуживание).

P.S.: Это функция Tiny Firewall (защита файла hosts), и вы можете просто отключить ее в его настройках.

0

В моем случае файл HOSTS постоянно блокировался svchost.exe!

Проблема началась после того, как я использовал инструмент HostsMan. Он заполнил файл HOSTS примерно 18 МБ DNS-номеров и доменов. И мой компьютер внезапно отключился.

Итак, с помощью инструмента Process Explorer я искал «etc\HOSTS». При нажатии на одну запись в результатах поиска соответствующий процесс блокировки выделяется коричневым цветом. Так я обнаружил, что файл HOSTS был заблокирован процессом svchost. exe, а иногда и другими процессами. Я ждал, пока никакой другой процесс, кроме svchost.exe, не блокировал HOSTS. Затем я убил дерево процессов, касающихся svhosts.exe! В течение нескольких секунд, пока этот процесс svhosts.exe еще не был перезапущен (таким образом, HOSTS был временно разблокирован), мне, наконец, удалось вручную переименовать HOSTS во что-то еще, например «HOSTS000». Затем я переименовал соседний файл «HOSTS.back» (это резервная копия с содержимым по умолчанию) в HOSTS. Задача решена! Внезапно я снова оказался в сети.

Проверьте на картинке ниже фильтры DNS, которые я активировал. Я предполагаю, что Windows 10 просто была перегружена всеми этими 50 тысячами доменных имен, сохраненными в файле HOSTS.

, основываясь на ответе @gloschtla, я написал небольшой командный файл. выполнение заняло около 15 минут. что он делает, так это пытается переименовать файл hosts, и если это не удается, он ждет одну секунду и пытается снова.

 @эхо выключено
:начинать
тайм-аут /t 1
рен хосты hosts.