Openldap-linux-pam-nss
Installation
- passwort nach wahl festlegen
- apt install slapd ldap-utils libldap2-dev
- slapd
- OpenLDAP Standalone Server
- ldap-utils
- Utilities zum Zugriff auf den LDAP Server
Grundkonfiguration
Weitere Konfiguration
- dpkg-reconfigure -p low slapd
Konfiguration des Clients
ldap.conf
- cat /etc/ldap/ldap.conf
base dc=it21, dc=int uri ldap://server.it21.int ldap_version 3 rootbinddn cn=admin, dc=it21, dc=int pam_password md5
Passwort für den Adminzugang eintragen
- echo 123Start$ > /etc/ldap.secret
Kontrolle
Stimmt der base dn?
- ldapsearch -x -LLL
dn: dc=it21,dc=int objectClass: top objectClass: dcObject objectClass: organization o: int21 dc: it21
Grundstruktur
Erstellen
- cat /root/struktur.ldif
dn: ou=users,dc=it21,dc=int objectClass: organizationalUnit ou: users dn: ou=groups,dc=it21,dc=int objectClass: organizationalUnit ou: groups dn: ou=hosts,dc=it21,dc=int objectClass: organizationalUnit ou: hosts
Anlegen
ldapadd -xD cn=admin,dc=it21,dc=int -w 123Start$ -f struktur.ldif
adding new entry "ou=users,dc=it21,dc=int"
adding new entry "ou=groups,dc=it21,dc=int"
adding new entry "ou=hosts,dc=it21,dc=int"
Ldapscripts
Installation
- apt install ldapscripts
Konfiguration
Hauptkonfiguration
- cat /etc/ldapscripts/ldapscripts.conf
SUFFIX="dc=it21,dc=int" GSUFFIX="ou=groups" USUFFIX="ou=users" MSUFFIX="ou=hosts" BINDDN="cn=admin,dc=it21,dc=int" USHELL="/bin/bash" UHOMES="/home/%u" CREATEHOMES="yes" HOMESKEL="/etc/skel" BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd" GIDSTART="10000" # Group ID UIDSTART="10000" # User ID MIDSTART="20000" # Machine ID GCLASS="posixGroup" # Leave "posixGroup" here if not sure ! PASSWORDGEN="pwgen" RECORDPASSWORDS="no" PASSWORDFILE="/var/log/ldapscripts_passwd.log" LOGTOFILE="yes" LOGFILE="/var/log/ldapscripts.log" LOGTOSYSLOG="no" SYSLOGFACILITY="local4" SYSLOGLEVEL="info" LDAPSEARCHBIN="/usr/bin/ldapsearch" LDAPADDBIN="/usr/bin/ldapadd" LDAPDELETEBIN="/usr/bin/ldapdelete" LDAPMODIFYBIN="/usr/bin/ldapmodify" LDAPMODRDNBIN="/usr/bin/ldapmodrdn" LDAPPASSWDBIN="/usr/bin/ldappasswd" LDAPSEARCHOPTS="-o ldif-wrap=no" GETENTPWCMD="" GETENTGRCMD="" GTEMPLATE="" UTEMPLATE="" MTEMPLATE=""
Password Datei
- echo -n "123Start$" > /etc/ldapscripts/ldapscripts.passwd
Managment
Gruppen anlegen
- ldapaddgroup it
Benutzer anlegen
- ldapadduser thomas it
- ldapadduser tina it
Passwörter setzen
- ldapsetpasswd thomas
- ldapsetpasswd tina
nsswitch und pam anbinden
=Installation
- env DEBIAN_FRONTEND=noninteractive apt install -yqq libnss-ldap libpam-ldap
- Wir konfigurieren von Hand
Wir benutzen nur eine Konfigurationdatei
- ln -fs /etc/ldap/ldap.conf /etc/libnss-ldap.conf
- ln -fs /etc/ldap/ldap.conf /etc/pam_ldap.conf
=Nsswitch anpassen
- cat /etc/nsswitch.conf
passwd: files ldap group: files ldap
Reboot
!!!Reboot!!!
Tests
- getent group it
it:*:10000:
- getent passwd thomas
thomas:*:10000:10000:thomas:/home/thomas:/bin/bash
- getent passwd tina
tina:*:10001:10000:tina:/home/tina:/bin/bash
- su - tina
tina@server:~$
Starten des slapd
systemctl start slapd
Stoppen des slapd
systemctl stop slapd
Neustarten des slapd
systemctl restart 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
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=users,dc=linuggs,dc=de cn: leroy objectClass: account objectClass: posixAccount objectClass: shadowAccount 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"
ldapscripts
Openldap posix accounts
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
ssl
certifikate generieren
ssl.ldif erstellen
dn: cn=config add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ldap/ssl/xin-ca.crt - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ldap/ssl/xin-ca-maria.xinux.org.crt - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ldap/ssl/xin-ca-maria.xinux.org.key
konfig hinzufügen
ldapmodify -Y EXTERNAL -H ldapi:/// -f ssl.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config
ldaps freischalten
- /etc/default/slapd
SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"
slapd restart
systemctl restart slapd
slapd ssl check
- netstat -lntp | grep 636
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 2204/slapd tcp6 0 0 :::636 :::* LISTEN 2204/slapd
Links
- 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
Servertools
slapdadd
User zur SLAPD Datenbank hinzufügen
slapadd -b dc=linuggs,dc=de -l muster.ldif
- -b: Baseroot
- -l: Informationen werden aus der angegebenen Datei gelsen. Nicht vom Standard-Input
slapadd -b dc=linuggs,dc=de -f slapd.conf
- -f: eine alternative slapd.conf benutzen
slapcat
Der Befehl slapcat ermöglicht die Speicherung der aktuellen LDAP-Daten in einer Textdatei im LDIF-Format
slapcat > ldapdaten.txt






