LDAP Server

Da PiemonteWireless.

Indice

OpenLDAP Server

LDAP (Lightweight Directory Access Protocol) è un protocollo standard per l'interrogazione e la modifica dei servizi di directory.

Segue un dettaglio della mia installazione su un sistema Ubuntu-like.


Installazione e configurazione del server OpenLDAP

Per prima cosa installiamo il server LDAP (slapd):

 # apt-get install slapd ldap-utils db4.2-util

Per generare le password da usare nei file di configurazione usiamo slappasswd, che ci fornisce la stringa della chiave criptata scelta da usare:

 $ slappasswd
 New password:
 Re-enter password:
 {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Editiamo il file /etc/ldap/slapd.conf modificandolo con il nostro suffix e la password di amministrazione scelta:

 suffix          "dc=piemontewireless,dc=net"
 directory       "/var/lib/ldap"
 rootdn          "cn=admin,dc=piemontewireless,dc=net"
 rootpw          {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Poi editiamo il file /etc/ldap/ldap.conf dove settiamo di nuovo il nostro suffix:

 BASE    dc=piemontewireless,dc=net

Adesso dobbiamo creare un file ldif (ad esempio init.ldif) con i dati che vogliamo inserire inizialmente nel nostro LDAP:

dn: dc=piemontewireless,dc=net
objectClass: dcObject
objectClass: organizationalUnit
dc: piemontewireless
ou: Piemonte Wireless SRL

dn: cn=admin,dc=piemontewireless,dc=net
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: <password>

dn: ou=people,dc=piemontewireless,dc=net
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=piemontewireless,dc=net
objectClass: organizationalUnit
ou: groups

dn: uid=simone,ou=people,dc=piemontewireless,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: simone
sn: Rotondo
givenName: Simone
cn: Simone Rotondo
displayName: Lionel Porcheron
uidNumber: 1000
gidNumber: 10000
userPassword: <password>
gecos: Simone Rotondo
loginShell: /bin/bash
homeDirectory: /home/simone
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: simone@piemontewireless.net
postalCode: 10100
l: Torino
o: PiemonteWireless
mobile: +39 011 xx xx xx xx
homePhone: +39 349 xx xx xx xx
title: System Administrator
postalAddress:
initials: LP

dn: cn=sviluppatori,ou=groups,dc=piemontewireless,dc=net
objectClass: posixGroup
cn: sviluppatori
gidNumber: 10000

dn: cn=commerciali,ou=groups,dc=piemontewireless,dc=net
objectClass: posixGroup
cn: commerciali
memberUid: simone
gidNumber: 10001


Adesso carichiamo questi dati nel server LDAP:

  • Stoppiamo il server LDAP: /etc/init.d/slapd stop
  • Cancelliamo il contenuto attuale: rm -rf /var/lib/ldap/*
  • Aggiungiamo il nuovo contenuto: slapadd -l init.ldif
  • Correggiamo le permissioni: chown -R openldap:openldap /var/lib/ldap
  • Riavviamo il server LDAP: /etc/init.d/slapd start

Possiamo verificare che tutto funzioni con il comando ldapsearch:

$ ldapsearch -xLLL -b "dc=piemontewireless,dc=net" uid=simone sn givenName cn
dn: uid=simone,ou=people,dc=piemontewireless,dc=net
cn: Simone Rotondo
sn: Rotondo
givenName: Simone


Usare LDAP come server per l'autenticazione

Una funzione molto utile di LDAP, sopratutto quando si usano cluster e file system distribuiti e la centralizzazione degli utenti e dei gruppi. In questo modo, se sul serverA un file ha proprietà userA.groupA anche sul server conserverà le stesse proprietà. Ne consegue anche l'utilità di avere un repository centralizzato per gli utenti e molte altre funzionalità.

Cominciamo installando i pacchetti necessari:

 # apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db

Durante l'installazione vi sarà chiesto:

  • Indirizzo del server LDAP: ovvero l'IP o il nome di dominio del server su cui avete installato LDAP (ldap://ldap.piemontewireless.net)
  • Il suffix che avete usato: ovvero la stringa nella forma dc=piemontewireless,dc=net
  • La versione da usare: usate la versione 3
  • Amministrare il database di root localmente: rispondete SI a meno che non abbiate particolari esigenze
  • Il database necessita di un login: rispondete NO
  • Account di root: lo user admin seguito dal vostro suffix (cn=admin,dc=piemontewireless,dc=net)
  • Password di root: quella che avete inserito in fase di installazione


da finire.........


Rifermienti

OpenLDAPServer LDAPClientAuthentication

122 Rating: 2.8/5 (5 votes cast)

Strumenti personali