389 Directory Server est un serveur LDAP d'entreprise open source super rapide.
Dans ce tutoriel, nous allons vous expliquer comment installer et configurer le client LDAP sous Linux qui dialoguera avec votre serveur d'annuaire 389.
Installer EPEL
Sur votre ordinateur client, assurez-vous d'avoir configuré le référentiel EPEL, car nous allons télécharger les packages liés à LDAP à partir d'EPEL.
Tout d'abord, téléchargez le dernier package EPEL sur le site Web du projet Fedora :
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
Ensuite, installez le RPM EPEL sur votre ordinateur client.
# rpm -ivh epel-release-7-10.noarch.rpm
Vérifiez /etc/hosts
Assurez-vous que votre fichier hosts est correctement configuré.
Dans cet exemple, ce qui suit est la configuration actuelle du fichier /etc/hosts. Dans cet exemple, nous avons le serveur d'annuaire 389 installé lors du déploiement
# 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 vous êtes nouveau sur le serveur d'annuaire 389, reportez-vous à notre tutoriel précédent où nous avons expliqué en détail comment installer LDAP 389 Directory Server sur Linux.
Installer les bibliothèques du client LDAP
Pour les bibliothèques clientes LDAP, nous devons installer les packages suivants :
- openldap – Cela contient les bibliothèques de support LDAP
- openldap-devel.x86_64 :contient les bibliothèques de développement LDAP et les fichiers d'en-tête
- nss-pam-ldapd - Il s'agit du module nsswitch qui utilise des serveurs d'annuaire
Installez les packages ci-dessus en utilisant yum comme indiqué ci-dessous :
# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64
Outre l'installation des trois packages ci-dessus, selon la configuration actuelle de votre système, yum peut également installer les packages dépendants suivants :
- cyrus-sasl
- cyrus-sasl-devel
- nscd
Configurer les ressources d'authentification du client LDAP
Pour configurer les ressources d'authentification du client LDAP, nous pouvons utiliser l'un des outils suivants :
- authconfig – L'outil de ligne de commande pour configurer les ressources d'authentification
- authconfig-tui - Un outil basé sur une interface graphique pour configurer les ressources d'authentification
Pour lancer la version GUI, exécutez la commande suivante :
# authconfig-tui
Cela fera apparaître l'interface utilisateur suivante :
Utilisez les touches fléchées et cochez la case "Utiliser l'authentification LDAP" comme indiqué ci-dessous. Pour sélectionner une case à cocher, appuyez sur la barre d'espace.
Dans l'écran suivant, définissez votre serveur LDAP et votre DN de base en conséquence. Ces valeurs doivent correspondre à votre installation du serveur d'annuaire 389. Veuillez vous référer à notre tutoriel d'installation du serveur d'annuaire 389 pour plus de détails à ce sujet.
Démarrer les services liés aux services de noms pour le client LDAP
Assurez-vous d'abord que le démon client LDAP nslcd Naming Services est opérationnel. Si ce n'est pas le cas, démarrez-le en conséquence.
# 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.. .. ..
Ensuite, démarrez le démon de mise en cache du service de noms nscd comme indiqué ci-dessous à l'aide de la commande 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. .. ..
Configuration SSSD et PAM LDAP
Exécutez la commande authconfig suivante pour configurer la configuration de l'authentification SSSD comme indiqué ci-dessous. Cela garantira également que vous obtenez le répertoire personnel de l'utilisateur en conséquence pour le client LDAP.
# authconfig --enableldapauth --enablemkhomedir \ --enablesysnetauth --enablelocauthorize \ --ldapserver=ldap://deploy.thegeekstuff.com \ --ldapbasedn="dc=thegeekstuff,dc=com" --update
Veuillez noter que le service SSSD sera activé et démarré par authconfig lorsque deux des éléments suivants sont satisfaits :
/etc/sssd/sssd.conf fichier existe, ou au moins il est déjà configuré à l'aide du support SSSD implicite
L'authentification SSSD est activée, ce qui signifie que le module pam_sss.so est référencé dans la configuration PAM
SSSD est activé pour l'identité de l'utilisateur, ce qui signifie que le fichier nsswitch.conf fait référence à sss
Exécutez la commande authconfig suivante pour configurer la configuration PAM comme indiqué ci-dessous.
# authconfig --enableldap --enableldapauth \ --enablemkhomedir --enablesysnetauth \ --enablelocauthorize \ --ldapserver="deploy.thegeekstuff.com" \ --ldapbasedn="dc=deploy,dc=thegeekstuff,dc=com" \ --update
Voici quelques-uns des fichiers qui seront affectés lors de la modification de authconfig :
- /etc/nscd.conf
- /etc/nslcd.conf
- /etc/openldap/ldap.conf
- /etc/pam.d/system-auth
- /etc/pam.d/password-auth-ac
- /etc/nsswitch.conf
Les options suivantes sont utilisées dans la commande authconfig ci-dessus :
- –enableldapauth configurera les fonctions d'authentification via /etc/pam.d/system-auth
- –les options enableldap configureront les services d'informations utilisateur dans /etc/nsswitch.conf
- –l'option enablesysnetauth permettra l'authentification des comptes système dont l'uid est < 500.
- –l'option enablelocauthorize permettra de contourner la vérification des services d'authentification réseau pour l'autorisation
- –l'option de mise à jour s'assurera que tous les fichiers de configuration sont modifiés en fonction des options de ligne de commande spécifiées