LDAP
LDAPを学習したいエンジニアの人は・・・
一番良いのは、Red Hat 社のDirctory Server講習を受けに行くと良いと思います。
もちろん、事前に下記を予習しておいた方が、絶対良いです。
会社が講習費用を出してくれるなら、迷わず受講しておくべきだと思います。
なかなか、LDAPというプロトコルは、馴染みが薄いので、一度時間をかけて徹底的に、動作させる時間と環境が必要だと思います。
学習書籍・・・
学習書籍・・・Software Design (ソフトウエア デザイン) 2009年 03月号
Software Design (ソフトウエア デザイン) 2009年 03月号
出版社:技術評論社
価格:¥970(税込)
特集がディレクトリサーバーです。
LDAPの場合、説明する箇所が多いため、かなりのページを割かないといけなくなるわけですが、ちょっと残念なのは、P39~の説明で、cyrus-sasl2-saslauthdなどのインストールや、その後のPostfix設定などで、2008年4月号の特集「FreeBSDフルコース 1008」を見て、っぽい書き方になっている点です。
せめて2ヶ月前の特集ならわかりますが、1年も前の特集を見てというのは、雑ですね。
まあ、ボリュームが多いから仕方ないけど。
PostfixやSambaなどの具体的な設定例が出ているので、やはり買っておくべき1冊ですが、LDAPビギナーが、これ1冊で動かそうとすると、厳しいと思います。
やはり初めは、「メールサーバ改造の教科書―セキュリティを強化して多目的なメールサーバを構築」なんかを買って、最初に基本的なことを理解してから、これを買って参考にすると、役に立つと思いますよ。
学習書籍・・・メールサーバ改造の教科書―セキュリティを強化して多目的なメールサーバを構築
メールサーバ改造の教科書―セキュリティを強化して多目的なメールサーバを構築
出版社:秀和システム
価格:¥2,730(税込)
LDAPを、順を追って、簡単なところから手を動かしつつ理解したい人に、真っ先にオススメするのが、
この本です。
第11章のLDAPのところをよく読んで、LDIFデータなどを取り込んだり、searchしたりしていると、理解できます。。
メールソフトを使い、LDAPからメールアドレスを検索するところも、
わかりやすく書かれています。
この11章をきっちり終えた後、
上に紹介した「LDAP Super Expert」などを読んでいくのが、理想的な流れだと思います。
LPICのレベル3を受験しようと思っている人や、まず、その足がかりとなる環境を作りたい人は、この本を買ってみたら良いです。
学習書籍・・・LDAP Super Expert
今、いちばんLDAP関連で、内容が充実している本は、これです。
対象は、中級者向けです。
まったくの初心者の方は、最初にこれを買っても、
「全然、何も出来ずに投げ出す」ことになると思います。
最初の方で、どんどん、つまづくと思いますよ(^^)。
初心者の人は、最初に上で示した「メールサーバ改造の教科書―セキュリティを強化して多目的なメールサーバを構築」を購入して、11章の「OpenLDAPの導入」をやってから、この書籍に進めば、本の中身についていけるとは、思います。
いきなり、これを読んでも、最初の方から、全然理解ができないと思います。
最初の方で、どんどん、つまづくと思いますよ(^^)。
スキーマなどの理解が全然できないままに、
設定だけできたとしても、実務で困るでしょうし、
できれば、structualとかSUPとかauxiliaryとかmustやmayなどにも触れて欲しいところです。
(Expertとうたっているので、省略したのでしょうかねぇー
下記の「LDAP -設定・管理・プログラミング」のように書いてくれてたら、
バカ売れする可能性もあったと思いますが。)
執筆された方の中には、それを十分理解している人もいるはずなので、
書いて欲しかったところですが、
締め切りに追われてそれどころではなかったんでしょうかねぇー。(^^)
やはり、この雑誌の一番の読みどころは、特集3 の「実運用大研究」ですね。
slurpdとか、syncreplレプリケーションとかskurpdレプリケーションとか、実際の導入・運用を踏まえた設定などについて、書かれてます。
その他、「LDAPクライアントプログラム入門」もありますが、これを参考にCかPerlかJavaかPHPかRubyで、良いLDAPクライアントソフトを作るのも、いいかと思います。
いいLDAP操作アプリが、ないですからねー。phpLDAPAdminくらいかな。
かなり前から買っていた雑誌ですが、最近、ようやく読めるようになりました。
LPICレベル3を受ける人は、購入をオススメします。
買わないと、合格しないと思います。
BerkeleyDBの基礎知識などという、かなり通なページもあるので、お買い得です。
学習書籍・・・LDAP -設定・管理・プログラミング
LDAP -設定・管理・プログラミング
出版社:オーム社
価格:¥4,410(税込)
オーム社から出ていますが、オライリーとも書いていますねぇー。
ゆえ、質の高い本です。
P13~P33の第2章は、必読です。
Red Hat社の講習を受ける余裕のない方は(^^)
この本を購入して、2章をちゃんと読んでおきましょう。
structualやabstractやauxiliaryを解説しています。
mustやmayについても書かれています。
単一値属性や多値属性についても触れられています。
ここは、必ず目を通さないと、いつまでたっても、
LDIFファイルの記述を理解できぬまま、
ldapadd -fするだけのロボットになりかねませんし(^^)。
P146には、メールクライアントソフトの
LDAPバインドのバージョン対応まで書かれていますので、
特にメールのLDAP案件に関わっている人は、
買って理解しておくべきかと
思います。
必然的に、slapd.confのallow bind_v2にも意識が向きますし。
P151~P153あたりには、各メールクライアントソフトで検索を行った場合に、
どんな「フィルタ」がかかるか、が記述されています。
結構、細かいところまで調べてくれている本ですから、購入しておくと、
「この辺りまで、意識を置いておかないといけないのか」と気付けると思います。
一番上で推薦した「メールサーバ改造の教科書―セキュリティを強化して多目的なメールサーバを構築」の次に、これを買って理解を深めるのがいいかもしれません。
レファレンスとして、買ったほうがいいかな。
■LDAPとPostfixを連携させたい人には、P167~P172が役立ちます。
学習書籍・・・Active DirectoryとLinuxによるシステム構築ガイド
かなり分厚い本ですが、内容も濃いです。
4章の統合認証が一番、有用な本だと思います。
1章2章に、かなり基礎的だけど、まともに説明できる人が少ない知識に関して、丁寧に書かれてます。
SMBやCIFS、Kerberos認証にNTLM認証、PAMの仕組みなどetc..。
5章のKerberos統合認証のところも、プリンシパル名の形式(3種類)やレルムの解説など、かなり丁寧に書かれてます。
Linuxのチケットキャッシュの話題なども出ていて、かなり驚くほど濃い内容です。
オライリーのKerberos本も持ってますが、こっちの本を先に読んでおく方が、理解しやすい気すらします。
★LPICレベル3には、第8章が役立ちます。もちろん、他の章も実務に役立ちますよ。
Fedora 8 でOpenLDAPを稼動させる
/etc/openldap/slapd.conf がないぞと思って、
探してみると・・・
# rpm -qa | grep openldap
openldap-clients-2.3.38-3.fc8
openldap-2.3.38-3.fc8
openldap-devel-2.3.38-3.fc8
入ってなかったのか。
では、
openldap-serversをインストールします。
# yum install openldap-servers
/etc/openldap/slapd.conf ファイルができました。
このslapd.confをslapdが読み込んで、LDAPサーバーとして動作します。
LDAPコマンド(1)・・・ldapsearch
ldapsearch -x -b '' -s base '(objectclass=*)' namingcontexts
ルート・ディレクトリエントリの名前を検索。
-b 検索の基点(baseだろう)
-s 検索範囲(scopeだろう。base と one と subの3つがある。未指定の時は、sub)
'(objectclass=*)' すべてのエントリを抽出。
例:cn属性がmatsuzakaで終わるならば、'(cn=*matsuzaka)' となる。
ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'
LDAPコマンド(2)・・・ldapsearch
ldapsearch -W -D 'uid=okuda,ou=server,ou=dept,dc=example,dc=com' -x -b 'ou=network,ou=dept,dc=example,dc=com' -s sub '(cn=*saki)' telephoneNumber
LDAPコマンド(3)・・・ldapdd
ldapadd -x -D 'cn=Manager,dc=example,dc=com' -W -f init.ldif
LDAPコマンド(4)・・・ldapddのオプション(7個)のまとめ
数えてみれば、大した数ではないですが、しばらくすると忘れます。
まあ、テストでも受けるのでなければ、手打ちすることは少ないと思いますけど。
-x 簡易認証を行う。
-D 'cn=Manager,dc=example,dc=com' サーバの認証に使用するDNを指定する。
-W サーバーの認証に使用するパスワード入力を促すプロンプトが出てきます。
-w passwd -Wより、こっちの方が便利かも。
-f init.ldif とか。LDIFファイルを読み込みます。。
-p ポート番号を指定する。無指定の場合、389番ポート。
-h ホスト名 接続するLDAPサーバーを指定します。無指定ならローカルホストに接続します。
LDAPコマンド(5)・・・slapcatとslapadd
マスターLDAPサーバーのデータを、スレーブLDAPサーバーへインポートする時に使用する「ダンプデータベースのファイル」を出力するために、slapcatコマンドを使用します。
slapcat > /home/yutaka/ldapdata.ldif
スレーブLDAPサーバーへインポートする時には、slapaddコマンドを使用します。
※ldapユーザーアカウントで実行することに注意。
su ldap -c '/usr/sbin/slapadd -l /home/yutaka/ldapdata.ldif'
LDAPコマンド(6)・・・postconf -m
厳密には、Posftixのコマンドなんですが。
インストールされているPostfixにLDAPのサポートが含まれているかを確認できます。
ldapと表示されれば、サポートされていることを意味します。
# postconf -m
btree
cidr
environ
hash
ldap
nis
pcre
proxy
regexp
static
unix
LDAPコマンド(7)・・・postmap -q yutaka ldap:ldapalias
postmap -q yutaka ldap:ldapalias
LDAPのFAQ
1.LDIFとは何か?
フォーマットです。
決まった書式である、LDIFを使って、いっぺんに登録することができます。
一度、これを作成しておけば、検証する時にも便利です。
マスターLDAPサーバーのデータを、スレーブLDAPにインポートする場合、
slapaddコマンドを使用しますが、ldapユーザーで実行する方が良いです。
もし、rootで実行すると、LDAPデータベースの所有者はrootになります。
ldap起動時に、下記のような[警告]表示が出ます。
本番稼動では、忘れずに、ldapユーザーを使用すべきです。
検証での習慣を持ち込まないように。
# /etc/init.d/ldap start
/var/lib/ldap/ou.bdb is not owned by "ldap" [警告]
/var/lib/ldap/objectClass.bdb is not owned by "ldap" [警告]
/var/lib/ldap/uid.bdb is not owned by "ldap" [警告]
/var/lib/ldap/cn.bdb is not owned by "ldap" [警告]
/var/lib/ldap/sn.bdb is not owned by "ldap" [警告]
/var/lib/ldap/givenName.bdb is not owned by "ldap" [警告]
/var/lib/ldap/mail.bdb is not owned by "ldap" [警告]
slapd を起動中: [ OK ]
2.DNとは、何ですか?
Directory Nodeの略です。ベースDNといえば、基準となるDNになります。
例えば、デフォルトのslapd.confに記述されている "dc=my-domain,dc=com"です。
基本的に、DNSドメイン名を元に、ベースDNを決めることが多いです。
私の学習書籍・・・Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編
■Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編
価格:¥3,675(税込)
出版社:秀和システム
LDAPに関しては、P334~P354でとり上げられています。
LDAPスレーブ設定、ユーザ認証との連携設定(PAM,nss_ldap)まわりの設定内容が書かれているので、LDAP案件が初めてというエンジニアの人は、一度目を通しておくと良いと思います。
どのファイルとどのファイルを、どの順番で設定していくかを知るのに良いと思います。
P340で、デフォルト状態では、/etc/openldap/cacertsを作成してからでないと、起動できないRed Hat Enterprise Linux 4のことも書かれていて、キメ細かく書かれている実践的な本です。
Amazonのレビューでも評価が高い本ですが、初心者のみならず、経験者でも活用できる箇所が多いです。
特に、bonding関連の設定が書かれている本は、これくらいだし、keepalivedによる監視、heartbeatによるサービス監視、その他、スイッチなどについても関連付けて書かれている書籍は、これくらいしかありません。
なので、設計・構築とかやっている人は、手元に1冊置いておくべきでしょう。きっと。
ここまで書いてくれていたら、相当役に立ちますよ。
実務で使っている設定・構成図などをそのまま(あるいは修正して)掲載してくれてますので、見やすくわかりやすいです。
いまだに、十分、オススメできる1冊です。
学習書籍・・・

