389 Directory Server es un servidor LDAP empresarial de código abierto súper rápido.
En este tutorial, explicaremos cómo instalar y configurar el cliente LDAP en Linux, que se comunicará con su servidor de directorio 389.
Instalar EPEL
En su máquina cliente, asegúrese de tener la configuración del repositorio EPEL, ya que descargaremos los paquetes relacionados con ldap de EPEL.
Primero, descargue el paquete EPEL más reciente del sitio web del proyecto Fedora:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
Luego, instale EPEL rpm en su máquina cliente.
# rpm -ivh epel-release-7-10.noarch.rpm
Verificar /etc/hosts
Asegúrese de que su archivo de hosts esté configurado correctamente.
En este ejemplo, la siguiente es la configuración actual del archivo /etc/hosts. En este ejemplo, tenemos el servidor de directorio 389 instalado en la implementación
# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.101.10 deploy.thegeekstuff.com deploy
Si es nuevo en el servidor de directorio 389, consulte nuestro tutorial anterior donde explicamos en detalle cómo instalar el servidor de directorio LDAP 389 en Linux.
Instalar las bibliotecas del cliente LDAP
Para las bibliotecas de clientes LDAP, necesitamos instalar los siguientes paquetes:
- openldap:contiene bibliotecas de soporte LDAP
- openldap-devel.x86_64:contiene bibliotecas de desarrollo LDAP y archivos de encabezado
- nss-pam-ldapd:este es el módulo nsswitch que utiliza servidores de directorio
Instale los paquetes anteriores usando yum como se muestra a continuación:
# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64
Además de instalar los tres paquetes anteriores, dependiendo de la configuración actual de su sistema, yum también podría instalar los siguientes paquetes dependientes:
- cyrus-sasl
- cyrus-sasl-devel
- nscd
Configurar los recursos de autenticación del cliente LDAP
Para configurar los recursos de autenticación del cliente LDAP, podemos utilizar cualquiera de las siguientes herramientas:
- authconfig:la herramienta de línea de comandos para configurar los recursos de autenticación
- authconfig-tui:una herramienta basada en GUI para configurar los recursos de autenticación
Para iniciar la versión GUI, ejecute el siguiente comando:
# authconfig-tui
Esto abrirá la siguiente interfaz de usuario:
Use las teclas de flecha y seleccione la casilla de verificación "Usar autenticación LDAP" como se muestra a continuación. Para seleccionar una casilla de verificación, presione la barra espaciadora.
En la siguiente pantalla, configure su servidor LDAP y base DN en consecuencia. Estos valores deben corresponder a su instalación del servidor de directorio 389. Consulte nuestro tutorial de instalación del servidor de directorio 389 para obtener más detalles al respecto.
Iniciar servicios relacionados con los servicios de nombres para el cliente LDAP
Primero, asegúrese de que el demonio del cliente LDAP de nslcd Naming Services esté activo y funcionando. Si esto no está activo, inícielo en consecuencia.
# systemctl start nslcd # systemctl status nslcd ? nslcd.service - Naming services LDAP client daemon. Loaded: loaded (/usr/lib/systemd/system/nslcd.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2017-10-08 15:15:58 UTC; 7min ago Process: 2624 ExecStart=/usr/sbin/nslcd (code=exited, status=0/SUCCESS) Main PID: 2625 (nslcd) CGroup: /system.slice/nslcd.service +-2625 /usr/sbin/nslcd Oct 08 15:15:58 192.168.101.10 systemd[1]: Starting Naming services LDAP client daemon.... Oct 08 15:15:58 192.168.101.10 systemd[1]: PID file /var/run/nslcd/nslcd.pid not readable (yet?) after start. Oct 08 15:15:58 192.168.101.10 nslcd[2625]: version 0.8.13 starting Oct 08 15:15:58 192.168.101.10 nslcd[2625]: accepting connections Oct 08 15:15:58 192.168.101.10 systemd[1]: Started Naming services LDAP client daemon.. .. ..
A continuación, inicie el demonio de almacenamiento en caché del servicio de nombres nscd como se muestra a continuación mediante el comando systemctl.
# systemctl start nscd # systemctl status nscd ? nscd.service - Name Service Cache Daemon Loaded: loaded (/usr/lib/systemd/system/nscd.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2017-10-08 15:27:23 UTC; 3s ago Process: 2693 ExecStart=/usr/sbin/nscd $NSCD_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 2694 (nscd) CGroup: /system.slice/nscd.service +-2694 /usr/sbin/nscd Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/hosts` (4) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/resolv.conf` (5) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/services` (6) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 stat failed for file `/etc/netgroup'; will try again later: No such file or directory Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 Access Vector Cache (AVC) started Oct 08 15:27:23 192.168.101.10 systemd[1]: Started Name Service Cache Daemon. .. ..
Configuración de SSSD y PAM LDAP
Ejecute el siguiente comando authconfig para configurar la autenticación SSSD como se muestra a continuación. Esto también asegurará que obtenga el directorio de inicio del usuario en consecuencia para el cliente LDAP.
# authconfig --enableldapauth --enablemkhomedir \ --enablesysnetauth --enablelocauthorize \ --ldapserver=ldap://deploy.thegeekstuff.com \ --ldapbasedn="dc=thegeekstuff,dc=com" --update
Tenga en cuenta que el servicio SSSD se habilitará e iniciará durante la configuración de autenticación cuando se cumplan dos de los siguientes:
El archivo/etc/sssd/sssd.conf existe, o al menos ya está configurado utilizando el soporte SSSD implícito
La autenticación SSSD está habilitada, lo que significa que se hace referencia al módulo pam_sss.so en la configuración de PAM
SSSD está habilitado para la identidad del usuario, lo que significa que el archivo nsswitch.conf tiene una referencia a sss
Ejecute el siguiente comando authconfig para configurar la configuración de PAM como se muestra a continuación.
# authconfig --enableldap --enableldapauth \ --enablemkhomedir --enablesysnetauth \ --enablelocauthorize \ --ldapserver="deploy.thegeekstuff.com" \ --ldapbasedn="dc=deploy,dc=thegeekstuff,dc=com" \ --update
Los siguientes son algunos de los archivos que se verán afectados durante el cambio de configuración de autenticación:
- /etc/nscd.conf
- /etc/nslcd.conf
- /etc/openldap/ldap.conf
- /etc/pam.d/system-auth
- /etc/pam.d/contraseña-autorización-ac
- /etc/nsswitch.conf
Las siguientes opciones se utilizan en el comando authconfig anterior:
- –enableldapauth configurará las funciones de autenticación a través de /etc/pam.d/system-auth
- Las opciones de enableldap configurarán los servicios de información del usuario en /etc/nsswitch.conf La opción
- –enablesysnetauth permitirá la autenticación de cuentas del sistema que tengan un uid <500.
- La opción habilitarlocautorizar permitirá omitir la verificación de los servicios de autenticación de red para obtener autorización
- :la opción de actualización se asegurará de que todos los archivos de configuración se modifiquen en función de las opciones de línea de comando especificadas