Table des matières
Résumé
Samba permet de configurer une machine Unix comme serveur de fichiers ou d'impression pour des ordinateurs DOS, Windows et OS/2. Samba est devenu un produit à part entière assez complexe. Ce chapitre décrit les fonctionnalités de base du produit, ainsi que les principes essentiels de configuration et les modules YaST qui permettent de configurer Samba sur votre réseau.
Vous trouverez des informations détaillées sur Samba dans la documentation numérique. Entrez apropos
samba dans la ligne de commande pour afficher des pages de manuel ou parcourez simplement le répertoire /usr/share/doc/packages/samba, si Samba est installé, pour obtenir d'autres exemples et documents en ligne. Vous trouverez un exemple de configuration détaillé (smb.conf.SuSE) dans le sous-répertoire examples.
Voici les principales nouvelles fonctionnalités de la version 3 du paquetage samba :
Prise en charge d'Active Directory
Meilleure prise en charge d'Unicode
Refonte des mécanismes d'authentification internes
Meilleure prise en charge du système d'impression Windows 200x et XP
Possibilité de configuration des serveurs en tant que serveurs membres des domaines Active Directory
Adoption d'un domaine NT4, qui permet de migrer d'un domaine NT4 à un domaine Samba
![]() | Migration vers Samba 3 |
|---|---|
Vous devez tenir compte de certains facteurs lorsque vous migrez de Samba 2.x à Samba 3. Un chapitre complet est consacré à ce sujet dans l'ensemble des HOWTO (Guides pratiques) relatifs à Samba. Une fois le paquetage | |
Samba utilise le protocole SMB (Server Message Block), qui est basé sur les services NetBIOS. Face 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. Avec Samba, le protocole SMB fonctionne sur le protocole TCP/IP, qui doit donc être installé sur tous les clients.
NetBIOS est une interface logicielle (API) qui permet aux ordinateurs de communiquer entre eux. C'est dans ce contexte qu'un service de noms est fourni. Il permet aux machines connectées au réseau de se réserver des noms. Une fois la réservation effectuée, vous pouvez appeler ces machines par leur nom. Aucun processus central ne vérifie les noms. Toute machine du réseau peut réserver autant de noms qu'elle le souhaite, à condition qu'ils ne soient pas déjà utilisés. Vous pouvez désormais implémenter l'interface NetBIOS dans différentes architectures réseau. NetBEUI est une implémentation qui fonctionne de façon assez semblable au matériel réseau. On l'appelle généralement NetBIOS. Les protocoles réseau implémentés avec NetBIOS sont IPX de Novell (NetBIOS via TCP/IP) et TCP/IP.
Les noms NetBIOS envoyés via TCP/IP n'ont rien à voir avec les noms utilisés dans /etc/hosts, ni avec ceux définis par DNS. NetBIOS utilise sa propre convention de dénomination, qui est totalement indépendante. Il est toutefois recommandé d'utiliser des noms qui correspondent aux noms d'hôte DNS afin de faciliter l'administration. C'est d'ailleurs le paramètre par défaut utilisé par Samba.
Tous les systèmes d'exploitation classiques, tels que Mac OS X, Windows et OS/2, prennent en charge le protocole SMB. Le protocole TCP/IP doit être installé sur tous les ordinateurs. Samba fournit un client pour les différentes variantes UNIX. Sous Linux, un module de kernel pour SMB permet d'intégrer des ressources SMB au niveau du système Linux.
Les partages permettent aux serveurs SMB de fournir de l'espace disque à leurs clients. Un partage correspond à un répertoire et à tous ses sous-répertoires sur le serveur. Vous pouvez l'exporter sous son propre nom et y accéder avec ce même nom. Le nom du partage peut être choisi librement (il ne doit pas nécessairement être identique à celui du répertoire exporté). Un nom est également assigné à l'imprimante. Les clients utilisent ce nom pour accéder à l'imprimante.
Si vous souhaitez utiliser Samba comme serveur, installez samba. Utilisez la commande rcnmb start && rcsmb start pour démarrer les services requis pour Samba et la commande rcsmb stop && rcnmb stop pour les arrêter.
Le principal fichier de configuration de Samba est /etc/samba/smb.conf. Ce fichier est divisé en deux parties logiques. La section [global] contient les paramètres généraux. Les sections [share] contiennent les 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é.
Vous devez adapter les paramètres suivants de la section [global] à la configuration de votre réseau, afin que les autres machines puissent accéder à votre serveur Samba via SMB dans un environnement Windows.
Cette ligne assigne le serveur Samba à un groupe de travail. Remplacez TUX-NET par le groupe de travail souhaité de votre environnement réseau. Votre serveur Samba apparaît sous son nom DNS, sauf si celui-ci a été assigné à une autre machine du réseau. Si le nom DNS n'est pas disponible, définissez le nom du serveur à l'aide de netbiosname=MON NOM. Pour plus d'informations sur ce paramètre, consultez la commande man
smb.conf.
Ce paramètre détermine si votre serveur Samba tente de devenir LMB (Local Master Browser) pour son groupe de travail. Choisissez une valeur très faible pour éviter que le réseau Windows existant soit perturbé par un serveur Samba mal configuré. Pour plus d'informations sur ce sujet important, consultez les fichiers BROWSING.txt et BROWSING-Config.txt situés dans le sous-répertoire textdocs de la documentation du paquetage.
Si votre réseau ne comporte aucun autre serveur SMB (tel qu'un serveur Windows NT ou 2000) et si vous souhaitez que le serveur Samba conserve une liste de tous les systèmes présents dans l'environnement local, affectez à os level une valeur supérieure (par exemple, 65). Votre serveur Samba est alors choisi comme LMB de votre réseau local.
Si vous modifiez ce paramètre, soyez particulièrement attentif aux éventuelles répercussions sur un environnement réseau Windows existant. Commencez par tester les modifications dans un réseau isolé ou pendant une période non critique.
Pour intégrer votre serveur Samba dans un réseau Windows existant avec un serveur WINS actif, activez l'option Serveur WINS et affectez-lui l'adresse IP de ce serveur WINS.
Si vos machines Windows sont connectées à des sous-réseaux distincts mais doivent se reconnaître entre elles, vous devez configurer un serveur WINS. Pour transformer un serveur Samba en serveur WINS de ce type, définissez l'option wins support = Yes. Assurez-vous que ce paramètre n'est activé que pour un seul serveur Samba du réseau. Les options wins server et wins support ne doivent jamais être activées simultanément dans votre fichier smb.conf.
Les exemples suivants illustrent le partage d'un lecteur CD-ROM et de répertoires d'utilisateurs (homes) entre des clients SMB.
Pour éviter que le lecteur de CD ne soit partagé par inadvertance, ces lignes sont désactivées à l'aide de marques de commentaires (des points-virgules, en l'occurrence). Supprimez les points-virgules de la première colonne pour partager le lecteur de CD avec Samba.
[cdrom] et comment
L'entrée [cdrom] correspond au nom du partage que voient tous les clients SMB du réseau. Vous pouvez ajouter une déclaration comment pour fournir une description plus détaillée du partage.
path = /media/cdrom
path exporte le répertoire /media/cdrom.
Ce type de partage est uniquement disponible pour les utilisateurs présents sur ce système, en raison d'une configuration par défaut très restrictive. Si vous souhaitez que tout le monde puisse accéder à ce partage, ajoutez la ligne guest ok = yes à la configuration. Ce paramètre octroie des autorisations de lecture à toute personne se trouvant sur le réseau. Il est recommandé d'utiliser ce paramètre avec la plus grande prudence. Cette recommandation s'applique encore plus à l'utilisation de ce paramètre dans la section [global].
[homes]
Le partage [home] est particulièrement important. Si l'utilisateur possède un compte et un mot de passe valides pour le serveur de fichiers Linux et son propre répertoire privé, il peut se connecter à ce compte.
Exemple 48.2. Partage homes
[homes] comment = Home Directories valid users = %S browseable = No read only = No create mask = 0640 directory mask = 0750
Tant qu'aucun autre partage n'utilise le nom de partage de l'utilisateur connecté au serveur SMB, un partage est généré de façon dynamique à l'aide des directives de partage [homes]. Le nom du partage obtenu est le nom de l'utilisateur.
valid users = %S
Une fois la connexion établie, %S est remplacé par le nom de partage réel. Dans le cas d'un partage [homes], il s'agit toujours du nom d'utilisateur. Par conséquent, les droits d'accès au partage d'un utilisateur sont exclusivement limités à l'utilisateur.
browseable = No
Ce paramètre rend le partage invisible dans l'environnement réseau.
read only = No
Par défaut, Samba interdit l'accès en écriture à tout partage exporté à l'aide du paramètre read only = Yes. Pour autoriser l'accès en écriture à un partage, choisissez la valeur read only = No, qui est équivalente à writeable = Yes.
create mask = 0640
Les systèmes qui ne sont pas basés sur MS Windows NT ne connaissent pas le concept des autorisations Unix. Ils ne peuvent donc pas assigner d'autorisations lors de la création d'un fichier. Le paramètre create mask définit les autorisations d'accès assignées aux nouveaux fichiers. Cette fonctionnalité ne concerne que les partages accessibles en écriture. En effet, ce paramètre signifie que le propriétaire possède des autorisations de lecture et d'écriture et que les membres du groupe principal du propriétaire bénéficient d'autorisations de lecture. valid users = %S interdit l'accès en lecture, même si le groupe possède des autorisations de lecture. Pour accorder au groupe une autorisation de lecture ou d'écriture, désactivez la ligne valid users = %S.
Le protocole SMB, issu de l'environnement DOS et Windows, se charge directement du problème de la sécurité. Tout accès à un partage peut être protégé par mot de passe. SMB peut vérifier les autorisations de trois manières :
Un mot de passe est strictement assigné à un partage. Toute personne connaissant ce mot de passe peut accéder au partage.
Cette variante introduit le concept de l'utilisateur dans SMB. Chaque utilisateur doit s'enregistrer sur le serveur à l'aide d'un mot de passe. Une fois l'utilisateur enregistré, le serveur peut accorder l'accès aux différents partages exportés en fonction des noms d'utilisateur.
Pour les clients, Samba travaille en mode sécurité au niveau de l'utilisateur. Il transmet toutefois toutes les demandes de mot de passe à un autre serveur qui assure l'authentification en mode sécurité au niveau de l'utilisateur. Cette configuration exige un paramètre supplémentaire (password server =).
La distinction entre sécurité au niveau du partage, de l'utilisateur et du serveur concerne l'ensemble du serveur. Il est donc impossible que certains partages d'un serveur configuré offrent une sécurité au niveau du partage tandis que d'autres offrent une sécurité au niveau de l'utilisateur. Vous pouvez toutefois exécuter un serveur Samba distinct pour chaque adresse IP configurée sur un système.
Pour plus d'informations à ce sujet, consultez l'ensemble des HOWTO (Guides pratiques) de Samba. Si un système comporte plusieurs serveurs, accordez une attention particulière aux options interfaces et bind interfaces only.
![]() | Astuce |
|---|---|
Vous pouvez également utiliser le programme swat pour les tâches simples d'administration du serveur Samba. Il comporte une interface Web conviviale, qui vous permet de configurer facilement le serveur Samba. Dans un navigateur Web, tapez l'adresse http://localhost:901, puis loguez-vous en tant qu'utilisateur | |