CONTROLEUR DE DOMAINE SAMBA Nous allons voir à travers ce tutoriel, la mise en place d un contrôleur de domaine sous linux, SAMBA. Ce tutoriel a été testé sur une distribution Debian version 7.2 1. Introduction Le développement de Samba a débuté en décembre 1991 par un étudiant au laboratoire d informatique à l université nationale d Australie. Samba est une suite de logiciels permettant d interconnecter Windows et Linux afin d en partager les ressources. Ces ressources sont composées d utilisateurs, de groupes, de machines ou domaine Windows et inversement. Samba est constitué d'un serveur et d'un client, ainsi que de quelques outils permettant de réaliser des services pratiques. Le serveur est constitué de deux applications (appelées démons) : - Smbd : noyau du serveur, fournissant les services d'authentification et d'accès aux ressources - Nmbd : permettant de montrer les services offerts par Samba (affichage des serveurs Samba dans le voisinage réseau) Samba va ainsi permettre de contrôler un domaine ou bien d en être le serveur de fichiers. La gestion des utilisateurs Samba gère l authentification des utilisateurs si son rôle est d être un contrôleur de domaine. Il lui faut dans ce cas une base à laquelle se référer afin de déterminer les droits de chacun : - Un nom - Un uid (User id) - Un gid (Group id) - Un répertoire home - Smbpasswd (permet de modifier le mot de passe) La gestion du domaine - Findsmb : affiche des informations sur les partages disponibles sur le réseau IP - Smbstatus : affiche les connexions actuelles La gestion de la configuration - Testparm : permet de tester la validité du fichier smb.conf 1
2. Installation de SAMBA Pour installer SAMBA sur Debian, il faut exécuter la commande suivante : apt-get install samba 3. Configuration de SAMBA Maintenant que vous avez installé SAMBA, il faut le configurer. Pour cela, je vous invite à vous rendre dans le fichier de configuration, se trouvant dans le répertoire /etc/samba/smb.conf vi /etc/samba/smb.conf Puis modifier ou ajouter les lignes suivantes manquantes. Mais attention il ne faut surtout pas remplacer tout le fichier, en effaçant tout et en copiant mon texte. Il faut faire les modifications ligne par ligne.... [global] workgroup = SRVERDUAN server string = %h netbios name = erduan security = user time server = Yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 domain master = yes os level = 33 preferred master = yes domain logons = yes logon script = logon.bat add user script = /usr/sbin/useradd -d /srv/samba/home/%u G dom_users -s /bin/false -m %u add machine script = /usr/sbin/useradd -d /dev/null -G dom_pc -s /bin/false -M %m$... [homes] comment = Home Directories browseable = no writable = yes... [netlogon] # Dossier contenant les scripts de demarrage path = /srv/samba/netlogon read only = yes write list = @dom_admin 2
[public] # Partage du dossier public, accessible par tout le monde comment = Repertoire public sur serveur writable = yes path = /srv/samba/public guest ok = yes [private] # Partage du dossier private, visible et pas accessible # par tout le monde (seulement utilisateur du domaine authentifie) comment = Repertoire private du serveur path = /srv/samba/private valid users = @dom_users writable = yes browseable = yes guest ok = no Pour que le système tienne compte des changements effectués dans le fichier de configuration, utilisez la commande /etc/init.d/samba restart (sous Debian). Sous Ubuntu, il faut utilisez les commandes suivantes : /etc/init.d/smbd restart ET /etc/init.d/nmbd restart Il est également possible de démarrer ou d arrêter ce service avec respectivement start et stop. 4. Mise en place de SAMBA La première étape consiste à créer le compte administrateur. Evidemment, le mot de passe SAMBA doit être le même que celui de Debian : # smbpasswd -a root New SMB password: Retype new SMB password: Added user root. Création du groupe des administrateurs du domaine : groupadd dom_admin Création du groupe des utilisateurs du domaine : groupadd dom_users Création du groupe des machines : groupadd dom_pc Création des répertoires de partage : mkdir /var/samba mkdir /var/samba/public mkdir /var/samba/private mkdir /var/samba/netlogon mkdir /var/samba/home 3
On change le groupe propriétaire des dossiers : cd /var/samba && chgrp dom_users * On positionne les bons droits sur les dossiers car les droits d'accès Unix sont prioritaires sur les droits samba : chmod 755 netlogon/ && chmod 770 private/ && chmod 777 public/ Créer le fichier script de démarrage netlogon vim /var/samba/netlogon/logon.bat Je vous inivte par la suite à copier cet extrait et à le coller dans le fichier : logon.bat # Efface l'ecran echo off # Montage du homedir de l'utilisateur net use z: \\monprenom\home\%username% # Montage de des lecteurs reseaux dans le Poste de Travail net use y: \\monprenom\public net use x: \\monprenom\private #Efface l'ecran cls # Message de bienvenue echo *** Bienvenue sur le domaine * ** # Synchronisation de l'horloge du client avec le serveur echo. echo Mise a l'heure du poste client net time \\monprenom /set /yes Création d'un utilisateur de test : useradd -G dom_users -m -d /var/samba/home/test -c "utilisateur test" -s /bin/false test Ajout de l'utilisateur à samba # smbpasswd -a test New SMB password: Retype new SMB password: Added user test. 4
5. Test du serveur SAMBA La première étape sera de lancer la commande testparm, qui sert à vérifier que le fichier de configuration de samba ne comporte pas d'erreur. Si tout est bon, on pourra lancer notre serveur avec la commande suivante : /etc/init.d/samba restart Pour vérifier que ce dernier fonctionne correctement, on s'y connectera localement, avec cette commande : smbclient -L localhost 6. Configuration du client Ce tutoriel a été réalisé avec un client sous le système d exploitation Windows 7. Pour permettre la jonction entre le serveur SAMBA et le client Windows 7, il faut modifier la valeur de certaines clés de registre. Pour cela aller dans le menu démarrer et lancer regedit. Aller dans l arborescence : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters Remplacez la valeur 1 par 0 pour les clés nommées RequireSignOrSeal et RequireStrongKey et OK. Ensuite dans l arborescence : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters Mettre la clé nommé DNSNameResolutionRequired à la valeur 0. Et la clé nommée DomainCompatibilityMode à la valeur 1. Attention : Dans le cas où ces deux clés n existent pas, il faut les crées (dans le répertoire en question) : Clic droit > Nouveau > Valeur DWORD 32 bits > DNSNameResolutionRequired (valeur 0) > DomainCompatibilityMode (valeur 1) 5
Lorsque ces modifications ont été faites, il faut redémarrer la machine, afin de recharger la base de registre. C est qu à ce niveau que la jonction entre le client et le serveur est possible. Pour cela il vous suffit, d aller dans le menu démarrer, clic droit sur ordinateur, propriétés, modifier les paramètres, comme cela : Il vous reste plus qu à entrer le login et le mot de passe du compte administrateur que vous avez créé auparavant : Vous pouvez maintenant redémarrer votre client Windows 7 et vous connecter avec l utilisateur crée un peu plus haut, l utilisateur test dans mon cas. 6
Source : contrôleur de domaine SAMBA nicodewaele 7