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
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
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
smbmount //nom_serveur_smb/nom_partage /point_de_montage Pour dmonter une ressource la syntaxe est la suivante :
smbumount /point_de_montage
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.
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 .
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
Aprs configuration du fichier smb.conf il est indispensable de redmarrer le service samba soit laide de restart ou de stops suivis de Start.
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.
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.
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
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
Envoie du message
b.
Rception du message
14