Я недавно спросил вопрос здесь о том, как заставить Ubuntu аутентифицироваться через LDAP на сервере OS X. Хорошая новость в том, что у меня все заработало, и теперь клиенты проходят аутентификацию, но теперь моя проблема в том, что pam_mkhomdir.so, похоже, не выполняет свою работу. Вот мой файл общей сессии:
session sufficient pam_ldap.so session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ session optional pam_ldap.so session optional pam_ck_connector.so nox11 session optional pam_foreground.so
Из-за этого каждый раз, когда пользователь LDAP пытается войти в систему, gdm сообщает им, что их домашний каталог установлен на /Network/[Servername]/User/[username]
. Основываясь на этой ошибке, я предполагаю, что pam_mkhomedir.so переопределяется домашним путем, предоставленным LDAP, поэтому мой вопрос: есть ли способ создать домашний каталог пользователя LDAP локально, когда они входят в систему, вместо того, чтобы пытаться использовать /Volumes/[Servername]/...
?
заранее спасибо
Обновить: Ответ Камила, похоже, помог добиться некоторого прогресса, но вместо того, чтобы gdm сообщал, что домашний каталог установлен на /Network/etc...
, он говорит, что настроен на ''
(ноль). Я пробовал использовать
nss_map_attribute homeDirectory "/home/$username"
но это дало мне ту же ошибку. Любые идеи?
Мы решили эту проблему, добавив в LDAP еще один атрибут, например linuxHomeDirectory
. Затем вы можете создать сопоставление в ldap.conf
:
nss_map_attribute homeDirectory linuxHomeDirectory
Для каждого пользователя вы устанавливаете атрибут в LDAP на путь, который вы хотите для их домашнего каталога Linux, например /home/$username
или еще много чего.
Если у вас есть домашние каталоги, обслуживаемые сервером OS X, вы можете смонтировать их с помощью автомонтирования в /Volumes/$servername/$path
иерархии в Linux, и тогда вам не нужно изменять какие-либо атрибуты LDAP.
Больше информации: Вот статья, как расширить схему LDAP в OpenDirectory: http://www.afp548.com/article.php?story=20060228230005854
Чтобы заполнить атрибуты пользователя, вы можете использовать ldapadd
и ldapmodify
инструменты.