# pkg install openldap-server
<html>
<!– # portinstall net/openldap24-server –>
</html>
/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"
/etc/syslog.confの修正
local4.* /var/log/slapd.log