私はFreeBSD7.2をNFSサーバーとして、そしてOpenLDAPサーバー(Debianetchを実行する)のクライアントとして使用しています。ユーザーがNFSサーバー上のファイルにアクセスすると、ユーザーのUIDがLDAPサーバーで検索され、ユーザー名にマップされます(nsswitchを介して)。私の問題は、FreeBSDをLDAPサーバーのクライアントとして設定した後でも、認証できないことです。
「ldapsearch」と入力すると、LDAPサーバー上のすべてのユーザーのリストが表示されるため、構成が正しいことがわかります。 http://www.freebsd.org/doc/en/articles/ldap-auth/client.html のドキュメントを使用して設定を行いました。これらのドキュメントに不足しているものはありますか?
PAM/NSSで使用されるldap.confは次のとおりです。
[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
FreeBSDで本当に良いOpenLDAPをサポートするには、次のものが必要です。
/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
/etc/nsswitch.conf
のグループpasswdとsudoersを次のように置き換えます。
group: files cache ldap
passwd: files cache ldap
sudoers: files cache ldap
また、変更する必要があります