Es el daemon standalone de OpenLDAP que escucha en el puerto 389 o 636 para LDAPS y atiende peticiones LDAP, el resto de herramientas son comandos offline: acceden directamente a la base de datos en disco [BDB/MDB] sin pasar por el protocolo LDAP, por eso casi todas necesitan que el daemon esté parado o al menos que no haya conflicto de bloqueo sobre la base de datos y casi todas necesitan root o pertenecer al grupo openldap para leer /etc/ldap/slapd.d y /var/lib/ldap. Incluye los ejecutables slapacl, slapadd, slapauth, slapcat, slapd, slapdn, slapindex, slapmodify, slappasswd, slapschema y slaptest.
# systemctl status slapd.service
# slapd -d 256 -h "ldap:/// ldapi:///"
# slaptest -F /etc/ldap/slapd.d -u
# slaptest
# slappasswd
# slappasswd -s "linux99" -h {SMD5}
# slapcat
# slapcat -l ldif
# slapcat -n 0
# slapcat -n 1 -l backup.ldif
# slapadd -n 1 -w -l /tmp/mi_estructura.ldif
# slapacl -D "cn=admin,dc=nodomain" -b "dc=nodomain" "entry/read"
# slapauth -U admin
# slapauth -U admin -X "dn:cn=admin,dc=nodomain"
# slapdn "cn=admin,dc=nodomain"
# slapschema -n 1
# slapschema -n 1 -d 1
1.-
Para importar un LDIF a la base de datos
$ sudo systemctl stop slapd
$ sudo slapadd -n 1 -l /tmp/backup.ldif
$ sudo chown -R openldap:openldap /var/lib/ldap
$ sudo systemctl start slapd
2.-
Al añadir un olcDbIndex nuevo, las entradas ya existentes han de reindexarse
$ sudo systemctl stop slapd
$ sudo slapindex -n 1
$ sudo chown -R openldap:openldap /var/lib/ldap
$ sudo systemctl start slapd
3.-
Añadir un índice nuevo vía ldapmodify sobre cn=config
# ldapmodify -Y EXTERNAL -H ldapi:/// <<EOF
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: mail eq
EOF
Luego reindexar las entradas que ya había
$ sudo systemctl stop slapd
$ sudo slapindex -n 1
$ sudo systemctl start slapd
4.-
Modificar sin pasar por LDAP
slapmodify es más nuevo y aplica un LDIF de tipo changetype directamente sobre la base de datos offline, como si fuera un ldapmodify pero sin daemon:
# systemctl stop slapd
# cat > /tmp/cambio.ldif <<EOF
dn: dc=nodomain
changetype: modify
add: description
description: Directorio de pruebas
EOF
$ sudo slapmodify -n 1 -l /tmp/cambio.ldif
$ sudo chown -R openldap:openldap /var/lib/ldap
$ sudo systemctl start slapd