クライアント側の設定
やったぜ!!!
苦節2週間くらいかかったが、やっとLDAP認証でクライアント側にログインできたぜ!!
ぜんぜん本質ではないところではまっていたので、それは今回の最後のほうで
ちょっとだけ触れることにしよう。
さて、クライアント側の設定であるが、こちらはyumで導入することにする。
# yum -y install openldap-clients nss-pam-ldapd
あとは、各種設定ファイルとかを環境に合わせていく。
-- 最終行に追記 URI ldap://192.168.0.1/ ←環境に合わせる BASE dc=sample,dc=com ←環境に合わせる TLS_CACERTDIR /etc/openldap/cacerts
- /etc/nslcd.conf
-- 最終行あたりに修正&追記 uri ldap://192.168.0.1/ ←環境に合わせる base dc=sample,dc=com ←環境に合わせる ssl no tls_cacertdir /etc/openldap/cacerts
- /etc/pam_ldap.conf
-- 17行目をコメント # host 127.0.0.1 -- 21行目 base dc=sample,dc=com ←環境に合わせる -- 最終行に追記 uri ldap://192.168.0.1/ ←環境に合わせる ssl no tls_cacertdir /etc/openldap/cacerts pam_password md5
- /etc/pam.d/system-auth
- /etc/pam.d/password-auth
-- authのpam_deny.soの設定の前の行に挿入 auth sufficient pam_ldap.so use_first_pass -- accountのpam_permit.soの設定の前の行に挿入 account [default=bad success=ok user_unknown=ignore] pam_ldap.so -- passwordのpam_deny.soの設定の前の行に挿入 password sufficient pam_ldap.so use_authtok -- sessionのpam_unix.soの後に追記 session optional pam_ldap.so session optional pam_mkhomedir.so skel=/etc/skel umask=077
- /etc/nsswitch.conf
-- 33行目あたりから修正 passwd: files ldap shadow: files ldap group: files ldap -- 57行目あたり netgroup: ldap -- 61行目あたり automount: files ldap
- /etc/sysconfig/authconfig
-- 18行目を修正 USELDAP=yes
nslcdサービスをサーバ起動時に開始されるようにして、再起動
# chkconfig nslcd on # shutdown -r now
これで、LDAP側に登録されているユーザとパスワードで認証が通るはずだ。
さて、今回はまったのは、次の2点。
1.参考にしたサイトでは、password-authファイルの修正手順がなかった
今回、修正したうち、/etc/pam.dディレクトリ配下のファイルが2つある。
- system-auth:コンソールでログインまたはsuコマンドなどの認証設定
- password-auth:ターミナルでログインなどの認証設定
2.389ポート。。。
これは、完全に筆者環境における罠なので、一般には、はまらないと思う。
今回のサーバとクライアントだが、実は「VMWare vSphere Hypervisor」上、つまり
ESXi上の仮想マシンで動いている。
で、その仮想スイッチをvmKernelのものと共用していた。
それぞれのホストは、vSphere Serverで一元管理できるのだが、それがLDAPを使ってるので
389番ポートがフィルタリングされてしまっていたのだ。
なので、クライアント側からサーバ側にpingが通ったとしても、389番ポートへの通信は
届かない、サーバが見つからないとなっていたのでした。。。
まあ、それもいろいろ調べて、なんとなくそこが怪しいと思ったので、
ホスト通信用とは別の仮想スイッチを作成し(そもそもハード的にはNICは2枚乗せてたので)
そちらで、仮想マシン間のネットワークは集約するようにしましたとさ。
というわけで、今日はこの辺で。