Instalamos los paquetes necesarios.
yum install openldap-servers openldap-clients migrationtools
Crear certificado autofirmado.
openssl req -new -x509 -nodes -out /etc/openldap/certs/ceew.com.pem -keyout /etc/openldap/certs/ceew.com.key.pem -days 720
Asegurar Certificados y permisos clave.
chown ldap:ldap /etc/openldap/certs/ceew.com.pem
chown ldap:ldap /etc/openldap/certs/ceew.com.key.pem
Crear el password de root/admin de Openldap
slappasswd
Configurar OpenLDAP cn=config / olc database with basics
Editar las lineas en negrita, y agregar las últimas cuatro lineas.
nano /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 f16ffd63
dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=ceew,dc=com
olcRootDN: cn=admin,dc=ceew,dc=com
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 1fd9a22a-2412-1036-97c3-6b3ea16fa74d
creatorsName: cn=config
createTimestamp: 20161011152127Z
entryCSN: 20161011152127.974317Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20161011152127Z
olcRootPW: {SSHA}mtO4I4HXC98T1xiqAFjJlbv7mxenlehA
#olcTLSCipherSuite: HIGH
#olcTLSCertificateFile: /etc/openldap/certs/ceew.com.pem
#olcTLSCertificateKEYFile: /etc/openldap/certs/ceew.com.key.pem
cn=config / olc Cambiar por 'Monitor' Privilegios
editar el olcAccess entrada para reflejar su admin / root / administrador de inicio de sesión (lo que usted eligió que fuera en el último archivo cn = config hemos editado anteriormente).
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=admin,dc=ceew,dc=com" read by * none
nano /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
Comprobar la validez de LDAP
slaptest -u
Iniciar el servicio LDAP
systemctl enable slapd
systemctl start slapd
Configurar base de datos Ldap
Copiar el archivo de configuración a un nuevo lugar y cambio de propietario:
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
Añadimos los siguientes esquemas ala base de datos.
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
Añadir el esquema LDAP a samba.
cp /usr/share/doc/samba-4.2.10/LDAP/samba.ldif /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/samba.ldif
Crear archivo ldif
## Configure the 'base/root'
dn: dc=ceew,dc=com
dc: ceew
description: user directory for the domain.tld domain
objectClass: dcObject
objectClass: organization
o: domain network
##
## Configure the Directory Manager
dn: cn=admin,dc=ceew,dc=com
objectClass: organizationalRole
cn: admin
description: I am the directory manager
##
## Configure the USERS hierarchy (non-admins)
dn: ou=users, dc=ceew,dc=com
ou: users
description: all non-admin (non-root) users
objectclass: organizationalunit
##
## Configure the ADMINS hierearchy
dn: ou=admins, dc=ceew,dc=com
ou: admins
description: Admin users hierarchy
objectclass: organizationalunit
Subimos el archivo ldif a openldap
ldapadd -x -W -D "cn=root,dc=ceew,dc=com" -f
Comprobamos que funciona.
Hacemos una consulta a nuestro directorio.
ldapsearch -x cn=admin -b dc=ceew,dc=com