Openldap
installation
apt-get
passwort nach wahl festlegen
apt-get install slapd ldap-utils
- slapd: OpenLDAP Standalone Server
- ldap-utils: Utilities zum Zugriff auf den LDAP Server
grundkonfiguration
dpkg-reconfigure -p low slapd
kontrolle
kontrolle der konfig files
root@maria:/etc/ldap# find /etc/ldap/slapd.d/ -type f /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif /etc/ldap/slapd.d/cn=config/olcBackend={0}hdb.ldif /etc/ldap/slapd.d/cn=config/olcDatabase={-1}frontend.ldif /etc/ldap/slapd.d/cn=config/cn=schema.ldif /etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif /etc/ldap/slapd.d/cn=config/cn=schema/cn={3}inetorgperson.ldif /etc/ldap/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif /etc/ldap/slapd.d/cn=config/cn=schema/cn={0}core.ldif /etc/ldap/slapd.d/cn=config/cn=schema/cn={2}nis.ldif /etc/ldap/slapd.d/cn=config/cn=module{0}.ldif /etc/ldap/slapd.d/cn=config.ldif
kontrolle der konfig files
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
dn: cn=config dn: cn=module{0},cn=config dn: cn=schema,cn=config dn: cn={0}core,cn=schema,cn=config dn: cn={1}cosine,cn=schema,cn=config dn: cn={2}nis,cn=schema,cn=config dn: cn={3}inetorgperson,cn=schema,cn=config dn: olcBackend={0}hdb,cn=config dn: olcDatabase={-1}frontend,cn=config dn: olcDatabase={0}config,cn=config dn: olcDatabase={1}hdb,cn=config
stimmt der base dn?
ldapsearch -x -LLL -H ldap:/// -b dc=linuggs,dc=de dn dn: dc=linuggs,dc=de dn: cn=admin,dc=linuggs,dc=de
Starten des slapd
serivce slapd start Starting OpenLDAP: slapd.
Stoppen des slapd
serivce slapd stop Stopping OpenLDAP: slapd.
Neustarten des slapd
service slapd restart Stopping OpenLDAP: slapd. Starting OpenLDAP: slapd.Starten des slapd
Auf welchem Port lauscht der slapd
netstat -lntp | grep slapd tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 499/slapd
Welche PID hat der slapd
pgrep slapd 499 500 501
Abfragen
anonym
ldapsearch -x -LLL -H ldap://127.0.0.1 -b dc=linuggs,dc=de
gebunden interaktiv
ldapsearch -x -LLL -D "cn=admin, dc=linuggs, dc=de" -W -H ldap://127.0.0.1 -b dc=linuggs,dc=de
gebunden automatisch
ldapsearch -x -LLL -D "cn=admin, dc=linuggs, dc=de" -w sysadm -H ldap://127.0.0.1 -b dc=linuggs,dc=de
Defaultclientkonfiguration von LDAP
cat /etc/ldap/ldap.conf base dc=linuggs, dc=de uri ldap://127.0.0.1 ldap_version 3 rootbinddn cn=admin, dc=linuggs, dc=de pam_password md5
Passwort für den Adminzugang eintragen
echo sysadm > /etc/ldap.secret
füllen der datenbank
struktur.ldif
dn: ou=user,dc=linuggs,dc=de objectClass: organizationalUnit ou: user dn: ou=groups,dc=linuggs,dc=de objectClass: organizationalUnit ou: groups dn: ou=hosts,dc=linuggs,dc=de objectClass: organizationalUnit ou: hosts
struktur hinzufügen
ldapadd -xD cn=admin,dc=linuggs,dc=de -w sysadm -f struktur.ldif
gruppe ldif anlegen
cat group.ldif dn: cn=it,ou=groups,dc=linuggs,dc=de objectClass: posixGroup objectClass: top cn: it gidNumber: 3001
gruppe hinzufügen
ldapadd -xD cn=admin,dc=linuggs,dc=de -w sysadm -f group.ldif adding new entry "cn=it,ou=groups,dc=linuggs,dc=de"
user ldif anlegen
dn: uid=leroy,ou=user,dc=linuggs,dc=de cn: leroy objectClass: account objectClass: posixAccount objectClass: shadowAccount objectClass: top uid: leroy uidNumber: 2001 gidNumber: 3001 homeDirectory: /home/leroy loginShell: /bin/bash
user hinzufügen
ldapadd -xD cn=admin,dc=linuggs,dc=de -w sysadm -f user.ldif adding new entry "uid=leroy,ou=user,dc=linuggs,dc=de"
nsswitch anbinden
apt-get install libnss-ldap
Wir benutzen nur eine Konfigurationdatei
ln -sf /etc/ldap/ldap.conf /etc/pam_ldap.conf
ergänzen /etc/nsswitch.conf
passwd: compat ldap group: compat ldap
nsswitch tests
passwd test
getent passwd | grep 3001 leroy:x:2001:3001:leroy:/home/leroy:/bin/bash
group test
getent group | grep 3001 it:*:3001:
id test
id leroy uid=2001(leroy) gid=3001(it) Gruppen=3001(it)
ldap pam installieren
apt-get install libpam-ldap
Anpassen der Pam
Die Authentifizierung(installation nimmt einstellung schon vor)
gawron:/etc/pam.d# cat common-auth auth sufficient pam_ldap.so auth required pam_unix.so nullok_secure use_first_pass
Das Accounting(installation nimmt einstellung schon vor)
gawron:/etc/pam.d# cat common-account account sufficient pam_ldap.so account required pam_unix.so
Passwort änderungen
gawron:/etc/pam.d# cat common-password password sufficient pam_ldap.so password sufficient pam_unix.so password required pam_deny.so
Die Session
gawron:/etc/pam.d# cat common-session session required pam_mkhomedir.so skel=/etc/skel umask=0022 session required pam_unix.so
Passwort für den User setzen
gawron:/etc/pam.d# passwd leroy New password: Re-enter new password: LDAP password information changed for leroy passwd: password updated successfully
ldapsearch
root@maria:~# ldapsearch -x -LLL -b dc=linuggs,dc=de 'uid=thomas' cn gidNumber dn: uid=thomas,ou=People,dc=linuggs,dc=de cn: thomas will gidNumber: 5000
apache2 ldap
verlinken der module
a2enmod authnz_ldap
ldap anbinden
<Directory /var/www/html> #SetHandler ldap-status AuthType Basic AuthBasicProvider ldap AuthName LDAP-AUTHENTIFIKATION AuthLDAPURL ldap://192.168.244.154/dc=linuggs,dc=de?uid?sub Require valid-user </Directory>
- https://help.ubuntu.com/lts/serverguide/openldap-server.html
- https://help.ubuntu.com/community/OpenLDAPServer
- http://www.plone-entwicklerhandbuch.de/plone-entwicklerhandbuch/authentifizierung/ldap
- http://www.zytrax.com/books/ldap/
- https://wiki.debian.org/LDAP/OpenLDAPSetup
- https://darkstar.gernox.de/2012/10/28/openldap/
- http://www.openldap.org/doc/admin24/
- https://wiki.debian.org/LDAP/OpenLDAPSetup
- http://askubuntu.com/questions/481917/apache2-4-7-ldap-url-authentication-on-ubuntu-14-04