====== Open LDAP ====== {{ :serverapps:ldapworm.gif|}} ===== インストール ===== # pkg install openldap-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 ===== 参考 ===== * [[https://www.openldap.org/doc/admin24/backends.html|OpenLDAP 11. Backends]]