|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mise en place de Samba sous LinuxIntroductionUn 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.
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). Mis au point par Microsoft en 1987, en reprenant un concept mis au point par IBM en 1985 (NetBIOS), ce protocole s'appuie sur NetBEUI (ainsi que TCP/IP). 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 SambaSamba 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.
Installation de SambaAvant d'installer Samba, il faut bien évidemment récupérer les fichiers RPM ou bien les sources, et ajouter les protocoles TCP/IP et NetBIOS sur les machines clientes afin de leur permettre d'accèder aux services de Samba. L'installation (contrairement à la configuration) est très simple à mettre en oeuvre. Il suffit dans un premier temps de récupérer les fichiers RPM, puis dans un second temps de 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.rpmou bien de façon plus générale : rpm -ivh samba-*.rpm Premier démarrage de SambaAprès installation, le serveur de Samba devrait normalement être apte à démarrer (sans aucun partage de fichiers ou d'imprimante) en lançant la commande suivante : /etc/rc.d/init.d/smb startLe serveur devrait alors renvoyer les lignes suivantes : Starting SMB services : Starting NMB services:La commande suivante permet de contrôler que les deux démons sont correctement lancés /etc/rc.d/init.d/smb status smbd (pid 1054) is running... nmbd (pid 1056) is running...Il existe une commande permettant de redémarrer Samba : /etc/rc.d/init.d/smb restartOn lui préfèrera les deux commandes suivantes : /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start Configuration de SambaLa configuration de Samba est effectuée par l'intermédiaire d'un fichier de configuration unique: smb.conf. Ce fichier est située dans le répertoire /usr/local/samba/lib. Ce fichier décrit les ressources que l'on désire partager, ainsi que les permissions/restrictions qui leur sont associées. Le fichier smb.conf se découpe selon des rubriques (chacune référencé par une ligne contenant le nom de la section entre crochets) comprenant chacune un ensemble de lignes de paramètres du type attribut = valeur. Une ligne commençant par un # est une ligne de commentaires. Il existe 3 sections principales :
Section [global]Voici un exemple de section [global] : [global] # même nom de groupe que celui sous Windows (Voisinage réseau) workgroup = UNDERTAKER # aucun compte invité guest account = nobody ; # accès multi-utilisateur share modes = yes ; # Adresse IP de la carte réseau du serveur # et masque de sous-réseau interfaces = 10.194.2.100/255.255.255.0 # emplacement du fichier printcap (imprimantes sur le serveur Linux) printcap = /etc/printcap # partage de toutes les imprimantes définies dans printcap load printers = yes # fichier journal de Samba log level = 1 log file = /var/log/samba/log.%m # mode de sécurité : (user / share / server) security = user # restreindre l'accès a certains sous-réseaux hosts allow = 15.144. 127. # empecher l'accès à certaines machines hosts allow = 15.144. EXCEPT 155.144.179.2 Partage du répertoire personnelLa section [homes] permet de définir l'accès au répertoire personnel de chaque utilisateur. Voici un exemple de section : [HOMES] # commentaire visible depuis le voisinage reseau comment =Répertoire personnel # affichage de la ressource pour tous browseable = no # possibilité d'écrire sur la ressource writable = yes create mask = 0750 Partager un répertoire quelconqueIl est possible de définir une accès personnalisé à n'importe quel répertoire de la machine en créant une section portant le nom que le veut donner à la ressource. Celui-ci contiendra entre autres un paramètre path donnant le chemin d'accès à la ressource. Voici un exemple de section personnalisée : [CCM] # commentaire visible depuis le voisinage reseau comment = Répertoire Ca Marche # chemin d'acces a la ressource path = /home/ccm # affichage de la ressource pour tous browseable = no # chemin d'acces a la ressource public = no # utilisateur autorise a acceder a la ressource user = jeff,meandus,tittom # possibilité d'écrire sur la ressource writable = yes create mask = 0750 Partage d'un lecteur de CD-ROMIl est ainsi possible de partager un lecteur de CD-ROM (celui-ci devant être préalablement monté) , en créant par exemple une section [cd-rom] comme suit : [CD-ROM] # commentaire visible depuis le voisinage reseau comment = lecteur de CD-ROM # chemin d'accès au lecteur path = /mnt/cdrom # accessible à tous public = yes # impossibilité d'écrire sur la ressource writable = no create mask = 0750 Test de la configurationLe programme testparm permet de vérifier la syntaxe du fichier de configuration (smb.conf). Il est conseillé d'exécuter cet utilitaire à chaque modification manuelle du fichier smb.conf. La syntaxe de testparm est la suivante : testparm smb.confSi celui-ci ne renvoie aucun message d'erreur, la syntaxe du fichier smb.conf est alors correcte (il ne vérifie que la syntaxe, non le fonctionnement). Afin de pouvoir visualiser correctement les résultats, vous pouvez rediriger la sortie vers un fichier par la commande testparm smb.conf > /répertoires/fichier Accéder à une ressource Samba sous LinuxLe client Samba (smbclient) permet de fournir une interface en ligne de commande pour accéder aux ressources Samba à partir d'une machine de type Unix. smbclient permet en premier lieu de vérifier l'existence d'une serveur Samba sur le réseau et de lister les ressources qu'il partage grâce à la commande : smbclient nom_serveur_smb Une fois les ressources identifiées, il est possible d'accèder à chacune d'entre elles par la commande : smbclient \\\nom_serveur_smb\\ressource -U nom_utilisateurUn mot de passe devrait être demandé à l'utilisateur. Il suffit ensuite d'envoyer des commandes FTP afin d'envoyer/recevoir des fichiers ou bien de parcourir les répertoires de la ressource. L'accès à une imprimante se fait par la commande smbclient \\\nom_serveur_smb\\ressource -P
Envoyer un messageLe 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, comme par exemple avec WinPopUp). La syntaxe d'envoi d'un message (de moins de 1600 octets) est la suivante : smbclient -M nom_de_la_machineLorsque vous avez fini d'écrire le message, il faut appuyer simultanément sur Ctrl+D. Monter une ressource Samba partagéeLes utilitaires smbmount et smbumount permettent de monter de démonter des ressources SMB en tant que système de fichiers distant (pour peu que le noyau supporte le système de fichiers SMB). Pour monter une ressource la syntaxe est la suivante : smbmount //nom_serveur_smb /point_de_montage Pour démonter une ressource la syntaxe est la suivante : smbumount /point_de_montage Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||