1.  Introduction

Samba est un logiciel développé sous la licence GPL qui permet de faire du partage de fichiers et d’imprimantes en utilisant le protocole SMB.

Samba intègre également un mécanisme d’authentification comme celui que l’on peut trouver sur serveur NT. ce qui permet l’utilisation de Samba en contrôleur de domaine (PDC)

Cette authentification peut se faire à partir de plusieurs sources différentes :

  • Une base propre à Samba (dans son fichier smbpasswd)
  • Un autre serveur Samba ou un serveur NT
  • Un annuaire LDAP

2.  Premiers pas

2.1  Installation

Sous mandriva :

# urpmi samba

Sous Ubuntu/Debian :

$ sudo apt-get install samba

Le gestionnaire de paquets proposera sans soute l’installation de plusieurs paquets.

2.2  Les démons

Ils sont au nombre de deux : nmbd (chargé de la gestion et de l’exploration des noms de machine) et smbd (partage de fichiers et d’imprimantes)

Sous Mandriva, ces sevices sont gérés par :

# /etc/rc.d/init.d/smb {start|stop|restart|status|condrestart}

Sous Ubuntu, ces deux services n’en font qu’un :

$ sudo /etc/rc.d/init.d/samba 
force-reload        reload        start        restart        start        stop

2.3  Démarrage

Après installation, le serveur de Samba devrait normalement être démarré (sans aucun partage de fichiers ou d’imprimante). Vérifions que les deux démons sont actifs :

$ ps aux |egrep "smb|nmb"
root      5089  0.0  0.1   6420   928 ?        Ss   13:05   0:00 /usr/sbin/nmbd -D
root      5091  0.0  0.1   9900   956 ?        Ss   13:05   0:00 /usr/sbin/smbd -D
root      5105  0.0  0.0   9900   128 ?        S    13:05   0:00 /usr/sbin/smbd -D
root      6177  0.0  0.4  10280  2408 ?        S    14:38   0:00 /usr/sbin/smbd -D

Si la commande précédente montrait que samba n’est pas démarré, nous pourrions le lancer

  • Sous Mandriva en tapant la commande suivante:
# service smb start
Starting SMB services:
Starting NMB services:
  • Sous Ubuntu en tapant la commande suivante :
# sudo /etc/init.d/samba start
 * Starting Samba daemons                                                   [ OK ]

2.4  Configuration de base

La configuration de Samba est effectuée par l’intermédiaire d’un fichier de configuration unique : /etc/samba/smb.conf.

Ce fichier décrit les ressources que l’on désire partager, ainsi que les permissions/restrictions qui leur sont associées. Le fichier smb.conf se découpe selon des rubriques (chacune référencé par une ligne contenant le nom de la section entre crochets) comprenant chacune un ensemble de lignes de paramètres du type attribut = valeur. Tout ce qui suit un «#» est un commentaire.

Le programme testparm permet de vérifier la syntaxe du fichier de configuration (smb.conf). Il est conseillé d’exécuter cet utilitaire à chaque modification manuelle du fichier smb.conf. La syntaxe de testparm est la suivante:

# testparm smb.conf

Si celui-ci ne renvoie aucun message d’erreur, la syntaxe du fichier smb.conf est alors correcte (il ne vérifie que la syntaxe, non le fonctionnement). Relancez maintenant samba afin qu’il prenne en compte la nouvelle configuration :

$ sudo /etc/init.d/samba reload

Voici un exemple de fichier smb.conf, nous étudierons une configuration plus complète à la fin de ce document.

[global]
# le nom du groupe de travail
   workgroup = WORKGROUP
# évite la recherche de noms NETBIOS à travers DNS
   dns proxy = no
# options du fichier journal de Samba 
   log file = /var/log/samba/log.%m
   syslog = 0
# un compte Unix est nécessaire pour atteindre le serveur
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
# autoriser l'accès à 127.xxx.xxx.xxx
   hosts allow = 127.
# ok pour 192.168.xxx.xxx mais pas 192.168.1.9
   hosts allow = 192.168. EXCEPT 192.168.1.9 

### Partages ####

# La section [homes] permet de définir l'accès au répertoire personnel de chaque utilisateur. 
[HOMES]
# commentaire visible sur voisinage reseau
  comment = Répertoire personnel
# affichage de la ressource pour tous
  browseable = no
# possibilité d'écrire sur la ressource
  writable = yes
# droits d'accès par défaut au fichier
  create mask = 0750

# Répertoire de partage pour tous
[Temporaire]
# chemin d'acces a la ressource
  path = /tmp
# affichage de la ressource pour tous
  browsable = yes
# accès autorisé sans authentification
  public = yes
# possibilité d'écrire sur la ressource
  writable = yes

3.  Acceder aux ressources partgées

3.1  Sous windows

Ouvrez l’explorateur windows puis cliquez sur « Favoris Réseau », « Tout le réseau » et « Réseau Microsoft Windows » le partage défini par le serveur samba doit apparaître ( sauf s’il est non « browsable »)

Dans le cas contraire, saisissez directement dans la barre d’adresse :
\\monposte

ou l’adresse ip du serveur :
\\192.168.2.3