Samba

Temps de lecture approximatif : 5 minutes

Le serveur de fichier sous Linux

Introduction à Samba

(source: http://www.commentcamarche.net/contents/1027-mise-en-place-de-samba-sous-linux )

samba_linux

Un des principaux intérêts des réseaux est la possibilité de partager des fichiers.
Il existe des protocoles (notamment le FTP, File Transfert Protocol) permettant de transférer des fichiers à l’aide de commandes à travers un réseau hétérogène (constitué de machines de types et de systèmes d’exploitation différents). Toutefois, ce type de manipulation est assez fastidieux. Ainsi, les réseaux Microsoft Windows (actuellement très répandus dans les réseaux locaux) offrent une manière totalement transparente de partager des fichiers, en permettant notamment la copie par simple glisser-déposer.

Cependant, ce type de réseau ne permet à la base qu’un partage de fichiers entre machines fonctionnant avec un système Microsoft Windows ou OS/2. Ainsi, si vous possédez une machine sous Linux, il existe une solution : utiliser Samba. D’autre part, Samba permet de définir des niveaux d’accès très pointus très proches de ceux proposés par un serveur Windows NT. Samba est donc une alternative économique et robuste à un recours à un serveur Windows NT.

Qu’est-ce que Samba ?

Samba (www.samba.org) est un serveur de fichiers pour Linux (en licence GNU GPL, donc libre) compatible avec les réseaux Microsoft Windows. C’est-à-dire qu’il permet de partager les fichiers et les imprimantes d’un serveur linux avec les ordinateurs d’un réseau microsoft windows, et de manière totalement transparente : Linux passe pour un serveur Windows NT aux « yeux » des clients Windows. Les clients pour Microsoft Windows deviennent alors en quelque sorte des clients Linux…

Comment fonctionne Samba ?

Le protocole de communication permettant cette communication entre Windows et Linux s’appelle SMB (Server Message Block). Il s’agit en fait de l’implémentation sur Unix, donc Linux d’une émulation d’un serveur  LanManager, développé par Microsoft vers 1987, à partir d’une création d’IBM (1985). Le projet Samba a été initié dès 1991 puis développé par un Australien, Andrew Tridgell. Celui-ci lui donna ce nom, en choisissant un nom voisin de SMB en interrogeant un dictionnaire Unix, par la commande grep : grep « ^s.*m.*b » /usr/dict/words

le protocole SMB fonctionne au-dessus de plusieurs protocoles. Il nécessite NetBIOS au dessus de TCP/IP (par contre NetBEUI n’est pas utile). L’intérêt de TCP/IP provient du fait qu’il a été très largement adopté. Ainsi TCP/IP est déjà implémenté sur la plupart des systèmes d’exploitation (Unix, Linux, AmigaOS, MacOS, OS/2, …). selon le schéma suivant :

Applications
SMB
NetBIOS
TCP/IP NetBEUI
IPX/SPX
Pilote Réseau

 

Architecture de Samba

Samba est constitué d’un serveur et d’un client, ainsi que de quelques outils permettant de réaliser des services pratiques ou bien de tester la configuration.

  • Le serveur est constitué de deux applications (appelées démons):
    • smbd, noyau du serveur, fournissant les services d’authentification et d’accès aux ressources
    • nmbd, permettant de montrer les services offerts par Samba (affichage des serveurs Samba dans le voisinage réseau, …)
  • Le client:  smbclient est un client pour Linux fournissant une interface permettant de transférer des fichiers, accéder à des imprimantes.
  • smbtar: permettant d’effectuer un transfert de ou vers un fichier TAR sous Linux
  • testparm vérifiant la syntaxe du fichier smb.conf, le fichier de configuration de Samba.

Le serveur offre ses ressources (système de fichiers, imprimantes …) aux clients Windows qui s’y connecteront sous un compte créé par root, après une authentification par mot de passe. Chaque demande de connexion par Samba, d’une station au serveur Linux, laisse une trace stockée dans un fichier log.%m, situé dans le répertoire /var/log/samba ( %m désigne le nom de la station). Toute connexion pourra donc être identifiée de manière précise puis examinée sur une ligne de ce fichier: nom d’utilisateur, nom de la machine, date, heure de début, heure de fin, services utilisés… Samba peut implémente la sécurité au niveau de l’utilisateur, (ce qui est recommandé) et non au niveau des ressources comme c’est le cas dans les réseaux de type WorkGroup.

Le client Samba permet aussi d’envoyer des messages sur un client LanManager (pour peu que la machine distante permette de gérer ce type de message, par exemple avec WinPopUp). La syntaxe d’envoi d’un message (de moins de 1600 octets) est la suivante :

smbclient -M nom_de_la_machine

Lorsque vous avez fini d’écrire le message, il faut appuyer simultanément sur Ctrl+D.

Quelques points importants

Le serveur Samba doit pouvoir « résoudre », c’est-à-dire trouver le N° IP correspondant à un nom NetBios envoyé par une station, en quête d’un serveur … Lorsqu’on paramètre une station, en effet, on lui donne un nom personnel et un nom de workgroup, pas de nom ni d’adresse IP de serveur ! Il faut aider Samba ! Si on indique rien la recherche s’effectue par broadcast dans le même sous-réseau et apparemment cela ne fonctionne pas toujours bien. Il est préférable d’indiquer au serveur, dans /etc/smb.conf, une méthode explicite de résolution:

    • La méthode « host »: Le serveur utilise le nom NetBios comme nom Linux, et fait appel à un serveur DNS. Par défaut, il s’agit du fichier /etc/hosts.
      En cas de problème de connexion d’une station, aller voir et si nécessaire compléter ce fichier.
    • La méthode « wins »: C’est celle qui semble recommandée …
      •  Le serveur Samba est configuré pour être aussi serveur wins. Il enregistre alors les correspondances nom netbios et adresse IP
      • Sur chaque station de travail, dans voisinage réseau renseigner l’onglet Configuration Wins en indiquant l’adresse IP du serveur.
      • Dans smb.conf, section [global], dé-commenter la ligne
        wins support = yes
        SANS modifier la ligne wins server = w.x.y.z

Mon scrapbook sur Samba

Pour rappel, ce paragraphe « scrapbook » me permet de partager avec vous les liens sur différents articles qui m’ont aidés ou que j’ai trouvé intéressants.
Merci de me signaler tous liens devenus obsolètes.
Pour certains articles je mets à disposition une capture « pdf » des pages Web au cas où le lien viendrait à disparaître ( si si…ça arrive ( ͡~ ͜ʖ ͡°) ).
Je profite au passage pour remercier les auteurs et contributeurs de tous ces sites pour leurs articles très intéressants qui m’ont permis de progresser.

 Mes notes sur Samba

En cliquant sur le lien ci-dessous, vous trouverez mes notes prises au fil du temps sur le service SAMBA. Veuillez excuser la brièveté et la présentation très minimaliste de la page.   ;-)

Notes Samba


“La connaissance a plus de valeur et s’accroît rapidement lorsqu’elle est partagée et accessible librement…”

Ce document est publié sous licence Creative Commons
Attribution, Partage à l’identique, Contexte non commercial 3.0 : http://creativecommons.org/licenses/by-nc/3.0/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.