Index Page précédente Page suivante

X. MISE EN PLACE DU SERVICE SAMBA

SMB (Session Message Block), également appelé NetBIOS ou LanManager, est utilisé par Microsoft Windows 3.11, NT, 95, 98 et 2000 pour partager des disques et des imprimantes. En utilisant les outils Samba d'Andrew Tridgell, les systèmes Unix (Linux inclus) peuvent également partager des disques et des imprimantes avec des hôtes Windows.
 

A. Installation

Vous avez besoin d'installer la package :

   samba
 

B. Configuration

Il y a deux façons de lancer samba au boot. Soit par l'intermédiaire du service INET et il faut dans ce cas, rajouter les lignes suivantes dans le fichier /etc/inetd.conf :

   # SAMBA NetBios services (for PC file and print sharing)
   netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
   netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

Soit, par l'intermédiaire du programme setup (ou drakxservices), en activant l'onglet smb. Je n'ai personnellement testé que la première solution.

Samba possède deux fichiers de configuration : /etc/smbusers et /etc/smb.conf. Le premier permet de définir les utilisateurs qui ne sont pas autorisés à se connecter à distance. Le second permet de définir des droits sur des répertoires (pour les utilisateurs qui se connectent à votre machine). Par exemple, si on veut partager un répertoire /home/cirl2, accessible seulement par l'utilisateur robert et qui a qui on donne le nom de partage robert_partage, il faut rajouter les lignes suivantes dans le fichier /etc/smb.conf :

   [robert_paratge]
      comment = répertoire partagé de Robert sur cirl2
      path = /home/cirl2
      valid users = robert
      public = no
      writable = yes

Remarque : les PC sous Windows NT4 service pack 3 et supérieurs ainsi que les PC sous Windows 9x ou 2000 utilisent des mots de passe cryptés pour s' authentifier, ce qui est incompatible avec Linux. La solution consiste à rajouter des clés dans la base de registre pour obliger Windows à ne pas crypter ses mots de passe.

Avec Windows 9x :

Dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP\

rajoutez une valeur DWORD telle que : EnablePlainTextPassword=1

Avec Windows 2000 :

Dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters\

rajoutez une valeur DWORD telle que : EnablePlainTextPassword=1

Avec Windows NT4 :

Dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters\

rajoutez une valeur DWORD telle que : EnablePlainTextPassword=1

Autre solution :

Avec des versions récentes de Samba, il semble y avoir une 2ème solution (je ne l'ai personnellement pas testée) qui permettent de ne pas avoir à modifier la base de registre de chaque hôte Windows. Vous devez tout d'abord générer un fichier contenant les utilisateurs et les mots de passe des personnes autorisées à se connecter. Le plus simple est d'utiliser l'utilitaire mksmbpasswd.sh avec le fichier /etc/passwd. Tapez la commande :

cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd

Editez ensuite le fichier /etc/smb.conf et décommentez les lignes :

encrypt passwords = yes

smb passwd file = /etc/smbpasswd

N'oubliez pas de relancer SAMBA (ou INET suivant la façon dont vous l'avez configuré) avant de faire des essais

Voyons maintenant comment connecter une machine Linux à une répertoire partagé sur une machine NT4. Prenons un exemple concret : soit une machine cirl1 sous Windows NT4 avec un répertoire travail partagé. Pour se connecter depuis une machine Linux avec cirl3 comme nom d'utilisateur et idefix comme mot de passe, il faut taper la commande suivante :

smbmount //cirl1/travail idefix -U \cirl3 -c 'mount /mnt/cirl1 -u 123 -g 456'

Les fichiers partagés sont alors visibles dans le répertoire /mnt/cirl1. Pour stopper la connexion, il suffit de démonter le répertoire avec la commande :

umount /mnt/cirl1


Index Page précédente Page suivante