Linux - Installation et configuration de Samba

Qu'est-ce que la samba?

Samba (www.samba.org) est un serveur de fichiers gratuit pour Linux (licence GNU / GPL) compatible avec les réseaux Microsoft Windows. C'est-à-dire qu'il vous permet de partager en toute transparence des fichiers et des imprimantes entre ordinateurs d'un réseau Microsoft Windows, via un serveur Linux. Le serveur Linux sera considéré comme un serveur Windows NT par les clients Windows.

Comment fonctionne Samba?

Le protocole permettant la communication entre des machines Windows et Linux est appelé SMB (Server Message Block). Développé par Microsoft en 1987, basé sur un concept développé par IBM en 1985 (NetBIOS), le protocole repose sur NetBEUI (ainsi que sur TCP / IP). L’avantage de TCP / IP est qu’il a été largement adopté. TCP / IP est implémenté sur la plupart des systèmes d'exploitation (Unix, Linux, AmigaOS, MacOS, OS / 2, ...). selon le schéma suivant:

Applications
PME

NetBIOS

TCP / IPNetBEUI
IPX / SPX
Pilote réseau

L'architecture

Samba consiste en un serveur et un client. Il fournit également quelques outils pour tester la configuration, etc.

  • Le serveur est constitué de deux applications (appelées démons)
    • smbd, serveur principal, fournissant l'authentification et l'accès aux ressources
    • nmbd, pour afficher les services offerts par Samba
  • client : smbclient est un client linux fournissant une interface pour transférer des fichiers, visualiser des imprimantes.
  • smbtar : pour effectuer un transfert depuis ou vers un fichier TAR sous linux
  • testparm : pour vérifier la syntaxe du fichier smb.conf (le fichier de configuration Samba)

Installer Samba

Avant d'installer Samba, vous devez récupérer les fichiers RPM ou les sources, puis ajouter les protocoles TCP / IP et NetBIOS sur les ordinateurs clients.

L'installation (contrairement à la configuration) est très simple à mettre en œuvre. Comme première étape pour obtenir les RPM et les installer:

 rpm -ivh samba-common-2.0.6-x.i386.rpm rpm -ivh samba-2.0.6-x.i386.rpm rpm -ivh samba-client-2.0.6-x.i386.rpm 

ou vous pouvez utiliser:

 rpm -ivh samba - * .rpm 

Samba - Premier lancement

Après l'installation, vous pouvez démarrer le serveur Samba (sans partage de fichier ni imprimante) en exécutant la commande suivante:

 /etc/rc.d/init.d/smb start 

Le serveur doit renvoyer les lignes suivantes:

 Démarrage des services SMB: Démarrage des services NMB: 

La commande suivante vérifiera que les deux démons ont été lancés correctement:

 /etc/rc.d/init.d/smb status smbd (pid 1054) est en cours d'exécution ... nmbd (pid 1056) est en cours d'exécution ... 

Cette commande vous permet de redémarrer Samba:

 /etc/rc.d/init.d/smb restart 

Mais il est recommandé d'utiliser les deux commandes suivantes:

 /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start 

Configuration de Samba

La configuration de Samba se fait via un seul fichier de configuration: smb.conf. Ce fichier se trouve dans le répertoire / usr / local / samba / lib.

Ce fichier décrit les ressources que nous voulons partager et les autorisations / restrictions associées. Le fichier smb.conf contient plusieurs sections (chacune référencée par une ligne (en-têtes) contenant le nom de la section entre crochets), chacune comprenant un ensemble de paramètres du type suivant: attribut = valeur.

Notez que: les commentaires commencent par #.

Il y a trois sections principales:

  • La section [global] définit les paramètres généraux du serveur.
  • La section [homes] définit les paramètres de partage d'un répertoire.
  • La section [imprimantes] définit les paramètres des imprimantes partagées pour le serveur.

Section [globale]

Voici un exemple de section [global]:

 [global] # Même nom de groupe que celui du groupe de travail Windows = UNDERTAKER # Pas de compte invité Compte invité = personne; # Modes de partage d'accès multi-utilisateurs = oui; # Adresse IP de la carte réseau du serveur # interfaces du masque de sous-réseau = 10.194.2.100/255.255.255.0 # emplacement du fichier printcap printcap = / etc / printcap # partage toutes les imprimantes définies dans printcap load printers = yes # journal des fichiers journaux Samba level = 1 fichier journal = /var/log/samba/log.%m # mode de sécurité: (utilisateur / partage / serveur) security = utilisateur # Restreindre l’accès à certains sous-réseaux hôtes autorisés = 15.144. 127. # Empêcher l'accès à certaines machines hôtes autorisées = 15.144. SAUF 155.144.179.2 

Partage du répertoire personnel

La section [homes] permet de définir l'accès au répertoire de base de chaque utilisateur. Voici un exemple de section:

 [MAISONS] # commentaire visible depuis voisinage reseau comment = Répertoire personnel # affichage de la ressource pour tous navigable = non # possibilité d'écrire sur la ressource enregistrable = oui créer un masque = 0750 

Partage d'un répertoire personnalisé

Il est possible de définir un accès personnalisé à n’importe quel répertoire de la machine en créant une section portant le nom du répertoire:

Un exemple:

 [CCM] # commentaire visible from the voisinage reseau comment = Répertoire Ca Marche # chemin d'accès à la ressource chemin = / home / ccm # affichage de la ressource pour tous navigable = non # chemin d'accès à la ressource public = non # utilisateur autorisé à accéder à la ressource utilisateur = jeff, meandus, tittom # possibilité d'écrire sur la ressource à écrire = oui créer un masque = 0750 

Partage du lecteur de CD-ROM

Il est possible de partager un lecteur de CD-ROM (il devrait être pré-assemblé), par exemple en créant une section [cd-rom] comme suit:

 [CD-ROM] # commentaire visible from the voisinage reseau comment = lecteur de CD-ROM # chemin d'accès au lecteur chemin = / mnt / cdrom # accessible à tous public = oui # impossibilité d'écrire sur la ressource en écriture = non créer un masque = 0750 

Tester la configuration

Le programme testparm vous permet de vérifier la syntaxe du fichier de configuration (smb.conf). Il est recommandé d'exécuter cet utilitaire chaque fois que vous modifiez manuellement le fichier smb.conf. La syntaxe de testparm est la suivante:

 testparm smb.conf 

S'il ne renvoie aucun message d'erreur, la syntaxe du fichier smb.conf est correcte (elle vérifie uniquement la syntaxe, pas l'opération).

Afin de visualiser correctement les résultats, vous pouvez rediriger la sortie vers un fichier à l'aide de la commande suivante:

 testparm smb.conf> / directory / file 

Accéder à une ressource Samba sous Linux

Le client Samba (smbclient) fournit une interface de ligne de commande permettant d'accéder aux ressources Samba à partir d'un ordinateur Unix.

smbclient va d'abord vérifier l'existence d'un serveur Samba sur le réseau et lister les ressources qu'il partage avec la commande suivante:

 smbclient nom_serveur_smb 

Une fois les ressources identifiées, il est possible d’accéder à chacune d’elles avec la commande suivante:

 smbclient \\\ nom_serveur_smb \\ ressource -U nom d'utilisateur 

L'utilisateur sera invité à entrer. Il vous suffit ensuite d'envoyer les commandes FTP pour envoyer / recevoir des fichiers ou de parcourir les répertoires de la ressource.

L'accès à une imprimante se fait à l'aide de la commande suivante

 smbclient \\\ nom_serveur_smb \\ ressource -P 

L'impression du fichier /usr/local/samba/lib/etc.conf est effectuée à l'aide de la commande suivante:

 print /usr/local/samba/lib/etc.conf 

Pour afficher la file d'attente d'impression:

 queue 

Pour arrêter smbclient:

 sortie 

Envoyer un message

Le client Samba vous permet également d'envoyer des messages via un client LanManager (tant que l'ordinateur distant peut gérer ce type de message, par exemple avec WinPopUp). La syntaxe d'envoi d'un message (moins de 1600 octets) est la suivante:

 smbclient -M nom_ordinateur 

Lorsque vous avez fini d'écrire le message, appuyez sur Ctrl + D.

Monter une ressource partagée

Les utilitaires smbmount et smbumount vous permettent de monter / démonter des ressources SMB en tant que système de fichiers distant (tant que le noyau prend en charge le système de fichiers SMB).

Pour monter une ressource:

 smbmount // nom_serveur_smb / point_montage 

Pour démonter une ressource:

 smbumount / mount_point 

Document original publié sur CommentcaMarche.net

Article Précédent Article Suivant

Les Meilleurs Conseils