Службы каталогов для Сервера OS X v10.5 Информация о версии
Этот документ описывает изменения, обновления и обходные решения для Служб каталогов для Сервера OS X v10.5.
Содержание:
Преобразование сценариев для Leopard
Следующие команды больше не доступны в Leopard:
lookupdmemberdnigrepniclniutilniloadnidump
Вот пример сценария, который не будет работать в Leopard, потому что это использует использование nigrep и nicl команды. Сценарий предназначается для удаления кэшируемых учетных записей мобильного пользователя из локального узла.
# Script to remove cached accounts in the local DS node |
# Run this script as root or with sudo |
# This will not run in Leopard! |
#!/bin/sh |
nigrep 'LocalCachedUser' / /users | while read dirid userpath authauth authtype; do # get a list of all users with authauthority containing "LocalCachedUser" |
echo $userpath | tr -d : | while read nipath; do # figure out the path to the record in the local node |
nicl / -delete $nipath # delete the cached account |
done |
done |
Сделать ту же вещь без nigrep и nicl, мы занимаем место dscl:
# Script to remove cached accounts in the local DS node |
# This should work in both Tiger and Leopard |
# Run this script as root or with sudo |
#!/bin/sh |
# dscl searching only does exact matches. So we list the records and pipe them through to grep to find the list of records we want. The first column will be the username and we get that using awk. |
# We also remove the line endings with tr to make it one long string. |
for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '\n' ' '`; do |
dscl . -delete /Users/$cuser # now we delete the record using dscl |
done |
Проверка/Управление DS SearchPath от CLI
Для наблюдения, какие узлы находятся в пути поиска можно использовать команду dscl /Search -read / и посмотрите то, что перечислено для CSPSearchPath атрибут. Добавить узлы к пути поиска:
dscl /Search -create / SearchPolicy CSPSearchPath |
dscl /Search -append / CSPSearchPath /Active\ Directory/All\ Domains |
Не забывайте выходить из пробелов с наклонной чертой влево или кавычками использования вокруг значений с пробелами (» / Активные Домены Каталога/Всего»). Для изменения порядка узлов измените индекс узла в CSPSearchPathсписок:
dscl localhost changei /Search CSPSearchPath 1 /LDAPv3/moof.apple.com |
dscl localhost changei /Search CSPSearchPath 2 /LDAPv3/foom.apple.com |
Индексация запускается в 0, но узел в индексе 0 всегда будет локальным узлом. Это не доступно для редактирования. Индекс 1 является первым нелокальным узлом в списке. В вышеупомянутом примере Ваш путь аутентификации был бы:
Локальный узел по умолчанию (Netinfo или DSLocal)
/LDAPv3/moof.apple.com
/LDAPv3/foom.apple.com
Удаление «DisabledUser» кэшируемые учетные записи Script-o-matically
# This should work in both Tiger and Leopard |
# Run this script as root or with sudo |
#!/bin/sh |
for cuser in `dscl . -list /Users AuthenticationAuthority | grep DisabledUser | awk '{print $1}' | tr '\n' ' '`; do |
dscl . -delete /Users/$cuser |
done |
Включение отладки DS
sudo killall -USR1 DirectoryService |
Начните отлаживать автоматически при запуске:
touch /Library/Preferences/DirectoryService/.DSLogDebugAtStart |
Файл журнала:
/Library/Logs/DirectoryService/DirectoryService.debug.log
Аутентификация клиента NTLM/SMB к Контрольному списку AD
Тестирование аутентификации пользователя против узла каталога:
Стандартная аутентификация:
dirt -u username -p password |
ntlm аутентификация:
dirt -u username -p password -a nt |
Поиск и устранение неисправностей:
- Выполненный dsconfigad -enablessoпосле привязки
- Проверьте следующие опции в /etc/smb.conf
workgroup = ETS # this should be the netbios name of your AD domain |
security = ads # use "ads" for this value -- "domain" will periodically change the computer trust account and break your binding to AD |
netbios name = bog # this should be the same as the computer name you used in Directory Access/Directory Utility to bind to AD |
use spnego = yes # this should always be "yes" -- it enables negotiation of the authentication methods |
realm = ETS.APPLE.COM # This should be your AD domain in all caps -- it is case sensitive! |
- Проверьте, что winbindd работает на Сервере OS X. Должно быть 2 процесса. Если это не, запустите его: /usr/sbin/winbindd -s /Library/Preferences/DirectoryService/winbindd.conf
- Проверьте, что самба и плагин AD используют тот же пароль доверительного счета машины.
Шаг 1: Получите пароль, который использует плагин AD: В /Library/Preferences/DirectoryService/ActiveDirectory.plist файл, ищите раздел, который похож:
<key>AD Computer Password</key> |
<data> |
ZW5jb2RlIG1lCg== |
</data> |
Шаг 2: поле данных здесь является закодированным base64. Декодируйте его:
echo "ZW5jb2RlIG1lCg==" | openssl enc -base64 -d |
Шаг 3: Теперь сравните его со значением, сохраненным самбой в /var/db/samba/secrets.tdb:
sudo tdbdump /var/db/samba/secrets.tdb |
Необходимо видеть запись, которая похожа:
{ |
key = "SECRETS/MACHINE_PASSWORD/ETS" |
data = ",X2IgQ9sIgpByU" |
} |
Если значение данных здесь не соответствует значение, Вы добрались от шага 2, сбросьте его:
sudo net -f changesecretpw |
Когда запрошено пароль, введите значение, возвращенное шагом 2.
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 08.06.2007