Skip to main content

Posts about ldap

openldap tools

ldapエントリの検索

ldapsearch -x [-H ldap:///] -D "<basedn>" -W -b <searchbase> [filter]

ldapmodifyによるエントリの更新

ldapmodify -x [-H ldap:///] -D "<basedn>" -W -f <file.ldif> [-n -v]
-n: dry-run
-v: verbose

ldapmodifyで使用するldifファイルの例

(例) 既存のdn に、新しい属性を追加する。
dn: uid=user1,ou=user,dc=example
changetype: modify
add: gecos
gecos: user1@example
<複数のエントリを続ける時は、空行で区切る>
dn: uid=user2,ou=user,dc=example
changetype: modify
add: gecos
gecos: user2@example

backup and restore openldap

backup

# systemctl stop slapd
slapcat > ldap.ldif
slapcat -b cn=config > ldap-config.ldif

restore

systemctl stop slapd
mv /etc/ldap/slapd.d{,.bak}
mv /var/lib/ldap{,.bak}
mkdir /etc/ldap/slapd.d
mkdir /var/lib/ldap
slapadd -n0 -F /etc/ldap/slapd.d -l ldap-config.ldif
slapadd -l ldap.ldif
chown openldap:openldap -R /etc/ldap/slapd.d
chown openldap:openldap -R /var/lib/ldap
systemctl start slapd