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.........

