симптомы
На работе у нас установлена OSX 10.7.3, и время от времени я вижу следующие варианты поведения:
Если экран заблокирован, то несколько попыток одного и того же пользователя / прохода не принимаются.
Если экран разблокирован, то открытие нового термина bash может привести к таким запросам, как:
`I have no name$`
или
lkyrala$ ssh lkyrala@ah-lkyrala2u You don't exist, go away!
Даже когда наши Маки работают нормально, все здесь должны войти дважды. Первый раз после загрузки всегда происходит сбой, но второй раз (с тем же паролем, ничего не меняя, просто снова нажимая ввод) успешно. Weird?
обходные
Есть некоторые обходные пути, которые решают непосредственную проблему, но не предотвращают ее повторение:
подождите (может быть час или два), и проблемы иногда исчезают сами собой.
убить 'opendirectoryd' и дать ему перезапустить. (из сообществ поддержки Apple: идентификатор пользователя (не данные) внезапно удален? )
удерживайте кнопку питания, чтобы перезагрузить компьютер
ОБНОВЛЕНИЕ 10/4/2012
Наши сетевые администраторы подозревают, что это замешано в lockd. Очевидно, что lockd использует UDP, и когда сеть перегружена, пакеты теряются, что приводит к зависанию. Они смотрят на шаги, чтобы уменьшить заторы. Если рассматриваемый доступ к файлу является дескриптором аутентификации Active Directory, то все эти разные части начинают совмещаться.
обсуждение
Теперь приведенные выше доказательства указывают мне на что-то странное с учетными данными opendirectory и login. Некоторые другие люди сообщают о таких проблемах при входе в систему, но трудно определить, где находится настоящая проблема (Mac или сетевое окружение?).
Я должен добавить, что большая часть сети - машины Windows, но у нас также есть довольно много компьютеров Mac и Linux, но я не уверен в деталях того, как сетевая аутентификация отображается из разных доменов в другие ... все Я знаю, что наши сетевые учетные данные работают в доменах Windows, а также в логинах Mac и Linux - поэтому что-то соединяет отдельные системы или использует одну и ту же глобальную систему аутентификации.
Дополнительные детали
К сожалению, я не настраивал этот Mac, как это делал наш ИТ-отдел, поэтому я не совсем уверен, как работает аутентификация. Я знаю, что это сетевой логин (что необычно в моем опыте работы с Mac, у них обычно есть локальные учетные записи, которые подключаются к внешним ресурсам), но здесь наша домашняя папка находится в сети, а не в локальной. При моей установке linux подключение к сети включает yp / NIS (что позволяет нам автоматически монтировать части нашей сетевой файловой системы с любого компьютера), и opendirectoryd.log, похоже, подтверждает, что это связано ...
/var/log/opendirectoryd.log*
шоу:
2012-04-04 01:29:12.370 EDT - ddddd.dddddd.dddddd.dddddd - Client: automount, UID: 0, EUID: 0, GID: 0, EGID: 0
2012-04-04 01:29:12.370 EDT - ddddd.dddddd.dddddd.dddddd, Node: /NIS/Domain, Module: nis - could not determine map for rectype 'mounts' attribute 'byname'
2012-04-04 01:32:04.504 EDT - failed to get YP map list
Похоже, что домен «Домен» как-то теряется. Почему UID == 0 здесь? Это кажется плохим, не так ли?
Я знаю, что в Linux некоторое время назад я обнаружил, что трансляция NIS была отключена или заблокирована, поэтому я собрал IP-адреса у кого-то и вручную установил IP-адреса ypserver, /etc/yp.conf
и это исправило пропадание в Linux. Может быть, что-то подобное происходит здесь?
Я попытался найти информацию на страницах справочника Mac по yp:
И затем нашел этот пост, детализирующий, где установлены существующие серверы:
Однако проверка настроек ypserver показала, что оба IP-адреса сервера были правильно установлены для NIS.
Проверка /var/log/system.log
показывает:
Aug 28 00:30:08 mymac ypbind[22991]: direct: sendto: No route to host
Aug 28 00:30:08 mymac ypbind[22991]: direct: sendto: No route to host
Aug 28 00:30:08 mymac ypbind[22991]: Can't contact any servers listed in /var/yp/binding/Domain.ypservers. Aborting
Aug 28 00:30:08 mymac com.apple.launchd[1] (com.apple.nis.ypbind[22991]): Exited with code: 1
Aug 28 00:30:08 mymac com.apple.launchd[1] (com.apple.nis.ypbind): Throttling respawn: Will start in 10 seconds
Aug 28 00:30:08 mymac xpchelper[22990]: getpwuid_r() failed for UID: uuuu, ret: 0, errno: 0
Так что это заставляет меня подозревать настройки nfs.conf и т. Д. Некоторые считают, что это связано с чем-то в lockd.
Исследование
10.6. Сервер: как заставить работать NFS-диск работать правильно
mount_nfs - «NFS-сервер не должен монтировать петлевые монтируемые собственные экспортированные файловые системы, потому что он принципиально подвержен тупику».
rpc.lockd - «Текущая реализация сериализует запросы на блокировку, которые могут быть разделены».