Назад | Перейти на главную страницу

Mac OS X Snow Leopard: изменение разрешений на / var приводит к проблемам с поиском по DNS

Я пытался решить проблему (ошибка «/var/log/msmtp.log: permissions denied» при попытке отправить почту с помощью msmtp), когда сделал следующее:

> chmod -R 770 /var

После этого моя машина не могла разрешать доменные имена через cURL. (ping также не работает) Но, как ни странно, я могу вводить доменные имена в Safari и посещать любые веб-страницы без проблем ...

На самом деле я не уверен, является ли команда chmod причиной проблемы, но подозреваю, что это так.

Кроме того, если я ls -l on / var (или / private / var), не похоже, что какие-либо подкаталоги или файлы там действительно изменили разрешение, но их много, поэтому я не могу сказать это окончательно ...

Между прочим, я исправил исходную ошибку (отказано в доступе к msmtp.log), установив TMPDIR = / tmp в моей локальной среде (bash). Теперь ошибка исчезла, но я получаю такую ​​ошибку:

msmtp: cannot locate host domainname.org: nodename nor servname provided, or not known

Есть идеи о том, как снова заставить DNS работать?

Бег chmod -R 700 /var сделает кучу важных частей ОС недоступными никому, кроме root. Вы можете воскресить вещи с помощью восстановления разрешений: загрузитесь с установочного DVD, выберите основной язык, затем выберите Disk Utility в меню Utilities; в Дисковой утилите выберите свой HD на боковой панели, затем на вкладке «Первая помощь» справа, а затем на вкладке «Восстановить права доступа к диску». Это может не исправить все, как должно быть (он не знает, какие разрешения должны быть для всех файлов), но, вероятно, вернет его к тому моменту, когда вы сможете его загрузить.

Если после этого он успешно перезагрузится, я бы снова запустил восстановление разрешений из загруженной ОС (он будет использовать версию Дисковой утилиты, которая соответствует работающей ОС, и может иметь немного лучшее представление о том, какими должны быть разрешения) .

Это закончилось переустановкой из резервной копии.

Перед тем как это сделать, я загрузился с установочного DVD Snow Leopard и запустил восстановление разрешений из Дисковой утилиты, но безрезультатно. (Дисковая утилита, похоже, не обнаружила никаких проблем с разрешениями на / var или каких-либо подкаталогах) Перезагрузка привела к тому же поведению, когда машина просто зависала в окне загрузки.

Спасибо за ответы!

Больше информации...

После некоторой проверки я нашел этот полезный пост об отладке mDNSResponder (демон, который обрабатывает DNS в Snow Leopard) http://www.afp548.com/article.php?story=20100329090657793

К сожалению, я включил отладку для mDNSResponder следующим образом:

> sudo killall -USR1 mDNSResponder

Затем я включил отладку системного журнала:

> sudo syslog -c mDNSResponder -d

В этот момент другие приложения, такие как Application Monitor, не загружались, и система медленно замедлялась.

Просмотр файла system.log показал, что у mDNSResponder действительно возникла проблема, и кажется, что демон mDNSResponder не смог запуститься и продолжал зацикливаться, отправляя те же сообщения об ошибках в syslog. Я бы отправил сообщения, но больше не могу получить доступ к файлу system.log. (Я попытался перезагрузить компьютер, но теперь кажется, что он зависает или требуется> 15 минут для перезагрузки)

Перед перезагрузкой я попытался отключить сообщения в файл system.log из mDNSResponder, добавив эту строку в /etc/asl.conf:

[= Sender mDNSResponder] ignore

затем перезапустите системный журнал с помощью:

> sudo killall -HUP syslog

Похоже, это не сработало, поскольку сообщения продолжали поступать ...

Я надеюсь, что моя машина перезагрузится ... кажется, она зависает во время перезагрузки.

Есть мысли о том, как действовать? Кажется, я копаюсь в более глубокую яму ...