読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

LDAPの構築 その2(クライアントから接続 - Linuxユーザ管理)

クライアント側の設定です。今回はLinuxユーザ管理についてです。これをすることでOS起動時にLDAPを用いてログインしたり、SSHLDAPを用いてログインしたりすることができます。 ◆インストール $ sudo aptitude -y install libnss-ldap libpam-ldap ldap-utils いくつか設定が必要です。設定を間違えると結構ドツボにはまるので注意。 私の環境を IP:192.168.1.5 DN:"cn=admin,dc=dyndns,dc=org" とします。DNは # slapcat をすれば分かります。 (1) LDAPサーバーのURIを指定 ldap://192.168.1.5/ ※何気にここがクセモノです。デフォルトだと「ldapi:///〜/」となっていますが、このldapiの「i」のせいで私はずっとハマりました。 あとはDNを指定するくらいです。途中のYes/Noは通常はデフォルトでOKです。ただ説明にあるように /etc をNFSマウントしたりしているなら「No」です。 再編集したい場合は $ sudo dpkg-reconfigure ldap-auth-config かもしくは手動で $ sudo emacs -nw /etc/ldap.conf を編集してください。 ◆設定 nssとはName service switchのことで、/etc/passwdとか/etc/hostsとかを覗くプログラムは、 /etc/nsswitch.confファイルを参照してその指示に従って 実際に/etc/passwdを見るのかそれともldapnisなどの外部サービスを見るのか、 というのを設定できるようになっています。 なのでその設定。 $ sudo emacs -nw /etc/nsswitch.conf # 7行目:追記 passwd:         compat ldap group:          compat ldap shadow:         compat ldap # 19行目:変更 netgroup:       ldap 次にpamの設定。 $ sudo emacs -nw /etc/pam.d/common-password password       [success=1 user_unknown=ignore default=die]     pam_ldap.so use_authtok try_first_pass ↓ password        [success=1 user_unknown=ignore default=die]     pam_ldap.so try_first_pass $ sudo emacs -nw /etc/pam.d/common-session # 必要があれば、最終行に追記 ( ログイン時にホームディレクトリを自動作成 ) session optional pam_mkhomedir.so skel=/etc/skel umask=077 設定が完了したらサービスをONにします。初回は再起動が必要かも。 # sysv-rc-conf libnss-ldap on ◆ログイン確認 telnet を使って確認します。telnet server を導入していなければインストール $ sudo aptitude install telnetd $ telnet localhost Trying 127.0.0.1... Connected to dyndns.org. Escape character is '^]'. Ubuntu 11.04 Server login: ldapuser Password: これで問題なければログインできます。 Login incorrect のように認証されない場合は $ less /var/log/auth.log を見ながらデバッグしてください。 /etc/passwdにないユーザでもログインできるようになるのはなんだか不思議な感じです。 けどこれで大学や研究室、職場でログインできるかが納得いきました。 ソース: クライアントの設定 システム奮闘記:その90 OpenLDAPの設定入門 [ubuntu] Ubuntu 8.10 LDAP client libnss-ldapのインストール libpam-ldapのインストール Ubuntu 11.10にtelnetを入れてみる。