Dies ist eine alte Version des Dokuments!
Bei Debian wird das Paket mit folgenden Werten vorkonfiguriert 2):
debconf-set-selections <<DEBCONF
# Name of your organization: slapd shared/organization string linuxhotel # Allow LDAPv2 protocol? slapd slapd/allow_ldap_v2 boolean false # DNS domain name: slapd slapd/domain string linuxhotel.de # Admin password: slapd slapd/password1 password villa # Confirm password: slapd slapd/password2 password villa
DEBCONF
shopt -s dotglob rm -rf /var/lib/ldap/* rm -rf /etc/openldap/slapd.d/* cp -a /usr/share/openldap-servers/slapd.ldif /usr/share/openldap-servers/slapd.ldif.orig vim /usr/share/openldap-servers/slapd.ldif
olcAccess: to dn.base="" by * read olcAccess: to dn.base="cn=Subschema" by * read olcAccess: to * by self write by users read by anonymous auth # # Server status monitoring # dn: olcDatabase=monitor,cn=config objectClass: olcDatabaseConfig olcDatabase: monitor olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=example,dc=net" read by * none # # Backend database definitions # dn: olcDatabase=hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: hdb olcSuffix: dc=linuxhotel,dc=de olcRootDN: cn=admin,dc=linuxhotel,dc=de olcDbDirectory: /var/lib/ldap olcDbIndex: objectClass eq,pres olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
/usr/libexec/openldap/convert-config.sh -f /usr/share/openldap-servers/slapd.ldif cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG systemctl start slapd systemctl enable slapd
vim ~/.ldaprc
URI ldapi:// BASE cn=config SASL_MECH EXTERNAL
ldapsearch -LLL '(olcSuffix=*)' olcSuffix
ldapadd -f /etc/openldap/schema/core.ldif ldapadd -f /etc/openldap/schema/cosine.ldif ldapadd -f /etc/openldap/schema/inetorgperson.ldif ldapadd -f /etc/openldap/schema/nis.ldif
ldapsearch -b cn=schema,cn=config -LLL dn
Unter Debian werden bereits bei der Installation die ersten Werte, wie z.B. der Administrator-Benutzer in das Verzeichnis eingefügt. Unter SuSE und Fedora kann man das mit dem Befehl slapadd
tun, das Administrator-Passwort wird mit dem Befehl slappasswd
erzeugt:
DOMAIN="dc=linuxhotel,dc=de" DC=${DOMAIN%%,*} PASSWORD=$(slappasswd -s villa) slapadd <<LDIF
dn: $DOMAIN objectClass: top objectClass: dcObject objectClass: organization o: linuxhotel dc: ${DC#dc=} dn: cn=admin,$DOMAIN objectClass: top objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword: $PASSWORD
LDIF
SuSE, Centos, Fedora:
/etc/init.d/ldap restart chkconfig ldap on
Debian:
/etc/init.d/slapd restart
(unter SuSE /usr/lib/openldap/slapd)
slapd -d -1
Debian:
ldap-utils
SuSE:
openldap2-client
Fedora, CentOS 6:
openldap-clients
Der OpenLDAP Server sollte nun z.B. mit ldapsearch
die oben eingegebenen Werte zurückliefern:
ldapsearch -x -W -b dc=linuxhotel,dc=de -H ldap://localhost -D cn=admin,dc=linuxhotel,dc=de
Die Benutzung der ldap-utils können sie mit Hilfe einer Konfigurationsdatei $HOME/.ldaprc
3) vereinfachen:
BASE dc=linuxhotel,dc=de BINDDN cn=admin,dc=linuxhotel,dc=de HOST localhost
Der obige Aufruf verkürzt sich dadurch zu:
ldapsearch -x -W
ldapsearch -x -W -b '' -s base '+'
ldapsearch -x -W -b 'cn=Subschema' -s base '+'
/etc/init.d/slapd stop slapcat -b dc=linuxhotel,dc=de > sicherung.ldif less sicherung.ldif grep directory /etc/ldap/slapd.conf # DB_CONFIG nicht löschen ... rm /var/lib/ldap/*.bdb rm /var/lib/ldap/__db.* vi sicherung.ldif slapadd < sicherung.ldif slapindex chown -R openldap:openldap /var/lib/ldap/* /etc/init.d/slapd start
Nützliche Optionen beim Editieren von LDIF Dateien:
:set list
:syntax on
:set number
Oder eine Datei ~/.vimrc
anlegen
set list set number syntax on
LDIF-Dateien vor dem Einfügen testen:
ldapadd -x -W -n < irgendwas.ldif
und erst dann wirklich einfügen:
ldapadd -x -W < irgendwas.ldif
apt-get install
eingeben/etc/ldap.conf
, /etc/ldap/ldap.conf
, /etc/openldap/ldap.conf
apt-get install libio-socket-ssl-perl shelldap