Introducción

OpenLDAP es una implementación del Protocolo ligero de acceso a directorios, que se utiliza para proporcionar servicios de directorio a los clientes de la red.

Puede utilizar el servidor de directorio para almacenar información de la organización en una ubicación central y hacer que la información esté disponible para aplicaciones o usuarios a través de LDAP.

Los registros se pueden buscar, leer y modificar de acuerdo con los permisos que otorgue a sus usuarios en la red.

OpenLDAP se utiliza principalmente para proporcionar servicios de autenticación basados ​​en la red a los usuarios.

antes de que empieces

  • Servidor OpenLDAP instalado en su servidor dedicado CentOS 7 o VPS. A continuación, se explica cómo configurar el servidor de Protocolo ligero de acceso a directorios en un VPS CentOS 7 o un servidor dedicado.
  • Segundo VPS como cliente. Debería estar ejecutando un CentOS 7 configurado con un usuario no root con privilegios sudo.

Esta guía asume que está familiarizado con el protocolo LDAP y OpenLDAP y la terminología utilizada.

pasos

Asegúrese de que los nombres de dominio puedan ser resueltos tanto por su servidor como por su VPS cliente / servidor dedicado. Abre tus anfitriones expediente y agregue los nombres de host y las direcciones IP correspondientes en los nodos del servidor y del cliente. Reemplace las direcciones IP con las suyas.

$ vim /etc/hosts
192.168.56.104        server.hostadvice.local
192.168.56.105        client.hostadvice.local

Cree una carpeta en su servidor LDAP dedicado o servidor virtual que se utilizará para crear sus scripts ldif.

$ mkdir ldap-scripts
$ cd ldap-scripts

Crea un ldif expediente Use su editor favorito que tiene los detalles del nuevo usuario que está creando y pegando en los detalles a continuación. Asegúrese de reemplazar los detalles del dominio con los suyos específicos.

$ vim linuxuser.ldif
dn: uid=linuxuser,ou=People,dc=hostadvice,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: linuxuser
uid: linuxuser
uidNumber: 9998
gidNumber: 100
homeDirectory: /home/linuxuser
loginShell: /bin/bash
gecos: Linuxuser [Admin (at) HostAdvice]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7

Una vez creado, puede agregar el usuario a su base de datos con el siguiente comando:

$ ldapadd -x -W -D "cn=ldapadm,dc=hostadvice,dc=local" -f linuxuser.ldif
Enter LDAP Password: 
adding new entry "uid=linuxuser,ou=People,dc=hostadvice,dc=local"

Puede verificar que el usuario ha sido agregado examinando el registro recién ingresado:

$ ldapsearch -x cn=linuxuser -b dc=hostadvice,dc=local
# extended LDIF
#
# LDAPv3
# base <dc=hostadvice,dc=local> with scope subtree
# filter: cn=linuxuser
# requesting: ALL
#

# linuxuser, People, hostadvice.local
dn: uid=linuxuser,ou=People,dc=hostadvice,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: linuxuser
uid: linuxuser
uidNumber: 9998
gidNumber: 100
homeDirectory: /home/linuxuser
loginShell: /bin/bash
gecos: Linuxuser [Admin (at) HostAdvice]
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
userPassword:: e1NTSEF9eVoraStkZTc4dW94TmY2NmJ3WWx0YmRUU1dsSnRud3U=

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
$ ldappasswd -s pa55word@Hosting mas Barato-W -D "cn=ldapadm,dc=hostadvice,dc=local" -x "uid=linuxuser,ou=People,dc=hostadvice,dc=local"

Configurar cliente

En el VPS del cliente, debe instalar los paquetes y las dependencias del cliente OpenLDAP.

$ yum install -y openldap-clients nss-pam-ldapd

Luego, el cliente debe configurarse de tal manera que se autentique a partir de la dirección IP del servidor especificada. Reemplace la dirección IP del servidor y el controlador de dominio con los suyos. Esto permite crear un nuevo directorio de inicio tan pronto como ingrese la contraseña de inicio de sesión único (SSO).

$ authconfig --enableldap --enableldapauth --ldapserver=192.168.56.104 --ldapbasedn="dc=hostadvice,dc=local" --enablemkhomedir --update

Puede confirmar que el usuario creado existe en el servidor preguntándole con el nombre de usuario.

$ getent passwd linuxuser
linuxuser:x:9998:100:Linuxuser [Admin (at) HostAdvice]:/home/linuxuser:/bin/bash

Ahora puede iniciar sesión en el usuario de la cuenta recién creada.

$ su - linuxuser

Conclusión

Si lo logró sin errores, acaba de aprender cómo agregar un nuevo usuario en el servidor LDAP. El cliente se ha configurado para autenticarse con el servidor LDAP con una contraseña específica.

Ahora puede intentar agregar usuarios adicionales con diferentes niveles de autorización. Con OpenLDAP también puede migrar usuarios locales a su base de datos sin tener que ingresarlos individualmente.