2. A Nivel de Servidor:
Instalar gpm: apt-get install gpm
Paso1: Instalar Paquete de LDAP
# apt-get install slapd ldap-utils phpldapadmin
Pedirá una contraseña para el LDAP Admin, usaremos master
3. Paso2:
Probamos el correcto funcionamiento:
# ldapsearch –LLL –Y EXTERNAL –H ldapi:/// -b cn=config dn
RESPUESTA ESPERADA
SASL/EXTERNAL authentication started
SASL username:
gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: cn=config
dn: cn=module{0},cn=config
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}cosine,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: olcBackend={0}hdb,cn=config
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}mdb,cn=config
-Se Procederá a reconfigurar el SLAPD: modificar el motor de la base
de datos que viene en mdb por hdb.
#dpkg-reconfigure slapd
4. Las configuraciones se dejarán a como se muestran en las imágenes:
Secuencia de Imágenes:
1-Desea Omitir (No)
2- Nombre de Dominio que se agrega al LDAP:
5. 3-Nombre de la Organización.
4-Ingreso de la Contraseña de Administrador: se ingresará la
contraseña del paso 1 ( master ) , pedirá confirmación, se agregará la
misma.
8. Paso3: Hay que generar la clave y el hash para el usuario que
administrará la DB, el hash hay que guardarlo ya que es único
#slappasswd
Contraseña: gt01ldap
Confirmar contraseña:
{SSHA}------------------------------------
Paso4: Ejecutar:
# ldapmodify –Y EXTERNAL –H ldapi:///
Agregamos la contraseña a la DB, para poder empezar a configurar el
servicio de directorio.
Se quedará “pegado”, en realidad está esperando la siguiente
sentencia: el hash.
dn: olcDatabase={0}config,cn=config
add: olcRootPW
olcRootPW: {SSHA}--------------------------
** PRESIONAMOS Enter y luego ´Ctrl + D´
En este paso se recomienda usar ya sea el putty o instalar el paquete de gpm
con: apt-get install gpm , con este paquete se permitirá la navegación con el
mouse , esto para copiar el SSHA de una forma mas eficiente.
9. Paso5: Creamos nuestro servicio de directorio (DB), esto mediante
una estructura de fichero *.ldif, los cuales son los encargados de la
administración y configuración de nuestro LDAP.
Para este fichero de configuración el “- “indica el final de una sección.
dc=diemonle , se cambiara según su dominio.
En este paso se recomienda usar la herramienta putty.
# nano /root/config.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=diemonle,dc=com
-
replace: olcRootDN
olcRootDN: cn=admin,dc=diemonle,dc=com
-
replace: olcAccess
olcAccess: to attrs=userPassword by dn="cn=admin,dc=diemonle,dc=com" 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=diemonle,dc=com" write by * read
10. Paso6: Editamos nuestra DB a partir de nuestro fichero config.ldif
# ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/config.ldif
RESPUESTA ESPERADA
Paso7: Revisar nuevamente el funcionamiento:
#ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W
olcDatabase={1}hdb
Enter LDAP Password: gt01ldap
Respuesta Esperada:
11. Paso8: Crear el fichero para el nuevo directorio
# nano /root/base.ldif
#dn: dc=diemonle,dc=com
#objectClass: top
#objectClass: dcObject
#objectclass: organization
#o: DIEMONLE
#dc: DIEMONLE
#description: Servidor LDAP de DIEMONLE.com
dn: ou=people,dc=diemonle,dc=com
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=diemonle,dc=com
objectClass: organizationalUnit
ou: groups
dc= se agrega el nombre de su dominio.
12. Paso9: Comprobación, Ejecutar:
# ldapadd -x -D cn=admin,dc=diemonle,dc=com -W -f /root/base.ldif
Enter LDAP Password: master
Agregamos el nuevo directorio a partir del fichero base.ldif
RESPUESTA ESPERADA
adding new entry "ou=people,dc=diemonle,dc=com"
adding new entry "ou=groups,dc=diemonle,dc=com"
14. Paso11: Ejecutar el Script del paso 10:
Agregamos los usuarios a nuestra DB del servicio de directorio.
#sh ldapuser.sh
Este script creará el fichero ldapuser.ldif
Luego Comprobar con:
#ldapadd -x -D cn=admin,dc=diemonle,dc=com -W -f /root/ldapuser.ldif
Enter LDAP Password: master
Respuesta Esperada: usuarios agregados
15. Paso12: Crear un fichero automatizado para obtener el fichero ldapgroup.ldif
con la información de los grupos del servidor que tengan un GID de 4 dígitos.
#nano ldapgroup.sh
#!/bin/bash
SUFFIX='dc=diemonle,dc=com'
LDIF='ldapgroup.ldif'
echo -n > $LDIF
for line in `grep "x:[1-9][0-9][0-9][0-9]:" /etc/group`
do
CN=`echo $line | cut -d: -f1`
GID=`echo $line | cut -d: -f3`
echo "dn: cn=$CN,ou=groups,$SUFFIX" >> $LDIF
echo "objectClass: posixGroup" >> $LDIF
echo "cn: $CN" >> $LDIF
echo "gidNumber: $GID" >> $LDIF
users=`echo $line | cut -d: -f4 | sed "s/,/ /g"`
for user in ${users} ; do
echo "memberUid: ${user}" >> $LDIF
done
echo >> $LDIF
done
16. Paso13: Ejecutar el Script del paso 12:
Agregamos los usuarios a nuestra DB del servicio de directorio.
#sh ldapgroup.sh
Este script creará el fichero ldapgroup.ldif
Luego Comprobar con:
#ldapadd -x -D cn=admin,dc=diemonle,dc=com -W -f /root/ldapgroup.ldif
Enter password: master
Respuesta Esperada:
17. A nivel de Cliente:
Paso1: Instalar los paquetes:
# apt-get –y install libnss-ldap libpam-ldap ldap-utils
Las configuraciones se dejarán a como se muestran en
las imágenes:
--Secuencia de Imágenes:
1-Dirección del Servidor LDAP:
22. Paso2: Al igual que con el NIS le debemos indicar a nuestro
nsswitch.conf cual será nuestro orden de búsqueda para
autenticación de usuarios.
#nano /etc/nsswitch.conf
-Modificado:
*Se agregara dns en caso de que se trabaje con servidor de dominios
23. Paso3: Removemos los tokens de autenticación ya que no
implementamos LDAP/SSL
#nano /etc/pam.d/common-password
QUITAMOS “use_authtok” Y LA LINEA QUEDARA ASI
password [success=1 user_unknown=ignore default=die] pam_ldap.so try_first_pass
Paso5: NO reiniciar el cliente llámese el O.S
Paso 6: Ejecutar
#ldapsearch -x -W -D 'cn=admin,dc=diemonle,dc=com' 'objectClass=*'
Enter LDAP Password: master
En caso de algún error , como no se puede contactar con el servidor,
etc, hacerlo con este otro commando:
#ldapsearch -x -W –h IP_SERVIDOR ó HOSTNAME –p 389 -D
'cn=admin,dc=diemonle,dc=com' 'objectClass=*'
Enter LDAP Password: master
25. Paso 7: Editar el fichero ldap.conf porque el wizard de instalación no
escribió en él
#nano /etc/ldap/ldap.conf
AGREGAMOS O MODIFICAMOS
• BASE dc=diemonle,dc=com
• URI ldap://ip_servidor
-Modificado: Descomentar ,agregar dominio y dirección del Servidor
LDAP.
-Paso 8: reboot
Ahora si podemos reiniciar y autenticarnos con un usuario de
LDAP, si tratamos de cambiar la contraseña se nos hace presente la
DB del LDAP para recibir la nueva contraseña.
26. -Paso 9: Logueare con Un Usuario del Servidor en el cliente:
Por ultimo para abandonar la sesión con logout se saldrá.