Objawy
W pracy mamy zainstalowany OSX 10.7.3 i co jakiś czas zobaczę następujące zachowania:
Jeśli ekran jest zablokowany, wiele prób tego samego użytkownika / przepustki nie jest akceptowanych.
Jeśli ekran jest odblokowany, otwarcie nowego terminu bash może spowodować wyświetlenie następujących monitów:
`I have no name$`
lub
lkyrala$ ssh lkyrala@ah-lkyrala2u You don't exist, go away!
Nawet gdy nasze komputery Mac działają normalnie, wszyscy muszą zalogować się dwa razy. Pierwszy raz po starcie zawsze kończy się niepowodzeniem, ale drugi raz (z tym samym hasłem, niczego nie zmieniając, wystarczy ponownie nacisnąć Enter) się udaje. Dziwne?
Obejścia
Istnieje kilka obejść, które rozwiązują natychmiastowy problem, ale nie zapobiegają ponownemu wystąpieniu problemu:
poczekaj (może godzinę lub dwie), a problemy czasem same znikną.
zabij „opendirectoryd” i pozwól mu się zrestartować. (od Społeczności wsparcia Apple: identyfikator użytkownika (nie dane) został nagle usunięty? )
przytrzymaj przycisk zasilania, aby zresetować komputer
AKTUALIZACJA 10/4/2012
Nasi administratorzy sieci podejrzewają, że domniemany jest lockd. lockd najwyraźniej używa UDP, a gdy sieć jest przepełniona, pakiety są tracone, co powoduje zawieszanie się. Patrzą na kroki mające na celu zmniejszenie zatorów. Jeśli dostęp do pliku jest przypadkiem uchwytu uwierzytelniania Active Directory, wszystkie te różne elementy zaczynają się ze sobą łączyć.
Dyskusja
Teraz powyższe dowody wskazują na coś podejrzanego z opendirectory i danymi logowania. Niektóre inne osoby zgłaszają problemy z logowaniem, ale trudno jest ustalić, gdzie jest rzeczywisty problem (Mac lub środowisko sieciowe?).
Powinienem dodać, że większość sieci to maszyny z systemem Windows, ale mamy też sporo komputerów Mac i Linux, ale nie jestem pewien szczegółów, w jaki sposób uwierzytelnianie sieci jest mapowane z różnych domen na inne ... wszystkie Wiem, że nasze poświadczenia sieciowe działają w domenach Windows, a także w logowaniach Mac i Linux - więc coś łączy oddzielne systemy lub używa tego samego globalnego systemu uwierzytelniania.
Dodatkowe szczegóły
Niestety nie skonfigurowałem tego komputera Mac, nasz dział IT tak, więc nie jestem całkowicie pewien, jak działa uwierzytelnianie. Wiem, że jest to login sieciowy (co jest niezwykłe w moim doświadczeniu z komputerami Mac, zwykle mają one konta lokalne, które łączą się z zasobami zewnętrznymi), ale tutaj nasz folder domowy znajduje się w sieci, a nie lokalnie. W moich instalacjach z Linuksem połączenie z siecią wymaga użycia yp / NIS (co pozwala nam automatycznie zamontować części naszego sieciowego systemu plików z dowolnej maszyny), a opendirectoryd.log wydaje się potwierdzać, że jest to związane ...
/var/log/opendirectoryd.log*
przedstawia:
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
Wygląda na to, że domena jakoś gubi się. Dlaczego UID == 0 tutaj? To wydaje się złe, prawda?
Wiem, że pod Linuksem jakiś czas temu odkryłem, że transmisja NIS została wyłączona lub zablokowana, więc zebrałem adresy IP od kogoś i ręcznie ustawiłem adresy IP serwera, /etc/yp.conf
a to naprawiło spadki w systemie Linux. Może dzieje się tutaj coś podobnego?
Próbowałem wyszukać informacje na stronach podręcznika Yp Maca:
A potem znalazłem ten post szczegółowo opisujący, gdzie ustawione są istniejące serwery:
Jednak sprawdzenie ustawień serwera ypserver wykazało, że oba adresy IP serwera zostały poprawnie ustawione dla NIS.
Sprawdzanie /var/log/system.log
pokazuje:
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
To sprawia, że podejrzewam ustawienia nfs.conf itp. Niektórzy uważają, że jest to spowodowane zablokowaniem.
Badania
mount_nfs - „Serwer NFS nie powinien montować w pętli własnych eksportowanych systemów plików, ponieważ zasadniczo jest podatny na impas”.
rpc.lockd - „Bieżąca implementacja serializuje blokuje żądania, które można udostępnić.”