RTN / EC2LT Réseaux et Techniques Numériques Ecole Centrale des Logiciels Libres et de Télécommunications Mise en place d'un Contrôleur de Domaine dans un milieu hétérogène avec SAMBA couplé à LDAP Domaine : Réseaux, télécoms Ecole Centrale des Logiciels Libres et de Télécommunications Zone de Captage, Dakar Sénégal Tel : (+221) 33 867 45 90 (+221) 77 517 17 71 http://www.ec2lt.sn http://formation.rtn.sn/moodle
Plan Page 1 Partie 1 : Présentation : SAMBA : LDAP : Partie 2 : Installation des paquets: LDAP : SAMBA : Couple LDAP / SAMBA Partie 3 : Configuration : Mise en œuvre de l annuaire LDAP : Mise en œuvre du serveur SAMBA : Couplage SAMBA-LDAP: Configuration de linux pour l'authentification des utilisateurs par LDAP: Gestion des Utilisateurs: Partie 4 : Intégration des machines au domaine: Intégration d'une machine windows xp: Intégration d'une machine windows 7: Intégration d'une machine ubuntu 10.4: Intégration d'une machine fedora 11: CONCLUSION :
À propos du rapport Page 2 Descriptions Ce document porte essentiellement sur l'utilisation d'un annuaire LDAP pour authentifier des utilisateurs et SAMBA pour le partage des ressources dans un milieu hétérogène (ou on a des ordinateurs sous windows xp, windows 7, ubuntu et fedora). Objectifs - Donner la possibilité de centraliser des comptes utilisateurs afin d avoir un annuaire d authentification unifié. - Donner à un poste linux de partager des fichiers et des imprimantes entre des ordinateurs sous linux et windows. Caractéristiques Durée : X minutes Formation très pratique dans la vie courante Niveau : 2/5 Contact : ecole.ec2lt@gmail.com Public concerné - Étudiants - Adeptes des réseaux Proposition de : - Dr Samuel OUYA Pré-requis - Base en linux - Connaissance en réseau - Mouhamadou Yaya SOW 775702639 mysow@live.fr - Pape Saer NIANG 774143946 pizniang@gmail.com
Présentation Page 4 Méta-Information : Ce rapport explique pas à pas l'installation d'un serveur Samba avec authentification LDAP dans un milieu hétérogène sous fedora11-2.6.30.10-105.2.23.fc11.i686.pae. Tout au long de celui-ci une importante question se pose POURQUOI AVOIR UN LDAP EN PLUS SI SAMBA PEUT LUI-MEME GERER LES UTILISATEURS ET MACHINES??? (la réponse se trouve a la fin de la partie suivante). Partie 1 Présentation : LDAP : LDAP (Lightweight Directory Access Protocol ou Protocoles d'accès aux annuaires légers) est un protocole standard permettant de gérer des annuaires, c'est-à-dire d'accéder à des bases d'informations sur les utilisateurs d'un réseau par l'intermédiaire de protocoles TCP/IP. Le contenu des entrées d'un annuaire LDAP est régi par des schémas qui représentent l'ensemble des définitions d'objets et d'attributs qu'un serveur LDAP peut gérer. Cela permet par exemple de définir si un attribut peut posséder une ou plusieurs valeurs. D'autre part, un attribut nommé objectclass permet de définir les attributs étant obligatoires ou facultatifs... Le format d'échange de données LDIF : LDAP fournit un format d'échange LDIF ( Lightweight Data Interchange Format) permettant d'importer et d'exporter les données d'un annuaire avec un simple fichier texte. La majorité des serveurs LDAP supportent ce format, ce qui permet une grande interopérabilité entre eux. Un serveur LDAP est conçu pour être capable de gérer les opérations suivantes : Établir et fermer une connexion avec l'annuaire
Rechercher des entrées Comparer des entrées Ajouter des entrées Modifier des entrées Supprimer des entrées Annuler ou abandonner une opération. SAMBA : Samba est une implémentation libre des protocoles SMB et CIFS sous GNU Linux. Il permet le partage de ressources et est compatible avec les réseaux Microsoft Windows. C'est-à-dire qu'il permet de partager les fichiers et les imprimantes d'un serveur Linux avec les ordinateurs d'un réseau Microsoft Windows, et de manière totalement transparente à travers un réseau local. Architecture de Samba : SAMBA est constitué d'un serveur et d'un client, ainsi que de quelques outils permettant de réaliser des services pratiques ou bien de tester la configuration. Le serveur est constitué de deux applications (appelées démons) : 1. Smbd : noyau du serveur, fournissant les services d'authentification et d'accès aux ressources 2. nmbd : permettant de montrer les services offerts par Samba L'outil testparm vérifie la syntaxe du fichier smb.conf, le fichier de configuration de Samba Configuration de Samba : La configuration de Samba est effectuée par l'intermédiaire d'un fichier de configuration unique: smb.conf. Ce fichier est située dans le répertoire /etc/samba/.2 Ce fichier décrit les ressources que l'on désire partager, ainsi que les permissions/restrictions qui leur sont associées. Il est divisé en plusieurs sections (chacune référencé par une ligne contenant le nom de la section entre crochets) comprenant chacune un ensemble de lignes de paramètres du type attribut = valeur.
POURQUOI AVOIR UN LDAP EN PLUS SI SAMBA PEUT LUI-MEME GERER LES UTILISATEURS ET MACHINES??? SAMBA à besoin d'utiliser les comptes locaux du serveur pour fonctionner, et il ajoute des options a ceux-ci pour son usage (-m, -a, -P ). Cela implique de créer un compte local puis un compte SAMBA a chaque fois (et dans cet ordre précis, sinon problèmes!!!!). En gérant cela avec LDAP on a l'avantage de ne faire le travail qu'une seule fois dans LDAP et SAMBA se synchronise avec LDAP.
Installation Page 7 Partie 2 Installation des paquets: On va commencer par installer openldap pour préparer la base d'authentification des utilisateurs et faire en sorte que le système s'appuie intégralement sur celui ci. Ensuite on configurera SAMBA pour le partage de fichier. LDAP : o Redhat : #yum install openldap openldap-servers openldap-clients o Debian: #apt-get install slapd ldap-utils SAMBA: o Redhat: #yum install samba samba-common samba-doc smbldap-tools o Debian: #apt-get install samba smbclient libnss-ldap libpam-ldap auth-client-config
Configuration Page 4 Partie 3 Configuration : Mise en œuvre de l annuaire LDAP : Après installation on va commencer par configurer openldap qui fournira le système de base pour l authentification des utilisateurs. La configuration se fait dans le fichier /etc/openldap/slapd.conf (redhat) afin que openldap puisse héberger une base de donnée de type samba, il nous faut importer le schéma type d'une organisation samba dans /etc/openldap/schema: NB: le schéma samba.schema est obligatoire. Par mesure de prudence on va garder une copie de notre fichier de configuration: On va maintenant éditer le fichier /etc/openldap/slapd.conf: puis on renseigne les champs suivants: NB: pour le moment on utilise aucune règle d'accès aux attributs de la base de donnée, ni de certificat SSL ou auto-signé. Ajout du shema dans le fichier slapd.conf:
le mot de passe crypté de rootpw est obtenu comme suit: NB: On peut configurer le fichier slapd.conf en utilisant la commande sed:
Configuration du fichier client /etc/openldap/ldap.conf: Configuration du client (pour tester en meme temps les clients depuis notre serveur): Création de la base de l'annuaire:
Ajout des données: Redémarrage du serveur ldap: Etat actuel de la base de donnée ldap: ldapsearch x
Mise en œuvre du serveur SAMBA : Il nous faut maintenant configurer SAMBA pour qu'il intègre LDAP en même temps. La configuration se fait dans le fichier /etc/samba/smb.conf. Mais initialement ce fichier est très commenté, et puisqu'on couple avec LDAP l'outil smbldap-tools propose un exemple de ce fichier bien structuré dans sa documentation qu'on peut obtenir comme suit: NB: il est recommandé de garder une copie de sauvegarde du fichier /etc/samba/smb.conf original avant de le remplacer (Prudence!!!). Maintenant éditons le fichier /etc/samba/smb.conf et renseignons le comme suit:
On va maintenant créer les répertoires nécessaires a l'exécution de samba (c'est a dire pour les scripts de connexion, les profiles itinérants ainsi que les partages) et leurs donner les droits nécessaires comme suit: On peut vérifier la configuration du fichier /etc/samba/smb.conf avec la commande testparm: Elle doit retourner si tout s'est bien passé :
Redémarrons maintenant notre serveur samba: Couplage SAMBA-LDAP : Dans ce couplage, samba doit connaitre le mot de passe administrateur du serveur LDAP pour avoir l'autorisation d'ajouter, de supprimer ou de modifier des entrées pour les comptes 'utilisateurs, groupes ou de machines. Pour se faire on a qu'à taper la commande suivante: («passer» est le mot de passe ici) NB: le fichier «secret.tdb» ci dessus se trouve dans le répertoire «/var/lib/samba/private» Configuration des outils smbldap-tools: Ces outils sont un ensemble de scripts permettant de créer les utilisateurs POSIX, samba et LDAP d'une manière automatique via des commandes. La configuration se fait entièrement dans deux fichiers a savoir «smbldap.conf» et «smbldap_bind.conf» qui se trouve dans le répertoire «/etc/smbldap-tools»
Configurons d'abord le fichier smbldap.conf qui se fait comme suit: NB: on voit bien que dans ce fichier le mot de passe apparait en clair, donc il est important de restreindre ses droits d'accès comme suit: Configuration du fichier smbldap.conf qui a plus de paramètres: Déterminons d'abord le SID du Domaine via la commande net getlocalsid, et celle ci doit retourner aucune erreur comme suit: Passons maintenant à la configuration du fichier smbldap.conf comme suit:
Créons maintenant l'arbre de base au niveau de LDAP pour SAMBA avec la commande smbldap-populate comme suit:
NB: il ne faut surtout pas oublier l'inclusion du schéma de samba dans le fichier de configuration de LDAP sinon cette commande ne marchera pas. Par défaut l'administrateur est root mais il est possible de le changer comme par exemple en Administrateur (admin par défaut sous windows) comme suit :
Démarrages des services SAMBA, WINBIND et LDAP: Configuration de LINUX pour l'authentification des utilisateurs par LDAP: Avant de passer a la gestion des utilisateurs configurons d'abord LINUX pour l'authentification par LDAP. Les utilisateurs doivent passer par LDAP pour s'authentifier, pour cela on va renseigner les deux fichiers client ldap.conf qui sont l'un dans /etc/ldap.conf et l'autre dans /etc/openldap/ldap.conf puis configurer le fichier de nss dans /etc/nsswitch.conf: Configuration du fichier /etc/ldap.conf comme suit: NB: il est préférable de faire cette dernière a la fin ou bien de laisser toujours une fenêtre connectées avec root activé pour régler d'éventuels problèmes de connexion.
Gestion des utilisateurs: Création d'un utilisateur: L option : -a : Désigne l'utilisateur windows. -c : Désigne un commentaire. -m : Permet de créer le répertoire de base de l'utilisateur. -P : Associe en même temps la commande smbldap-passwd. Dans notre cas on va utiliser un script qui va créer directement le répertoire de base de l'utilisateur s'il n'existe pas, et copie en même temps l'exemple d'un profil itinérant dans ce répertoire de base: Droits du script: Exécution du script depuis /etc/samba/smb.conf:
NB: On aura plus besoin de l'option -m, pour créer les répertoire de base des utilisateurs. Test de l'utilisateur macky avec pdbedit:
Configuration Page 24 Partie 4 : Intégration des machines au domaine: Intégration d'une machine windows xp: Pour l'intégration des machines windows dans le domaine, procéder comme suit: - Étape 1:
Étapes 2: Étape 3:
Étape 4: - Étape 5: Connexion de l'utilisateur Macky:
Remarque: Montage du lecteur (Z:) pour Macky dans (Poste de travail)
Intégration d'une machine windows 7: Remarque: Pour intégrer les machines windows 7, il faut modifier la base de registre du système. Pour cela SAMBA propose ce script (Contrôle+Clic pour suivre le lien) téléchargeable. Étape 1:
Étape 2: Étape 3:
Étape 4: Étape 5:
- Étape 6: Connexion de l'utilisateur Macky : - Étape 7:
- Étape 8: Intégration d'une machine ubuntu 10.4: Pour l'intégration des machines ubuntu dans le domaine et régler les paramètres de montage de répertoire de base après authentification des utilisateurs il faut au préalable installer les paquets nécessaires: #apt-get install samba smbclient libnss-ldap libpam-ldap auth-client-config libpam-mount winbind smbfs NB: Winbind est un programme qui permet aux utilisateurs dans un réseau hétérogène de se connecter en utilisant les postes de travail qui ont soit des systèmes Unix ou Windows NT. Le programme rend les postes de travail utilisant Unix fonctionnelle dans les domaines NT, en faisant apparaître NT pour ressembler à Unix à chaque poste de travail Unix.
Étape 1: Configuration du fichier /etc/samba/smb.conf comme suit: WORKGROUP : Cela correspond au nom de votre domaine. netbios name = C'est le nom de notre machine sur le réseau NetBios. ( Ce nom doit être unique au risque de collision et impossibilité de vous connecter) security = Ce paramètre indique que l'on veut que les options de sécurité soient au domaine wins server = Très important pour la résolution de nom NetBios, (généralement c'est le serveur Samba qui est serveur Wins comme dans notre cas). winbind separator = C'est pour séparer le nom du domaine de l'utilisateur lors de la connexion winbind uid = C'est pour indiquer la plage de numéro uid que les utilisateurs du domaine utiliseront. winbind gid = Idem mais pour les groupes. winbind use default domain winbind use default domain = Configure Winbind en domaine par défaut. template shell =Donne le shell par défaut des utilisateurs du domaine
template homedir = Indique l'emplacement des répertoires "home" des utilisateurs du domaine.. Étape 2: Renseigner le fichier /etc/nsswitch.conf Ce fichier permet de configurer les bases de données systèmes et des services de noms. Étape 3: Renseigner les modules pam: L'outil pam-auth-update permet de manipuler les fichiers contenant les modules pam automatiquement. Cocher les cases sélectionnées par la touche espace et puis tabulation pour valider les modifications qui seront appliquer dans les fichiers suivants:
Étape 4: Montage des ressources des utilisateurs:
Étape 5: Redémarrage des services suivants : - Étape 6: Intégration du domaine - Étape 7: Connexion des utilisateurs: en mode console:
Vérifier l'appartenance au domain Afficher tous les comptes utilisateurs du domaine: Afficher tous les groupes du domaine:
- En mode graphique:
Après la connexion de l'utilisateur,un lecteur réseau lui est monte La machine ubuntu télécharge le profil de Macky qui était au niveau de la machine windows
Intégration d'une machine fedora au domaine: La configuration est la même que celui de la machine fedora:
CONCLUSION : Nous espérons que ce document vous a éclairé sur les différentes étapes à suivre pour installer et configurer Samba + LDAP. Les méthodes abordées doivent permettre d'avoir un bon aperçu de ce qu'il est possible de réaliser en alliant différentes technologies. Le domaine obtenu permet une bonne montée en charge et l architecture peut offrir une alternative fiable et stable à un domaine purement Microsoft.