コンテンツにスキップ

OpenLDAPでLDAPを理解する

OpenLDAP を使い、LDAP のデータモデル、スキーマ、Linux アカウント連携、認証、管理方法を理解するための解説。


初めて LDAP / OpenLDAP を読む場合は、次の順番で進める。

  1. LDAPとOpenLDAPの全体像
  2. LDAPのデータモデル
  3. スキーマと objectClass
  4. OpenLDAPとLinux連携コンポーネント
  5. NSSとPAMによるLinuxログイン
  6. RFC 2307のユーザーとグループ
  7. LDAPツリー設計
  8. BindとSASL認証
  9. ldapiとcn=config
  10. LDAP操作と保守コマンド
  11. TLS・ACL・運用上の注意

  1. Linuxユーザー認証の設定(TLSなし)
  2. Linuxユーザー認証の設定(StartTLS)


Linux application
├─ NSS: user / group lookup
│ └─ nslcd or SSSD
│ └─ LDAP search
│ └─ slapd
└─ PAM: authentication / account / session
└─ nslcd or SSSD
└─ LDAP Bind
└─ slapd

LDAP は Linux 専用ではない。LDAP はディレクトリ情報を階層構造で保存し、検索・変更・認証するためのプロトコルとデータモデルである。

OpenLDAP は、その LDAP サーバー実装と関連ツール群である。Linux ログインに使う場合は、OpenLDAP だけで完結せず、 NSS と PAM 、 nslcd または SSSD などのクライアント側設定が必要になる。


  • RFC 4512 LDAP のデータモデル、DN、RDN、属性、スキーマ、objectClass。

  • RFC 4513 LDAP の認証方式、Bind、Simple Bind、SASL。

  • RFC 2307 LDAP で POSIX ユーザー・グループを表現するためのスキーマ。