Как сделать /private/etc/hosts доступным в macOS Sierra?

После поиска связанных вопросов и ответов я обнаружил, что моя проблема все еще не решена: редактирование /private/etc/hosts не работает в macOS Sierra .

В моем /private/etc/hosts есть следующие два правила.

127.0.0.1   localhost
127.0.0.1   www.yahoo.com

Эти два правила нельзя применить в Safari и Chrome даже после запуска команды sudo killall -HUP mDNSResponder. Сайт yahoo не перенаправляется на 127.0.0.1.

Итак, что мне не хватает в приведенной выше операции?

И вывод ping -c 3 www.yahoo.comвыглядит следующим образом.

PING fd-fp3.wg1.b.yahoo.com (116.214.12.74): 56 data bytes
64 bytes from 116.214.12.74: icmp_seq=0 ttl=47 time=138.418 ms
64 bytes from 116.214.12.74: icmp_seq=1 ttl=47 time=74.284 ms
64 bytes from 116.214.12.74: icmp_seq=2 ttl=47 time=69.702 ms

--- fd-fp3.wg1.b.yahoo.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 69.702/94.135/138.418/31.369 ms
Добавьте 127.0.0.1 qwertyuiopи попробуйте получить доступ qwertyuiopиз браузеров и пропингуйте, чтобы определить, является ли это проблемой приоритета/кеша или файл полностью игнорируется.
@techraf Я обновляю /private/etc/hosts в соответствии с вашим предложением, но не могу зайти qwertyuiopв браузерах. Вывод ping qwertyuiopтакой: PING qwertyuiop.dhcp (218.205.57.154): 56 data bytesи Request timeout for icmp_seq 0. Похоже, что это 127.0.0.1перенаправлено на 218.205.57.154.
@waleking Пожалуйста, проверьте файл /etc/hosts с помощью ls -la /etc/hosts. Это должно показать что-то вроде этого: -rw-r--r-- 1 root wheel - 214 29 Aug 22:30 /etc/hosts(с другим размером - здесь 214 байт - и датой, конечно). Если файл не существует или не может быть найден, вероятно, был добавлен суффикс...
@klanomath да, вывод показывает, что файл /etc/hostsсуществует: -rw-r----- 1 root wheel 71 Jan 10 13:50 /etc/hosts. Но этот файл не работает.

Ответы (1)

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

sudo chmod a+r /etc/hosts
Да, у меня это работает после того, как я использую вашу команду и перезагружаю свой Mac. Большое спасибо, давно меня это озадачило.
В версии 10.13.6 ping использует адрес файла hosts, но Safari и Firefox по-прежнему получают DNS извне.