コンピュータ系/ソフトウェア/OpenLDAP/設定/ファイル/slapd.conf

2018-04-16 (月) 15:53:00 (1379d)

up


  • ディレクトリ:
  • ファイル名:
  • 役割:
  • 備考:
    • ln -s /usr/local/etc/openldap /etc/openldapとして,/etcの下に設定ファイルをまとめておくと分かりやすい.
    • pkgsrcを使ってインストールした場合,ディレクトリ構造が多少違っている.


例:

include /usr/local/etc/openldap/schema/core.schema

pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args

allow bind_anon_cred
allow bind_anon_dn

access to attrs=userPassword
        by self write
        by dn="cn=Manager,dc=my-domain,dc=com" write
        by anonymous auth
        by * none
access to *
        by self =rwcsx
        by dn="cn=Manager,dc=my-domain,dc=com" =rwcsx
        by * read

database bdb
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
rootpw secret
directory /usr/local/var/openldap-data
index objectClass eq

例:プロバイダ設定

...
overlay syncprov
syncprov-sessionlog 100
...

例:コンシューマ設定

...
syncrepl rid=123
    type=refreshAndPersist?
    interval=00:00:05:00
    provider=ldap://192.168.1.179:389/
    bindmethod=simple
    binddn="cn=Admin,dc=my-domain,dc=com"
    credentials=admin
    searchbase="dc=my-domain,dc=com"
    filter=(objectClass=*)
    scope=sub

コマンド一覧

access

  • エントリや属性へのアクセス制御機能
    • 書式:
      • access to <what>
      •         by <target> <access> [control]
    • 書式:<what>
      • アクセス制御する対象
      • *:すべてのエントリが対象
      • dn=<dn>:アクセス対象のエントリを指定
      • filter=<ldapfilter>:<ldapfilter>で指定した条件に一致するエントリを対象
      • attrs<attrlist>:指定した属性だけをアクセス対象に.複数の属性を指定する場合,コンマで区切る
    • 書式:<target>
      • 許可を与えるアクセス者
      • *:すべてのユーザ
      • anonymous:匿名ユーザ
      • users:認証したユーザ
      • self:ユーザ自身
      • dn=<regex>:正規表現<regex>に一致したユーザ
    • 書式:<access>:=をつけると設定,+をつけると追加設定
      • レベル:レベルの略語:意味
      • none::アクセス権なし
      • disclose:d:エラー情報の開示
      • auth:x:バインド可能
      • compare:c:比較可能
      • search:s:検索フィルタ実行可能
      • read:r:検索結果参照可能
      • write:w:更新可能

allow

  • 匿名接続の範囲のコントロール
    • 書式:allow <option>
    • <option>:
      • bind_anon_cred:anonymousでのリクエストを受け付ける
      • bind_anon_dn:DNが指定されていて認証できない場合でもanonymousでのリクエストとして受け付ける
      • update_anon:anonymousの権限で,LDAPデータベース更新要求を受け付ける(non-recommended)

argsfile

  • slapdが起動された引数の情報を保管するファイルの指定.
    • slapdが読み込み/書き込みできる必要がある.よってこのファイルの所有権をslapdを動作させるユーザ/グループにしておく.

database

  • LDAPのデータを保管するデータベースを指定.
    • bdb
      • Berkeley DBを使って作成されるデータベース.
    • hdb
      • Berkeley DBを使って作成されるデータベース.各エントリを階層構造のまま管理.

directory

  • データベースを保管するディレクトリ

include

  • スキーマファイルの読み込み
    • 主なスキーマ
      • core.schema:core.必須

index

役割:インデックスをつける
書式:index <attrlist> <type>

  • <attrlist>
    • インデックスの設定を行う属性を指定.複数の属性を指定する場合にはコンマ","で区切る
  • <type>
    • インデックスの種類.複数ある場合はコンマ","で区切る
      • pres:属性の存在そのものに対する検索(存在検索)に適したインデックス
      • eq:文字列や数値の完全一致での検索(等価検索)に適したインデックス
    • approx:近似検索に適したインデックス
    • sub:文字列の部分一致に適したインデックス
    • none:インデックスなし
  • その他
    • index default pres,eq
      • 他のインデックスの時,<type>を指定するとdefaultで指定されたインデックスとなる

overlay

  • 同期プロバイダのオーバーレイを有効にする

pidfile

  • slapdのプロセス番号を保管するファイルの指定.
    • slapdが読み込み/書き込みできる必要がある.よってこのファイルの所有権をslapdを動作させるユーザ/グループにしておく.

rootdn

  • LDAPディレクトリの管理者DN.

rootpw

  • LDAPディレクトリの管理者のパスワード.
    • slappasswdコマンドでパスワードを作成してコピペ.

suffix

  • LDAPデータの識別名.

syncprov-sessionlog

  • セッションログの最大保存数
    • ログに保管されているよりも前の情報が必要になると,全てのデータを転送.

syncrepl

役割:同期の方法
書式:設定できるパラメータ

  • rid=***
    • ***:0〜999の数字
      • コンシューマ識別用.他のコンシューマと同じ番号にならないように.
  • type=***
  • interval=dd:hh:mm:ss
    • dd:日にち,hh:時間,mm:分,ss:秒
      • 更新感覚
  • provider=***
    • ***:プロバイダのアドレスとポート(URI形式)
      • ldap://アドレス:ポート/
  • bindmethod=***
    • ***:simple
      • 認証方法
  • binddn="***"
    • ***:接続するときのDN
  • credentials=***
    • ***:binddnに対するパスワード
  • searchbase="***"
    • 検索のベースDN
  • filter=***
    • 検索フィルタ
  • scope=***
    • ***:sub | one | base
      • スコープ