Anda di halaman 1dari 14

Service Samba

Service Samba
1. Introduction
Samba est un logiciel libre qui transforme une machine Unix/Linux en un serveur de fichiers et dimprimantes LAN MANAGER, il utilise le protocole SMB (Server Message Block, connu aussi par Session Message Block, NetBIOS ou LanManager). Le protocole SMB est utilis par les machines Windows pour partager leurs ressources (disques, imprimantes). Les machines Unix/Linux peuvent aussi utiliser ce protocole pour accder aux ressources sur le systme Windows et rciproquement. Samba permet quatre fonctionnalits principales : Partager des disques des machines sous Unix/Linux avec des machines sous Windows Accder au partage SMB partir dune machine sous Unix/Linux Partager une imprimante sous Unix/Linux avec les machines sous Windows Partager une imprimante sous Windows avec des machines sous Unix/Linux

2. Installation
Le protocole TCP/IP doit tre install sur toute machine qui veulent utiliser Samba car il ne fonction que sur TCP/IP. Le package Samba est livr par dfaut avec la plus par des distributions Linux. On peut aussi tlcharger la dernire version partir du site www.samba.org ou par ftp ftp://ftp.samba.org. Le fonctionnement de Samba sarticule autour de deux programmes dmons : smbd et nmbd dont le comportement est pilot par le contenu dun important fichier de configuration baptis smb.conf. Ils sont installer par dfaut dans le rpertoire /usr/sbin et peuvent tre excut au dmarrage du systme : /usr/sbin/smbd : Ce programme fondamental se charge de la gestion des ressources partages (fichiers et dimprimantes). Il fournit aussi les fonctionnalits dauthentification. : Ce programme fondamental participe la fonctionnalit de parcours du voisinage rseau et fournit lquivalent dun serveur WINS. 1

/usr/sbin/nmd

Service Samba

3. Lancement des dmons :


Dans la plus part des distributions les deux dmons de Samba, /usr/sbin/smbd et /usr/sbin/nmbd, sont grs partir des scripts de dmarrage des dmons dans /etc/rc.d/init.d/smb. On peut aussi les lancer partir du dmon inetd ou comme des dmons indpendants. Service smb start Ou bien /etc/rc.d/init.d/smb start Pour son bon fonctionnement Samba utilise un ensemble de ports il faut les activer dans /etc/services. Si les lignes suivantes sont des commentaires il faut enlever le # au dbut de la ligne. Si elles sont absentes il faut les ajouter dans le fichier.
netbios-ns netbios-ns 137/tcp 137/udp nbns nbns nbdgm nbdgm nbssn

netbios-dgm 138/tcp netbios-dgm 138/udp netbios-ssn 139/tcp

4. Le fichier de configuration /etc/smb.conf


La configuration de Samba est contrle par le fichier smb.conf qui se trouve soit dans le rpertoire /etc ou bien /etc/samba. Il dfini les ressources systme partager et les restrictions leurs appliquer. Ce fichier est compos de sections, chacune delles commence par un entte portant le nom de la section et comporte un ensemble de directives qui paramtrent les ressources partages.

4.1 Les sections prdfinies


La section [Global]
Cette section regroupe des options gnrales. Elles peuvent jouer un rle dans le mode d'accs tous les partages. Il est primordial de bien configurer cette partie. Des commentaires sont crits dans le fichier de configuration. Celle ci ne devrait donc pas poser de problmes.

Service Samba Exemple : [Global] # Nom du groupe de travail (doit tre identique au groupe de travail des machines Windows) workgroup = workgroup # Accs multi-utilisateur share modes = yes # Mode de scurit (user security = user # Cryptage des mots de passe Encrypt passwords = yes # Chemin du fichier contenant les mots de passe smb passwd file = /etc/samba/smbpasswd # Restriction de l'accs a certains sous rseaux # Valeur par dfaut : toutes les machines hosts allow = 15.144.127 # Gestion d'exception pour certaines machines hosts allow = 15.144 EXCEPT 15.144.179.2 # Gestion des interdictions # Cette option est inutile si utilise avec la prcdente # Valeur par dfaut : aucune station hosts deny = 15.143. La section [Homes] authentification faite par login et mot de passe)

La section [Homes] permet chaque utilisateur d'accder son rpertoire personnel. Attention, l'option public autorise les utilisateurs non authentifis accder un partage. Pour prserver la scurit des donnes, il est conseill de ne pas utiliser cette option dans cette section. Voici une liste d'options courantes et leur utilit : [Homes] # Commentaire visible depuis le voisinage rseau comment =Rpertoire personnel # Affichage de la ressource pour tous # valeur par dfaut : yes browseable = no 3

Service Samba # possibilit d'crire sur la ressource # valeur par dfaut : no writable = yes # acces sans authentification # suivant les versions de samba, "public" peut etre remplac par "guest ok" # valeur par dfaut : no public= no # droits maximum accords lors de la cration de fichier # ces droits sont en intersection (ET) avec les droits Linux (umask) # valeur par dfaut : 0744 create mask = 0750 # Droits maximum accords lors de la cration d'un dossier # valeur par dfaut : 0755 directory mask = 0750 4.2 Partager un rpertoire quelconque : Partager un ou plusieurs dossier ncessite de crer une section personnalise portant le nom que l'on souhaite affecter la ressource. Ce type de section dispose des mmes options que la section [Homes] plus quelques unes. Certaines de ces options pourraient tre utilises dans la section [Home] mais ne serait d'aucune utilit (comme valid users par exemple). Voici un exemple comment : [Images] # Chemin absolu de la ressource a partage path = /home/images # Utilisateurs autoriss accder la ressource # valeur par dfaut : tous les utilisateurs valid users = toto,titi,tata # Groupe autoris accder a la ressource valid users = @administrateurs # autoriser certains utilisateurs seulement a accder a la ressource en criture write list = jean, jacques, martin # Affiche ou non les fichiers cachs # valeur par dfaut : yes hide dot files = no 4

Service Samba # Autorise un certain nombre de connections # valeur par dfaut : 0, nombre illimit de connections max connections = 5 # Place un groupe comme propritaire de tous les fichiers crs force group = @admin 4.3 Partage dimprimantes sous Linux avec des machines Windows Il faut tout dabord configurer limprimante sur la machine Unix/Linux. Une fois partage par Samba, un utilisateur sur une machine Windows ne peut imprimer sur cette imprimante que sil ouvre une session rseau avec un nom dutilisateur et un mot de passe valides dans le serveur Unix/Linux. Pour le faire il faut ajouter les entres suivantes dans le fichier de configuration /etc/samba/smb.conf : [global] printing = bsd printcap name = /etc/printcap load printers = yes log file = /var/log/samba-log.%m lock directory = /var/lock/samba [printers] comment = All Printers security = server path = /var/spool/lpd/lp browseable = no printable = yes public = yes writable = no create mode = 0700 [ljet] 5

Service Samba security = server path = /var/spool/lpd/lp printer name = lp writable = yes public = yes printable = yes print command = lpr -r -h -P %p %s Les lignes suivantes dterminent si toutes les imprimantes dclares dans le fichier /etc/printcap seront charges par dfaut. Dans ce cas il nest pas ncessaire de dclarer les imprimantes individuellement. printcap name = /etc/printcap load printers = yes Remarques : La commande testparm permet de vrifier la syntaxe du fichier smb.conf Si la machine plus quune interface rseau, on peut spcifier dans la section globale celle quon veut utiliser pour laccs aux partages Samba : interface=172.161.5/24 Laccs aux partages ncessite une authentification. Dans certains cas, des problmes de compatibilit entre Samba et Windows peuvent apparatre. En effet samba par dfaut utilise des mots de passe non chiffrs alors que Windows les chiffre. Pour palier ce problme il faut soit configurer Samba pour utiliser les mots de passe chiffrs, soit de configurer les machines Windows pour ne pas chiffrer les mots de passe. Pour forcer les machines Windows il faut agir sur la base des registres. Pour configurer Samba utiliser les mots de passe chiffrs, on ajoute les lignes suivantes dans la section [globale] du fichier /etc/samba/smb.conf: encrypt passwords = yes smb passwd file = /etc/smbpasswd 6 #doit tre le mme que dans /etc/printcap

Service Samba

5. Compte utilisateur Samba


On a pu observer diffrentes options et variables dans la configuration du serveur. "Valid users" par exemple permet de limiter l'accs une ressource certains utilisateurs. Cependant, nous n'avons pas parl de compte utilisateurs. En effet, le service smb utilise ses propres comptes utilisateurs. Il faut donc crer chaque compte. Pour cela, on utilise la commande : smbpasswd -a MonCompte smb passwd : MonMotDePasse Elle permet de crer un compte Moncompte avec comme mot de passe MonMotDePasse. Procder ainsi pour chaque utilisateur devient vite fastidieux si leur nombre est lev. Un script est donc disponible pour faciliter cette tche. Il s'appelle mksmbpasswd et s'appuie sur le fichier /etc/passwd pour crer les comptes. Pour plus d'informations, il vous faudra excuter "man mksmbpasswd".

6. Accs aux ressources partages


A partir des clients Windows Laccs aux partages Samba se fait en tapant dans lexplorateur Windows : \\<hostname>\<sharename> Il faut sauthentifier par un nom dutilisateur et un mot de passe valide. Pour viter les problmes lis aux noms (majuscule/minuscule ) dautres options sont possibles voici un exemple : ; Mangle case = yes seems to give the correct filenames ; for Win95/98/NT. mangle case = yes ; If samba is case sensitive when looking for files case sensitive = no ; Default case of files that are created default case = lower ; Preserve case for all filenames 7

Service Samba preserve case = yes ; Preserve case for dos (8.3) filenames short preserve case = no A partir des clients Unix Le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accder aux ressources Samba partir d'une machine de type Unix. smbclient permet en premier lieu de vrifier l'existence d'une serveur Samba sur le rseau et de lister les ressources qu'il partage grce la commande : smbclient nom_serveur_smb Une fois les ressources identifies, il est possible d'accder chacune d'entre elles par la commande : smbclient //nom_serveur_smb/nom_partage -U user_name Un 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 rpertoires de la ressource. Exemples de commandes: dir ou ls : pour lister le contenu du repertoire cd: pour changer de rpertoire sur le partage distant lcd: pour changer de rpertoire local get: permet de rcuperer un fichier du rpertoire distant put: permet de poser un fichier sur le rpertoire distant del: permet d'effacer un fichier sur le partage distant md ou mkdir: permet de crer un rpertoire sur le partage distant rd ou rmdir: permet d'effacer un rpertoire sur le partage distant

Montage dune ressource partage Les utilitaires smbmount et smbumount permettent de monter de dmonter des ressources SMB en tant que systme de fichiers distant 8

Service Samba Pour monter une ressource la syntaxe est la suivante :

smbmount //nom_serveur_smb/nom_partage /point_de_montage Pour dmonter une ressource la syntaxe est la suivante :

smbumount /point_de_montage

7. Exemple de configuration et test dun serveur samba


7.1 Configuration du serveur
a. Le fichier /etc/smb.conf
Sectionglobale

Les paramtres dfinis dans la section globale sont valables dans les autres sections Parmi les paramtres de cette section on a : workgroup : Nom du groupe de travail pour la machine server string : Commentaire apparaissant dans le " Favoris rseau " de Windows hosts allow : Adresses IP des machines autorises accder au service.

Section globale du fichier smb.conf


Partagederpertoires

La section [homes] permet de dfinir l'accs au rpertoire personnel de chaque utilisateur. Mais il est aussi possible de dfinir un accs personnalis n'importe quel 9

Service Samba rpertoire de la machine en crant une section portant le nom que lon veut donner la ressource. Celui-ci contiendra entre autres un paramtre path donnant le chemin d'accs la ressource. Dans notre cas nous allons donner laccs au rpertoire personnel pour chaque utilisateur, et nous allons aussi partager le rpertoire /part-samba ce trouvant sur le serveur Samba avec un nom de partage Gestion , mais toutefois nous allons limiter laccs deux personnes root et fatima .

Section partage de rpertoire du fichier smb.conf


Partagededisques

Il est aussi possible de partager un lecteur CD-ROM ou un lecteur Disquette, en crant respectivement une section [cd-rom] et une section [Disquette], nous allons donner laccs ces deux lecteurs pour tous les utilisateurs.

10

Service Samba

Section partage de disque du fichier smb.conf

b. Arrt et dmarrage de samba

Aprs configuration du fichier smb.conf il est indispensable de redmarrer le service samba soit laide de restart ou de stops suivis de Start.

Arrt et dmarrage de samba

7.2 Test et consultation des diffrents partages a. Consultation des partages sur Linux
A partir dun client Linux

Le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accder aux ressources Samba partir d'une machine de type Linux. smbclient permet en premier lieu de vrifier l'existence d'un serveur Samba sur le rseau et de lister les ressources qu'il partage grce la commande: smbclient nom_serveur_smb

11

Service Samba Une fois les ressources identifies, il est possible d'accder chacune d'entre elles par la commande: smbclient //nom_serveur_smb//ressource -U nom_utilisateur Un 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 rpertoires de la ressource.

L'arrt de smbclient se fait laide de la commande exit: Smb : \> exit

Consultation des partages sur serveur Linux via un client Linux

A partir dun client Windows

Pour accder une ressource partage partir dun poste Windows, on passe par favoris rseau, puis pour accder aux ressources partages sur le serveur samba www on doit fournir un nom dutilisateur et un mot de passe valide. Dans notre cas nous allons nous connecter avec root comme utilisateur.

Consultation des partages sur serveur Linux via un client Linux

Aprs validation du nom dutilisateur et du mot de passe au niveau du serveur une fentre o il y a toutes les ressources auxquelles lutilisateur root a accs apparat.

12

Service Samba

Daprs la figure on remarque que lutilisateur peut accder au lecteur CD_ROM, au lecteur disquette, au rpertoire Gestion et son dossier personnel ce qui confirme que notre serveur samba fonctionne comme prvus.
A partir dun client Windows non autoris

Maintenant

nous allons essayer daccder aux ressources partages sur le serveur

Samba partir du poste auquel nous avons interdis le partage Samba et qui a comme adresse IP 194.94.1.25 .

Consultation des partages sur le serveur Linux avec un client Windows non autoris

Daprs la figure on constate que la tentative daccs aux ressources partages depuis le poste 194.94.1.25 est refuse, ce qui confirme la bonne configuration de cette option. Consultation des fichiers partags sur Windows partir dun client Unix Nous allons consulter le rpertoire partag clients qui rside sur le poste cliwin partir du serveur Samba www avec comme utilisateur ladministrateur. De la mme faon le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accder aux ressources Samba partir d'une machine de type Windows. La syntaxe de la commande de consultation ainsi que la commande darrt de smbclient sont les mmes que pour le cas des ressources sur Linux. Aprs avoir donn le bon mot de passe, on remarque quon a laccs au rpertoire client et de ce fait on lance la commande ls pour lister son contenu. 13

Service Samba

Consultation des partages sur Windows partir dun client Linux

b. Envoie et rception de message


1- Principe Le client Samba permet aussi d'envoyer des messages sur un client LanManager ( condition que la machine distante permette de grer 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_machine Message Lorsque vous avez finis d'crire le message, il faut appuyer simultanment sur Ctrl+D. 2- Test du fonctionnement Pour tester le bon fonctionnement de cette option nous allons envoyer un message partir du serveur Samba www vers le poste Windows cliwin .
a. Message envoy par le serveur samba :

Envoie du message

b.

Message reu par le poste cliwin :

Rception du message

14

Anda mungkin juga menyukai