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://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
III. Intérêt d’utilisation de Samba
IV. Rappels des principaux concepts de
réseaux Microsoft
1. Les
ressources réseaux et les noms de partage
3. Variables
du fichier de configuration
IX. Configuration de samba et
description des sections
X. Configuration de Samba en serveur
membre
1. Niveau
security, user ou domain ?
3. Exemple
de configuration de serveur membre
4. Le cas de trust relationship
XI. Samba contrôleur de domaine
2. Configuration
du serveur Samba
3. Définition
des utilisateurs sur le Serveur
b. Création des
répertoires de logons et partage:
c. Affectation des mots de
passe Samba des utilisateurs :
4. Configuration
des clients W9X :
5. Configuration
des clients W2000 pro
6. Gestion
de stratégies utilisateurs sous Samba avec W2000 Pro
b. Configuration des
stratégies
XIII. Administration de Samba par
Webmin et Swat
XV. Samba est –il le meilleur ?
XVI. Avant de conclure, comparaison Linux
Windows
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
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
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.
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
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.
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.
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.
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
-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
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.
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
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
Nous allons configurer un serveur Samba.
Pour cela je me suis procurer une distribution Fedora Core 1 basé sur
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
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.
Nous
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
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.
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.
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.
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.
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
root
a le droit d'accès au module de
gestion de Samba 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.
swat
(= Samba Web Administrating Tool) est un utilitaire permettant
l'administration de Samba, via une interface Web sur un poste client. Il
est normalement installé en même temps que samba
.
swat
,
on passe une requête au serveur au port 901 du genre : http://172.16.32.215:901
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.
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
Je n’ai pas traiter la migration de Windows NT vers Samba car le sujet mérite
un projet à part.