このページは†
まだ書いている途中です.気が向き次第付け足していきます.
ってか誰か書いてもいいよ~w
参考にしようと思ったら途中だったのでpachikiが勝手に書き足します:)
LDAPとは†
エルダップ:Lightweight Directory Access Protocolとはネットワークを利用するユーザなどを管理するディレクトリ型データベースにアクセスするためのプロトコルである.ちなみにDAP(Directory Access Protocol)と呼ばれる,ITU-TのX.500シリーズが規定している分散ディレクトリーサービスプロトコルがあり,その簡略化版がLDAPである.
何ができるか†
一つのユーザIDに対してメールアドレスやパスワードを登録しておけばその情報を元に様々なサービスを受けることができ,管理側もサービスごとに必要な設定を省けるため,管理が容易になる.
主に,
- WebサービスでのID
- メールでのアドレス帳,ID
- メーリングリストでのID
- SAMBAでのID
- 無線LNAの認証
- アドレス帳とし,個人情報のデータベース
などに応用される.どれもユーザ単位はもちろん,グループ単位での設定が可能である.また,個人情報のように他人には公開してはならない情報は,アクセス制御をかけることもできる.
なぜLDAPか†
各種サービスごとにパスワードを設定した方が流失の際に安全かのように思えるが,サービスごとにパスワードを用意すれば忘れることを恐れたメモをとってしまうことがある.一つのパスワードであればそれを防ぐことができる.
また,Unixでは従来からNISがあったが,各種サービスの拡張を行うにはNISを軸に,各サービス側で属性を補完して構築してきたが,昨今のようにユーザ要求が多種多様にわたり,新たなサービスも毎日のように生まれている状況では無理が生じてきた.
LDAPはUnixはもちろん,WindowsやMacOSなど様々なプラットフォームで利用できる.キャッシュ対応やマルチバイトにも対応していることも大きなメリットである.
ディレクトリ型データベース†
ディレクトリとはファイルシステムの木構造を想像しがちだが,元来の英単語の意味は
Directory: 特定地区などの 住所氏名録,商工人名録
である.電話帳はTelephone Directoryである.
電話帳は人名などをキーに電話番号や住所を探し出すが,ディレクトリサービスはこのキーを元に付随情報を検索するということを行う.LDAPのPはプロトコルであることからもわかるように,LDAPはデータベースでなく,アクセスするための方法である.データベースには一般的に,リレーショナルデータベースを利用している.ただ,アクセスする方法がSQLではなく,LDAPである,というのが違いである.
ディレクトリエントリ†
属性の定義†
オブジェクトクラス†
スキーマ†
サーバ設定†
slapd.conf†
設定確認†
サービスの操作†
データベース運用†
記述方法と初期データベースの登録†
データの追加(コマンド)†
データの修正(コマンド)†
データの追加と修正(LDAPブラウザ)†
セキュリティ設定†
各種サービスとの連携†
Apache†
samba†
mailman†
pptp + Radius†
サービスの安定化†
複製サーバの構築†
データベースバックアップ†
トラブル対応†
ログによるエラー解析†
参考文献†
以下テンポラリー†
LDAPのattribute †
| 属性タイプ | 呼び名 | 役割 |
| dn | Distinguished Name( 識別名) | エントリの場所を示す.全レコードで一意になる |
| dc | Domain Component( ドメイン構成要素) | ドメインの全体名 |
| ou | Organizational Unit( 組織単位) | フォルダのようにそれ以下の項目をまとめる |
| objectClass | オブジェクトクラス | 属するクラス |
| sn | Sur Name( 性) | 姓名の性 |
| gn | Given Name( 名) | 姓名の名 |
| cn | Common Nmae( 一般名称) | グループ名やLDAP の管理のためだけのアカウントなどに用いる |
| gecos | フルネーム | 一般的にはユーザのフルネームを記載する |
| uid | UserID(ユーザ名) | ログイン名としても利用される.一意のほうが管理しやすい |
| uidNumber | ユーザ番号 | ユーザごと一意なユーザ番号 |
| gidNumber | グループ番号 | グループごと一意なグループ番号 |
| description | 説明 | そのエントリに対する説明を記載する |
| userPassword | Unix パスワード | ユーザのパスワードを記載する |
アクセス権の設定 †
- slapd.confに記載
access to <アクセス制御対象> by <アクセスを許可する対象> <アクセス許可レベル> by <アクセスを許可する対象> <アクセス許可レベル> ...
- < アクセス制御対象> は対象となる属性
- < アクセスを許可する対象>
設定 対象 * すべて anonymous 匿名ユーザ users 認証を行なったユーザ self ユーザ自身 dn=”regex” 正規表現”regex”に一致したユーザ - < アクセス許可レベル>
設定 許可の内容 none アクセス権なし auth バインド(接続)可能 compare 比較可能 search 検索フィルタ実行可能 read 検索・読み込み可能 write 更新可能





