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

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

> chmod -R 770 /var

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

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

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

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

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

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

3 ответа

Бег 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 не смог запуститься и продолжал цикл, посылая те же сообщения об ошибках в системный журнал. Я бы опубликовал сообщения, но больше не могу получить доступ к файлу system.log. (Я попытался перезагрузить машину, но теперь она зависает или занимает более 15 минут для перезагрузки)

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

[= Sender mDNSResponder] ignore

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

> sudo killall -HUP syslog

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

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

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

Другие вопросы по тегам