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
Похоже, это не сработало, так как сообщения продолжали поступать...
Я надеюсь, что моя машина перезагружается... она зависает во время процесса перезагрузки.
Есть мысли о том, как поступить? Кажется, я копаюсь в более глубокой яме...