■Linux 用アカウント統合
Linux上で OpenLDAPのユーザ認証ができるよう各ユーザを登録していきます。Linuxにuseraddでアカウントを登録しなくともLDAPに登録されているユーザであればSSHやFTPでログイン可能となります。また、ローカル上に登録されているユーザでもログイン可能なように設定します。
OpenLDAPのインストールを参照して上記のツリーをそれぞれ登録していきます。 slapdが起動している状態であればLinux側でLDAPで認証するよう設定を変更し、LDAPユーザでログインできるよう認証方法の設定を変更します。まずLDAP認証させるためのモジュールがインストルされていなければそれをインストールする必要があります。
# yum install nscd nss-pam-ldapd |
CentOSにおけるnss_pam_ldapのサービス名はnslcdです。nslcdサービスを使うためにはLDAP接続に関する設定を行い、サービスを起動する必要があります。これはインストールした時点で自動起動するようにはならないので手動で自動起動するよう設定する必要があります。
認証時の設定でLDAPを参照するよう以下のファイルを編集します。LDAPサーバに合わせてURI、検索ベースDNを設定する必要があります。uid,gidについては変更の必要はありません。
# vi /etc/nslcd.conf <最後尾に追記> uid nslcd gid ldap uri ldap://127.0.0.1/ base dc=unix-power,dc=net |
上記編集後、nslcdを起動します。
# /etc/rc.d/init.d/nslcd start |
Linuxアカウントのパスワード、グループ情報の参照にLDAPディレクトリサービスを使用するようにネームサービススイッチの設定変更を行います。設定ファイルは/etc/nsswitch.confで以下のように編集を行います。
# vi /etc/nsswitch.conf passwd: files ldap shadow: files ldap group: files ldap |
設定としては以上となります。上記ではファイルを直接編集しましたが下記のようにauthconfig-tuiコマンドで対話的に設定を実施することも可能です。どちらで行なってもOKです。
Linux上に登録されていないアカウントでLDAP上に登録されているアカウントは認証は可能ですがホームディレクトリが存在しない状態です。ログインできなくはないですがWarningが出るので、これを回避するためログインすると自動的にホームディレクトリが作成されるよう設定を変更します。
# authconfig --enablemkhomedir --update nslcd を起動中: [ OK ] nscd を起動中: [ OK ] |
この設定後、LDAPに登録されているアカウントでSSHログインなどをすると自動的にホームディレクトリが作成されます