Openldap

Aus xinux.net
Zur Navigation springen Zur Suche springen

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>