28.3. Configuration d'un serveur Samba

Un serveur Samba peut être configuré de deux façons différentes dans SUSE Linux : avec YaST ou manuellement. La configuration manuelle offre un niveau de détail supérieur, mais est moins pratique que l'interface utilisateur graphique de YaST.

28.3.1. Configuration d'un serveur Samba avec YaST

Pour configurer un serveur Samba, démarrez YaST et sélectionnez Services réseau+Serveur Samba. Lorsque vous démarrez le module pour la première fois, la boîte de dialogue d'installation du serveur Samba s'ouvre. Elle vous invite à faire quelques choix de base concernant l'administration du serveur. Une fois les options configurées, elle vous invite à fournir le mot de passe root Samba. Lors des démarrages ultérieurs, la boîte de dialogue de configuration du serveur Samba s'affiche.

La boîte de dialogue d'installation du serveur Samba propose deux étapes :

Groupe de travail ou nom de domaine

Sélectionnez un nom dans la liste Groupe de travail ou nom de domaine ou saisissez-en un nouveau, puis cliquez sur Suivant.

Type de serveur Samba

À l'étape suivante, indiquez si le serveur doit tenir le rôle de contrôleur de domaine principal, puis cliquez sur Suivant.

Vous pouvez ultérieurement modifier chacun des paramètres proposés dans la boîte de dialogue d'installation du serveur Samba grâce à l'onglet Identité de la boîte de dialogue de configuration du serveur Samba.

Lors du premier démarrage du module du serveur Samba, la boîte de dialogue de configuration du serveur Samba s'affiche directement après la boîte de dialogue d'installation du serveur Samba. Elle est composée de trois onglets :

Démarrage

Dans l'onglet Démarrage, vous pouvez définir le démarrage du serveur Samba. Pour démarrer le service chaque fois que le système s'amorce, sélectionnez Lors de l'amorçage. Pour activer manuellement son démarrage, sélectionnez Manuellement. Pour plus d'informations sur le démarrage d'un serveur Samba, reportez-vous à la Section 28.2, « Démarrage et arrêt de Samba ».

Dans cet onglet, vous pouvez également ouvrir les ports du pare-feu. Pour cela, sélectionnez Ouvrir port dans pare-feu. Si vous disposez de plusieurs interfaces réseaux, pour sélectionner celle à utiliser pour les services Samba, cliquez sur Détails du pare-feu, choisissez une interface, puis cliquez sur OK.

Partages

Dans cet onglet, déterminez les partages Samba à activer. Il existe certains partages prédéfinis, tels que les dossiers personnels et les imprimantes. Utilisez l'option État de l'interrupteur à bascule pour passer de l'état actif à l'état inactif et inversement. Cliquez sur Ajouter pour ajouter d'autres partages. Cliquez sur Supprimer pour supprimer le partage sélectionné.

Identité

Dans l'onglet Identité, vous pouvez indiquer le domaine auquel est associé l'hôte (Paramètres de base) et déterminer si un autre nom d'hôte doit être utilisé dans le réseau (Nom d'hôte NetBIOS). Pour définir les paramètres globaux pour experts ou l'authentification des utilisateurs, cliquez sur Paramètres avancés.

Cliquez sur Terminer pour fermer la configuration.

28.3.2. Administration Web à l'aide de SWAT

Vous pouvez également utiliser l'outil SWAT (Samba Web Administration Tool) pour les tâches d'administration du serveur Samba. Il comporte une interface Web conviviale, qui permet de configurer le serveur Samba. Pour utiliser SWAT, saisissez l'adresse http://localhost:901 dans un navigateur Web, puis loguez-vous en tant qu'utilisateur root. Si vous ne disposez pas d'un compte root Samba spécial, utilisez le compte root du système.

[Note]activation de SWAT

Après l'installation du serveur Samba, SWAT n'est pas activé. Pour cela, ouvrez Services réseau+Services réseau (xinetd) dans YaST, activez la configuration des services réseau, sélectionnez swat dans le tableau, puis cliquez sur État interrupteur à bascule (On ou Off).

28.3.3. Configuration manuelle du serveur

Si vous avez l'intention d'utiliser Samba en tant que serveur, installez samba. Le fichier de configuration principal 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é.

28.3.3.1. Section global

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.

workgroup = TUX-NET

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, reportez-vous à la commande mansmb.conf.

os level = 2

Ce paramètre se déclenche 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, reportez-vous aux 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.

prise en charge wins et serveur wins

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.

28.3.3.2. Partages

Les exemples suivants illustrent le partage d'un lecteur CD-ROM et de répertoires d'utilisateurs (homes) entre des clients SMB.

[cdrom]

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.

Exemple 28.1. Partage de CD

;[cdrom]
;       comment = Linux CD-ROM
;       path = /media/cdrom
;       locking = No
[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 28.2. Partage homes

[homes]
	comment = Home Directories
	valid users = %S
	browseable = No
	read only = No
	create mask = 0640
	directory mask = 0750
[homes]

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, équivalente à writable = 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.

28.3.3.3. Niveaux de sécurité

Pour renforcer la sécurité, il est possible de protéger par mot de passe tout accès à un partage. SMB peut vérifier les autorisations de trois manières :

Sécurité au niveau du partage (security = share)

Un mot de passe est strictement assigné à un partage. Toute personne connaissant ce mot de passe peut accéder au partage.

Sécurité au niveau de l'utilisateur (security = user)

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.

Sécurité au niveau du serveur (security = server) :

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 sélection d'une sécurité au niveau du partage, de l'utilisateur ou 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, reportez-vous à 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.