Configuració d'un servidor LDAP amb slapd en Linux: guia pas a pas
Configuració del servidor LDAP
Instal·lació i configuració de l'opcions
Instal·lem els paquets:
slapd ldap-utils
Configurem el servidor:
sudo dpkg-reconfigure slapd
Afegim les plantilles o fitxers d'esquema:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Xifrat de la contrasenya de l'usuari administrador
Per xifrar la contrasenya d'usuari admin:
slappasswd -h {CRYPT}
Creació del fitxer de configuració config.ldif
Assegurem la base de dades. Crearem l'arxiu config.ldif:
dn: cn=config
changetype: modify
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootDN
olcRootDN: cn=admin,cn=config
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {CRYPT}aLJLqqUipInfk
dn: olcDatabase={0}config,cn=config
changetype: modify
delete: olcAccess
A la línia que conté olcRootPW (contrasenya de l'admin) hem d'escriure el que retorna la instrucció:
slappasswd -h {CRYPT}
Carreguem aquest fitxer de configuració en el servidor LDAP:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f config.ldif
Creació del fitxer base.asix.linux.ldif
Creem el fitxer base.asix.linux.ldif:
# Configuració bàsica (1)
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=asix,dc=linux
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=asix,dc=linux
olcRootPW: {CRYPT}aLJLqqUipInfk
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=asix,dc=linux" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=asix,dc=linux" write by * read
Carreguem el fitxer ldif al directori:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f base.asix.linux.ldif
Creació del fitxer usuaris.asix.linux.ldif
Creem el fitxer usuaris.asix.linux.ldif:
# Configuració usuaris
dn: dc=asix,dc=linux
objectClass: top
objectClass: dcObject
objectClass: organization
dc: asix
o: Asix Linux Institut
description: Domini exemple LDAP asix
# Admin user.
dn: cn=admin,dc=asix,dc=linux
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: administrador LDAP
userPassword: {CRYPT}aLJLqqUipInfk
dn: ou=users,dc=asix,dc=linux
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=asix,dc=linux
objectClass: organizationalUnit
objectClass: top
ou: groups
dn: cn=juan,ou=users,dc=asix,dc=linux
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: top
cn: juan
sn: montedeoca
uid: juan
uidNumber: 2001
gidNumber: 2001
homeDirectory: /home/juan
loginShell: /bin/bash
dn: cn=professors,ou=groups,dc=asix,dc=linux
objectClass: posixGroup
objectClass: top
cn: professors
gidNumber: 2002
memberUid: juan
# EOF
Afegim les entrades al directori LDAP:
sudo ldapadd -c -x -D cn=admin,dc=asix,dc=linux -W -f usuaris.asix.linux.ldif
Comprovem que el contingut s'ha afegit satisfactòriament:
sudo slapcat
Clients gràfics d'administració
Podem instal·lar qualsevol dels següents clients gràfics: phpLDAPadmin, JXplorer o ldap-account-manager.
En el primer cas haurem de localitzar les línies amb dc=example,dc=com i substituir-les pel nostre domini:
sudo cat -n /etc/phpldapadmin/config.php |grep dc=example,dc=com