Avant-propos

 

Objectif de ce rapport ?

Ce rapport ne prétend pas être une documentation complète sur tous les aspects du serveur Samba, néanmoins, des informations utiles et nécessaires ont pu être collecté avec plus ou moins de précision pour facilité la compréhension du mécanisme de samba.

 

Contenu de ce rapport 

Ce rapport contient des explications préalables des protocoles Windows sur lesquels Samba s’appuie, les modèles de réseau Windows, les composants essentiels d’un serveur Samba et les différentes possibilités de configuration.

 

Documents et sources

Samba, l’intro, par Gerald Carter et Richard Sharpe

Les sites Web : http://fr.samba.org/samba/samba.html

                    http://samba.linuxbe.org/ 

                    http://www.ac-creteil.fr/reseaux/systemes/linux/samba-linux.html

 

D’autres livres à procurer pour approfondir les concepts de Samba, comme Samba – installation et mise en œuvre des éditions O’REILLY et le petit mémento Samba, précis et concis qui mérite de devenir votre livre de chevet.

Pour les anglophones, feuilletez plutôt le livre : The official SAMBA – 3 Howto and Reference Guide.

                                       

 

Divers

Une connaissance approfondie de linux n’est pas indispensable, néanmoins, la lecture du livre : LINUX, entraînez vous à administrer le système,

 

 

 

 

Tables des matières

 

I.      Introduction_ 4

II.        Qu’est ce que Samba ?_ 5

III.       Intérêt d’utilisation de Samba_ 6

IV.       Rappels des principaux concepts de réseaux Microsoft 7

1.     Les ressources réseaux et les noms de partage_ 7

2.     Le groupe de travail 7

3.     Les domaines 8

4.     PDC et BDC_ 8

5.     SID et RID_ 8

6.     Les protocoles Windows 8

V.    Quelques commandes utiles 10

VI.       Les possibilités de Samba_ 14

1.     Smbd, nmbd et smb.conf 14

2.     Le fichier smb.conf 15

3.     Variables du fichier de configuration_ 16

VII.     Mise en œuvre de Samba_ 18

VIII.        Mode d’accès de Samba_ 18

IX.       Configuration de samba et description des sections 19

X.    Configuration de Samba en serveur membre 23

1.     Niveau security, user ou domain ?_ 23

2.     Paramètres et description_ 24

3.     Exemple de configuration de serveur membre_ 25

4.     Le cas de trust relationship_ 26


 

 

 

XI.       Samba contrôleur de domaine 27

1.     TP1_ 27

2.     Configuration du serveur Samba 30

3.     Définition des utilisateurs sur le Serveur 35

a.      Création des comptes : 35

b.      Création des répertoires de logons et partage: 35

c.      Affectation des mots de passe Samba des utilisateurs : 36

4.     Configuration des clients W9X : 36

5.     Configuration des clients W2000 pro_ 41

6.     Gestion de stratégies utilisateurs sous Samba avec W2000 Pro_ 43

a.      Installation de Poledit 43

b.      Configuration des stratégies 43

XII.     Imprimantes sous samba_ 47

XIII.        Administration de Samba par Webmin et Swat 52

1.     Webmin_ 52

2.     swat 53

XIV.    Samba 3, les nouveautés 55

XV.      Samba est –il le meilleur ?_ 57

XVI.    Avant de conclure, comparaison Linux Windows 59

XVII.       Conclusion_ 62

XVIII.     Remerciements 62

 

 

 

 

 

 


 

I.      Introduction

 

 

Bienvenue dans le monde de samba 

 

Dans les différents chapitres de ce rapport, je vais essayer d’aborder cet outil dont on parle beaucoup et qui permet d’intégrer serveurs UNIX et clients Windows.

Tout le long de ce rapport, je vais vous faire découvrir le vocabulaire associés aux réseaux Microsoft, les composants essentiels d’un serveur samba, l’installation et la mise en œuvre de différentes configuration de serveur samba.

 

Je suppose que le lecteur possède un minimum de connaissance sur les principes du réseau :

 

Ø      L’échange de données entre machine cliente et serveur

Ø      Les serveurs, contrôleur de domaine, membre d’un domaine et autonome

Ø      Le profils utilisateurs, comptes et droit d’accès

Ø      Les partages de fichiers et d’imprimantes

 

Les raisons qui peuvent nous pousser à s’initier à Samba :

 

Ø      Samba permet le partage de fichiers et d’imprimantes entre ses serveurs Unix et des clients Windows.

Ø      Samba peut jouer le rôle d’un serveur d’authentification des ouvertures de session demandées par des clients Windows 95 osr2, 98, NT Workstation, XP, ou 2000 pro

Ø      Samba est stable et GRATUIT

Ø      Les entreprises sont de plus en plus demandeurs de ce type de produit

 

Comment aborder Samba pour un néophyte ?

 

Ø      Se procurer une distribution de Linux contenant la suite logicielle samba

Ø      L’installer avec les paquetages de serveur SMB et de client SMB

Ø      Se servir des outils graphiques tel que Webmin ou SWAT

Ø      Connaître le fonctionnement de quelques commandes utiles à l’aide du manuel d’aide (man) ou –help

Ø      Ne pas hésiter à mettre les mains le cambouis, et taper des lignes de commande 


 

 

II.      Qu’est ce que Samba ?

 

Non, ce n’est pas une danse brésilienne à deux temps, mais un projet OSS (open source Software), commencé en 1991 par Andrew Tridgell, de l’université d’Australie, à Canberra. L’une des questions les courantes est « pourquoi ce nom, samba ? ».

 

 La réponse est simple. Baptisé SMBserver pour sa première version, le logiciel pour des raisons juridiques, devait changer de nom. Alors qu’il cherchait les lettres s, m et b sur le répertoire /usr/dict/words (dictionnaire), Andrew T obtient le mot « Samba », un nouveau nom était trouvé !

 

Samba est disponible en téléchargement sur le site principal de distribution, en Australie. Vous avez le choix entre les fichiers sources, qu’il faut compiler, et les binaires pré compilés, destinés à certaines plates-formes. Il existe une multitude de site miroirs disponibles dans la page principale du site Samba, à l’adresse http://samba.org .

 

La plupart des projets en Open sources obéissent aux règles de la licence GNU GPL de la Free Software Foundation l’objectif étant de faciliter la distribution et la mise à jour des logiciels libres. Libre ne veut pas dire gratuit nécessairement. La licence est conçue pour assurer la distribution des copies de programmes gratuitement, ou non, de recevoir le code source ou de pouvoir l’obtenir.

 

Tout cela est un autre débat. Ce qu’il faut retenir, est que samba est gratuit et que son utilisation est facilitée par sa mise à disposition sur des différentes plates-formes.

 

 

Samba

 

III.      Intérêt d’utilisation de Samba

 

 

De nos jours, la plupart des réseaux comprennent des serveurs de type PC, et même un parc informatique composé exclusivement de PC. Il est évident que quand on dispose d’environnement Microsoft au départ, on a tendance à le voir se propager dans le réseau à fur et à mesure que celui-ci évolue en réclament  d’avantages de services. Cela peut s’avérer très coûteux au regard des prix des serveurs Windows NT.

 

Samba, combiné à un système d’explication gratuit tel que Linux, permet de tirer parti des performances matérielles du réseau tout en fournissant des outils et des services stables aux clients PC.

 

Samba est capable de se substituer à un serveur Windows NT. Il peut jouer le rôle de serveur de fichiers et d’imprimantes pour des ordinateurs Windows.

 

Il faut savoir que Linux en matière de partage de fichiers, s’est longtemps appuyé sur le serveur NFS qui permet à un réseau de machines Unix de partager les fichiers d’une machine Linux

Les systèmes d’exploitation Windows emploient SMB (Sever Message Block) comme protocole dans les opérations client serveurs pour les partages de fichiers et d’imprimantes. SMB est également appelé CIFS.

Les applications Samba utilisent donc ce même protocole pour communiquer avec des clients Windows et même des machines Macintosh.

 

La capacité de Samba à offrir tant de possibilité de communications entre des postes Windows et des serveurs Linux, fait de lui une attraction tant convoitée par tout administrateur de réseau averti.

 

La suite Samba incorpore également des outils clients qui permettent aux utilisateurs d’un système Unix d’accéder à des dossiers et des imprimantes mis à disposition par des systèmes Windows en réseau et de serveurs samba

Aujourd’hui, il est difficile de se passer de samba sur des réseaux hybrides, tous les administrateurs le savent bien.

 

 

 

 


 

 

IV.      Rappels des principaux concepts de réseaux Microsoft

 

1. Les ressources réseaux et les noms de partage

 

Un serveur SMB offre des ressources disques et imprimantes.

Un client peut se connecter à une de ces ressources en utilisant un UNC* : \\serveur\nom_de_partage

 

Redirector

 
                                                   

         PC Windows                                                Serveur Smb

 

Le serveur qui abrite le fichier demandé par le client reçoit la requête et la traite

 

 

Redirector est un module dans Windows qui fait office de client Samba. C’est un composant de l’OS

 
 

 

 

 

 

 

 

 


Une connexion SMB se fait en 3 étapes :

 

ü      Négociation du niveau de protocole

ü      Etablissement d’une connexion de session

ü      Etablissement d’une connexion de partage

 

2. Le groupe de travail

 

Le concept de groupe de travail est indissociable de celui de réseau d’égal à égal.

L’intérêt est que les ordinateurs qui le composent apparaissent directement dans le voisinage réseau à l’instar de nos groupes de travail dans l’hébergement à 2ISA. Il est facile dans ce cas pour un utilisateur d’accéder aux ressources de ces ordinateurs. Chaque ordinateur valide les demandes de connexion client à ses propres ressources partagées.


 

 

3. Les domaines

 

Un domaine NT est une extension de la notion de groupe de travail. Sa différence, qui est de taille, est que l’authentification est confiée à un serveur central qui gère les comptes utilisateurs et les comptes des groupes de domaine. Cela se traduit par la présence d’un contrôleur de domaine. Une particularité importante, est que le PDC* utilise des protocoles distincts dans la communication avec les ordinateurs W9x ou NT/W2k

 

* PDC : Primary domain Controler, appellation utilisée dans Windows NT

* UNC : Universal Naming Context

 

4.  PDC et BDC

 

Un PDC est un serveur sur lequel on crée les comptes utilisateurs et les mots de passe associés. Ils sont stockés dans la base SAM pour ce qui concerne NT4 et ADS* concernant Windows 200x. Le BDC* est une réplication de la base SAM du serveur primaire.

 

5. SID et RID

 

Les comptes Windows sont authentifiés par un RID*, commençant à 1000. Ces mêmes RID peuvent être posséder par différents utilisateurs dés qu’ils appartiennent à des machines ou à des domaines différents.

En revanche, chaque domaine, chaque machine et chaque compte utilisateur ou groupe possède un identificateur unique, le SID*.

Le SID d’un utilisateur est simplement son RID associé au SID de la machine locale ou du domaine.

 

6. Les protocoles Windows

 

 

 

SMB : Samba s’appuie sur le protocole SMB de Microsoft pour accéder aux ressources. Ce protocole a évolué en CIFS* et utilisé par Windows 2000.

 

SMB utilise le protocole Netbios pour gérer les noms de ressources et échanger des données. Il peut se reposer sur d’autres protocoles de transport tels que NetBEUI ou IPX/SPX de Novell. CIFS n’est pas obligé d’utiliser Netbios.

L’authentification dans Windows 2000 repose sur le service Active Directory, compatible LDAP.

 

NBNS : Le protocole NBNS (Netbios Name Server) sert à résoudre des noms via un serveur de nom tel que le Wins. Le serveur samba utilisé comme Wins enregistre les noms Netbios. Quand un poste s’adresse à lui, il associe le nom à une adresse IP. C’est en quelque sorte, un DNS local.   

 

Explorateur : Le protocole Explorateur ou Browser, repose sur SMB et donne la liste de s serveurs disponibles et leurs ressources. Cette liste, distribué au postes clients est visible via l’outil « voisinage réseau » ou via la commande net view.

Il ne peut exister qu’un seul serveur explorateur par groupe de travail ou par domaine.

 

NetLogon : Le protocole NetLogon permet l’authentification d’un utilisateur comme membre d’un domaine NT. Jamais divulgué par Microsoft, l’équipe de Samba la reconstitué en analysant les trames échangés par client-serveur.

 

Netbios : c’est un protocole de transport ou les ressources sont identifiées par des noms.

 

 

 

* RID : Relative Identification

* SID : Security IDentification

* BDC : Backup Domain Control

* ADS : Active Directory Service

 

 


 

 

V.       Quelques commandes utiles

 

 

-Tester la connectivité du serveur samba :

C:\>ping 172.16.32.215 è adresse du serveur samba

 

 

 

 

-visualiser les connexions réseaux :

C:\>netstat

 

 


 

 

-visualiser sa configuration (nom d’hôte, nom d’utilisateur connecté, groupe de travail, version) :

        

C:\>netconfig workstation

 

 

 

- lister les noms Netbios Locaux

C:\>nbtstat   -n   

 

Essayer aussi la commande avec les options –a [nom_hôte], -c (les noms dans le cache), -R (purger le cache), -r (lister les noms résolus par Wins)

 

D’autres commandes tels que :

-         net view : lister les serveurs du groupe de travail ou du domaine

-         net use : ex (net use U : \\sambaserver\public):connexion à un lecteur réseau. Le message doit être : la commande s’est terminé correctement.


 

 

A Voir aussi  net user [nom_user]/domain, net group [nom_group]/domain.

C:\>net user mohamed4  /DOMAIN

 

 

Sur une machine Linux, taper la commande nmblookup pour rechercher des noms Netbios.

 

Ex : # nmblookup m3242 (ici mon poste client).

 

 


 

Une commande qui peut s’avérer utile est celle qui permet de connaître le serveur Maître explorateur, ici c’est notre serveur 172.16.32.215 :

 

# nmblookup –M –w workgroup pdc è ici pdc est le nom de domaine

 

 

La commande smbclient qui est un client smb permet de lister les ressources d’un serveur et d’obtenir des informations sur les partages samba, et sur la présence de différents serveurs et machines sur tout le réseau 172.16.

 

# smbclient –L //sambaserver

 

 


 

 

VI.      Les possibilités de Samba

 

Dans tous les cas de figure, samba est un serveur SMB qui offre en partage des ressources disques et imprimantes à tous les clients windows. Il ne peut authentifier un utilisateur sur un domaine s’il n’est pas contrôleur de domaine.

C’est depuis la sortie fin 2003 de la version 3 que samba peut prétendre jouer « pleinement » le rôle que joue un serveur contrôleur de domaine Windows 2000. Il lui fallait adapter la structure hiérarchique d’Active directory.

 

Un serveur samba ne peut jouer le rôle d’un contrôleur secondaire (BDC), ni le rôle d’un serveur Wins secondaire, ni le rôle d’un explorateur secondaire.

 

1. Smbd, nmbd et smb.conf

 

Pour fonctionner, Samba s’appuie sur trois composants essentiels :

 

Ø      smbd : ce démon fournit les services de partage de fichiers et d’imprimantes SMB

 

Ø      nmbd : c’est le démon qui fournit les services Netbios, explorateur et Wins. Ces 2 démons doivent être lancés au démarrage du serveur et arrêter puis redémarrer en cas de certaines modifications dans le fichier de configuration smb.conf

 

Ø      smb.conf : il configure les 2 démons. Samba utilise ce fichier unique pour la configuration du serveur. Il sera l’objet d’une attention très particulière car de lui dépendra la bonne marche du serveur. Son emplacement dépend de la distribution de linux. En général et pour notre cas, c’est dans le répertoire  /etc/samba

 

 

Sous linux, tout est basé sur base de fichier. Smb.conf n’échappe pas à cette  règle. C’est un fichier texte que nous pouvons éditer avec un éditeur de type vi par exemple. Pour ceux qui connaissent les anciennes versions de Windows, il ressemble au fichier Win.ini !

 

Pour que les demons samba soient lancés automatiquement au démarrage, exécutez l’utilitaire netsysv. Cochez la case correspondante à smb.

 

 

 

 

 

Pour lancer les 2 démons

 

 

2. Le fichier smb.conf

 

La configuration de Samba la plus simple se limite à définir un paramètre dans le fichier smb.conf. Il a pour vocation de déterminer l'information dont la valeur par défaut est difficile à prévoir – le nom de groupe de travail ou de domaine (bientôt). Si ce paramètre n'est pas défini, le serveur Samba adoptera par défaut le nom WORKGROUP. Le nom par défaut de Net bios du serveur sera le même que le résultat de la commande hostname. Puisque la convention générale oblige, par analogie aux systèmes Windows, de définir les deux noms,

 

Smb.conf est le principal outil dans Samba. Il permet de configurer le serveur. Apres l’installation de Samba, vous pouvez le visualiser ce fichier texte avec vi pour remarquer qu’il existe déjà et qu’il comporte plusieurs lignes. smb.conf compte déjà plus de 300 positions, heureusement la plupart d'entre elles prennent des valeurs par défaut grâce à quoi le minimum est facile à atteindre. Samba propose un fichier smb.conf à l’installation, contenant une mini configuration. Ne vous affolez pas, toutes les lignes précédées par # sont des commentaires. Celle précédées par ‘ ;’ sont des variables non activées. Le fichier comporte aussi des sections. Chaque section est identifiée par un nom entre crochets, exemple [homes].


 

 

 

[global]

cette première section  décrit les paramètres généraux du serveur. Ces paramètres sont écrits sous forme de lignes indépendantes : nom = valeur

c’est là qu’on définira la nature du serveur

[homes]

Défini le partage propre à chaque utilisateur (à partir de /etc/smbpasswd), si ce dernier est préalablement défini, son nom sera automatiquement rattaché à son répertoire personnel.

[nom_partage]

C’est le nom que portera votre répertoire partagé dont vous avez défini le chemin et les droits d’accès.

[printers]

Définition des imprimantes partagées sur le serveur Samba à partir de /etc/printcap

[netlogon]

C’est obligatoire de définir ce partage dans le cas d’un CPD pour que Samba envoi des logons sur le clients Windows

 

 

 

 

Nous pouvons, bien entendu rajouter autant de sections que nous voulons de partage.

 

Nous pouvons s’interroger sur la manière de configurer Samba pour qu’il se comporte comme tel ou tel serveur : serveur membre d’un domaine, serveur autonome ou serveur contrôleur de domaine ?

En effet, les paramètres définis dans le fichier smb.conf feront de samba le serveur qu’on aimerait avoir.

 

3. Variables du fichier de configuration

 

Ce tableau liste les variables du fichier de configuration de samba, repérez cette page, elle sera utile pour aider à déchiffrer certaines lignes dans le fichier smb.conf.

 

Voir tableau ci-dessous.


 

 

 

Nom

 

Signification

 

%D

Domaine Windows de l’utilisateur.

%G

Nom du groupe principal de %U (nom d’utilisateur demandé).

%g

Nom du groupe principal de %U (nom utilisateur courant)

%H

Répertoire personnel de %u (utilisateur courant)

%h

Nom d’ôte (Internet du serveur Samba)

%I

Adresse IP du client

%J

N° du travail d’impression

%L

Nom NetBios du serveur Samba

%M

Nom d’ôte (Internet) du client

%m

Nom NetBios client

%n

Nouveau mot de passe (seulement pour les changements de mots de passe

%o

Ancien mot de passe (seulement pour les changements de mots de passe

%P

Répertoire racine du partage courant (réel)

%p

Nom de l’imprimante (uniquement pour l’impression)

%S

Nom du partage courant

%s

Nom du fichier mis dans la liste d’attente de l’imprimante

%T

Date et heures courantes

%U

Nom de l’utilisateur demandé pour le partage courant

%u

Nom de l’utilisateur du partage courant

%$(nom)

Valeur de la variable d’environnement nom

%v

Version de Samba

 

Tableau : variables


 

 

VII.      Mise en œuvre de Samba

 

Nous allons configurer un serveur Samba. Pour cela je me suis procurer une distribution Fedora Core 1 basé sur la RedHat Kernel 2.4.22 qui utilise samba 3. Je vous passe l’installation, car elle ne constitue aucune spécification particulière. D’autres documents vous parleront davantage de cette phase. Pour mener à bien votre installation, suivez les indications en mode graphique.

Samba est installé sur votre PC menu d’un processeur i386. Pour rendre accessible votre serveur, il faudrait s’assurer que les 2 démons soient lancés. Sur une console, taper :

 

# /etc/init.d/smb status

Pour être sure que les démons tournent, faites :

# /etc/init.d/ smb start

 

Il se peut que sous d’autres distributions (Mandrake, Debian, Suse..), le chemin à emprunter pour lancer les démons soit /etc/rc.d/init.d

 

VIII.      Mode d’accès de Samba

 

Il existe 4 modes disponibles : security =share |user |server | domain.

Les versions de Samba antérieures à 2.0.0 utilisaient le mode de sécurité share par défaut. Depuis la première version 2.0.0, le mode par défaut est devenu user.

 

 

Ø      Share : simple à réaliser, il permet le partage sans conditions de mot de passe. Son utilité reste limitée mais idéal pour le partage de documents accessible au plus grand nombre.

 

Ø      User : le système accepte un login et un mot de passe lors de la demande d’ouverture de session émanant d’un client Windows.

 

Ø      Server : ce mode est une variante du mode user. Samba informe le client que le mode utilisateur est détecté et envoie une demande d’ouverture de session au serveur désigné par la valeur user. Celui-ci accepte ou refuse la demande du client. On rajoutera une ligne dans smb.conf : password server = s3200 par exemple

 

Ø      Domain : équivalent au mode server à quelques choses prés. Un serveur membre fonctionnera avec ce mode.


 

Remarques : À partir de Windows 95 osr2 et de Windows NT4 service Pack3, les mots de passe sont chiffrés. Il est donc indispensable de le dire à samba pour qu’il en tienne compte, sinon un message d’erreur apparaîtra. La solution consiste à inscrire le paramètre suivant dans smb.conf si ce n’est encore fait :

encrypt passwords = yes

 

Samba ouvre les ports 137, 138 et 139 pour ses clients. Cela peut s’avérer dangereux si on ne bloque pas ces ports en entrée sur le firewall qui filtre le trafic rentrant de l’extérieur du réseau. Cette opération est indispensable si on veut protéger les utilisateurs du domaine.

 


 

nfgine.conf smb.  allons editer le fichier smb.conf.ic rentrant de l'lus grand nombre.

oits d'omatiquement rattaché à un reperNous allons configurer un serveur samba en mode user, et pour cela nous allons éditer le fichier smb.conf et le renommer par mesure de précaution :

 

# cd /etc/samba

# mv smb.conf smb_origine.conf

 

IX.      Configuration de samba et description des sections

 

On traitera chaque section à part pour mieux comprendre le contenu de chacune. On notera que le fichier smb.conf sera réassembler à la fin pour prendre sa forme finale.

Commençons par la section [global] :

 

[global]

Définition des paramètres généraux.

Netbios name = sambaserver

Nom Netbios du poste qui partage les fichiers.

Workgroup = mtgroup

Nom du groupe de travail et du domaine.

Security = user

Mode utilisateur. A la connexion, ce dernier sera identifié grâce au couple (utilisateur, mot de passe).

Os level = 33

Définition du niveau des élections dans l’exploration du réseau.

32 : serveur NT, 16 : client NT et 1 : poste Windows9x.

avec 33, on est sur que notre serveur est maître explorateur.

Encrypt passwords = yes

Utilisation de mots de passe cryptés : indispensable, attention au s de passwords.

Smb passwd file = /etc/smbpasswd

C’est ou se trouve le fichier contenant les mots de passe Samba des utilisateurs. A ne pas confondre avec ceux de linux.

Guest account = invite

Indique que l’on crée un utilisateur invite sans mot de passe, ou pour être exact, mot de passe nul. Voir plus loin !

 

Les sections [homes], [printers], [partage] et [public] :

 

[homes]

Partage par défaut de samba, en fait le système rattache le nom de l’utilisateur à son répertoire sur le serveur Linux.

Si je connecte avec le nom Mohamed qui existe déjà sur le serveur, j’aurai un répertoire qui portera ce nom.

Comment = répertoire personnel

Commentaire qui s’affiche si on demande l’affichage « détail » dans Windows.

Path = %H

Rattache le chemin du répertoire Linux au nom du partage qui est affiché sur le poste Windows.

Writeable = yes

On indique que le partage [homes] est en écriture.

Valid users = %S

Cela indique la liste des utilisateurs autorisés au partage. Le service actuel est le seul à accéder à ce partage.

Browseable = no

Ce partage ne sera explorable pas dans le voisinage réseau.

[printers]

Définition du nom de partage. Permet d’avoir une icône d’imprimante au lieu d’un répertoire.

Comment = imprimante server

Commentaire.

Printable = yes

Autorise l’impression.

Writeable = yes

Ce partage est accessible en lecture seule.

[partage]

Désignation d’un nouveau partage nommé « partage ».

Path = /home/partage

Chemin d’accès à ce partage.

Writeable = yes

On autorise l’écriture sur ce partage.

Valid users = @users

Groupe valide pour ce partage : users

@ signifie groupe, seul les utilisateurs appartenant à ce groupe peuvent accéder à ce partage.

Locking = yes

Lorsqu’un utilisateur utilise un des fichiers de ce répertoire, personne n’a le droit d’y écrire, juste lire

Create mode = 0600

Equivo à chmod 660 ou rw-rw---- pour fichiers

Directory mode = 0770

Pour la création des  répertoires : rwxrwx---

[public]

Nom du partage

Path = /usr/doc

Chemin du partage

Guest ok = yes

Ce partage est autorisé au compte crée invité.

writeable = no

Comme ce répertoire est accessible à n’importe qui, on ne l’autorise pas en écriture.

 

 

Voici le smb.conf réassemblé :

 

 

Maintenant que nous avons écrit notre premier fichier de configuration, vérifiant que nous n’avons pas commis des erreurs de syntaxe ou de fautes de frappe, et que les variables déclarés sont bien définis.

Allez en mode console, et tapez :

 

# testparm

 


 

 

 

 

Création des mots de passe utilisateurs du serveur samba

 

Pour créer des utilisateurs samba :

 

# adduser mohamed –g users  è(cet utilisateur appartiendra au groupe users)

# smbpasswd –a mohamed  è(inscrire « mohamed » comme utilisateur Samba)

 

Ne pas oublier de changer les droits sur les différents répertoires de partage :

 

# chmod –R 770 mohamed

# chmod –R 770 partage

# chmod –R 770 public

 

Dans le voisinage réseau du poste, nous devons voir cette fenêtre :

 

 


 

 

X.      Configuration de Samba en serveur membre

 

Nous allons nous servir de l’existant, càd le domaine de la salle 32. Nous décidons de configurer notre serveur Samba pour qu'il fasse partie du domaine contrôlé par le serveur Windows2000 S3200. Alors pour authentifier un utilisateur qui se connectera à lui, le serveur Samba demandera au Contrôleur de Domaine de vérifier pour lui le nom de l'utilisateur et du mot de passe reçu.

 

1. Niveau security, user ou domain ?

 

Il y a deux valeurs pour le paramètre security qui peuvent être utilisées pour que Samba utilise un autre PDC en tant que serveur d'authentification : security = server ou security = domain.

 

Pour le choix du mode de security = server, le serveur Samba qui reçoit un nom d'utilisateur et un mot de passe d'un client, utilisera ces deux valeurs pour effectuer une connexion vers le serveur d'authentification renseigné dans son fichier de configuration. Si la connexion est acceptée, alors Samba lui-même autorisera la connexion venant du client et allant vers lui.

 

 Cette méthode d'authentification a le désavantage de consommer une licence sur le serveur. De plus, la connexion entre Samba et le serveur d'authentification restera ouverte aussi longtemps que le client sera connecté à Samba.

Pour le choix du mode de security = domain, (recommandée) Samba sera réellement un membre de domaine et participera au domaine comme tout autre machine NT peut le faire.

 Quand le serveur Samba aura besoin de valider un utilisateur et un mot de passe, il se connectera au PDC (le serveur d'authentification) pour lui passer l'authentification exactement de la même manière qu'une machine NT est capable de le faire. Cela signifie qu'aucune connexion ne doit rester ouverte plus longtemps que le temps nécessaire à la validation du nom de l'utilisateur et de son mot de passe. En plus, ça permet de faire des économies de ressources (licences, ...) sur le serveur faisant l'authentification


 

2. Paramètres et description

Une configuration de base d'un serveur Samba, membre d'un domaine NT ou W2000 est faite avec au moins les cinq paramètres suivants dans smb.conf, section [global] :

 

 

Paramètres

Description

Netbios name = sambaserver

Nom de la machine serveur samba

workgroup = d32

Le domaine vers lequel Samba se joint et s’authentifie

Security = domain

dire à Samba de s’adresser au contrôleur pour s’authentifier

Password server = S3200

Spécifier le serveur qui va authentifier la connexion par son nom Netbios. On peut mettre uniquement ‘ « * » et samba trouvera tout seul le serveur par une diffusion broadcast.

Encrypt passwords = yes

S’assurer que samba utilise le cryptage des mots de passe.

 

Pour joindre le serveur Samba au domaine comme serveur membre, utilisez cette commande :

Net join -j <domaine> -r <contrôleur> -U <administrateur >.

 Vous devez alors introduire le mot de passe de l'administrateur et le compte machine est alors automatiquement créé sur le contrôleur de domaine. (Samba doit toujours être stoppé pour effectuer cette manipulation). A remplacer domaine par d32 et contrôleur par s3200.

Notez aussi que net join est dans la version 3 de samba et qu’elle a remplacé smbpassword

Une fois que ces étapes ont été suivies, votre serveur Samba est prêt à opérer. Vous devez juste créer vos partages.


 

3. Exemple de configuration de serveur membre

 

Exemple à compléter selon vos besoins.

 

[global]

 

Netbios name = sambaserver

workgroup = d32

Security = domain

Password server = S3200

Encrypt passwords = yes

# Le serveur wins sera celui du réseau 2isa

Wins server = 172.16.8.172

 Os level = 33 

[homes]

 

comment = repértoire perso

browseable = no

read only = no

[partage]

 

#un répertoire partagé accessible par tous les utilisateurs du domaine

# On choisira par exemple le répertoire /home/pourtous

# pourtous doit exister au préalable

path = /home/pourtous

create mask = 0755

read only = no

browseable = yes

 

Vous pouvez rajouter des partages de CDROM ou d’imprimantes …etc.


 

4. Le cas de trust relationship

 

allow trusted domains = yes|no

 

Cette ligne que nous pouvons ajouter dans la section [global] peut ou pas autoriser des utilisateurs d’un autre domaine à accéder aux ressources du serveur samba

 

 

 

 

 

 

Ce schéma décrit ce qui se passe lorsque un utilisateur (user1) définit dans le domaine domain1 essaye d'accéder à un partage Y du serveur Samba, localisé dans le domaine domain2. Domain2 faisant confiance à domain1. 

L'étape (6) est uniquement réalisée si le paramètre allow trusted domains est mis sur yes.

Bien sûr, les étapes (5), (6) et (7) dépendent du résultat de l'étape (4), le résultat de la validation de user1 et son mot de passe par le contrôleur où il est définit.


                              

 

XI.      Samba contrôleur de domaine

 

Le contrôleur de domaine dont la tâche principale consiste à effectuer l'authentification des utilisateurs du domaine est également responsable de beaucoup autres opérations. En premier lieu, il doit collecter les informations sur les ordinateurs démarrés et arrêtés dans le domaine et, en second lieu, il est chargé de stocker les paramètres de tous les utilisateurs. Pour que la première tâche puisse être réalisée sans perturbations, le PDC doit remplir, en même temps, la fonction d'Explorateur Maître de Domaine (en anglais Domain Master Browser), en étant serveur WINS. Tout cela sert à créer sur le PDC un service dont l'objectif est de transformer les noms NetBIOS en adresses IP selon les mêmes principes que ceux utilisés par le serveur DNS avec les noms de domaines internet. Pour cela, il faut que les nouveaux paramètres soient rajoutés au fichier smb.conf.

 

 

1. TP1

Dans ce TP, nous allons créer  un contrôleur de domaine qui va permettre de centraliser le fonctionnement des clients Windows qui vont se connecter sur le serveur.

Vous allez créer un contrôleur qui aura comme Netbios name : Sambaserver  et comme groupe de travail : mtdom

Un contrôleur de domaine permet essentiellement de faire ça :

En fait ces volumes sont accessibles par le serveur à l’aide du voisinage réseau :

 

 


C’est à dire qu’un client doit d’abord s’identifier, un peu comme sous Linux, et si ce client n’est pas reconnu, il a droit à un message du style :

 

 

 

Si le client est correctement identifié, il va pouvoir accéder à l’environnement Windows classique.

Mais chose qui est très pratique (que c’est bien un contrôleur de domaine), on peut créer ce que l’on appelle des scripts de logon.

Ca sert à quoi ? Et bien tout simplement à exécuter des scripts qui vont automatiser un certain nombre de tâches. Dans notre exemple, l’utilisateur jean.dupond trouvera dans son poste de travail les icônes suivantes :

 


 

Si vous avez bien observé la fenêtre, vous pouvez constater qu’il y a 2 icônes représentant des volumes que l’on appelle volumes réseaux (ils s’appellent G : , H :)

 

 

Grâce aux scripts de logon, on a automatisé l’apparition des répertoires jdupond (homes) et public, dans le poste de travail.

Le volume réseau H : est en fait le répertoire personnel de l’utilisateur jean.dupond (nous verrons où il se trouve sur le serveur SAMBA), tandis que le volume G : est dit à accès public,

C’est à dire que tous les utilisateurs ont le droit d’y accéder, mais aucun ne peut y écrire.

 

A quoi servent les stratégies, le meilleur exemple est le suivant :

On veut créer un compte invite, l’utilisateur dit « invité » ne pourra avoir accès qu’au répertoire public. De plus pour éviter tout problème de sécurité, on ne veut pas qu’il puisse modifier son mot de passe (normal c’est un compte d’invitation).

 

Quand invite se branchera sur le serveur, il aura donc dans son poste de travail :

 


 

Et par contre quand il décidera de vouloir changer son mot de passe :

 

 

 

2. Configuration du serveur Samba

 

Cette fois-ci, nous sommes sur le Serveur Linux. Dans un premier temps nous allons écrire le fichier smb.conf de manière à créer un contrôleur de domaine.

 

[global]

 

définition des paramètres globaux du serveur

netbios name = serversamba

Nom Netbios du serveur Samba, il s’appelle ici Serveur1, c’est par rapport à ce nom

 

workgroup = mtgroup

On définit le Groupe de travail du serveur, ici c’est mtgroup

Server string = Serv Samba %v

On précise le commentaire que sera affiché dans le voisinage réseau au niveau. serveur. Remarquez le terme %v qui est une variable de samba, indiquant sa version

Actuelle (3.0.15)

guest account = invite

 

On définit un utilisateur ayant des privilèges d’invité, cet utilisateur s’appelle invite. C’est le seul utilisateur qui a un mot de passe nul.

 

log file = /var/log/samba/log.%U

 Commande importante, elle permet de créer des fichiers qui sont la trace écrite de

toutes les commandes qui ont pu être exécutées entre le serveur et le poste client.

Remarquez la notation /var/log/samba/log.%U qui indique que les fichiers seront

créés dans le répertoire /var/log/samba du serveur Linux, sous un nom qui sera

log.nom_du_client_connecté

 

username map = /etc/smbusers

Sous Linux le nom des utilisateurs est limité à 15 caractères. Heureusement à l’aide de

Samba, on peut créer une liste d’utilisateurs Windows qui correspondent à des

utilisateurs Linux.

Ce fichier est /etc/smbusers et il est de la forme suivante

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

jdupond = jean.dupond

security = user

Le mode de partage est toujours le même, c’est le partage nommé [netlogon] qui va

faire la différence

encrypt passwords = yes

Commande qui précise que les mots de passe des utilisateurs sont enregistrés de

manière cryptée, afin de sécuriser au mieux le serveur (on limite les trous de sécurité).

smb passwd file = /etc/smbpasswd

Paramètre très pratique, permet de synchroniser les mots de passe Samba et les mots

de passe Linux. Attention un utilisateur Linux qui modifie son mot de passe Linux, ne modifie pas automatiquement le mot de passe dans le fichier smbpasswd.

La synchronisation n’a lieu que lorsque l’utilisateur modifie son mot de passe dans

l’environnement Windows.

unix password sync = yes

Par défaut Windows 98 transmet les mots de passe sous forme cryptée. Si vous mettez

cette option à no, les clients ne pourront pas se connecter au serveur.

 

passwd program = /usr/bin/passwd %u

 

On indique où se trouve le programme de changement des mots de passe sur le serveur Linux. Cette commande est obligatoire lorsque l’on utilise la synchronisation des mots de passe.

 

 

passwd chat = *New* %n\n *Re* %n\n *pa*

Permet d’indiquer les entrées sorties qui sont testées lors de l’utilisation de la commande passwd entre le serveur Linux et le poste Windows. Cette commande teste si les lignes affichées comportent les mots *New*, avant la fin de la ligne on place le nouveau mot de passe via la variable %n.

On re-confirme le mot de passe en testant la ligne *Re*, avant la fin de la ligne on

place le nouveau mot de passe, et si le changement a bien eu lieu, on teste la dernière ligne affichée à l’aide du mot *pa*

passwd jdupond

Changing password for user jdupond

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully

os level = 33

Ce paramètre indique qui va emporter les élections dans l’exploration du réseau local

32 : Serveur NT

16 : Client NT

1 : Poste W9X

Donc pour que Samba gagne les élections, on affecte ce paramètre à 33.

 

domain master = yes

Permet de faire en sorte que Samba est un explorateur maître de domaine.

local master = yes

Permet à Samba de participer aux élections de l’explorateur de réseau

preferred master = yes

 

Permet de définir Samba comme explorateur maître préféré de son groupe de travail.

domain logons = yes

On autorise les logons sur le domaine

logon script = logon.bat

On indique le nom du fichier dans lequel sera décrit les logons des utilisateurs, ce fichier s’appellera logon.bat, pour l’instant on n’a pas précisé où il se trouve.

path = /home/netlogon/%g

On définit un partage qui s’appelle netlogon c’est obligatoire, car c’est à l’aide de ce

répertoire que les logons vont être envoyés sur le client Windows

 

 

 

 

[netlogon]

 

 

On définit un partage qui s’appelle netlogon c’est obligatoire, car c’est à l’aide de ce

répertoire que les logons vont être envoyés sur le client Windows

 

path = /home/netlogon/%g

 

On indique où se trouve le partage netlogon sur le serveur Linux. Le fichier logon.bat

se trouvera dans les répertoires suivants :

Si c’est un utilisateur qui se connecte au serveur : /home/netlogon/users

Si c’est un invité qui se connecte au serveur : /home/netlogon/invite

La variable %g sera remplacée par le groupe auquel appartient le client Windows qui

se branche sur le serveur Samba (Linux).

Bien évidemment le Client Windows a été défini sur le serveur Linux comme un

utilisateur Linux. Par conséquent il a un nom d’utilisateur Linux et un Groupe.

locking = no

Lorsque cette option est paramétrée à yes, un seul process du serveur peut exécuter

une écriture sur un fichier du partage, on ne peut pas faire d’enregistrement simultané. Ici on peut se permettre de mettre cette option à no, car le partage est en

lecture seule.

writeable = no

 

Le partage est en lecture seule

public = no

 

Ce partage n’est pas public, ce n’est pas un répertoire accessible à n’importe qui

 

browseable = no

Option particulièrement intéressante, puisqu’elle permet de cacher le répertoire, pour être exact ce répertoire n’est pas explorable

[public]

 

Nom du partage

comment = Repertoire Public

Ce qui sera affiché comme commentaire dans la colonne commentaire del’explorateur Windows.

guest ok = yes

 

Le partage [public] doit être accessible à tout le monde.

 

path = /home/partage

 

Il ne faut pas oublier de préciser le chemin du répertoire partage sur le serveur Linux

 

read only = yes

Tant qu’à faire on fait en sorte que ce répertoire soit accessible en lecture seule.

[homes]

 

C’est le partage par défaut de samba, en fait le système à l’aide de la variable homes

rattache le nom de l’utilisateur à son répertoire sur le serveur Linux. Samba utilise en fait le fichier /etc/passwd pout savoir où se trouve le répertoire de chaque utilisateur

déclaré sur le serveur.

Si vous avez créé un utilisateur jdupond sur le serveur Linux, lorsque l’utilisateur

jdupond se connectera sur le poste W98, son répertoire personnel du serveur, qui se

trouve normalement en /home/jdupond sera monté automatiquement.

 

volume = Coucou

 

Permet de donner un nom au volume.

 

invalid users = invite

On interdit l’utilisateur invite d’avoir accès à son répertoire personnel, normal c’est un invité

 

comment = Répertoire de %U

 

Affiche : Répertoire de « l’utilisateur » dans la colonne commentaire.

 

browseable = no

 

De cette manière on fait en sorte que le partage se nommant homes n’apparaisse pas

Dans le voisinage réseau

writeable = yes

Forcément on autorise l’écriture dans le partage homes, étant donné que c’est le répertoire perso du client

 

 


 

3. Définition des utilisateurs sur le Serveur

 

Avant de configurer les postes Windows, il faut d’abord déclarer les utilisateurs du serveur Samba (utilisateurs Linux).

Nous allons utiliser 2 groupes bien distincts. Un groupe users (qui en fait existe déjà sur le serveur Linux) et un groupe invite.

Pourquoi créer 2 groupes, tout simplement parce que la gestion des logons ne sera pas la même suivant que l’on a des utilisateurs ou des invités.

 

a.    Création des comptes :

 

Nous allons créer 2 utilisateurs :

jdupond et fmartin, leurs noms de connexion Windows seront respectivement :

jean.dupond et francois.martin. Ces 2 utilisateurs doivent appartenir au groupe des users. Dans une console, mettez vous en root et tapez :

# adduser jdupond –g users

# adduser fmartin –g users

 

Puis nous rajoutons un utilisateur spécial, un invité qui fera partie du groupe invite,

Attention normalement le groupe Unix invite n’existe pas. Dans ces conditions nous utiliserons uniquement la commande :

adduser invite

Cette commande crée un utilisateur invite qui fait partie du groupe invite.

Pour l’instant il est inutile de fixer un mot de passe pour ces utilisateurs.

 

b.    Création des répertoires de logons et partage:

 

Si vous observez la ligne «path = /home/netlogon/%g »   du fichier de configuration, vous remarquez que le répertoire se trouve dans /home/netlogon

Ce répertoire netlogon n’existe pas sur un poste Linux. Mais ce répertoire en lui-même ne suffit pas, il faut créer à l’intérieur de ce répertoire netlogon deux répertoires qui se nomment users et invite.

N’oubliez pas que nous allons définir des paramètres netlogon qui sont fonctions des groupes d’utilisateurs.

mkdir –p /home/netlogon/users

mkdir –p /home/netlogon/invite

Ces utilisateurs n’ont pas besoin de mots de passe pour l’instant, nous le verrons plus tard pourquoi.

Il ne faut pas oublier le répertoire partage, qui doit être créé.

mkdir /home/partage          è mettez le en chmod 755

Tant qu’à faire placez-y un fichier ou ce que vous voulez.

 

 

c.     Affectation des mots de passe Samba des utilisateurs :

 

Il faut maintenant affecter des mots de passe aux utilisateurs. Attention ce sont des mots de passe Samba, ils sont distincts de ceux du fichier /etc/passwd.

 

Pour affecter des mots de passe Samba aux utilisateurs, utilisez la commande :

smbpasswd jdpupond

 

New SMB password:*****

Retype new SMB password:*****

Password changed for user samab1.

De même pour l’utilisateur fmartin.

Pour l’utilisateur invite, vous lui affecterez le mot de passe nul :

smbpasswd jdpupond

New SMB password:

Retype new SMB password:

Password changed for user samba1.

 

 Ca y est nos utilisateurs existent sur le serveur Samba, il nous faut lancer les démons Samba, à l’aide de la commande : /etc/init.d/./smb start

Normalement le serveur Samba tourne, vous pouvez le vérifier à l’aide de la commande : /etc/init.d/./smb status

 

4. Configuration des clients W9X :

 

Il faut maintenant configurer les postes Windows pour se connecter sur le serveur Samba. En gros c’est du clicorama comme dit Ahmed B.

Dans un premier temps nous allons effectuer une configuration de base, de manière à vérifier si le dialogue entre le serveur et le client est bien établi.

 

Le poste doit avoir une adresse IP dans le même réseau que le serveur samba

Ex : 172.16.32.44  masque 255.255.0.0

 

Il faut maintenant paramétrer les réglages de configuration, d’identification et de contrôle d’accès.

 

Saisissez le champ et vérifiez qu’il s’agit du domaine défini dans Samba : wokgroup = mtdom

 

 

Tant qu’à faire, laissez comme tel

 


 

Mettez le nom que vous voulez

 

Le nom du domaine

 

Ce que vous voulez

 

 

 

Maintenant, vous pouvez redémarrer votre poste Windows 98, vous devez vous retrouver dans un environnement comme celui-ci :

 

Si tout se passe bien, en saisissant le nom d’un utilisateur et son mot de passe correctement (défini préalablement sur Samba ! ex : jdupond), vous accéderez à une session sur votre poste de travail.


 

Pour monter le partage public via un lecteur réseau, ouvrez une fenêtre MS-DOS et tapez la commande : net use w : \\serversamba\public

 

 

 

Dans votre poste de travail, vous allez voir le lecteur W s’ajouter parmis vos lecteurs déjà présents.

 

Le lecteur réseau connecté W, on aurai pu mettre une autre lettre X,Y…..

 

 

Dans le voisinage réseau, accédez au serveur sambaserver et tester les partages en lecture, écriture, modification des fichiers etc.

 


 

Comme vous l’avez remarqué en rédigeant le fichier smb.conf, nous avons abordé la notion de script. On l’a appelé logon.bat. Il sera stocké dans le répertoire des groupes, ex : /home/netlogon/users ou /home/netlogon/tsrit3 etc.

Grâce au partage [netlogon] sur le serveur Samba, le script logon.bat sera envoyé sur le client Windows à l’ouverture de la connexion.

Le but de cette manœuvre est de pouvoir automatiser des taches. Ici notre script lance une connexion à un lecteur réseau W, et affiche le message que nous avons choisi. Voir le schéma ci-dessous.

 

 

Après s’être logué, grâce à : path = /home/netlogon/%g, du fichier smb.conf, samba remplacera %g par le nom du groupe auquel vous appartenez. Ici pour l’utilisateur mtrabelsi è groupe tsrit3.

Samba enverra le script logon.bat qu’il trouvera dans le répertoire /home/netlogon/tsrit3

 


 

5. Configuration des clients W2000 pro

 

Avant de configurer des postes Windows 2000, il faut d’abord déclarer le compte machine. Lorsqu’une machine de type W200 pro doit rejoindre un domaine géré par Samba, il faut que cette machine soit définie dans le fichier /etc/smbpasswd.

 

Or pour que la machine soit définie dans ce fichier, il faut impérativement qu’elle soit d’abord inscrite dans le fichier /etc/passwd.

Donc il faut impérativement connaître le nom de chaque client W2000 pro qui appartiendra au domaine.

Mon poste client se nomme M3242, il faut procéder à la manipulation suivante :

 

# groupadd machines  è m3242 doit appartenir à un groupe (ex : machines)

#adduser m3242$ - g machines –s /dev/false –d /dev/null

Attention de ne pas omettre le $.

#smpasswd –m –a m3242  è pas de $ ici !

 

Maintenant que notre machine est reconnue par le serveur Samba, il faut la faire joindre au domaine, ex : mtdom.

 

Vérifiez que Samba tourne et le lancer :

         # /etc/init.d/./smb status

         # /etc/init.d/./smb start

Attention : dans certains cas et avec d’autres versions de Samba on utilisera la commande : /etc/rc.d/init.d/ smb start

 

Allez sur le poste client w2000 pour le joindre au domaine mtdom

Dans poste de travail, propriétés, identification réseau, propriétés, remplir le champ domaine par le nom de votre domaine, ex : mtdom

 

Cliquez sur OK, une fenêtre s’ouvrira pour. En fait, le client va demander une identification, c’est celle de l’administrateur du serveur Samba. La seule personne qui soit en mesure de remplir cette tache est bien évidemment root. Il faut que root a un mot de passe défini dans samba :

Smbpasswd –a root

New passwd : *****

Retype new passwd: *****

Password changed for user root

 

Après quelques secondes, la connexion s’établira et la fenêtre suivante s’affichera :

 Normalement si tout c’est bien passé, la machine rejoint le domaine

 

6. Gestion de stratégies utilisateurs sous Samba avec W2000 Pro

 

Dans certaines circonstances, il peut être très intéressant d’imposer des stratégies de sécurités aux utilisateurs d’un domaine géré par Samba.

Les stratégies de sécurité sont relativement simples à définir lorsque l’on dispose d’un domaine géré sous Active Directory. Ici ça n’est pas le cas.

 

a.    Installation de Poledit

Pour que nos stratégies soient valables sur les clients Windows 2000, il faut récupérer à partir d’un Windows 2000 Serveur l’utilitaire poledit ainsi que les deux fichiers de modèles d’administration : common.adm et winnt.adm

Les deux modèles se trouvent dans le répertoire : C:\WINNT\INF

 

Pour installer poledit sur le client Windows 2000 Pro, il suffit donc de copier l’application ainsi que les deux fichiers .adm sur le client dans le répertoire susnommé ci-dessus. Il faut impérativement effectuer l’installation sous le compte local Administrateur du client.

 

b.    Configuration des stratégies

Lancez poledit.exe et ouvrez le registre :

 

 

On accède au registre de notre client. L’environnement ressemble à celui de W98.

Le principe est simple, on va demander au client W2000 d’aller télécharger la stratégie depuis le serveur samba. Pour cela, il suffit de double cliquer sur Ordinateur local puis configurer l’option :

 

Vérifier que cette option est cochée

 

 

 

 

Précisez que la mise à jour est faite de manière manuelle

 

 

On indique le chemin réseau et le nom du fichier .pol qui sera téléchargé par le client w2000

 

 

Le but de la manipulation est de créer des stratégies en fonctions des groupes d’utilisateurs. Pour cela nous allons créer 2 fichiers config.pol qui contiennent 2 politiques différentes.

Le groupe tsrit3  aura droit de régler le panneau de configuration Affichage tandis que le groupe users obtiendra le message suivant :

 

 

Pour cela, il suffit en tant qu’administrateur local du poste W2000 d’ouvrir poledit puis de créer une nouvelle stratégie, une première pour le groupe tsrit3. On choisira des restrictions qu’on veut (Ordinateur par défaut, Utilisateur par défaut), mise à jour des stratégies distances et chemin réseau : \\sambaserver\strategies\config.pol


 

 

Il ne reste qu’à enregistrer les modifications sous un nom de fichier, par exemple conftsrit3.pol

Une fois que c’est fait, on répète l’opération de la page précédente, nouvelle stratégie, Ordinateur par défaut, mise à jour manuelle, avec le même chemin réseau \\sambaserver\strategies\config.pol

Ensuite, on clique sur utilisateur par défaut et on décoche l’option

 


 

On enregistre les modifications sous un autre nom, exemple : configusers.pol.

Maintenant, comment allons nous apporter les modifications nécessaires à notre serveur Samba pour appliquer ces stratégies sur les utilisateurs Windows 2000.


 

Sur le serveur Samba, on modifiera le fichier de configuration smb.con on ajoutera la section suivante :

 

[strategies]

path = /home/strategies/%g

browseable = yes

writeable = yes

 

On crée les répertoires qui contiendront les stratégies des groupes d’utilisateurs :

 # mkdir –p  /home/strategies/tsrit3

 # mkdir –p  /home/strategies/users

 

Remarque: en utilisant l’option %g, le chemin d’accès du partage strategie sera fonction du nom du groupe auquel l’utilisateur qui se connecte au domaine.

Je m’explique : si l’utilisateur jdupond se connecte au serveur, la variable %g sera remplacé par users (le groupe auquel il appartient), mais si schawki se connecte, la variable %g sera remplacé par tsrit3, et donc le chemin d’accès à strategie : \\sambaserver\strategies, pointera sur /home/strategies/users ou /home/strategies/tsrit3

 

Retournez à votre poste W2000 sous root, et par le voisinage réseau, accéder aux répertoires strategies/users et strategies/tsrit3, puis copier dedans respectivement configusers.pol et configtsrit3.pol.

Bien évidemment, li faut renommer les 2 fichiers .pol en config.pol chacun.

Si vous rencontrez des problèmes d’accès, changez le mode sur le serveur :

# chmod –R 775 strategie

 

Maintenant, il ne reste plus qu’à se déconnecter du compte root puis se connecter sous l’un des utilisateurs des 2 groupes et normalement les stratégies seront appliquées.

 


 

XII.      Imprimantes sous samba

 

Samba joue le rôle d’un contrôleur de domaine, il est donc normal qu’il puisse gérer une ou des imprimantes.

Il existe 2 types d’imprimantes dites :

On va utiliser le serveur Samba, en mode contrôleur de domaine, auquel on va connecter une imprimante.

La première étape consiste à configurer le poste Linux ou tourne samba, de manière à ce qu’il puisse envoyer des données à l’imprimante.

On utilise pour cela un utilitaire nommé printtool

 

 

Cet utilitaire permet de configurer Linux pour un grand nombre d’imprimantes.

Quand printtool est lancé, il vous faut ajouter une imprimante.

 


 

 

Sélectionnez le type de file d’attente : connecté localement.

 

 

 

L’imprimante est compatible Postscript, nous choisissons ce mode.

Si le pilote de votre imprimante est disponible sur Linux, installez-le

 

 

 

 

 

 

 

 

 

 

Voila, notre imprimante est configurer pour Linux.

Pour autant, le serveur samba lui ne l’est pas.

 

 

Nous allons donc créer une imprimante partagée qui se nommera imprim.

Éditez le fichier smb.conf du serveur Samba :

Et rajoutez les lignes suivantes :

 

[imprim]

Nom de l’imprimante partagée

 

printable = yes

On indique que le partage correspond à une imprimante et non un répertoire

classique

 

printer = lp

 

C’est la commande Unix qui sera exécutée par le client, sur le serveur. Pour imprimer sous Unix on utilise la commande lpr.

L’option –r indique qu’à la fin de l’impression, le fichier d’impression est automatiquement effacé.

Pour la variable %s, voir la doc des variables Samba. Le partage qui correspond à

l’imprimante imprim

 

print command = /usr/bin/lpr -r %s

Très important, on indique sur quelle imprimante on doit envoyer les travaux

d’impression. Cette variable lp correspond tout simplement à l’imprimante qui a

été défini à l’aide de printtool

 

read only = yes

C’est une imprimante, les utilisateurs n’ont pas le droit d’avoir un accès en

écriture sur le partage.

 

guest ok = no

On interdit le partage au compte invite

 

printer driver =

Option très pratique, elle indique au client Windows, le driver  nécessaire.

Respectez scrupuleusement la casse.

 

valid users = @users @tsrit3

On indique quelles sont les personnes qui ont le droit d’accéder à l’imprimante.

Il s’agit ici du groupe users et tsrit3

 

comment = imprimante Postscript

 

Désignation du commentaire qui sera affiché dans le voisinage réseau, pour

l’imprimante.

 

Revenons sur le poste W2000. Parcourez le voisinage réseau, sur le serveur Samba, vous devez voir imprim

 


 

Double-cliquez sur l’icône imprim, on vous demandera d’installer cette imprimante sur votre poste W2000.

 

 

On obtiendra une fenêtre qui proposera le choix du pilote adéquate disponible dans la base de Windows2000. Sinon, allez chercher le pilote sur le disque ou à un emplacement défini sur votre réseau.

 

 

Si tout va bien, sélectionner imprimante et imprimer une page test.

 


 

XIII.      Administration de Samba par Webmin et Swat

 

1. Webmin

Allez sur serveurs, puis cliquez sur partage Windows avec samba

Cette interface est très conviviale. Elle peut être une bonne approche de Samba pour ceux qui sont habitués au seul environnement Windows.


On remarquera tous les partages disponibles sur le serveur samba et qui sont défini par le fichier smb.conf.Je ne détaillerai pas plus les fonctionnalités de cet outil. A vous de le découvrir en le parcourant.

2. swat

Si on utilise xinetd, probablement modifier le paramétrage de /etc/xinetd.d/swat, et vérifier l'accessibilité des stations clientes. Ne pas oublier de relancer xinetd

S'il y a encore refus de connexion, vérifier dans le fichier /etc/services la présence de la ligne swat 901/tcp

 

Pour accéder par l’interface Web à l’utilitaire swap, tapez : http://sambaserver:901 ou l’adresse IP du serveur.

Remplir le champ utilisateur autorisé et le mot de passe.


 

 

XIV.      Samba 3, les nouveautés

Avant de faire un comparatif entre samba 3 et les versions antérieures, voyons les spécificités de Samba 2x

 Gestion de ressources

Impression, gestion des files d'attentes et téléchargement de pilotes

Partage de fichiers, ACLs, support MS-DFS


 

Authentification

PDC, couplage LDAP

Netlogon

Support des profiles errants

Compatible DOS, Win9x, WinNT4/2K/XP

Fonctionne sur tous système UNIX/MVS/etc.

Pas de CAL...

Samba 2.2 : gestionnaire de ressources éprouvé et performant.

Samba 3 apporte une multitudes de fonctionnalités qui lui faisait défaut jusqu'à lors :

 

Annuaire de sécurité

 

intégration LDAP, intégration AD (serveur membre uniquement)

support RPC NT : réutilisation des outils natifs

AD support

Support des relations d'approbation

Support des groupes globaux, compatibles NT

Backend d'authentification (LDAP, SQL, XML)

 

Partage de ressources

 

Meilleur support MS-Printing RPC

Support Unicode

Unicode support

IDEALX

Modules dynamiques

 

auth. (LDAP, SQL, XML, fichier)

VFS hooks (audit, log, undelete, etc.)

jeux de caractères

 

 Commande 'net' (et outils tiers)

 

. Apparition de la commande net join pour joindre un poste à un domaine

. Meilleur 'winbindd'

. Outils de migration automatiques

.Samba 3.0 permet passage à Linux progressif et réactive les grands projets de migration.

 


 

Réplication PDC/BDC

 

. Samba 3 utilise principalement LDAP, et son protocole de réplication natif.

. Dans certains contextes (migration progressive, ...), il faut pouvoir se mêler aux contrôleurs existants.

. Le protocole de réplication propriétaire NT4 synchronise la base de compte utilisateurs (users, groups, rights) entre un contrôleur primaire (PDC) et un ensemble de contrôleurs secondaires (BDC).

IDEALX

XV.      Samba est –il le meilleur ?

 

Samba fait mieux que NT

Authentification unifiée Unix/Windows

Depuis la version 2.2 le clustering/HA permet d'avoir des serveurs de ressources totalement disponibles.

Avec un annuaire LDAP (OpenLDAP) il est toujours possible de changer un mot de passe, même lorsque le contrôleur principal est en panne.

Le PDC peut également être clustérisé

Les performances sont vraiment bonnes (et s'améliorent encore de + de 60% avec le noyau 2.6)

 


 

 

Ces figures sont extraites du site :

http://www.idealx.org/ prj/samba/slides-samba_solutions-linux_2004.pdf


 

XVI.      Avant de conclure, comparaison Linux Windows

 



 

 

 

 

XVII.      Conclusion

 

 

Je n’ai pas traiter la migration de Windows NT vers Samba car le sujet mérite un projet à part.