web-dev-qa-db-ja.com

FreeBSDでのOpenLDAPクライアント設定の頭痛の種

私は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
3
donatello

FreeBSDで本当に良いOpenLDAPをサポートするには、次のものが必要です。

  • nss_ldap
  • pam_ldap-PAMldapモジュール
  • pam_mkhomedir-最初のログイン後にskelからユーザーのhomedirを自動的に作成します
  • Sudo-LDAPサポート付き
  • openssh-portable-LPKパッチ付き(LDAPのユーザーsshキー用)

/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

また、変更する必要があります

  • /usr/local/etc/nss_ldap.conf
  • /usr/local/etc/ldap.conf
  • / usr/local/etc/ssh/sshd_config(LDAPキーのサポート用)
  • /etc/nscd.conf(キャッシュ用)
2
SaveTheRbtz