Головная боль конфигурации клиента OpenLDAP во FreeBSD
Я использую FreeBSD 7.2 в качестве сервера NFS и в качестве клиента для сервера OpenLDAP (который запускает Debian etch). Когда пользователи получают доступ к своим файлам на сервере NFS, пользовательские UID ищутся на сервере ldap и сопоставляются с их именами пользователей (через nsswitch). Моя проблема в том, что даже после настройки FreeBSD в качестве клиента для сервера ldap он не может пройти аутентификацию.
Я знаю, что конфигурация правильная, потому что ввод "ldapsearch" дает мне список всех пользователей на сервере ldap. Я использовал документ по адресу http://www.freebsd.org/doc/en/articles/ldap-auth/client.html для настройки. Чего-то не хватает в этих документах?
Вот ldap.conf, используемый PAM/NSS:
[root@csastorage /csastore]# cat /usr/local/etc/ldap.conf
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
BASE dc=cl,dc=csa,dc=iisc,dc=ernet,dc=in
URI ldaps://<server address>/
TLS_REQCERT allow
TLS_CACERT /usr/local/etc/openldap/server.pem
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
pam_login_attribute uid
1 ответ
Для действительно хорошей поддержки OpenLDAP под FreeBSD вам необходимо:
- nss_ldap
- pam_ldap - модуль PAM ldap
- pam_mkhomedir - автоматически создавать домашний каталог пользователей из skel после первого входа
- sudo - с поддержкой LDAP
- openssh-portable - с патчем LPK (для пользователей ssh-ключей в LDAP)
добавить следующее к /etc/pam.d/sshd
auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass
account required /usr/local/lib/pam_ldap.so ignore_authinfo_unavail ignore_unknown_user
session required /usr/local/lib/pam_mkhomedir.so debug mode=0755 skel=/usr/local/share/skel
в /etc/pam.d/system
добавлять
auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass
account required /usr/local/lib/pam_ldap.so ignore_authinfo_unavail ignore_unknown_user
session required /usr/local/lib/pam_mkhomedir.so debug umask=0077 skel=/usr/local/share/skel
password sufficient /usr/local/lib/pam_ldap.so use_authok
заменить группу passwd и sudoers в /etc/nsswitch.conf
следующим образом:
group: files cache ldap
passwd: files cache ldap
sudoers: files cache ldap
Вы также должны изменить
- /usr/local/etc/nss_ldap.conf
- /usr/local/etc/ldap.conf
- / usr / local / etc / ssh / sshd_config (для поддержки ключей LDAP)
- /etc/nscd.conf (для кэширования)