LDAPの導入
共用サーバではSSHにFTPになんやらかんやらアカウントをたくさん管理せねばならず、どうにも面倒…
そんな悩みを解決してくれるLDAPというツールがあるという情報を小耳に挟んだ。
LDAPとは…
エルダップ
LDAP 【 Lightweight Directory Access Protocol 】
インターネットやイントラネットなどのTCP/IPネットワークで、ディレクトリデータベースにアクセスするためのプロトコル。ディレクトリサービスとは、ネットワークを利用するユーザのメールアドレスや環境に関する情報を管理するサービスのことで、ユーザ名からこれらの情報を検索することができる。最近ではディレクトリサービスを単純なユーザ管理だけでなく、プリンタなどのネットワーク上の共有資源の管理に応用する動きも活発になっている。
【引用元】LDAPとは 【 Lightweight Directory Access Protocol 】 - 意味/解説/説明/定義 : IT用語辞典
わからん…orz
ざっくりとした理解では、様々なアカウントを一元管理できる夢のツール、ということらしい。
とりあえず使いながら理解しようということで、下の記事を参考にしながら導入しようとした。
第1回 まずは使ってみよう:そろそろLDAPにしてみないか?|gihyo.jp … 技術評論社
しかしうまくいかない…
以下、ハマったところをピックアップする。
OSはCentOS 6.2です。
図4の「ldapadd -x -D "cn=Manager,dc=example,dc=com" -w secret -f passwd.ldif adding new entry "dc=example,dc=com"」を実行しようとすると「ldap_bind: Invalid credentials (49)」という謎のエラーが出る
Invalid credentials (49)というエラーは、
- パスワードを間違えている
- コマンドラインの DN を間違えている
ときに発生するらしい。
僕はこの記事の流れに沿ってやる前にslappasswdやらなんやら色々弄っていて、パスワードがおかしくなっていたと思われるので、それをリセットしなければならない。
そんなときは強制リセット♪
$ rm -rf /etc/openldap/slapd.d/ $ /etc/rc.d/init.d/slapd restart
男なら黙ってrm。僕はこれでうまく動くようになりました。
authconfigを実行するとUnicodeDecodeError等Pythonのランタイムエラーが発生する
CUIのオプションの指定方法がよくわからないので、authconfig-tuiコマンドを実行しましょう。
ちなみに、authconfigでエラーが出るのは日本語環境なのが原因なので、どうしても使いたければ英語環境に強引にすればいいらしいです。
$ LANG=en_US.UTF-8 authconfig
なんかパッケージが足りない…?
インストールです。
$ yum -y install nss-pam-ldapd