Temps de lecture approximatif : 5 minutes
Sommaire
Le serveur de fichier sous Linux
Introduction à Samba
(source: http://www.commentcamarche.net/contents/1027-mise-en-place-de-samba-sous-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 :
|
|||||
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 nomLinux
, 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 correspondancesnom 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 lignewins server = w.x.y.z
- Le serveur Samba est configuré pour être aussi
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.
- Mise en place de Samba sous Linux
- Bases sur les réseaux Netbios/SMB
- La résolution de nom dans Samba
- Calcul des SID
- Mappage de groupe Samba
- Le serveur Samba
- HowTo su www.samba.org
- Samba en tant que contrôleur de domaine
- Samba – premiers pas
- Samba PDC avec annuaire OpenLDAP
- Windows dansera la Samba
- Samba PDC
- Partage de dossier et imprimantes dans un réseau local
- Programmes du paquet Samba
- OpenLDAP et Samba
- Authentification des clients Windows dans un domaine Linux/Samba
- Samba en tant que BDC (contrôleur de domaine secondaire)
- Administration d’un serveur Samba
- Serveur Samba
- Le voisinage réseau Windows sous Linux
- Samba et LDAP
- Conversion des dates pour samba depuis 1.1.1970
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.
“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/