28.9. Serveur de fichiers et d'impression pour clients Microsoft® Windows® (Samba)

Contribution de Murray Stokely.

28.9.1. Généralités

Samba est un logiciel libre très populaire qui offre des services de partage de fichiers et d'imprimantes pour les clients Microsoft® Windows®. De tels clients peuvent se connecter et utiliser l'espace de fichiers d'une machine FreeBSD comme si c'était un disque local, ou utiliser des imprimantes FreeBSD comme si elles étaient des imprimantes locales.

Samba devrait se trouver sur votre support d'installation. Si vous n'avez pas installé Samba à l'installation de FreeBSD, vous pouvez alors l'installer à partir de la version pré-compilée ou portée net/samba3.

28.9.2. Configuration

Le fichier de configuration par défaut de Samba est installé sous le nom /usr/local/etc/smb.conf.default. Ce fichier doit être copié vers /usr/local/etc/smb.conf et personnalisé avant que Samba ne puisse être utilisé.

Le fichier smb.conf contient la configuration nécessaire à l'exécution de Samba, comme la définition des imprimantes et des “systèmes de fichiers partagés” que vous désirez partager avec les clients Windows. Le logiciel Samba comprend une interface Web appelé swat qui offre une méthode simple de configuration du fichier smb.conf.

28.9.2.1. Utilisation de l'interface web d'administration de Samba (SWAT)

L'interface web d'administration de Samba (SWAT) est exécutée sous la forme d'un “daemon” à partir d'inetd. Par conséquent, la ligne suivante dans le fichier /etc/inetd.conf doit être décommentée avant que swat ne puisse être utilisé pour configurer Samba:

swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat

Comme expliqué dans la Exemple 28-1, la configuration d'inetd doit être rechargée après modification de ce fichier de configuration.

Une fois que swat a été activé dans inetd.conf, vous pouvez utiliser un navigateur pour vous connecter à l'adresse http://localhost:901. Vous devez ouvrir tout d'abord une session sous le compte système root.

Une fois que vous avez ouvert une session sur la page principale de configuration de Samba, vous pouvez naviguer dans la documentation du système, ou commencer par cliquer sur l'onglet Globals. Le menu Globals correspond aux variables situées dans la section [global] du fichier /usr/local/etc/smb.conf.

28.9.2.2. Paramétrages généraux

Que vous utilisiez swat ou éditiez directement le fichier /usr/local/etc/smb.conf, les premières directives que vous allez sûrement rencontrer en configurant Samba seront:

workgroup

Le nom de domaine NT ou le groupe de travail pour les ordinateurs qui accéderont à ce serveur.

netbios name

Fixe le nom NetBIOS sous lequel est connu le serveur Samba. Par défaut c'est le même que la première composante du nom de la machine pour le DNS.

server string

Cette directive définie la chaîne de caractères qui sera affichée lors de l'utilisation de la commande net view et par d'autres outils réseau recherchant à afficher une description du serveur.

28.9.2.3. Paramètres de sécurité

Deux des plus importants paramétrages de /usr/local/etc/smb.conf sont le mode de sécurité choisi, et le format de mot de passe pour les utilisateurs. Les directives suivantes contrôlent ces options:

security

Les deux options les plus courantes sont security = share et security = user. Si vos clients utilisent des noms d'utilisateur identiques à ceux sur votre machine FreeBSD, alors vous voudrez utiliser un niveau de sécurité utilisateur. C'est le mode de sécurité par défaut et qui demande aux clients de d'ouvrir une session avant de pouvoir accéder aux ressources partagées.

Dans le niveau de sécurité partage (“share”), le client n'a pas besoin d'ouvrir de session avant de pouvoir se connecter à une ressource partagée. C'était le mode de sécurité par défaut d'anciennes versions de Samba.

passdb backend

Samba possède plusieurs modèles de support d'authentification. Vous pouvez authentifier des clients avec LDAP, NIS+, une base de données SQL ou un fichier de mot de passe modifié. La méthode d'authentification par défaut est appelée smbpasswd, et c'est celle qui sera présentée ici.

En supposant que le modèle smbpasswd par défaut est utilisé, le fichier /usr/local/private/smbpasswd doit être créé pour permettre à Samba d'identifier les clients. Si vous désirez donner accès à vos comptes utilisateur UNIX® à partir de clients Windows, utilisez la commande suivante:

# smbpasswd -a username

Veuillez consulter le tutorial officiel de Samba pour des informations supplémentaires sur les options de configuration. Avec les bases présentées ici, vous devriez disposer de tous les éléments nécessaires au démarrage de Samba.

28.9.3. Démarrage de Samba

Le logiciel porté net/samba3 amène une nouvelle procédure de démarrage qui peut être employée pour contrôler Samba. Pour activer cette procédure de manière à ce qu'elle soit utilisée pour par exemple lancer, arrêter ou relancer Samba, ajoutez la ligne suivante au fichier /etc/rc.conf:

samba_enable="YES"

Ou, pour un contrôle plus fin:

nmbd_enable="YES"
	smbd_enable="YES"

Note : Avec cela, Samba sera automatiquement lancé au démarrage.

Il est alors possible de démarrer Samba à n'importe quel moment en tapant:

# /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.

Veuillez consulter la Section 11.7 pour plus d'information sur les procédures rc.

Samba consiste essentiellement en trois “daemon”s séparés. Vous devriez vous rendre compte que les “daemon”s nmbd et smbd sont lancés par la procédure samba. Si vous avez activé la résolution de noms winbind dans le fichier smb.conf, alors le “daemon” winbindd sera également lancé.

Vous pouvez arrêter Samba à tout moment en tapant:

# /usr/local/etc/rc.d/samba stop

Samba est une suite logiciels complexes avec des fonctionnalités permettant une large intégration avec les réseaux Microsoft Windows. Pour plus d'information sur les fonctionnalités non-abordées dans ce document, veuillez consulter http://www.samba.org.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <[email protected]>.
Pour les questions sur cette documentation, contactez <[email protected]>.