Maci podłączone do domeny, wszystko działa pięknie. Sprawdzamy czy działa Windows (dual-boot), restartujemy kompa pod Mac OS X. Wpisujemy login/hasło (poprawne), chwile czekamy, ekran się trzęsie i tyle. Na konto lokalne można się zalogować bez problemu tylko czas jest jakiś dziwny i przesunięty o 2 godziny.
Wiadomo, Kerberos ma rozjechany czas i przez to bilety się momentalnie przedawniają. Przyczyna rozjechania czasu też jest prosta, OS X jak każdy szanujący się system ustawia hardware clock w GMT i potem softwarowo dodaje/odejmuje czas żeby dostosować się do strefy czasowej. Windows za to ustawia hardware clock na czas lokalny.
No dobra, problem powinno nam załatwić ntp ale w /etc/ntp.conf
wszystko jest skonfigurowane poprawnie i dalej nie działa.
Szybkie wstukanie root# ntpdate
Looking for host ntp.pjwstk.edu.pl and service ntp
host found : ntp.pjwstk.edu.pl
14 Feb 14:15:05 ntpdate[1420]: the NTP socket is in use, exiting
i problem zajętego socketu Szybkie śledztwo i okazuje się, że port jest zajęty przez ntpd, który powinien automatycznie synchronizować czas z serwerem ntp. Jedynym problemem jest to, że ntpd
synchronizuje czas powoli małymi krokami tak żeby system nie zagubił się jak nagle wypadnie mu kilka godzin albo syslog się cofnie. Czyli może za kilka dni czas się zsynchronizuje i logowanie do AD zacznie działać
Rozwiązanie jest proste zabić ntpd
i zsynchronizować ręcznie czas z ntp.
Z Pstrykiem napisaliśmy coś takiego:
root# cat /usr/sbin/ntpupdate.sh
#!/bin/bash
/usr/sbin/ntpd
/usr/bin/killall ntpd
RET=1
TIME=15
while [ $RET -ne 0 ] && [ $TIME -gt 0 ]; do
/usr/sbin/ntpdate adres.serwera.ntp >> /var/log/ntpupdate 2>&1
RET=$?
TIME=$(($TIME-1))
sleep 1
done
Po czy do /etc/rc
dopisaliśmy:
# By Pstryk & Kfaz
/usr/sbin/ntpupdate.sh
Kolejny workaround, dziwny ale działający
Podobno nowe sterowniki dla Windows z BootCamp poprawiają ten problem i Windows nie zmienia czasu w hardware clock
jnx
archon
kfaz
archon