Open LDAP

インストール

# pkg install openldap-server

<!-- # portinstall net/openldap24-server -->

起動

/etc/rc.confに

slapd_enable="YES"

を追加

設定

主な設定項目

設定項目	設定値
include	読み込むスキーマ定義を指定
pidfile	PIDファイルの保存場所
databese	バックエンドDBの指定
suffix	このLDAPのrootサフィックスを指定します。
rootdn	特権ユーザーでDBの全アクセス権を有する、ルートユーザサフィックスを設定します
rootpw	特権ユーザーのパスワード(暗号化パスワードの利用推奨)
directory	利用するバックエンドDBの置き場所を指定
index	インデックスを指定します(DBなので、index付けて検索性能を上げる) indexを編集したらコマンドでindexを再構築

設定ファイル

/usr/local/etc/openldap/slapd.conf

include /usr/local/etc/openldap/schema/core.schema ← 利用するスキーマを指定
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
moduleload back_mdb <- これを生かさないと”Unrecognized database type”のようなエラーが出る
database mdb ← DBの種類
suffix "dc=my-domain,dc=com" ← root
rootdn "cn=Manager,dc=my-domain,dc=com" ← rootdn
rootpw secret ← rootdnのパスワード(暗号化パスワードの利用推奨)
directory /var/db/openldap-data ← DBの保管場所
index objectClass eq ← Indexの設定

暗号化パスワード

slappasswdを利用すると以下のようにハッシュ化されたものが表示されるので、それを利用します

# slappasswd -s パスワード文字列
{SSHA}AbcdEfgHijkLmn987654321PQrstuVwx

コマンド

データの登録

user.ldifを登録

ldapadd -x -h localhost -D "cn=Manager,dc=my-domain,dc=com" -w secret -f user.ldif

データの検索

uidの末尾が'01'のデータを検索

ldapsearch -x -H ldap://localhost/389 -b "dc=my-domain,dc=com" -s sub "(uid=*01)"

データの削除

'uid=hoge,dc=my-domain,dc=com'のデータを削除

ldapdelete -x -h localhost -D "cn=Manager,dc=my-domain,dc=com"" -w secret "uid=hoge,dc=my-domain,dc=com"

データの変更

更新用ldifファイルを使用

ldapmodify -x -h localhost -D "cn=Manager,dc=my-domain,dc=com" -w secret < modify.ldif

パスワードの変更

ldappasswd -x -s newpassword -D "cn=Manager,dc=my-domain,dc=com" -w secret "uid=0001,ou=network,dc=my-domain,dc=com"

Log

/etc/syslog.confの修正

local4.* /var/log/slapd.log

参考

OpenLDAP 11. Backends