Table des matières
Résumé
Samba permet d'utiliser un ordinateur Unix comme serveur de fichiers ou d'impression pour ordinateurs DOS, Windows et OS/2. Ce chapitre vous introduit aux principes de la configuration Samba et décrit les modules de YaST avec lesquels vous pouvez configurer Samba dans votre réseau.
Aujourd'hui, Samba est devenu un produit
extrêmement complet. De ce fait, nous pourrons donner ici uniquement un
premier aperçu de ses fonctionnalités. Cependant, vous trouverez des
détails dans la documentation numérique qui l'accompagne. Celle-ci est
constituée, pour une part, de pages de manuel — pour vous faire une
idée du volume, exécutez la commande apropos
samba — et, pour le reste, de documents et d'exemples
que vous trouverez, après avoir installé Samba
sur votre système, dans le répertoire
/usr/share/doc/packages/samba. Vous y trouverez
également, dans le sous-répertoire examples l'exemple
de configuration commenté smb.conf.SuSE.
Vous disposez du paquetage samba
dans sa version 3. Voici quelques-unes des nouveautés notables de ce
paquetage :
Prise en charge d'Active Directory.
La prise en charge d'Unicode a été considérablement améliorée.
Les mécanismes d'authentification internes ont complètement été remaniés.
Meilleure prise en charge du système d'impression Windows 200x et Windows XP.
Configuration en tant que serveur membre (en anglais, member server) de domaines Active Directory.
Reprise des domaines NT4 pour migrer d'un domaine NT4 vers un domaine Samba.
![]() | Migration vers Samba3 |
|---|---|
Si vous souhaitez migrer de Samba 2.x vers Samba 3, vous devez
veiller à certaines particularités. Un chapitre complet est consacré à ce
sujet dans l'ensemble des HOWTO relatifs à Samba. Une fois le paquetage
| |
Samba utilise le protocole SMB (Server Message Block) qui est basé sur les services NetBIOS. Suite aux pressions de la société IBM, Microsoft a publié le protocole, ce qui a permis à d'autres éditeurs de logiciels de se connecter également à un domaine Microsoft. Samba fait s'appuyer SMB sur le protocole TCP/IP. En conséquence, le protocole TCP/IP doit être installé sur tous les clients. Nous recommandons d'utiliser exclusivement TCP/IP sur les clients.
NetBIOS est une interface logicielle (API) conçue afin de permettre à différents ordinateurs de communiquer entre eux. C'est dans ce contexte qu'a été conçu un service de nommage (name service) destiné à permettre l'identification mutuelle des machines. En matière de nommage, il n'existe aucune instance centrale qui serait chargée d'attribuer ou de vérifier les droits. Toute machine sur le réseau peut réserver un nombre quelconque de noms, pour autant qu'ils ne soient pas encore attribués. L'interface NetBIOS peut être implémentée sur différentes architectures réseau. Une implémentation relativement proche du matériel réseau porte le nom NetBEUI. NetBEUI est fréquemment désigné sous le nom NetBIOS. Les protocoles réseau implémentés avec NetBIOS sont IPX (NetBIOS via TCP/IP) de Novell et TCP/IP.
Les noms NetBIOS qui sont également attribués dans l'implémentation de
NetBIOS sur TCP/IP n'ont rien à voir avec les noms attribués dans le fichier
/etc/host ou par DNS. NetBIOS définit un espace de
nommage complètement à part. Malgré cela, il est recommandé, afin de
simplifier l'administration, d'attribuer au moins aux serveurs des noms
NetBIOS correspondant à leurs noms d'hôtes DNS. C'est réglé ainsi par
défaut dans les serveurs Samba.
Tous les systèmes d'exploitation majeurs tels que Mac OS X, Windows et OS/2 prennent en charge le protocole SMB. Le protocole TCP/IP doit être installé à cet effet. S'agissant des différents UNIX, Samba offre également un client. Linux comporte en outre un module noyau offrant un système de fichiers SMB, permettant d'intégrer des ressources SMB au niveau du système Linux.
Les serveurs SMB offrent aux clients de l'espace disque se présentant sous la forme de « partages » (shares). Un partage correspond à un répertoire et à tous ses sous-répertoires sur le serveur. Il est exporté sous son propre nom et des clients peuvent y accéder sous ce même nom. Le nom du partage peut être choisi librement—il ne doit pas être identique à celui du répertoire exporté. De la même manière, une imprimante exportée se voit attribuer un nom qui sera utilisé par les clients pour y accéder.
Dans le cas où vous souhaitez utiliser Samba en tant que serveur, installez le paquetage
samba. Démarrez les services
requis pour Samba à l'aide de la commande
rcnmb start & & rcsmb start et arrêtez-les à
l'aide de la commande rcsmb stop & & rcnmb stop.
Le fichier de configuration central de Samba est /etc/samba/smb.conf.
Ce fichier comporte deux parties logiques distinctes. La section [global]
comporte la définition des paramètres globaux. La seconde section, intitulée
[share], comporte la définition des différents partages
de fichiers et d'imprimantes. Ce mode d'organisation permet de définir les
détails des partages soit de manière différenciée, soit avec une portée
globale dans la section [global]. Le fichier de
configuration gagne ainsi en lisibilité.
Les directives suivantes de la section [global] doivent
être adaptées en fonction de la configuration de votre réseau afin de
permettre à d'autres systèmes d'accéder à votre serveur
Samba dans un réseau Windows au moyen de SMB.
Le serveur Samba est rattaché à un groupe de travail à l'aide de cette ligne.
Remplacez TUX-NET par votre groupe de travail ou configurez
vos clients avec la valeur choisie ici. Votre serveur Samba est visible
dans cette configuration avec son nom DNS dans le groupe de travail
choisi, pour autant que le nom choisi n'ait pas encore été attribué.
Dans le cas où le nom DNS a déjà été attribué, le nom de serveur peut être défini
à l'aide de netbios name = MONNOM. Pour obtenir plus de
précisions sur ce paramètre, exécutez la commande man
smb.conf.
Ce paramètre définit si votre serveur Samba doit essayer de faire office de LMB (Local
Master Browser) pour son groupe de travail. Il est recommandé d'utiliser une valeur
volontairement faible afin d'éviter qu'un réseau Windows ne soit perturbé par un serveur
Samba mal configuré. Pour plus de précisions sur cette question importante,
reportez-vous aux fichiers BROWSING.txt et
BROWSING-Config.txt dans le sous-répertoire
textdocs de la documentation du
paquetage.
En l'absence de serveur SMB préexistant (par exemple Windows NT ou
2000 Server), lorsque c'est le serveur Samba qui doit conserver une liste de tous
les systèmes disponibles dans le réseau local, augmentez la valeur os
level (par exemple à 65). Votre serveur Samba sera alors choisi comme LMB
pour votre réseau local.
Dans le cas où cette valeur est modifiée, vous devez être particulièrement prudent en raison des risques de dysfonctionnement auquel vous exposez un réseau Windows existant. Testez les modifications dans un premier temps dans un réseau isolé ou pendant une période non critique.
Si vous avez l'intention d'intégrer le serveur Samba au sein d'un réseau Windows
existant comportant déjà un serveur WINS, vous devez utiliser l'option
wins server en y déclarant l'adresse IP de votre serveur WINS.
Si vos systèmes Windows sont utilisés dans des sous-réseaux séparés
mais doivent se voir les uns les autres, vous avez besoin d'un
serveur WINS. Pour que votre serveur Samba fasse office de serveur WINS, il
convient de déclarer wins support = Yes. Assurez-vous
absolument que vous n'avez utilisé cette directive que pour un seul
serveur Samba du réseau.
Les options wins server et wins
support ne doivent jamais être activées ensemble dans votre
fichier smb.conf.
Dans les exemples qui suivent, le lecteur de CD-ROM d'une part, ainsi
que les répertoires personnels des utilisateurs (homes)
des clients SMB d'autre part, sont partagés.
Pour éviter qu'un CD-ROM ne soit partagé par inadvertance, toutes les lignes requises de ce partage sont désactivées à l'aide de mises en commentaires (des points-virgules, en l'occurrence). Dans le cas où vous voulez partager le lecteur de CD-ROM avec Samba, il vous suffit de supprimer les points-virgules dans la première colonne.
Exemple 32.1. Partage de CD-ROM
;[cdrom]
; comment = CD-ROM Linux
; path = /media/cdrom
; locking = No
[cdrom] et comment
La ligne [cdrom] est le nom du partage visible par
tous les clients SMB. La directive comment permet
d'offrir aux clients une description du partage.
path = /media/cdrom
L'option path permet d'exporter le répertoire
/media/cdrom.
Ce type de partage est uniquement disponible pour les utilisateurs
présents sur le système, en raison de paramètres par défaut
volontairement restrictifs. Dans le cas où tout le monde doit pouvoir
accéder au partage, il convient d'ajouter la ligne guest ok =
Yes. Compte tenu de la possibilité offerte à tous les
utilisateurs de lire les données, la plus grande prudence est de mise
avec cette directive, qui devrait être réservée uniquement à quelques
partages choisis. La section [global] impose d'être
particulièrement prudent.
[homes]
Le partage [home] est particulièrement important.
Dans le cas où l'utilisateur possède un compte valide et son propre
répertoire personnel sur le serveur de fichiers Linux, son client peut
se connecter sur ce compte en fournissant un identifiant utilisateur et
un mot de passe valides.
Exemple 32.2. Partage « homes »
[homes]
comment = Home Directories
valid users = %S
browseable = No
read only = No
create mask = 0640
directory mask = 0750
En l'absence de partage explicite avec le nom de partage de
l'utilisateur qui souhaite se connecter, un partage dynamique est
créé, en raison du partage [homes]. Le nom du
partage est le même que celui de l'utilisateur.
valid users = %S
Après établissement de la connexion, le %S est
remplacé par le nom de partage réel. Comme celui-ci est toujours
identique au nom d'utilisateur dans le cas du partage
[homes], les utilisateurs autorisés sont
uniquement le propriétaire du répertoire de l'utilisateur. Cette
possibilité vise à n'autoriser l'accès qu'au propriétaire.
browseable = No
Ce paramètre masque le partage dans l'environnement réseau.
read only = No
Dans sa configuration par défaut, Samba interdit l'accès en écriture aux partages
exportés avec le paramètre read only = Yes. Ainsi, si vous voulez
partager un répertoire en écriture, vous devez choisir la valeur read only =
No. Ce paramétrage est équivalent à writeable = Yes.
create mask = 0640
Les systèmes qui ne sont pas basés sur Windows NT ne connaissent pas
le système des privilèges d'accès Unix. De ce fait, il n'est pas
possible, en créant des fichiers, de définir les privilèges
d'accès à appliquer. Le paramètre create mask
définit les privilèges d'accès à associer aux fichiers à créer.
Cette fonctionnalité n'est disponible que pour les partages auxquels
on accède en écriture. Ici, cela signifie concrètement que le
propriétaire dispose des droits en lecture et écriture et que les
membres du groupe primaire disposent des droits en lecture. À noter
que valid users = %S interdit l'accès en lecture
même lorsque le groupe dispose des droits en écriture. Ainsi, pour
accorder l'accès en lecture/écriture au groupe, la ligne
valid users = %S doit être désactivée.
Le protocole SMB, issu du monde DOS/Windows, se préoccupe directement des problèmes de sécurité. Tout accès à un partage peut être protégé par mot de passe. SMB autorise trois modes de contrôle d'autorisations :
Dans la sécurité au niveau du partage, un mot de passe est attribué à un partage. Tous ceux qui connaissent ce mot de passe ont accès au partage.
Cette variante introduit le concept de l'utilisateur dans SMB. Chaque utilisateur doit se connecter sur le serveur à l'aide d'un mot de passe. Après la phase d'authentification, le serveur peut ensuite offrir l'accès aux différents partages exportés en fonction du nom d'utilisateur indiqué.
Vis-à-vis des clients, Samba affirme travailler en mode sécurité au niveau de l'utilisateur.
Il transmet cependant toutes les demandes de mot de passe à un autre serveur en
mode sécurité au niveau de l'utilisateur qui assure l'authentification.
Cette configuration prévoit un paramètre supplémentaire (password server
=).
La distinction entre sécurité au niveau du partage, de l'utilisateur et du serveur s'applique au serveur dans son ensemble. Il n'est pas possible d'exporter certains partages d'un serveur configuré pour utiliser la sécurité au niveau du partage et d'autres en utilisant la sécurité au niveau de l'utilisateur. Vous pouvez toutefois exploiter sur un système un serveur Samba différent pour chaque adresse IP configurée.
Pour plus de précisions sur ce sujet, veuillez consulter l'ensemble des
HOWTO relatifs à Samba. Si votre système comporte plusieurs serveurs, les
paramètres interfaces et bind interfaces
only vous concernent.
![]() | Astuce |
|---|---|
Le programme swat peut être utilisé pour les tâches simples d'administration du
serveur Samba. Celui-ci comporte une interface web simple permettant de configurer
aisément le serveur Samba. Appelez dans un navigateur Web l'adresse http://localhost:901 et connectez-vous en tant qu'utilisateur | |