Création d'un share

Samba est un utilitaire permettant de mettre en place un partage de fichier de type SMB qui sera à la fois compatible avec Linux et Microsoft. Dans cet article nous verrons comment l’installer et surtout comment le configurer !

I/ Installation de Samba et configuration

L’installation de Samba sous debian se fait assez simplement :

sudo apt install samba

Pour lancer le démon samba il nous suffira d’entrer cette commande :

sudo systemctl start smbd

Si vous faites un nmap sur votre propre machine vous verrez que de nouveaux ports se sont ouverts aussi bien en TCP :

samba1.png

Qu’en UDP :

samba2.png

Ce qu’il faut retenir ici c’est que les ports 139/445 TCP sont utilisés pour le partage de fichiers et d’imprimantes. Tandis que les ports 137 et 138 UDP sont utilisés afin de faire respectivement de la traduction de nom (NBT-NS) et de la transmission de faibles quantités de données.

Le fichier de configuration de samba est situé à cet emplacement : /etc/samba/smb.conf et est divisé en trois parties : « global », homes » et « printers ».

La premier ligne de configuration est la suivante :

workgroup = WORKGROUP

Cette option va spécifier quel est le domaine dans lequel se trouve le serveur SMB. Ici c’est le groupe de travail pas défaut (à modifier suivant les besoins). La seconde ligne est :

client_max_protocol = NT1

Cette ligne indique à Samba quelle est la version maximale supportée ici NT1 qui est quand même un peu vieux… Je l’ai donc modifié afin d’y mettre la dernière version du protocole SMB : SMB3_11 :

client_max_protocol = SMB3_11

Ensuite nous avons toute la partie log qui nous apprend qu’un fichier de log est généré pour chaque machine dans le répertoire /var/log/samba et ne peut pas avoir une taille qui dépasse les 1000KiB.

Passons directement à la partie « home » :

samba3.png

Ça c’est la configuration par défaut qui dit que le répertoire racine de chaque utilisateur est son répertoire /home/, qu’il y a accès en lecture seul et donc qu’il ne peut pas y créer de fichiers. La preuve :

samba4.png

Il sera cependant possible d’y avoir accès en lecture et en écriture en modifiant les valeurs :

read_only = yes
create_mask = 0700
directory mask_ = 0700

en

read_only = no
create_mask = 0775
directory mask_ = 0775

En plus de ces directives « par défaut » Samba propose plusieurs options supplémentaire qui sont décrites dans le man. Une d’entre elle m’a paru intéressante à présenter : veto files.

Cette directive va nous permettre de dresser une liste de fichiers qui ne seront pas visibles et donc pas accessibles. On pourra par exemple décider d’empêcher l’accès à tous les fichiers cachés (qui commencent par un .) :

veto files /^.*/