株式会社オーム社 様のご厚意により,
書籍 "LDAP ―設定・管理・プログラミング―" を
ブックレビューコーナー にご献本いただきました.
この本のレビューをして頂くべく,
Linux Users ML
や本サイトにおいて
公募
を行い,
これにご希望頂いた方々より感想などをレビュー記事にまとめていただきました.
ここに, レビューアの方々から寄せられたレビュー記事を公開します. (原稿到着順)
オーム社 様および レビューアの皆様のご厚意に感謝いたします.
なお, 以下のレビューは初版を対象としています.
本書は LDAP の専門書です. LDAP 以外のサービスの詳細にはほとんど触れられていないので, それらについてある程度以上の前提知識が要求されます. 現状のネットワークやホストの管理が分散していて効率的でないと感じたり, これから新たに管理を始めようという管理者にお勧めです.
LDAP に関する一般的な知識は第 I 部で充分に得られます. 図表, 設定ファイル, コマンド入力例などが多く, 実際の操作をしなくても読み進めることができます. ただ, 第 4 章のタイトルが他にそれと関連するようなストーリー性を持った章がないので, やや違和感を覚えました. 独立した章として捉えた方がよさそうです. 第 II 部は第 I 部とは違い, 実際にディレクトリサーバを用意して, 一つ一つ確認しながら読み進めないと理解を深めることはできません. 必要となった時に該当する章を参照するというスタイルでも構わないと思いますが, 全ての基本となる第 6 章とより効率的な管理には欠かせない第 10 章は必読です.
過去には何度か LDAP の利用を試みたことがあるのですが, 結局は共通のアドレス帳程度の使い方しかできず, 階層的なディレクトリの構築もできずに終わってしまいました. 本書を使って, 特にアカウントの管理を LDAP に移行することに狙いを絞って読み進めました. 結果から言うとあっさりと LDAP ベースのアカウント管理環境に移行することができました. 第 6 章には「NIS に代わる LDAP」とありますが, 現状 NIS を使っていなくても, pam_ldap モジュールと nss_ldap モジュールを使って同様にアカウントやグループの設定を共有することができます. この章だけでも本書を読む価値がありました. また, 第 7 章の最初に account オブジェクトクラスと inetOrgPerson オブジェクトクラスの衝突の例が出てきますが, 「最初のディレクトリの設計を急いで決めるべきではない」とある通り, LDAP がネットワークサービスの中でもより基盤に近い位置にあるプロトコルであることを改めて実感させられるよい例だと感じました. 逆にセキュリティに関する記述は全体を通してやや分散しており, ACL (アクセス制御リスト)・SASL・SSL/TLS をまとめて一つの章にした方が読みやすかったのではないかと思いました.
翻訳に関しては非常にこなれており, 訳本とは思えないほど気持ちよく読み進めることができました. また, 第 10 章に Ruby/LDAP の説明が監訳者により追記されているのは特筆に値します.
本書を読む機会を与えてくださった全ての人に感謝します.
本書は実践を通して LDAP を学ぶという主題のものである. 一部のアプリケーションに特化した内容はあまりなく, 広く浅く解説している. 特定の環境からの移行を促進するための How to ではない. 本書は 3 部構成となっているが, 第 I 部, 第 II 部が本文で第 III 部は付録のみである.
1 章から 2 章で LDAP の概念を説明している. やや話が前後するなど漠然として掴み所がないため LDAP に馴染がないと難解に感じられる. ただ, 一通り読めば LDAP の概略を掴むことはできる. 軽く一通り読んで 3 章以降の実践的な話題を取り扱っている部分を読んだ方が良い.
3 章から OpenLDAP のインストールなど具体的な利用のための下準備の解説となる. ここで初期設定ファイルの記述についての解説がある. 最も基本的なパラメータの解説から始まり, 段階的に設定ファイルの記述例を挙げて説明している. 一度に最終的な設定例を挙げるのではなく, 説明, 記述例の繰り返しになっている. LDAP というやや抽象的な概念に不慣れでも順をおって読み進めることで基本設定を理解することができる. このようなアプローチは本書において非常に良いと思う.
4 章では 3 章で設定したサーバの立ち上げからエントリ追加など基本的な運用の手順を詳細に解説している. また, 5 章でスレーブサーバ等より高度な内容を扱っている. SASL 認証などセキュリティ関連の話題についてもページを割いている. 残念ながら難解な感じを受けた.
6 章は LDAP による NIS のリプレースを取り扱っている. ここから第 2 部となる. この章では NIS を置き換えるに際して二種類の手法について言及している.
一つは LDAP サーバと NIS クライアントとの間を取り持つサーバ (NIS クライアントには影響を与えない) を利用するもの, もう一つは完全に LDAP に移行する方法である.
前者については設定の仕方に触れるに止まっている. 本書では後者, 要するに認証を PAM を用いて LDAP 経由に置き換える方法である. PAM と NSS についてある程度の知識が必要になるが, 付録に PAM/NSS についての補足があるのでそちらを参照するとよいだろう.
8 章は ftpd, httpd などの各種サーバとの連携例をいくつか取り上げている. サーバにアカウントを持たないユーザにサービスを提供するなど大規模環境向けのケースを想定しているような感じを受ける. プロバイダなど多数のユーザを抱えている場合には有用かもしれないが, そうでない場合には退屈な内容になってしまっている.
6 章に NIS から LDAP への移行についての解説がある. システム管理者が LDAP を認証に組み込むために十分な記述がある. しかしサービスを利用する一般ユーザの観点からみた情報の記述がない. 例えば複数の一般ユーザがクライアントを利用する環境でパスワード管理というのはセキュリティ上重要な観点の一つではないだろうか. 一般ユーザからすればパスワードの変更手段が yppasswd コマンドから passwd ユーティリティに変わることになる. 本書の趣旨からは少し外れるかもしれないがもう少ししっかりとした補足が欲しい.
実際に大規模なシステムを管理しているのでなく, LDAP に興味があるというだけであれば 4,200 円という本書の価格は手が出しにくいかも知れない.
とりあえず LDAP を学びたいのであればまず前半部, それから第 6 章, 第 10 章を読むとよいだろう. 後半で取り上げられているケースはさほど興味を引くものではない.
もし中規模以上のシステムの管理者で LDAP に対する不安を抱えているのなら本書をぜひお薦めしたい.
「LDAP とはなんぞや」という感じで, 既存の LDAP 本にも書かれているような内容です. ただし, 必須のキーワード等は落とすことなく網羅されており, これから LDAP を勉強していく人にとっては有用ではないかと思います.
LDAP の概念ばかり読んでてもピンと来ないので, 実際に使ってみましょうという内容です. ここは, 完全に OpenLDAP に特化した内容であり, LDAP の実装は製品ごとにかなり異なるので, OpenLDAP 以外の LDAP 製品での構築にはあまり役立たないかと思います. 技術評論社の『OpenLDAP 入門』を読んでたので私自身は冗長に感じましたが, 客観的にみると, 適度なボリュームにまとまっており, UNIX のノウハウがある人なら本書籍のほうが使いやすいのでないかと思います.
ネームサービスを LDAP とし, UNIX 上のサービスから利用させる方法の話ですが, 既に NIS を使って複数の UNIX サーバのアカウントを一元管理している場合とかでないと, あまり有用とは言えないと思います. 類似の内容は, SUN BluePrints のSolaris and Ldap Naming Servicesにありますが, 本書籍では Solaris 標準の PAM, NSS ライブラリではなく, PADL Software のライブラリについてインストールから設定まで "猿でもわかる" ように記載されており, より汎用的かつ実践的になっています.
電子メールをはじめとする多様なサービスを LDAP と連携させる方法がまとめられていて, 役立つと思います. 普通ならインターネット等の情報を収集するのに奔走してしまうところですが, 主要なソフトウェアについてはこの本でおおかたカバーできています. 私もこの本を手に, OpenLDAP + Postfix の環境を作ってみましたが, 比較的容易に完了できました. ただし, 電子メール連携について, MTA, MUA との連携は記載されているのに Qpopeer, Courier-IMAP といった MRA に関する記載が全く無いのは物足りなく感じます. ページ数の都合もあるのでしょうが, 実際に LDAP を使いたいと考えるのは SMTP よりも, POP や IMAP の認証用途が多いと思うので, できる限り含めて欲しい内容です.
LDAP の相互運用性という, エンタープライズ環境向けの内容になってます. いざ LDAP サーバを導入してユーザ情報を一元管理しようとすると, 既存システム固有のディレクトリや, RDB 等との連携・相互運用といった問題は悩みのタネです. この悩みは相当に深いもので, 到底本章のみで解決できるものでないですが, ソリューションへの第一歩としては, 代表的パターンがまとめられていて, 推奨できると思います. また, 既存の LDAP 本でこの内容にふみこんでいるものはほとんど無かったと思うので, その点でも一読する価値はあると思います.
LDAP プログラミングについてですが, 言語は Perl を中心に書かれてますので, システム管理者がスクリプトを作成するのにも役立つし, 電子電話帳等のアプリケーション開発にも役立つのではないかと思います. Perl の基本はわかっている事が前提なので, コード自体は私はあまり理解できませんでしたが, LDAP オペレーション毎にまとめられていて読みやすいとは思いました.
LDAP スキーマのリファレンスとしては内容が薄すぎてあまり使えないと思います. 『LDAP ハンドブック』等を参照したほうが良いでしょう.
LDAP ディレクトリの役割に様々なレポジトリに散在する有用な情報を統合する機能がありますが, この本自体も既存の LDAP 本から有用なコンテンツを集めてきたような, 一種のディレクトリサービスみたいになってます.
サブタイトルが "LDAP System Administration" となっているように, 対象読者としては, これから LDAP を理解し, 実際に構築, 管理していく, システムエンジニア, システム管理者等に最適化されています. 特に, OpenLDAP を LDAP 製品として選択可能なケースや, UNIX ベースのメジャーなサービスのユーザ管理, 認証を一元化したいケースなどにおいては, 極めて有用な即戦力となり得るでしょう.
その反面, これからディレクトリのニーズを整理し, 製品選定し, そして設計をしていくといったような前工程に携わる読者には, やや不向きである感は否めませんでした.
私は LDAP についてはそれがどんなものかという大まかな知識程度で, 具体的な内容はほとんど知らない状態から本書を読み始めたのであるが, 本書にひと通り目を通した後の印象として, LDAP に関する情報が非常にコンパクトにまとめられた良書であると感じた. 日本語訳は特に読み難いと思える部分は無く, すらすらと読める訳文であった. 残念ながら誤植がいくらか見受けられたのであるが, 苦になるほどのものはなかった.
本書の著者は SAMBA 開発チームの一員でもある, Gerald Carter 氏である. 本書の執筆のきっかけは LDAP のドキュメントが乏しいことに不満だった著者が必要なドキュメントを自分で書こうと考えてのことだそうだが, その目的は充分に達成されていると私は感じた.
本書は以下の 3 つの部分に大きく分けられ, 基礎概念から実践へと順序良く説明されている.
また, 日本語版作成にあたって, 原書出版時からの情報を更新するだけでなく, Ruby から LDAP を利用するための情報が監訳者によって追加されている. Ruby 愛好者が多いと思われる日本において, 嬉しい配慮となっている.
LDAP に関する導入部分ではディレクトリサービスとは何かという説明から始まり, LDAP の名前の由来について, LDAP とは何なのか, というように, LDAP を知らない読者に対して LDAP の概念を順を追って説明している. 途中, LDAP の命名モデルの説明でディレクトリ情報ツリーの話が出てくるところでは, 具体的な説明無しに dc, ou, cn などの属性型が出てくるので多少面食らったが, 後の部分で説明されているので, 疑問に思う点を気にせずに取りあえず先に読み進めれば無理なく理解できる内容であった.
本書全体に共通する特徴として, 情報の詳細はある程度省いて URL や書籍などポインタの紹介に留めていることがあるが, LDAP の基本の部分の説明についても情報のポインタが多いことは, LDAP 初心者として読んでいて不満に思った. 少なくとも LDAP の基本を説明する部分に関しては, URL の紹介などの簡単な説明で済ませない方が良かったのでは無いかと思う.
例えば, LDAP 属性の略語の意味など, FAQ に挙げられそうな内容についても URL の紹介に留まっている. また, 第 2 章でプライベート enterprise 番号の取得についての記述があるが, ここでは番号取得のための URL の紹介に留まっており, 具体的な手順は説明されていない. 紹介されている URL は英語で記述されたページであるが, 英語が苦手な読者もいると考えられるので, 日本語訳で出版するにあたっては, このあたりの情報量をもう少し増やした方が, 日本の読者には親切になったのではないかと思う.
本書では LDAP と NIS, 電子メール, FTP, HTTP, Samba, Radius, DNS, LPR, Perl, Ruby との関わりについてそれぞれに具体的な設定例を挙げながら説明している.
それらの実践例の中でも, 私は LDAP と Samba の連携について特に興味を持って本書を読み始めた. LDAP と Samba について記述された節の冒頭で著者は "Samba については本書の対象外なので, 詳細説明は省略します." と述べている. その後, 参考図書が 2 冊紹介されているのみで, Samba そのものについての入門的な説明は全くされていない. 説明されているのは Samba と LDAP の連携に必要十分な内容のみである.
このような文章は読者によっては無骨な印象を受けるかもしれないが, 無駄な説明が全くないため, 必要な設定が何なのかが明確になっており, 第 I 部の LDAP の基本の説明部分を理解していれば無理なく受け入れられる内容であっため, 私は焦点を絞った適切な内容だと感じた.
この第 II 部の内容だけでも LDAP を利用してディレクトリサービスを構築することは充分に可能であるが, さらに著者が示している関連情報, URL も積極的に調べて勉強していくことで, 本書は真の価値を発揮する書籍となると考えられる.
LDAP の仕様は (私にとっては) 膨大なものである. また, LDAP を理解するには, LDAP だけでなく X.500 に関する知識も必要となる. 例えば, 本書では LDAPv3 に関連するドキュメントとして, 31 の RFC が紹介されているが, 予備知識の無い状態からこれらの RFC を全て読むのは, 非常に苦労を強いられる作業だと感じる. しかし, LDAP の情報を 300p そこそこの紙面で的確にまとめた本書を読むことで, LDAP を理解するための時間を大幅に節約することができるのである.
前述のようにもう少し説明があった方が良かったのでは無いかと思われる部分も散見されたが, それらの多くは著者が書籍をコンパクトにまとめるために割愛した部分と考えられ, 少なくとも情報のポインタは示されているので, そちらを調べさえすれば特に問題は無い.
"目指すはネットワーク管理者のユートピア" だと, 著者が本書冒頭で述べているが, 本書はユートピアへの第一歩を踏み出すための良きガイドであると私は考える.
LDAP の解説書は, 私の感覚では去年ぐらいから出版される本の数が急に増えてきたように思います. ただし, 内容については,「LDAP の概論説明はわかりやすいが, 実際のサーバ構築 / 運用部分は弱い本」 「OpenLDAP での実際のサーバ構築 / 運用の解説はいいが, そこに至る LDAP の概要説明が弱い本」というように, これから始める人が買う 1 冊目の本として, 概論解説から構築 / 適用までを書いた, これという 1 冊がないように感じています.
そこで, 今回は「1 冊目に買う本としてはどうか」という視点で読んでみました.
まず, この本の目次を見るとわかるように, 最初に LDAP の概要説明があって, インストール, 各適用場面についての構築説明という流れで書かれており, 私の求めている「概論から構築まで」をとりあえず満たすような書き方をしていると感じました.
実際に読み始めて感じたことですが, LDAP の概要説明で LDAP の専門用語が説明なく出てきており, 初心者にとっては敷居の高さを感じました. 私は, 何冊かの LDAP 解説本を読んでいましたので, 別の本にあった説明で理解できましたが, この本で初めて LDAP を勉強しようという人にとっては, 何が書かれているのかわからなくなって, 読む気がしなくなるように思いました. 説明自体は, 例を使った説明で簡潔ながらわかりやすい書き方をしていましたので, 出てくる用語については, 説明が欲しかったと感じました. 私としては, この専門用語がすんなりと理解できるかが LDAP の勉強の第一関門だと感じていますので, もったいない気がしました.
構築部分については, 細かい解説をするというより, とりあえずこうやればインストールできるという方向での説明に感じました.
これについては, 大事なのはインストールではなく LDAP をどうやって実場面に適用するかだと思いますので, この程度の解説で充分かと思います.
また, 複製サーバを設置する判断基準についての説明がされており, これは構築時に役に立つように感じました.
LDAP の適用部分については, 適用場面に対して章を用意して説明してあり, この本を読みながら LDAP の構築 / 適用を行う人にとっては, 実際に使うところを読めばいいという構成になっています.
用意している適用場面についても,
となっており, LDAP の主な適用場面は用意されているのではないかと思います. また, 最後の 9 章, 10 章で運用関連の技術解説も書かれているので, 必要なことは網羅して書かれているように思います.
この本は, LDAP の概論説明から適用説明まで書かれていて, そういう意味では, 私の求める内容は書かれていたと思います.
全体的に文字が多く図や表による説明は少ないように感じましたが, これは, 320 ページという内容の割に少ないページ数に詰め込んでいるためだと思います.
全体として, この本を見ながら設定するという方向で書かれていて, 内容については基本となる最低限のことを押さえて, 詳細な部分については他の本や Web 上の情報などで調べて自分で勉強していくという書かれ方です.
価格やページ数については, ページ数だけ見ると高いような気もしますが, 内容は詰め込まれているので妥当な価格かと思います.
はじめにで書いた「1 冊目に買う本としてはどうか」という視点での評価についてですが, 必要な内容はこの 1 冊で網羅できているのですが, LDAP の概要説明で用語説明が抜けているために, その部分を埋めるもう 1 冊が欲しいように思います.
私が 1 冊も LDAP の本を持っていないで購入する場合や他人に薦める場合を考えると, この本は, LDAP の用語説明をわかり易く書いている LDAP の概論説明を中心とした本を 1 冊読んだ次に読む 2 冊目の本だろうと思います. この本を読んで, もっと詳しく知りたい部分については, その部分を集中的に書いた 3 冊目の別の本を買うということになると思います.
この本で, ページ数を増やしてでも用語説明をしてあれば, とりあえずこの 1 冊があれば充分という役割を果たせたと思いますので, もったいない気がします. 今後, 第 2 版が出るのかどうかわかりませんが, もし出るのであれば付録としてでも, 用語解説を追加してもらえたら, 「この 1 冊」という本になるように思います.