Вопрос:
Пользователи не могут зайти на рабочих станциях в свои учетные записи из службы каталогов Open Directory.
Окно входа трясется так, словно у них будто неверный пароль.
Симптоматика наводит на мысль, что пользователи не могу найти или подключить домашнюю папку (быть может, причина в другом, но это самый бытовой вариант; разберем только эту проблему и только с OpenDirectory и домашними папками, монтирующимися по AFP).
Что можно проверить?
1 Ab ovo. Все ли нормально с DNS в вашей системе?
(проверим с помощью host прямую и обратную записи)
emate-3000:~ kirilka$ host ipad-team.devapple.com
ipad-team.devapple.com has address 17.112.144.108
emate-3000:~ kirilka$ host 17.112.144.108
108.144.112.17.in-addr.arpa domain name pointer ipad-team.devapple.com
Используйте Network Utility, dig и т.п.
А что обо всем этом думает ваш сервер?
bash-3.2# changeip -checkhostname
Primary address = 17.112.144.108
Current HostName = ipad-team.devapple.com
DNS HostName = ipad-team.devapple.com
The names match. There is nothing to change.
dirserv:success = “success”
Прекрасно. Наверное, когда вы устанавливали сервер, с вашей DNS инфраструктурой уже все было в порядке, и с планированием все было в порядке.
А может быть, вы создали нужные зоны на своем сервере и, естественно, сам сервер пользуется своим собственным DNS сервером.
Ну, а если и были какие-то ошибки, вы их уже исправили с помощью changeip (man changeip).
2 Стало быть все сервисы из которых состоит Open Directory (LDAP, Kerberos, Password Server) в добром здравии?
3-4 Проверим привязку (байндинг) клиента к серверу (System Preferences/Accounts или Directory Utility).
Проверим, что задана домашняя папка.
Можно сделать это и в Terminal
bash-3.2# id forstall
uid=1033(forstall) gid=20(staff) groups=20(staff),405(com.apple.sharepoint.group.5),62(netaccounts),12(everyone),403(com.apple.sharepoint.group.3),402(com.apple.sharepoint.group.2),404(com.apple.sharepoint.group.4),406(com.apple.sharepoint.group.6),401(com.apple.sharepoint.group.1)
Можно даже дедовской UNIX командой finger, – сразу увидим, указана ли домашняя папка и где она
bash-3.2# finger forstall
Login: forstall Name: Scott Forstall
Directory: 99 Shell: /bin/bash
Never logged in.
No Mail.
No Plan.
Ага, в этом примере домашняя папка не указана. Если бы она была указана, мы бы увидели:
bash-3.2# finger forstall
Login: forstall Name: Scott Forstall
Directory: /Network/Servers/ipad-team.devapple.com/Users/forstall Shell: /bin/bash
Можно посмотреть информацию о пользователе и “родной” командой dcsl
bash-3.2# dscl /Search read /Users/forstall NFSHomeDirectory
NFSHomeDirectory: /Network/Servers/ipad-team.devapple.com/Users/forstall
(или просто dscl /Search read /Users/forstall, чтобы увидеть всю информацию, включая его фотографию)
5 А что с его паролем?
bash-3.2# /usr/libexec/chkpasswd forstall
Checking password for forstall.
Password:
Sorry
Если пароль правильный, система ничего не сообщит, просто выдаст приглашение командной строки.
6 А давайте смонтируем домашнюю папку по AFP?
Просто из Finder через Go/Connect to Server, используя логин и пароль пользователя.
Заодно посмотрите на способы аутентификации. Если у вас проблемы с Kerberos (внимательно смотрели пункт 1), попробуйте (в рамках теста, потом надо будет починить работу Kerberos) Standard.
Отступление в сторону Kerberos, – убедитесь, что время на системах одинаковое (клиент использует сервер как NTP, или клиент и сервер используют внешний сервер, например time.apple.com).
7 А указано ли, что эта домашняя папка автомонтируется? Server Admin/Sharing.
8 Может быть какие-то политики (MCX) запрещают пользователю пользоваться именно этим компьютером или входить в систему в целом. Workgroup Manager.
9 Не забывайте о входе в систему с помощью
При попытке войти в систему в таком режиме вы можете увидеть полезное сообщение об ошибке, в духе “не могу смонтировать домашнюю папку.”