Créer un partage de fichiers avec SaMBa sous Linux

Introduction

Cette procédure a pour but de mettre en place un partage de fichiers SMB sous Linux, compatible avec les postes Windows.

Installation des pré-requis

Pour installer SaMBa et les outils requis, entrer la commande suivante (après mise à jour de la liste des paquets de préférence) :

apt-get install samba cifs-utils smbclient

Configuration d'un partage de fichiers avec authentification basique

Créer le répertoire qui sera partagé et y attribuer les droits d'accès à tous :

mkdir /partage
chmod 777 /partage

Renommer le fichier de configuration par défaut de Samba pour pouvoir le restaurer en cas de problème :

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Créer un nouveau fichier de configuration pour Samba :

nano /etc/samba/smb.conf

Et y insérer les lignes suivantes :

[global]
server string = filer01
workgroup = WORKGROUP
netbios name = filer01
public = yes
encrypt password = true

[partage]
path = /partage
browseable = yes
readonly = no
writeable = yes
valid user = user1, @usr_partage
comment = partage de fichiers test
create mask = 777
directory mask = 777

Explication des directives ci-dessus :

  • [global] répertorie tous les réglages généraux qui s'appliquent à tous les partages
  • server string : nom du serveur
  • workgroup : groupe de travail Windows
  • netbios name : nom NetBios de la machine
  • public : afficher ou non les partages comme publics
  • [partage] répertorie tous les réglages pour un partage particulier qui sera nommé “Partage”.
  • path : chemin du répertoire à partager
  • browseable : choisir ou non si le partage sera visible sur le réseau (concerné par la découverte réseau ou non)
  • readonly : choisir si le partage sera en lecture seule ou non
  • writeable : autoriser ou non l'écriture sur le partage
  • valid users : liste des utilisateurs et groupes autorisés à se connecter au partage (groupes avec @ devant, valeurs séparées par une virgule)
  • comment : description du partage
  • create mask : permissions linux à appliquer sur les fichiers du partage
  • directory mask : permissions linux à appliquer sur les dossier du partage

Ensuite il faut créer les utilisateurs et les groupes dans Samba. Commençons par les utilisateur.

Il faut d'abord créer l'utilisateur dans Linux :

adduser user1

Le mot de passe et les informations du compte vous seront demandés directement.

Puis les créer dans Samba :

smbpasswd -a user1

Même chose, lorsque ce sera demandé, créer un mot de passe pour l'utilisateur.

Pour les groupes, il y a juste besoin de créer un groupe Linux et d'y ajouter des utilisateurs (ici “user2” sera ajouté au groupe “usr_partage”) :

addgroup usr_partage
adduser user2 usr_partage

Pour appliquer les paramètres, relancer le service Samba :

service smbd restart

En cas de dysfonctionnement, la commande testparm permet de lister les erreurs relevées dans la configuration du serveur.

On peut désormais vérifier que le partage est fonctionnel depuis un poste sur le réseau, en utilisant le chemin UNC du partage (du type \\serveur\partage ou “serveur” peut être l'adresse IP ou le nom NetBios du serveur) :

Connexion au partage SMB

:!: Sous Windows, lors de l'authentification, bien préciser devant le nom d'utilisateur l'adresse IP ou le nom NetBios du serveur en lieu et place du domaine tel que présenté à l'étape (1) ci-dessus (séparés par un \).

Et voilà, le partage de fichiers est fonctionnel !

Accès au partage de fichiers

Notes

Monter un partage SMB sous Linux :

mount -t cifs -o username=test,password=123 //172.22.251.25/partage /tmp/machin