Qu’est-ce qu’un serveur Samba?

Un serveur Samba est ca­rac­té­risé comme tel lorsqu’une suite de logiciels gratuits est utilisée pour partager les res­sources de systèmes in­com­pa­tibles par nature. La licence publique générale GNU permet l’im­plan­ta­tion du protocole SMB (Server Message Block), qui a donné le nom à la suite Samba, dans les systèmes d’ex­ploi­ta­tion Linux et Unix.  Ce protocole de partage des res­sources (SMB), aussi connu dans sa version plus récente CIFS pour Common Internet File System ou système de fichier Internet commun, était à l’origine utilisé comme réseau local Windows éta­blis­sant des in­te­rac­tions avec des serveurs de fichiers, d’im­pri­mantes et autres services.Grâce à une telle mise en œuvre des or­di­na­teurs sous Windows, Linux et Unix peuvent être connectés, de manière à pouvoir échanger des données ou utiliser con­join­te­ment des im­pri­mantes et autres services. Peu importe si le serveur est installé sous Linux ou Unix, car la quatrième version du logiciel prend en charge le rôle d’Active Directory Domain Con­trol­lers, par lequel une au­to­ri­sa­tion et au­then­ti­fi­ca­tion cen­tra­li­sée des dif­fé­rents or­di­na­teurs et des uti­li­sa­teurs est possible.

Pour con­fi­gu­rer un protocole SMB (ou bien CIFS) il faut installer quelques modules de la suite du serveur Samba. Les quatre daemons (tâches de fond, ou processus qui s’exécute en arrière-plan) suivants forment le noyau de cette suite :

  • samba: le daemon ajouté dans la version quatre, qui permet la gestion de l’Active Directory Domain Con­trol­lers. Con­fi­gu­ra­tion sur smb.conf
  • smbd: partage des données et im­pri­mantes. Con­fi­gu­ra­tion sur smb.conf
  • nmbd: res­pon­sable de la ré­so­lu­tion des noms NetBIOS dans les adresses IP, peut être configuré sur le fichier smb.conf
  • winbindd: résoud les in­for­ma­tions de groupes d’uti­li­sa­teurs, il les rend com­pré­hen­sibles pour UNIX/Linux et offre des pos­si­bi­li­tés de con­fi­gu­ra­tions autonomes

Con­fi­gu­rer un serveur SAMBA: Comment ça marche?

SMB/CIFS est le protocole standard pour les partages simples de réseau sous Windows. Toutefois, l’échange tout comme le partage de données est toujours pro­blé­ma­tique lorsque dif­fé­rents systèmes d’ex­ploi­ta­tion comme Linux et Windows sont connectés en réseau. Lorsque vous aurez fini de con­fi­gu­rer un serveur Samba, celui-ci va permettre la trans­mis­sion entre les dif­fé­rents terminaux, de manière à résoudre ces problèmes de com­pa­ti­bi­lité. Comme le paquet Samba est constitué de com­po­sants open source, aucun paiement ne vous sera demandé. Vous trouverez ci-dessous le des­crip­tif des étapes in­dis­pen­sables à la con­fi­gu­ra­tion d’un serveur Linux-Samba.

Étape 1: Ins­tal­la­tion

Vous devez tout d’abord choisir entre agir di­rec­te­ment sur votre serveur ou bien par accès à distance. Par la suite, entrez la commande suivante pour installer le paquet Samba sur le serveur :

apt-get install samba

Étape 2: Ajouter les comptes uti­li­sa­teurs à la base de données Samba

Après avoir installé le serveur Samba, les comptes uti­li­sa­teurs cor­res­pon­dants doivent être activés. Quelques dis­tri­bu­tions Linux syn­chro­ni­sent au­to­ma­ti­que­ment les comptes d’uti­li­sa­teurs de système dis­po­nibles dans le réseau et elles les ajoutent à la base de données Samba. Par exemple si le paquet libpam-smbpass est installé, les mots de passe Linux et SMB sont syn­chro­ni­sés. Dans d’autres cas, il est né­ces­saire de gérer ma­nuel­le­ment les comptes uti­li­sa­teurs pour que ces derniers puissent bé­né­fi­cier des services de réseau cor­res­pon­dants.

L’ad­mi­nis­tra­tion des comptes uti­li­sa­teurs est contrôlée par la commande smbpasswd com­pre­nant quatre pa­ra­mètres a, x, d et e re­pré­sen­tés par leurs lignes de commandes res­pec­tives comme ci-dessous :

sudo smbpasswd -a NOM UTILISATEUR (MOT DE PASSE)
sudo smbpasswd -x NOM UTILISATEUR
sudo smbpasswd -d NOM UTILISATEUR
sudo smbpasswd -e NOMU TILISATEUR

La première commande permet d’ajouter l’uti­li­sa­teur respectif à la base de données du serveur Samba et activer le partage de réseau. Le mot de passe uti­li­sa­teur (suivant le nom d’uti­li­sa­teur) peut être attribué ou bien changé. Ce dernier peut être identique au mot de passe Linux ou bien s’en dif­fé­ren­cier. La deuxième commande (x) expulse l’uti­li­sa­teur de la base de données tandis que la commande (d) le désactive. La commande (e) permet d’activer (ou de réactiver) un compte uti­li­sa­teur. Le serveur peut charger et prendre en compte toutes les mo­di­fi­ca­tions ef­fec­tuées grâce à la commande suivante :

sudo service smbd reload

Étape 3: Con­fi­gu­rer le partage de données

Au­to­ri­sa­tions générales

Les au­to­ri­sa­tions générales peuvent être dé­ter­mi­nées dans le fichier de con­fi­gu­ra­tion du serveur Samba. Ce fichier regroupe toutes les au­to­ri­sa­tions ad­mi­nis­tra­tives et les pro­prié­tés générales du serveur. Ouvrez le fichier avec la commande suivante :

sudo gedit /etc/samba/smb.conf

Le fichier smb.conf contient de nombreux exemples non commentés, qui sont en règle générale inactifs et ca­rac­té­ri­sés par des losanges (#), ou point-virgules (;). Si vous souhaitez activer un tel exemple, il vous suffit de supprimer le caractère spécial. Vous pouvez insérer de nouvelles entrées selon les places dis­po­nibles sur le réseau à la fin du fichier en plaçant le nouveau nom entre crochets. La ligne qui suit servira à indiquer le chemin jusqu’au dossier, voire au fichier cor­res­pon­dant ainsi que ses pa­ra­mètres. Si vous souhaitez par exemple partager un dossier avec des photos et au­to­ri­sant des ajouts et mo­di­fi­ca­tions d’autres uti­li­sa­teurs, vous pouvez con­fi­gu­rer ces pa­ra­mètres avec les commandes suivantes :

[Photos]
path= /documents/photos
writeable = yes
guest ok = yes

Pour prendre en compte ces mo­di­fi­ca­tions, vous devez à nouveau charger le serveur, grâce à la commande suivante:

sudo service smbd reload

Au­to­ri­sa­tions per­son­nelles

Afin d’établir des au­to­ri­sa­tions spé­ci­fiques, l’uti­li­sa­teur doit d’abord ap­par­te­nir au groupe de partage Samba. Utilisez la commande suivante pour ajouter un uti­li­sa­teur dans ce groupe :

sudo usermod -aG sambashare NOM UTILISATEUR

L’ap­par­te­nance au groupe s’effectue dès lors que l’uti­li­sa­teur s’en­re­gistre, ou que Linux est redémarré. La mise en place des au­to­ri­sa­tions ne s’ef­fec­tuera pas dans le fichier smb.conf mais plutôt dans un fichier à part, qui se situe en général dans le dossier /var/lib/samba/user­shares. Chacun de ces fichiers contient le nom de partage (Sharename) et le chemin d’accès aux au­to­ri­sa­tions, ainsi qu’un espace optionnel pour les com­men­taires. Ces fichiers con­tien­nent aussi une liste de contrôle d’accès partagée entre uti­li­sa­teurs ACL (Access control list, qui met les dif­fé­rentes au­to­ri­sa­tions à dis­po­si­tion des uti­li­sa­teurs qui peuvent aussi dans certains cas les modifier), et qui énumère également les accès. Voici un exemple de commande : 

net usershare add Photos /documents/photos Vacances 2015 Everyone: r, UTILISATEUR1: f

Serveur Samba: Windows et Linux unis en réseau

Si l’uti­li­sa­tion commune d’im­pri­mantes et de fichiers en réseau depuis dif­fé­rents systèmes d’ex­ploi­ta­tion pose problème, l’ins­tal­la­tion d’un serveur Samba  est la solution idéale. Les logiciels gratuits qui le cons­ti­tuent in­tro­dui­sent le protocole réseau SMB/CIFS dans les systèmes Unix et Linux.  Cela permet de rendre les appareils Windows com­pa­tibles en réseau, peu importe que cela vienne du client ou du serveur.

Un serveur Linux-Samba permet d’organiser les au­to­ri­sa­tions de partage de données et autres services en réseau (comme un serveur Windows), mais aussi de prendre en charge le rôle d’Active Directory Domain Con­trol­lers. Si vous souhaitez con­fi­gu­rer un serveur Samba et le gérer, vous pouvez faire cela depuis votre or­di­na­teur par accès à distance. Vous avez également le choix d’entrer di­rec­te­ment des commandes sous forme de lignes de commandes, ou bien installer une surface graphique sup­plé­men­taire visant à sim­pli­fier ces processus.

Aller au menu principal