===== TP - Installation d’un serveur Samba ===== **//Philippe Sevre//** //V 2.2.6 - Mis à jour le 2014-05-19// ==== Objectifs ==== * Mettre à jour /installer Samba * Installer un serveur Samba en tant que CPD et effectuer le paramétrage de base * Créer des partages avec les droits associés * Créer des utilisateurs et des groupes * Créer un script de connexion * Faire adhérer un poste de travail 2000/XP à un domaine Windows NT ==== Prérequis ==== * une machine **Linux Debian Wheezy** pour le serveur Samba * une machine **Windows XP** en tant que client ==== Installation de Samba ==== Taper ''aptitude install samba samba-doc smbclient'' === Remarques === Sauvegarder le fichier ''smb.conf'' sous un autre nom avant le commencer le paramétrage ==== Contexte ==== On veut installer un serveur Samba afin que les professeurs et les étudiants puissent stocker leurs documents. Ils seront répartis dans un groupe **prof** et dans un groupe **etud**. Le groupe **prof** doit contenir les utilisateurs suivants : * dupont (Albert Dupont) * durand (Alphonse Durand) Les membres du groupe **prof** auront leur répertoire de base dans ''/home/prof'' Le groupe **etud** contient les utilisateurs suivants : * desforets (Ludovic Desforets) * lefloch (Gaelle Lefloch) * gauthier (Aurelien Gauthier) Les membres du groupe **etud** auront leur répertoire de base dans ''/home/etud''. On veut créer un répertoire partagé **pub** dans /home qui sera accessible en lecture à tout le monde mais accessible en écriture uniquement au membres du groupe **prof**. On veut également que les utilisateurs disposent tous d'un répertoire partagé **commun** situé dans /home/commun. Ce répertoire sera accessible en lecture/écriture à tout le monde. Les utilisateurs devront également disposer d'un environnement commun : * leur répertoire de base sera affecté à l'unité logique U: * le répertoire **commun** sera affecté à l'unité logique X: * le répertoire **pub** sera affecté à l'unité logique P: * la date/heure sera mise à jour à chaque connexion ==== Travail à faire ==== - Créer les groupes **prof** et **etud** (voir la commande ''groupadd''). Vérifier avec : ''getent group'' - Créer les répertoires **prof** et **etud** dans /home (cf. commande ''mkdir''). Vérifier avec : ''ls –l /home'' - Créer les répertoires **pub** et **commun** avec les bons droits (cf ''chmod''). Vérifier avec : ''ls –l /home'' - Créer les utilisateurs décrits plus haut dans les répertoires indiqués en le mettant dans les bons groupes. (Ex : ''useradd -m –c "Albert Dupont" –s /bin/false –d /home/prof/dupont –g prof dupont''). Vérifier avec : ''getent passwd dupont'' === Paramétrage du serveur Samba === - Paramétrer Samba pour que le serveur fonctionne en CPD avec le service wins (il faudra éditer ''/etc/samba/smb.conf'' après l’avoir sauvegardé) . On choisira le nom de domaine de manière pertinente. Activer les scripts de création de compte de machine (voir ''add machine script'') – Vérifier la configuration avec ''testparm'' - Créer les comptes Samba pour ''root'' et les utilisateurs normaux (cf ''smbpasswd'' et ''pdbedit'' pour obtenir la liste des comptes ) - Créer les partages (**commun** et **pub**) pour les répertoires en question (en éditant ''smb.conf'') - Relancer samba ( cf ''service samba restart'') === Tests en mode local avec smbclient === Vérifier avec ''smbstatus'' et ''smbclient –L server –U user'' - tester la connexion au partage de base avec smbclient smbclient //serveur/dupont -U dupont - on pourra tester les droits en lecture/écriture avec la commande ''mkdir'' - tester la connexion au partage commun avec smbclient smbclient //serveur/commun -U dupont - on pourra tester les droits en lecture/écriture avec la commande ''mkdir'' - on pourra faire la même chose pour le partage ''public'' === Adhésion de la machine au domaine Samba === - Créer le compte unix, le compte samba pour votre machine (facultatif si les scripts de création sont opérationnels - cf ''add machine script'' : vérifier les paramètres) et la faire adhérer au domaine. - Tester les ouvertures de session avec les différents utilisateurs et vérifier les accès aux répertoires. === Mise en place des scripts de connexion === - Editer ''smb.conf'' pour indiquer ''logon script = logon.bat'' dans la section ''global'', créer le partage ''netlogon'' avec les droits ad-hoc. - Editer le fichier **logon.bat** dans le **netlogon**, soit un poste Windows soit depuis la machine Linux - Tester les ouvertures de session et constater le bon fonctionnement du script de connexion - Vérifier les connexions avec ''smbstatus'' === Gestion des mappages de groupes et des droits administrateurs === - Dans la configuration actuelle, aucun utilisateur Samba ne dispose de droits d'administration : il faut impérativement en disposer si l'on veut effectuer des tâches d'administration normale. - Créer un groupe **smbadmin** avec la commande ''groupadd'' - mettre l'utilisateur **dupont** (ou un autre) dans le groupe **smbadmin** (commande ''gpasswd''). Verifier avec la commande ''groups dupont''. - il est maintenant nécessaire de //mapper// les groupes Unix et les groupes Samba pour que les membres du groupe **smbadmin** appartiennent au groupe **Domain Admins** - on peut d'abord vérifier les mappages avec : ''net groupmap list'' - on peut créer les mappage avec : ''net groupmap add ntgroup="Domain Admins" unixgroup=smbadmin type=domain rid=512'' - vérifier que le compte **dupont** dispose bien des droits administrateurs - remarque : 512 est le **RID** caractéristique du groupe systeme "Domain Admins" ==== Intégration avec DHCP ==== - Relancer votre serveur DHCP - modifier son paramétrage pour qu'il affecte automatiquement au client l'adresse du serveur Wins - tester avec un client