LDAPサーバにディレクトリ情報(エントリ)を登録したり、エントリの内容を変更したりするには、LDIF(LDAP Data Interchange Format)ファイルを利用。
●LDIFファイルの基本的な書式
dn:識別名
属性名:属性値
属性名:属性値
・・・
dn:識別名
属性名:属性値
属性名:属性値
・・・
LDIFファイルでは、最初の行でエントリの識別名(DN)を記述。複数のエントリを記載する場合は空行で区切ります。コメントは行頭に「#」。
属性値は、通常UTF-8のテキストで記載しますが、バイナリデータなどの特殊なデータを指定する場合は「属性名::属性値」のようにし、属性値にはBase64でエンコードした値を指定。
LDAPではデータをオブジェクトとして扱います。また、オブジェクトが持つべき属性(情報)を定義したものをオブジェクトクラス。
LDAPでのオブジェクトの単位であるエントリは、必ずオブジェクトクラスに属しています。オブジェクトクラスによってエントリの実体(エントリが人を表すのか、組織を表すのかなど)が決定されます。
LDAPでは様々なオブジェクトクラスが用意されています。
オブジェクトクラスでは以下の3つの種類の属性が定義されます。
・必須属性(Required Attribute)
属性値を指定しなければならない属性
・オプション属性(Allowed Attribute)
属性値を指定しなくてもよい属性
・名前属性(Naming Attribute)
エントリの名前を表す属性(RDN)
●LDAPで使用される主な属性
・dn 識別名(Distinguished Name)
・objectClass オブジェクトクラス(必須)
・c 国名
・cn 一般名称
・dc ドメイン構成要素
・mail メールアドレス
・o 組織名
・ou 部署などの組織単位
・sn 名字
・telephoneNumber 電話番号
・uid ユーザのログイン名
・uidNumber ユーザID
objectClass属性はエントリが属するオブジェクトクラスを指定。
objectClass属性で指定したオブジェクトクラスの種類によって、必須属性およびオプション属性が決定。
※objectClass属性自体も「top」というオブジェクトクラスの必須属性。
「top」はすべてのオブジェクトクラスの基底クラス。したがって、objectClass属性は全てのエントリの必須属性。