Authentification des utilisateurs avec OpenLDAP



Documents pareils
Authentification des utilisateurs avec OpenLDAP et Samba 3.0

INSTALLATION ET CONFIGURATION DE OPENLDAP


OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Authentification des utilisateurs avec OpenLDAP et Samba 3.0

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

OpenLDAP au quotidien: trucs et astuces

Annuaire LDAP + Samba

Couplage openldap-samba

Conférence technique sur Samba (samedi 6 avril 2006)

Configuration d'un annuaire LDAP

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Outils Logiciels Libres

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

Client Debian Squeeze et serveur SambaEdu3

Déploiement de (Open)LDAP

Active Directory. Structure et usage

LDAP et carnet d'adresses mail

Tutorial OpenLDAP. Installation et configuration (clients/serveurs) Migration NIS LDAP dans GRID5000 Sécurisation par SSL et optimisations

LDAP : pour quels besoins?

Utiliser Améliorer Prêcher. Introduction à LDAP

Administration et Architectures des Systèmes

Institut Universitaire de Technologie

OpenLDAP, un outil d administration réseau. (Implémentation d openldap à l INRA de Rennes)

Installation et configuration de Vulture Lundi 2 février 2009

Description de la maquette fonctionnelle. Nombre de pages :

TELECOM- ANNEE 2003/2004

Installer un domaine DNS

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

Annuaire LDAP, SSO-CAS, ESUP Portail...

Déploiement d'un serveur ENT

sshgate Patrick Guiran Chef de projet support

M2-ESECURE Rezo TP3: LDAP - Mail

Instructions Mozilla Thunderbird Page 1

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

Synchronisation d'annuaire Active Directory et de base LDAP

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Les différentes méthodes pour se connecter

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Création d un contrôleur de domaine sous Linux

Le projet d'annuaire LDAP à Rennes 1. - Raymond Bourges - Gérard Delpeuch

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

OpenLDAP. Astuces pour en faire l'annuaire d'entreprise idéal THÈME TECHNIQUE - ADMINISTRATION SYSTÈME. Jonathan CLARKE - jcl@normation.

Service d'authentification LDAP et SSO avec CAS

Administration Système

Exposé Nouvelles Technologies et Réseaux LDAP 22/01/ Exposé Nouvelle Technologies Réseaux - LDAP. Lightweight Directory Access Protocol

I. Présentation du serveur Samba

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Mise en œuvre de Rembo Toolkit

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

InstallatIon et configuration d une Infrastructure réseau sans-fil. Avec. Interface de gestion utilisateurs

Mise en place d annuaires LDAP et utilisation dans plusieurs applications

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Authentification unifiée Unix/Windows

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Architecture PKI en Java

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Introduction aux services de domaine Active Directory

Restriction sur matériels d impression

Administration Système

Le protocole FTP (File Transfert Protocol,

Imprimantes et partage réseau sous Samba avec authentification Active Directory

La double authentification dans SharePoint 2007

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Table des matières Hakim Benameurlaine 1

WEB page builder and server for SCADA applications usable from a WEB navigator

Tutoriel compte-rendu Mission 1

LP Henri Becquerel - Tours

Utilisation des services de noms et d'annuaire Oracle Solaris 11.2 : LDAP

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

LINUX REMPLAÇANT WINDOWS NT

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Projet Semestre2-1SISR

Catalogue des formations 2015

PARAMETRER SAMBA 2.2

Cours 420-KEG-LG, Gestion de réseaux et support technique. Laboratoire 06

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Kerberos/AD/LDAP/Synchro

Une unité organisationnelle (Staff) comporte une centaine d'utilisateur dans Active Directory.

1. Présentation du TP

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Polux Développement d'une maquette pour implémenter des tests de sécurité

Cahier d exploitation

Sécurité des systèmes d exploitation

CASE-LINUX MAIL. Introduction. CHARLES ARNAUD Linux MAIL

Déploiement de SAS Foundation

Vanilla : Virtual Box

Projet Administration Réseaux

Transcription:

Authentification des utilisateurs avec OpenLDAP Ce tutoriel développe la mise en place d'un contrôleur de Domaine Principal (PDC) avec authentification POSIX uniquement. La racine principale de l'annuaire sera nommée : dc=alex,dc=fr dc pour domain controler, alex comme nom du domaine et fr pour France. Pour que les clients puissent être identifiés par le contrôleur de domaine, il faudra configurer l'annuaire LDAP comme base de données centralisée d'utilisateurs puis la mettre en relation avec les modules d'authentification Unix, a savoir PAM et NSS. Installation des packages OpenLDAP Pour le Serveur : openldap-2x openldap-clients-2x openldap-servers-2x libldap2-developenldap-migration-2x nss_ldap-2x pam_ldap-1x Pour les Clients : nss_ldap-2x pam_ldap-1x Configuration d'openldap Le fichier /etc/openldap/slapd.conf comporte diverses informations telles que la racine supérieure de l'annuaire, l'administrateur principal de l'annuaire LDAP et son mot de passe, les droits d'accès par défaut, les fichiers d'objets et de syntaxe à utiliser ainsi que les règles d'accès (ACL) pour les entrées et les attributs de l'annuaire LDAP. Compte tenu que ce fichier contient le mot de passe de l'administrateur de l'annuaire, il est impératif de positionner les droits «rwx------» sur le fichier slapd.conf : [root@pc root]# chmod 700 /etc/openldap/slapd.conf Modifier le fichier /etc/openldap/slapd.conf # $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 # Version 0.2 # /usr/share/openldap/schema/core.schema /usr/share/openldap/schema/cosine.schema /usr/share/openldap/schema/corba.schema

/usr/share/openldap/schema/inetorgperson.schema /usr/share/openldap/schema/java.schema /usr/share/openldap/schema/krb5-kdc.schema /usr/share/openldap/schema/kerberosobject.schema /usr/share/openldap/schema/misc.schema /usr/share/openldap/schema/nis.schema /usr/share/openldap/schema/openldap.schema # /usr/share/openldap/schema/rfc822-mailmember.schema # /usr/share/openldap/schema/pilot.schema # /usr/share/openldap/schema/autofs.schema # /usr/share/openldap/schema/samba.schema # /usr/share/openldap/schema/qmail.schema # /usr/share/openldap/schema/mull.schema # /usr/share/openldap/schema/netscape-profile.schema # /usr/share/openldap/schema/trust.schema # /usr/share/openldap/schema/dns.schema # /usr/share/openldap/schema/cron.schema /etc/openldap/schema/local.schema # Inclusion du fichier slapd.access.conf contenant les ACLs /etc/openldap/slapd.access.conf # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile argsfile modulepath #moduleload #moduleload #moduleload #moduleload /var/run/ldap/slapd.pid /var/run/ldap/slapd.args /usr/lib/openldap back_dnssrv.la back_ldap.la back_passwd.la back_sql.la # SASL config #sasl-host ldap.example.com # To allow TLS-enabled connections, create / usr/share/ssl/certs/slapd.pem # and uncomment the following lines. #TLSRandFile /dev/random #TLSCipherSuite HIGH:MEDIUM:+SSLv2 TLSCertificateFile /etc/ssl/openldap/ldap.pem TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem #TLSCACertificatePath /etc/ssl/openldap/ TLSCACertificateFile /etc/ssl/openldap/ldap.pem #TLSVerifyClient 0 # vérification ou non la structure des objets # si vous mettez «on» vous n'utilisez que les propriétés des objets # définies dans le fichier slapd.oc.conf (voir Objets Attributs) schemacheck off ################################################################## ##### # ldbm database definitions ################################################################## #####

database ldbm # Définition de la racine du serveur suffix "dc=alex,dc=fr" # Définition du compte d'administration ici Manager # c'est un nom arbitraire et ce n'est pas forcément un # utilisateur défini dans /etc/passwd du système rootdn "cn=manager,dc=alex,dc=fr" #mot de passe en clair est «mypassword», voir plus loin comment le crypter rootpw {crypt}ijfyncsnctbyg # Définition des accès autorisés à la base LDAP defaultaccess read # The database directory MUST exist prior to running slapd AND # should only be accessable by the slapd/tools. Mode 700 recommende. directory /var/lib/ldap # Indices to maintain # Ces paramètres définissent les attributs autorisés dans l'annuaire index objectclass,uid,uidnumber,gidnumber eq index cn,mail,surname,givenname eq,subinitial # Indique le format du cryptage, ici {crypt} password-hash {crypt} password-crypt-salt-format "$1$%.8s" # logging loglevel 256 # Basic ACL # peuvent etre écrit dans ce fichier slapd.conf ou dans slapd.access.conf Le mot de passe de l'administrateur est «mypassword» en clair, pour le crypter au format {CRYPT}, il faudra taper (exemple avec mypassword) : [root@pc user]# slappasswd -v -s mypassword -h {CRYPT} {CRYPT}G.H5krNMMw0cc Modifier le fichier /etc/openldap/slapd.access.conf # Basic ACL Authentification POSIX # peuvent être écrit dans ce fichier slapd.conf ou dans slapd.access.conf # La section attr=userpassword autorise uniquement le root et les # utilisateurs à modifier leur passwd access to dn=".*,dc=alex,dc=fr" attr=userpassword by dn="uid=root,ou=people,dc=alex,dc=fr" write by self write by anonymous auth by * none # La section attr=shadowlastchange permet de mettre à jour la date

# de modification du passwd access to dn=".*,dc=alex,dc=fr" attr=shadowlastchange by dn=".*,dc=alex,dc=fr" write by self write by * auth access to dn=".*,ou=people,dc=alex,dc=fr" by * read access to dn=".*,dc=alex,dc=fr" by self write by * read Basic ACL : il est possible de donner des droits particuliers en utilisant la directive access dont la syntaxe est : access to <une partie de l'arbre> [by <une personne> <droits none search read write>] De plus, l'ordre d'écriture des règles a une grande importance. Par exemple : access to dn= «.*, dc=alex,dc=fr» by * search access to dn= «.*, c=fr» by * read Signifie que tout le monde a le droit en lecture sur toute l'arborescence dc=fr excepté sur la partie dc=alex où les utilisateurs ont un droit en recherche seulement. Le fait d'inverser l'ordre de ces deux lignes, impliquera que la directive concernant dc=fr en lecture sera la seule à être prise en compte et, on ne protégera plus ainsi la partie de l'arbre dc=alex en recherche seulement. L'authentification des utilisateurs L'authentification des utilisateurs sur le système se fait par défaut au moyen des fichiers /etc/passwd (définition des utilisateurs), /etc/group (identification des groupes d'utilisateurs) et éventuellement /etc/shadow si vous utilisez les "shadow password". C'est satisfaisant quand l'on dispose d'une machine isolée, par contre avec un parc d'une centaine de machines, il est peut concevable d'avoir à modifier ces fichiers sur tous les postes pour rajouter un utilisateur. L'idée est de centraliser l'authentification sur un server LDAP avec utilisation des "shadow passwords". Migration des données POSIX vers LDAP Modifiez le fichier migrate_common.ph dans le répertoire / usr/share/openldap/migration ATTENTION : Par défaut ce script utilise la norme RFC2307BIS, "ou=group" est donc utilisé. Dans le tutoriel suivant, pour une compatibilité avec celui d'openldap/samba, j'utilise "ou=groups" si vous souhaitez suivre ce tutoriel dans son ensemble, rennomez cette ligne : if ($RFC2307BIS) {

... $NAMINGCONTEXT{'group'}... } else {... = "ou=groups"; On doit y indiquer son nom de domaine, comme ceci : # Default DNS domain $DEFAULT_MAIL_DOMAIN = "alex.fr"; # Default base $DEFAULT_BASE = "dc=alex,dc=fr"; $DEFAULT_MAIL_HOST = "mail.alex.fr"; $EXTENDED_SCHEMA = 1; Pour Migrer Automatiquement Si vous voulez migrer tous les modules de votre serveur, utiliser le fichier / usr/share/openldap/migration/migrate_all_online.sh Commenter ces lignes: #echo "Migrating protocols..." #$PERL -I${INSTDIR} ${INSTDIR}migrate_protocols.pl $ETC_PROTOCOLS >> $DB #echo "Migrating services..." #$PERL -I${INSTDIR} ${INSTDIR}migrate_services.pl $ETC_SERVICES >> $DB Exécuter le script. Répondez aux questions (généralement accepter les paramètres par défauts) [root@ldap]#./migrate_all_online.sh Enter the X.500 naming context you wish to import into: [dc=alex,dc=fr] Enter the name of your LDAP server [ldap]: localhost Enter the manager DN: [cn=manager,dc=alex,dc=fr]: cn=root,dc=alex,dc=fr Enter the credentials to bind with: secret Do you wish to generate a DUAConfigProfile [yes no]? no le X.500 naming context est le domain de base a utiliser. le LDAP server name doit etre localhost sinon vous allez configurer un serveur LDAP secondaire. le manager DN doit etre identique au rootdn dans slapd.conf. le credentials to bind with est le password contenu dans slapd.conf au rootpw. le DUAConfigProfile doit etre laissé sur no. Sinon tous sera importé dans votre LDAP database ce qui peut prendre du temps. Pour Migrer manuellement Création de la base de l'annuaire : [root@ldap]# cd /usr/share/openldap/migration [root@migration]#./migrate_base.pl >base.ldif [root@migration]# ldapadd -x -D "cn=manager,dc=alex,dc=fr" -w mypassword -f base.ldif

Migration du fichier /etc/hosts : [root@migration]#./migrate_hosts.pl /etc/hosts hosts.ldif [root@migration]# ldapadd -x -D "cn=manager,dc=alex,dc=fr" -w mypassword -f hosts.ldif Vous pouvez vérifier si la migration a bien fonctionné (si vous aviez des WS inscrites dans /etc/hosts) : [root@ldap]# ldapsearch -LL -H ldap://localhost -b "dc=alex,dc=fr" -x "(cn=workstation1)" version: 1 dn: cn=workstation1.alex.fr,ou=hosts,dc=alex,dc=fr objectclass: top objectclass: iphost objectclass: device iphostnumber: 192.168.0.123 cn: workstation1.alex.fr cn: workstation1 A présent il faut rentrer les utilisateurs et groupes du système dans l'annuaire LDAP. [root@migration]#./migrate_group.pl /etc/group groups.ldif [root@migration]# ldapadd -x -D "cn=manager,dc=alex,dc=fr" -w mypassword -f groups.ldif [root@migration]# ETC_SHADOW=/etc/shadow./migrate_passwd.pl /etc/passwd passwd.ldif [root@migration]# ldapadd -x -D "cn=manager,dc=alex,dc=fr" -w mypassword -f passwd.ldif Voici les informations me concernant contenues de mon groups.ldif dn: cn=arnofear,ou=groups,dc=alex,dc=fr objectclass: posixgroup objectclass: top cn: arnofear userpassword: {crypt}x gidnumber: 501 Voici les informations me concernant contenues de mon passwd.ldif dn: uid=arnofear,ou=people,dc=alex,dc=fr uid: arnofear cn: arnofear sn: arnofear mail: arnofear@alex.fr mailroutingaddress: arnofear@mail.alex.fr mailhost: mail.alex.fr objectclass: mailrecipient objectclass: person objectclass: organizationalperson objectclass: inetorgperson objectclass: account objectclass: posixaccount objectclass: top objectclass: kerberossecurityobject

objectclass: shadowaccount userpassword: {crypt}$1$dbwezia0$xzqeqbqqjflidthz90inl. shadowlastchange: 12377 shadowmax: 99999 shadowwarning: 7 krbname: arnofear@alex.fr loginshell: /bin/bash uidnumber: 501 gidnumber: 501 homedirectory: /home/arnofear gecos: arnofear On visualise tout ça en tapant ldapsearch -x -D "cn=manager,dc=alex,dc=fr" -w mypassword -b "dc=alex,dc=fr" shadowlastchange: Date de dernière modification (en jour depuis 01.01.1970) shadowmax: Nombre de jours d'utilisation max du mot de passe (changement requis à l'issue), pas de période de validité si égal à 99999 shadowwarning: Nombre de jours avant l'expiration pour avertir l'utilisateur. shadowinactive: Nombre de jours après la date de l'expiration où on rend le compte inactif,fonctionnalité désactivé si égal à -1 shadowexpire: Nombre de jours après le 01.01.1970 où le compte sera désactivé, fonctionnalité désactivée si égal à -1 memberuid: Indique le groupe d'appartenance de l'utilisateur. Mappage de l'annuaire LDAP avec les modules d'authentification Posix Editer le fichier /etc/ldap.conf # @(#)$Id: ldap.conf,v 2.28 2001/08/28 12:17:29 lukeh Exp $ # # This is the configuration file for the LDAP nameservice # switch library and the LDAP PAM module. # Your LDAP server. Must be resolvable without using LDAP. # Sur le serveur il faut mettre l'adresse de la boucle locale Host 127.0.0.1 # The distinguished name of the search base. # le nom de la base base dc=alex,dc=fr # The LDAP version to use (defaults to 3 # if supported by client library) ldap_version 3 # The distinguished name to bind to the server with. # Optional: default is to bind anonymously. #binddn cn=proxyuser,dc=example,dc=com # The credentials to bind with.

# Optional: default is no credential. #bindpw secret # The distinguished name to bind to the server with # if the effective user ID is root. Password is # stored in /etc/ldap.secret (mode 600) # Notre mot de passe sera écrit dans le fichier protégé / etc/ldap.secret rootbinddn cn=manager,dc=alex,dc=fr # The port. # Optional: default is 389. # port 389 # The search scope. # scope sub scope one # scope base # Search timelimit # timelimit 30 # Bind timelimit # bind_timelimit 30 # Filter to AND with uid=%s pam_filter objectclass=posixaccount # The user ID attribute (defaults to uid) pam_login_attribute uid # Group member attribute pam_member_attribute gid # Use the OpenLDAP password change # extended operation to update the password. # pam_password exop pam_password crypt # You can omit the suffix eg: # nss_base_passwd ou=people, # to append the default base DN but this # may incur a small performance impact. # Indiquer le chemin de recherche dans la base de l'annuaire # les utilisateurs seront inscrit dans People, les groups dans Groups # Attention la ligne suivante est dédiée au serveur LDAP nss_base_passwd dc=alex,dc=fr?sub nss_base_shadow ou=people,dc=alex,dc=fr?one nss_base_group ou=groups,dc=alex,dc=fr?one nss_base_hosts ou=hosts,dc=alex,dc=fr?one # Netscape SDK LDAPS # ssl on # Netscape SDK SSL options # sslpath /etc/ssl/certs/cert7.db # OpenLDAP SSL mechanism # start_tls mechanism uses the normal LDAP port, LDAPS typically 636 # ssl start_tls ssl off

Editer le fichier /etc/nsswitch.conf taper votre mot de passe (mypassword dans notre cas) : mypassword Configurer NSS pour utiliser LDAP Dans le fichier /etc/nsswitch.conf modifier les lignes suivantes : passwd: files ldap shadow: files ldap group: files ldap hosts: files dns # si vous avez des hosts ajoutez ldap, sinon laissez files dns # (possibilité de bug au démarrage du PC) Vous pouvez étendre files ldap aux autres modules selon se que vous avez importé dans votre Migration. Pour vérifier utiliser getent de cette façon : [root@ldap]# getent hosts [root@ldap]# getent group [root@ldap]# getent passwd [root@ldap]# getent shadow Configurer PAM pour utiliser LDAP Modifier le fichier /etc/pam.d/system-auth #%PAM-1.0 auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth sufficient /lib/security/pam_ldap.so use_first_pass auth required /lib/security/pam_deny.so account required /lib/security/pam_unix.so account sufficient /lib/security/pam_ldap.so password required /lib/security/pam_cracklib.so retry=3 minlen=4 \ dcredit=0 ucredit=0 password sufficient /lib/security/pam_unix.so nullok use_authtok \ md5 shadow password sufficient /lib/security/pam_ldap.so use_authtok password required /lib/security/pam_deny.so session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ \ umask=0022 session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so session optional /lib/security/pam_ldap.so

Modifier le fichier /etc/pam.d/passwd (selon les version Mandrake 9.1/9.2) #%PAM-1.0 auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_pwdb.so shadow nullok # auth required pam_stack.so service=system-auth account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_pwdb.so # account required pam_stack.so service=system-auth password required /lib/security/pam_cracklib.so retry=3 minlen=4 \ dcredit=0 ucredit=0 password sufficient /lib/security/pam_ldap.so use_authtok password required /lib/security/pam_pwdb.so use_authtok nullok \ md5 shadow # password required pam_stack.so service=system-auth Authentification Host-based Si vous utilisez OpenLDAP pour identifier les users dans un LAN, vous pouvez leurs refuser la connexion à certaines machines. Utiliser le pam_mkhomedir module : Dans le fichier /etc/ldap.conf, vous devez ajouter cet attribut : # check for login rights on the host pam_check_host_attr yes Ce qui demandera au module pam_ldap de rechercher l'attribut "host" dans la base de l'user pour déterminer s'il a accès au système. Vous devez ajouter cet attribut dans l'enregistrement des users. Créer un fichier host-auth.ldif : dn: uid=joe,ou=people,dc=alex,dc=fr changetype: modify add: host host: worka host: workb dn: uid=bob,ou=people,dc=alex,dc=fr changetype: modify add: host host: workb exécutez la commande ldapmodify : [root@ldap]# ldapmodify -H ldap://localhost -D "cn=manager,dc=alex,dc=fr" \ -x -W -f host-auth.ldif dans cet exemple joe pourra se connecter sur l'host worka et workb alors que bob ne pourra que se connecter sur l'host workb

Configuration des Clients OpenLDAP Editer le fichier /etc/ldap.conf de chaque clients # @(#)$Id: ldap.conf,v 2.28 2001/08/28 12:17:29 lukeh Exp $ # # This is the configuration file for the LDAP nameservice # switch library and the LDAP PAM module. # Your LDAP server. Must be resolvable without using LDAP. # Indiquer l'adresse de votre serveur LDAP Host 192.168.0.2 # The distinguished name of the search base. # le nom de la base base dc=alex,dc=fr # The LDAP version to use (defaults to 3 # if supported by client library) ldap_version 3 # The distinguished name to bind to the server with. # Optional: default is to bind anonymously. #binddn cn=proxyuser,dc=example,dc=com # The credentials to bind with. # Optional: default is no credential. #bindpw secret # The distinguished name to bind to the server with # if the effective user ID is root. Password is # stored in /etc/ldap.secret (mode 600) # rootbinddn cn=manager,dc=alex,dc=fr # The port. # Optional: default is 389. # port 389 # The search scope. # scope sub scope one # scope base # Search timelimit # timelimit 30 # Bind timelimit # bind_timelimit 30 # Filter to AND with uid=%s pam_filter objectclass=posixaccount # The user ID attribute (defaults to uid) pam_login_attribute uid # Group member attribute pam_member_attribute gid # Use the OpenLDAP password change # extended operation to update the password. # pam_password exop pam_password crypt

# You can omit the suffix eg: # nss_base_passwd ou=people, # to append the default base DN but this # may incur a small performance impact. # Indiquer le chemin de recherche dans la base de l'annuaire # les utilisateurs seront inscrit dans People, les groups dans Groups # Attention la ligne suivante est dédiée aux clients LDAP nss_base_passwd ou=people,dc=alex,dc=fr?one nss_base_shadow ou=people,dc=alex,dc=fr?one nss_base_group ou=groups,dc=alex,dc=fr?one nss_base_hosts ou=hosts,dc=alex,dc=fr?one # Netscape SDK LDAPS # ssl on # Netscape SDK SSL options # sslpath /etc/ssl/certs/cert7.db # OpenLDAP SSL mechanism # start_tls mechanism uses the normal LDAP port, LDAPS typically 636 #ssl start_tls ssl off Copier ces 3 fichiers sur les clients qui s adresseront au Serveur LDAP /etc/nsswitch.conf /etc/pam.d/system-auth /etc/pam.d/passwd Test de fonctionnement Sur le serveur ou les clients, supprimer les lignes qui correspondent à vos utilisateur dans /etc/passwd, et /etc/shadow et faites de même pour vos groupes utilisateurs dans /etc/group N'oubliez pas de faire une sauvegarde de ces fichiers au cas où! Maintenant essayer de vous loguer en tant que simple utilisateur. Source : http://www.mandrakesecure.net/en/docs.php#papers Document mis à jour : 26/12/03