apt-get update
apt install slapd ldap-utils -y
Al instalarlo nos pedirá una contraseña para la gestión del servicio slapd.
Debe de poner "active":
systemctl status slapd
Debe de poner "LISTEN":
ss -pltu | grep slapd
Nos pone como dominio "nodomain":
slapcat
El usuario es "anonymous":
ldapwhoami -x
Archivos .ldif:
# Elemento 1 dn: < nombre > < atributos >: < valor > ... [Salto de línea antes de añadir otro elemento] # Elemento 2 dn: < nombre > < atributos >: < valor > ...
dn (Distingushed Name): Diferencia a todos los objetos de la BBDD.
Ejecutamos este comando:
dpkg-reconfigure slapd
Respuestas: No; [DOMINIO]; [NOMBRE_EMPRESA]; Meter la contraseña; No; Si.
Comprobar el estado del servidor:
slapcat
Ejecutamos este comando:
ldapwhoami -x -D "cn=admin,dc=nombre_servidor,dc=es" -W
→ Ponemos la contraseña y si devuelve "cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO]" está bien configurado.
1. Crear un archivo .ldif y abrirlo.
2. Poner en su interior:
dn: ou=[UO],dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] objectClass: top objectClass: organizationalUnit ou: [UO]
UO: Nombre personalizado que tendrá la unidad organizativa.
NOMBRE_DOMINIO: Nombre del dominio sin el (.es, .com ..).
TLD_DOMINIO: TLD del dominio (es, com ..) [Sin el punto].
3. Añadir el archivo a la base de datos:
ldapadd -x -D cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] -W -f [ARCHIVO].ldif
ARCHIVO: Nombre del archivo creado en el paso 1.
4. Comprobar si en la base de datos está la nueva unidad organizativa:
slapcat
1. Crear un archivo .ldif y abrirlo.
2. Poner en su interior:
dn: cn=[NOMBRE_GRUPO],ou=[UO],dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] objectClass: top objectClass: posixGroup gidNumber: [N_GID] cn: [NOMBRE_GRUPO]
NOMBRE_GRUPO: Nombre personalizado que tendrá el grupo.
UO: Unidad organizativa a la que pertenecerá.
NOMBRE_DOMINIO: Nombre del dominio sin el (.es, .com ..).
TLD_DOMINIO: TLD del dominio (es, com ..) [Sin el punto].
N_GID: Número entero identificador del grupo.
3. Añadir el archivo a la base de datos:
ldapadd -x -D cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] -W -f [ARCHIVO].ldif
4. Comprobar si en la base de datos está el nuevo grupo:
slapcat
0. Crear el hash de la contraseña (Pej.: {SSHA}jJ/Sl2m---5HeZJP) con el comando:
slappasswd
1. Crear un archivo .ldif y abrirlo.
2. Poner en su interior:
dn: uid=[NOMBRE_USUARIO],ou=[UO],dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] objectClass: top objectClass: account objectClass: posixAccount uid: [NOMBRE_USUARIO] cn: [NOMBRE_COMÚN] userPassword: [CONTRASEÑA] gecos: [NOMBRE_COMPLETO] uidNumber: [N_UID] gidNumber: [N_GID] homeDirectory: /home/[NOMBRE_USUARIO] loginShell: [SHELL]
UO: Unidad organizativa a la que pertenecerá.
NOMBRE_DOMINIO: Nombre del dominio sin el (.es, .com ..).
TLD_DOMINIO: TLD del dominio (es, com ..) [Sin el punto].
NOMBRE_USUARIO: Nombre personalizado que tendrá el usuario.
NOMBRE_COMÚN: Nombre común personalizado que tendrá el usuario).
NOMBRE_COMPLETO: Nombre completo personalizado que tendrá el usuario).
CONTRASEÑA: La contraseña en hash del usuario.
N_UID: Número entero identificador del usuario. Los siguientes usuarios creados, recibirán un valor +1 alto que este.
N_GID: Número entero identificador del grupo. 0 = Ninguno.
SHELL: /bin/bash, /bin/sh.
3. Añadir el archivo a la base de datos:
ldapadd -x -D cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO] -W -f [ARCHIVO].ldif
4. Comprobar si en la base de datos está el nuevo usuario:
slapcat
Lo mismo que en "Crear un Usuario" pero cambiando la ruta de homeDirectory a la carpeta donde se almacenen estos perfiles:
homeDirectory: /[CARPETA_MÓVIL]/[NOMBRE_USUARIO]
1. Crear un archivo .ldif:
2. Poner en su interior:
dn: [DN_COMPLETO] changetype: modify replace: [PROPIEDAD_CAMBIAR] [PROPIEDAD_CAMBIAR]: [VALOR_CAMBIAR]
* Para hacer 2 cambios se pone uno debajo del otro separado por una línea en blanco.
DN_COMPLETO: Identificador del objeto dentro de la base de datos.
PROPIEDAD_CAMBIAR: Nombre de la propiedad. Pej.: "uid", "gid".
VALOR_CAMBIAR: El valor que se le va a dar a esa propiedad.
3. Modificar el registro de la base de datos:
ldapmodify -x -D "cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO]" -W -f [ARCHIVO].ldif
4. Comprobar si se hizo el cambio en la base de datos:
slapcat
Hay 2 formas:
1. Con el comando ldapdelete:
ldapdelete -x -D "cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO]" -W "[DN_COMPLETO]"
DN_COMPLETO: Identificador del objeto dentro de la base de datos.
2. Creando un archivo .ldif:
dn: [DN_COMPLETO] changetype: delete
ldapmodify -x -D "cn=admin,dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO]" -W -f [ARCHIVO].ldif
1. Con el comando ldapsearch:
ldapsearch -xLLL -b "dc=[NOMBRE_DOMINIO],dc=[TLD_DOMINIO]" [BÚSQUEDA] [ENSEÑAR]
BÚSQUEDA: El objeto que vamos a buscar según un valor. Pej.: "uid=xx", "gid=xx".
ENSEÑAR: No Obligatorio. Son los valores del objeto ya buscado que se va a enseñar. Pej.: "cn", "uid", "gid".