LDAP
Konfigurationsdatenbank von OpenLDAP (dn=config)
Lesen ohne Server:
slapcat -F /etc/openldap/slapd.d -b cn=config -a olcDatabase=*
Lesen mit Server:
ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase=*
Änderungen vornehmen:
ldapadd -Y EXTERNAL -H ldapi:/// -f file.ldif
Beispiel ldif-Datei für ACLs:
dn: olcDatabase={2}hdb,cn=config changetype: modify delete: olcAccess - add: olcAccess olcAccess: to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaPwdLastSet by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by dn="cn=Manager,dc=innocent,dc=com" manage by dn="uid=suelmann,ou=People,dc=innocent,dc=com" manage by anonymous auth by self write by * none - add: olcAccess olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by dn="cn=Manager,dc=innocent,dc=com" manage by dn="uid=suelmann,ou=People,dc=innocent,dc=com" manage by self write by * read
Die Zeile mit delete: olcAccess
muss entfernt werden, wenn noch keine ACLs vorhanden sind.
Beispiel ldif-Datei für globale Config-Änderungen:
dn: cn=config changetype: modify replace: olcTLSCertificateFile olcTLSCertificateFile: /etc/pki/tls/certs/localhost.crt - replace: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/pki/tls/private/localhost.key -
Beispiel ldif-Datei für eine objectClass:
dn: cn=mailAccount,cn=schema,cn=config objectClass: olcSchemaConfig cn: mailAccount olcObjectClasses: ( 2.25.1 NAME 'mailAccount' DESC 'Mail Account' SUP top AUXILIARY MAY ( uid $ mail ) )