Docstoc

Installer et configurer Samba

Document Sample
Installer et configurer Samba Powered By Docstoc
					                                                                         Installer et configurer Samba

                        Installer et configurer Samba


Sur votre réseau local, vous avez certainement besoin de partager vos
resources Linux avec les autres postes sous Windows connectés à ce même
réseau, Linux permet l'utilisation d'un "LAN Manager" grâce au protocole SMB
de Samba.

Samba est un service qui permet, sur le réseau local, aux autres PCs sous
Windows3.11/95/98/NT de partager des resources avec des machines sous
Linux.

La description ci-dessous a pour but de vous permettre d'installer un partage
des ressources à l'aide de Samba, mais pour une configuration plus "pointue",
vous devrez consulter la doc fournie avec Samba .




Description
Samba vous permet "d'exporter" différents périphériques connectés à la machine Linux
comme les, fichiers, imprimantes, partitions(disques durs), lecteurs ... pour rendre accessibles
ces périphériques aux machines sous Windows, et inversement.
Le bon fonctionnement de Samba dépend essentiellement de son fichier de configuration .

-Samba utilise les commandes SMB, provenant de NetBIOS, qui fonctionne en architecture
client/serveur .
-NetBIOS (Network Basic Input/Ouput System) a été conçu par IBM et utilisé pour
"Microsoft Windows for Worksgroup", il existe en natif sur trames 802.3 ou encapsulé dans
des trames TCP/IP pour l'utilisation de Samba .
-SMB (Server Message Block) a été conçu conjointement par Intel, IBM et Microsoft, c'est un
"LAN Manager" pour TCP/IP .
-IPC est un LAN Manager supportant les application "réparties" .
-Nom_du_Serveur est le nom NetBIOS de la machine patageant des ressources .
-Nom_de_Partage est le nom unique attribué à chaque ressource (partagée) sur chaque
serveur .
-Nom_de_Reseau est le nom complet , nom_du_serveur\nom_de_partage, utilisé s'il existe
plusieurs serveurs.

Samba utilise plusieurs programmes pour gérer le partage des ressources :
/usr/sbin/smbd démon, serveur gérant les connexions des clients SMB
/usr/sbin/nmbd démon, serveur de nom NetBIOS des clients
/usr/bin/smbclient pour se connecter aux ressources SMB partagées des postes Windows
/usr/bin/smbmount pour monter les ressouces SMB comme un système de fichiers sous
Linux



Installation
Vous trouverez la dernière version 2.0.7 à l'adresse http://fr.samba.org/samba/, mais si vous
utilisez une RedHat 6.0 ou 5.2, mieux vaut installer la version correspondante à votre
                                              -1-
                                                                         Installer et configurer Samba

distribution se trouvant, pour une RedHat 6.0, dans le répertoire
/Binary_Packages/redhat/RPMS/6.0 du site FTP ftp.samba.org/pub/samba/

Pour installer un RPM :
rpm -ivh samba-2.0.6-19991110.i386.rpm
L'installation, en plus des différents binaires, va créer : Un répertoire /var/spool/samba, le
fichier de configuration est /etc/smb.conf, éventuellement un répertoire /home/samba et un
script /etc/rc.d/init.d/smb pour lancer automatiquement Samba au démarrage du système.
Vérifiez l'existence de ces liens ou créez les avec les commandes :
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc1.d/K26smb
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc2.d/K26smb
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S91smb
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc4.d/K26smb
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc5.d/S91smb
ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc6.d/K26smb

Pour lancer samba, il suffit de taper la commande /etc/rc.d/init.d/smb start



Configuration
Commencez par faire une copie de votre fichier de configuration :
cp /etc/smb.conf /etc/smb.conf.sav
Editez le fichier de configuration /etc/smb.conf pour le modifier en fonction de vos besoins .

ATTENTION ! Il existe plusieurs GUI (Interfaces utilisateur graphiques) qui permettent
d'éditer smb.confpour configurer Samba,.
 MAIS ces interfaces ne permettent que de visualiser certains paramètres de ce fichier, et si
vous les utilisez pour modifier smb.conf vous risquez de perdre une partie des informations
qu'il contient !!!
Vous trouverez des GUI comme sambaconf ou gtksamba ... Voir en fin de page les adresses
internet .
Swat est un utilitaire livré avec Samba et qui permet d'afficher votre fichier smb.conf dans un
navigateur en entrant l'url : http://localhost:901/
Vous pouvez par contre utiliser ces GUI pour monter les répertoires partagés ou faire du
monitoring .

Voici un exemple de fichier /etc/smb.conf :


[global]
   workgroup = MYGROUP
   server string = Samba Server
   printcap name = /etc/printcap
   load printers = yes
   log file = /var/log/samba/log.%m
   max log size = 50
   security = user
   socket options = TCP_NODELAY
   dns proxy = no
#============================ Share Definitions
==============================

[homes]
   comment = Home Directories
   browseable = no
                                              -2-
                                                                           Installer et configurer Samba
   writeable = yes

[tmp]
   comment = Temporary file space
   path = /tmp
   read only = no
   public = yes

[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   writeable = no
   printable = yes

Commentaires :
[global] définition des paramètres globaux
workgroup le nom de votre groupe de travail, celui qui apparaitra dans le voisinage réseau
sous windows.
server string description du serveur Samba
printcap name pour partager les imprimantes, /etc/printcap contient les imprimantes
configurées .
log file pour garder une trace de la connexion de chaque macine, %m sera remplacé par le
nom de chaque machine.
max log size taille maximun de ce fichier Log, en Kilo octets.
security vérification du niveau de sécurité, user , server ou share sont possibles .
socket options pour améliorer les performances
dns Proxy pour résoudre les noms NETBIOS .
[home] paramètres pour les répertoires HOME des utilisateurs, login identique sous Linux et
sous Windows.
[tmp] exporter le répertoire tmp pour effectuer des échanges de fichiers.
[printers] définitions des imprimantes et du chemin du spooler .
guest ok pour autoriser le compte guest à imprimer, si vous mettez yes vous devez ajouter
dans la section [global] cette ligne :
"guest account=pcguest"(ou un autre) pour "inviter" l'utilisateur pcguest, si non guest account
sera égale par défaut à nobody, et il faut également créer un compte pour l'utilisateur définit
par guest dans le fichier /etc/passwd .

Pour plus d'information sur les différents paramètres, vous trouverez de la doc sous
/usr/doc/samba-2.0.x/docs/ , au format html dans le sous répertoire htmldocs ou au format
ascii (text) dans le sous répertoire textdocs :
pour "security" le fichier security_level.txt, pour "socket options" le fichier speed.txt , ...etc.
Consultez également la page de manuel : man smb.conf

Nous allons maintenant prendre l'exemple, un peu plus élaboré, d'un fichier qui autorise :
_ uniquement les machines du réseau 192.168.154.0 et loopback
_ tous les utilisateurs à se partager un répertoire commun /home/samba
_ un répertoire /home/dao pour les utilisateurs du groupe dao et en lecture seule pour tous les
autres
_ un réperoire privé /home/niche pour les seuls utilisateurs droopy et snoopy
_ et en fin un répertoire différent pour chaque machine portant le nom de chaque machine
sous /home/pc/ , ces répertoires /home/pc/win1 /home/pc/win2 ... devront exister .
/etc/smb.conf :

#======================= Global Settings
                                                -3-
                                                          Installer et configurer Samba
=====================================
[global]
   workgroup = MYGROUP
   server string = Samba Server

# Important pour la securite : permet de restreindre l'acces
aux
# machines du reseau local et au "loopback" .
# Voir page de manuel smb.conf .
    hosts allow = 192.168.154. 127.

   load printers = yes

# par defaut "guest account = nobody"
; guest account = pcguest

   log file = /var/log/samba/log.%m
   max log size = 100

# Voir security_level.txt et Passwords.txt.
   security = user

# Voir speed.txt et les pages de manuel.
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   dns proxy = no

#============================ Share Definitions
==============================
[homes]
   comment = Home Directories
   browseable = no
   writeable = yes

# Repertoire commun /home/samba
  [samba]
    comment = Network Samba Service
    path = /home/samba
;    guest ok = yes
    read only = no
;    share modes = no
    public = yes

[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
# Pour autoriser le compte "guest" à imprimer, mettre :
# "public = yes" et "guest ok = yes"
   guest ok = no
   writeable = no
   printable = yes

# Repertoire pour le groupe DAO, en lecture seule
# pour les autres utilisateurs, les droits sur /home/dao
# sont attribues à la creation des utilisateurs et du groupe.
# "public=yes" pour ne pas avoir à saisir de mot de passe .
[dao]
   comment = Public DAO
   path = /home/dao
   public = yes
   writeable = yes
   printable = no
   write list = @dao

                                      -4-
                                                                       Installer et configurer Samba


# Repertoire prive, accessible uniquement
# par les utilisateurs "droopy" et "snoopy"
[niche]
   comment = Private Niche
   path = /homes/niche
   valid users = droopy snoopy
   public = no
   writeable = yes
   printable = no

# Le repertoire sous /home/pc/ sera different suivant
# les machines qui se connectent.
# Pour utiliser un repertoire par utilisateur à la place
# de machine, il suffit de remplacer %m par %u .
[pchome]
  comment = PC Directories
  path = /home/pc/%m
  public = no
  writeable = yes




[dao] le nom_de_partage sera dao .
public = yes pour ne pas avoir à saisir de mot de passe .
valid users = droopy, snoopy certaines versions nécessite la virgule .
ATTENTION! Samba ne va pas créer les répertoires partagés, il faut donc utiliser la
commande mkdir pour la création de tous ces répertoires déclarés dans le fichier smb.conf
avant de lancer Samba .

Après avoir modifié le fichier /etc/smb.conf, pour faire prendre en compte les modifications,
tapez :
/etc/rc.d/init.d/smb stop
/etc/rc.d/init.d/smb start
ou simplement : /etc/rc.d/init.d/smb restart

tuxserv:/admin $ /etc/rc.d/init.d/smb restart
Shutting down SMB services:
[ OK ]
Shutting down NMB services:
[ OK ]
Starting SMB services:
[ OK ]
Starting NMB services:
[ OK ]
tuxserv:/admin $



Nous allons maintenant définir, dans le fichier /etc/lmhosts, le nom NETBIOS des machines
windows pour que Samba fasse la correspondance entre les adresses IP et les noms des
machines Windows.
Editez ou créez le fichier /etc/lmhosts :

# /etc/lmhosts

127.0.0.1 localhost

192.168.154.10 win1
192.168.154.11 win2

                                             -5-
                                                                          Installer et configurer Samba


Configuration des postes Windows :
Vous devez avoir installer le pilote de votre carte Ethernet, Ajoutez le client Microsoft et les
protocoles NetBEUI et TCP/IP pour votre carte Ethernet .
Vous attribuez une adresse IP à votre machine (Protocole TCP/IP de la carte Ethernet), pour
que Linux puisse contacter ce poste, cette adresse IP est déclaré dans le fichier /etc/hosts sur
le serveur Linux Samba .

Dans le panneau de configuration vous sélectionnez (double-click) l'icône réseau :
* Dans l'onglet Configuration :
_Avec le bouton [ Ajouter... ], vous ajoutez :
Client / Microsoft / Client pour les réseau Microsoft ,
Protocole / Microsoft / NetBEUI ,
Protocole / Microsoft / TCP/IP .
* Puis sélectionnez l'onglet Identification :
Nom de l'ordinateur : win1 (Nom NetBIOS de la machine)
Groupe de travail : MYGROUP (Nom du groupe de travail Windows)
Description de l'ordinateur : Poste Multimédia
* Puis sélectionnez l'onglet Configuration :
Double-click sur TCP/IP -> Nom_de_la_carte_ethernet
_Onglet Adresse IP :
Cochez Spécifier une adresse IP
Adresse IP : 192.168.154.11 (adresse IP de la machine déclarée dans /etc/hosts du serveur
Linux Samba)
Masque de sous réseau : 255.255.255.0

Depuis le Bureau, sélectionnez (double-click) l'icône Voisinage réseau :
Si votre réseau Windows est correctement configuré, vous devez voir, au moins, votre
machine "win1" .
Si le serveur Samba-Linux fonctionne, vous devez également voir vos machines Linux.
_ Cliquez sur Se connecter à un lecteur Le nom du lecteur qui apparaîtra dans l'explorateur
de fichier est déjà sélectionné .
_ Entrez le chemin de la ressource : \\smbserver\dao par exemple.
Les noms NetBIOS, des machines ne doivent pas dépasser les 15 caractères et 8 caractères
pour les noms des ressources .

En cas de difficultés, essayez de trouver de l'aide depuis l'aide en ligne de Windows ,
accessible depuis n'importe quelle fenêtre "?" Index/Dépanneur réseau.

Tout comme sous Linux, Windows utilise un fichier C:\WINDOWS\lmhosts contenant les
noms DNS ou adresses IP et le nom NetBIOS correspondant.

# lmhosts

tuxserv.linux.fr smbserver
win2.linux.fr win2
192.168.154.12 win3


Vous trouverez certainement un fichier C:\WINDOWS\LMHOSTS.SAM pour vous aider

Pour éviter la mise à jour des fichiers lmhosts sur chaque client Windows, il est préférable
d'utiliser un serveur WINS
Samba peut être utilisé comme serveur WINS, aucun paramétrage n'est requis sur le serveur
                                               -6-
                                                                        Installer et configurer Samba

Samba-Linux faisant office de serveur WINS, mais par contre, comme il ne peut y avoir qu'un
seul serveur WINS, sur les autres serveurs Samba-Linux il faut ajouter l'adresse IP du serveur
WINS au fichier /etc/smb.conf :

[global]
   workgroup = MYGROUP
   server string = Samba Server

   wins support = no
   wins server = 192.168.154.1




Tester Samba
Le fichier /usr/doc/samba-2.0.x/docs/textdocs/DIAGNOSIS.TXT vous aidera pour tester le
fonctionnement de Samba .

Après modification du fichier /etc/smb.conf, il est prudent de tester la syntaxe de smb.conf :
Pour cela un utilitaire /usr/bin/testparm est disponible .
Il suffit de taper la commande : testparm

tuxserv:/admin $ testparm
Load smb config files from /etc/smb.conf
Processing section "[homes]"
Processing section "[samba]"
Processing section "[printers]"
Processing section "[dao]"
Processing section "[pchome]"
Loaded services file OK.
Press enter to see a dump of your service definitions



Et si tout va bien, relancez ensuite Samba : /etc/rc.d/init.d/smb restart

Serveur Linux :
Chaque machine pouvant être indifféremment client ou serveur, nous allons prendre
un exemple :

Supposons que la machine Linux s'appelle "tuxserv" et la machine Windows se nomme
"win1" et partage un répertoire "apps", pour tester smbclient afin d'accéder depuis Linux aux
resources de la machine "win1" .

Lister les ressources sur le serveur Linux :

tuxserv:/admin $ smbclient -L tuxserv
Added interface ip=192.168.154.1 bcast=192.168.154.255
nmask=255.255.255.0
Password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.6]

          Sharename          Type         Comment
          ---------          ----         -------
          samba              Disk         Network Samba Service
          tmp                Disk         Temporary file space
          pchome             Disk         PC Directories
                                               -7-
                                                                  Installer et configurer Samba

           IPC$              IPC          IPC Service (Samba Serveur)
           lp                Printer
           lp1               Printer
           stylus            Printer

           Server                   Comment
           ---------                -------
           TUXSERV                   Samba Server
           WIN1                        Win Mmedia

        Workgroup                   Master
        ---------                   -------
        MYGROUP                     TUXSERV
tuxserv:/admin $



Lister les ressources sur le serveur distant Windows :

tuxserv:/admin $ smbclient -L win1
added interface ip=192.168.154.10 bcast=192.168.154.255
nmask=255.255.255.0
Password:

           Sharename         Type         Comment
           ---------         ----         -------
           APPS              Disk
           HP                Printer
           PRINTER$          Disk
           STYLUS            Printer
           IPC$              IPC          Communication entre processus
distants

           Server                   Comment
           ---------                -------

        Workgroup                   Master
        ---------                   -------
tuxserv:/admin $



Se connecter à la ressource du serveur distant:

tuxserv:/admin $ smbclient //win1/apps
added interface ip=192.168.154.10 bcast=192.168.154.255
nmask=255.255.255.0
Password:
smb: \> ls
  RECYCLED                          DHS        0 Wed Feb 2
21:23:30 2000
  MVAPPS                              D        0 Wed Feb 23
17:55:10 2000
  Adaptec                             D        0 Wed Feb 2
19:49:52 2000
  ADOBE                               D        0 Wed Feb 2
19:50:52 2000
  DICO                               DR        0 Wed Feb 2
20:02:12 2000
  DOCUMENT                            D        0 Wed Feb 2
20:02:22 2000
  EXPRESS                            DR        0 Wed Feb 2
20:03:16 2000

                                              -8-
                                                                          Installer et configurer Samba

  ATLASWA                                      DR           0   Wed Feb     2
20:03:38 2000
  TEMP                                          D           0   Wed Feb     2
20:46:08 2000
  Graphic                                       D           0   Wed Feb     2
20:04:22 2000
  host-news                                     D           0   Wed Feb     2
20:10:52 2000
  Internet                                      D           0   Wed Feb     2
20:11:00 2000
  PTWin63                                       D           0   Wed Feb     2
20:47:48 2000
  TELES                                         D           0   Sat Jul     1
19:21:36 2000
  Comm                                          D           0   Wed Feb     2
20:42:08 2000
  UnZip                                         D           0   Wed Feb     2
20:46:24 2000
  MSOFFICE                                      D           0   Wed Feb     2
21:01:14 2000
  Lotus                                         D           0   Wed Feb     2
21:08:42 2000
  StarOffice5                                   D           0   Wed Feb     2
21:21:00 2000
  Claris Corp                                   D           0   Wed Feb 23
16:53:20 2000
  Watch&Smile                                   D           0   Wed Feb     2
21:23:54 2000
  Media                                         D           0   Wed Feb     2
20:49:16 2000
  Caere                                         D           0   Wed Feb 23
17:59:22 2000
  OnLinePP                                      D           0   Sat Jul     1
19:05:24 2000
  Audio                                         D           0   Tue Oct     3
15:26:02 2000

                    50222 blocks of size 131072. 27433 blocks available
smb: \> quit
tuxserv:/admin $



Pour vous connecter à une ressource, vous pouvez utiliser cette syntaxe :
smbclient \\\nom_du_serveur\\nom_de_partage -U nom_utilisateur
nom_du_serveur est le nom NetBIOS de la machine partageant des ressources SMB,
nom_de_partage est le nom affecté à la ressource partagée, fichier, partition, imprimante ...etc
Un mot de passe vous sera alors demandé, c'est celui qui correspond à l'utilisateur Windows .

smbmount :
Il est possible aussi pour accéder à ces ressources de monter ces ressources comme une
partition sur votre système avec /usr/bin/smbmount.
Ce montage, qui s'effectue de la même façon que pour un CDRom ou comme NFS, est
certainement plus simple à manipuler, mais il faut que le support du système de fichiers SMB
soit inclus dans votre noyau.
La syntaxe se smbmount ressemble à : smbmount //nom_du_serveur/nom_de_partage
/nom_du_point_de_montage, par exemple :
smbmount //win1/apps /mnt/samba/win1/apps .
LinNeighborhood est un GUI très agréable à utiliser pour interfacer smbmount .
Dans les dernières versions de Samba smbmount ne fait plus parti du package samba mais du
package smbfs et il faut le récupérer depuis un site FTP .
                                              -9-
                                                                        Installer et configurer Samba

Vous trouverez en bas de cette page les adresses internet pour récupérer ces outils.

Postes Windows :
Vous allez pouvoir vérifier maintenant que les ressources sont accessible depuis le voisinage
réseau sur les PCs Windows .
ATTENTION! Pour accéder à un compte utilisateur sur le serveur Samba (Linux) vous devez
absolument utilisez le même login (compte utilisateur) sous Windows.

Sur les PC sous Windows, dans l'explorateur de fichiers, menu outils/connecter un lecteur
réseau, vous devez saisir le chemin des répertoires exportés par le serveur Linux :
_ Ressources:
Répertoire dao : \\nom_du_serveur\nom_de_partage, par exemple \\Destux\dao où dao est
la ressource partagée de la machine Destux .
Utilisation de tmp pour faire des transferts de fichier : \\nom_du_serveur\tmp
_ Utilisateurs :
Pour l'exportation du même login sous Linux et sous Windows :
\\nom_du_serveur\nom_du_login
Pour atteindre le répertoire /home/freddy, "logez" vous en "freddy" sous Windows, depuis
l'explorateur, cliquez sur l'icône connecter lecteur réseau et sélectionnez ou saisissez le
chemin correspondant:
il va y avoir alors une demande de saisie du mot de passe pour l'utilisateur(nom_du_login) en
question, c'est le mot de passe de l'utilisateur sous Linux.

En cas de doute ou de problème, consultez :
Le SMB-HOWTO
Le fichier /usr/doc/samba-2.0.x/docs/textdocs/DIAGNOSIS.TXT
Et la page de manuel smb.conf



Utilitaires pour Samba
En plus des GUI pour éditer smb.conf :
sambaconf (sambaconfig-0.8.0.6.tar.gz) www.geocities.com/grymse/sambaconfig/
gtksamba www.open-systems.com/gnosamba/
Vous trouverez sous KDE un monitor samba depuis le menu
":Configuration"/":Imformation"/":Etat de Samba" .
Et pour l'utilisation de smbmount (smbfs-2.0.2-6.i386.rpm):
ftp://fr.rpmfind.net/linux/contrib/libc6/i386/
une interface "LinNeighborhood" www.bnro.de/~schmidjo/ qui ressemble au voisinage
réseau de Windows .




                                             - 10 -

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:26
posted:8/31/2012
language:French
pages:10