Samba

De Lea Linux
Révision datée du 2 septembre 2005 à 18:09 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Partager ses fichiers et imprimantes avec Samba

Partager ses fichiers et imprimantes avec Samba

Vous disposez à la maison ou dans votre entreprise de machines sous Linux et d'autres sous Windows. Comment faire en sorte de faire communiquer tout ce petit monde ? Samba va vous permettre de centraliser et rendre accessibles vos fichiers et imprimantes à partir de toutes ces machines.

L'article se propose de donner les éléments nécessaires pour configurer ce partage dans un contexte de groupe de travail (le plus simple) mais en sécurisant un minimum l'accès à ces ressources, et donc une authentification des utilisateurs. Nous verrons dans un premier temps la configuration en mode texte, qui a l'avantage de vous expliquer les arcanes du fonctionnement du serveur. Vous pourrez également utiliser les interfaces graphiques, ce qui vous permettra d'obtenir le même résultat.

Le projet Samba

Le projet démarre en 1992, grâce à Andrew TRIDGELL. Etudiant en physique, il développe un protocole de partage de fichiers qui émulait les systèmes Digital. 18 mois plus tard, il apprendra que ce protocole fonctionne également avec Windows.

Depuis le projet compte des développeurs dans le monde entier et bénéficie également de financements d'entreprise pour l'implémentation de fonctionnalités compatibles Windows.

Installer Samba

Nous allons travailler à partir d'une distribution Mandrake 10.0. Les postes clients peuvent être indifféremment sous Windows 95/98 et/ou Windows 2000/XP/2003.

Récupération et installation des paquetages Samba.

Lors de l'installation de votre distribution, vous avez pu choisir d'installer un certain nombre de serveurs, dont Samba. Nous allons donc commencer par véfifier la présence des paquetages nécessaires.

# rpm -qa | grep samba
samba-server-3.0.2a-3mdk
samba-common-3.0.2a-3mdk
samba-client-3.0.2a-3mdk

Si vous obtenez quelque chose de similaire, c'est que tout est déjà prêt. Vous pouvez alors passer à la section suivante. Dans le cas contraire, nous allons installer les paquetages depuis le CD de votre distribution (ou tout autre support contenant votre distribution) :

# urpmi samba
  Un des paquetages suivants est nécessaire :
  1- samba-server-3.0.2a-3mdk.i586
  2- samba2-server-2.2.8a-14mdk.i586
  Que choisissez-vous ? (1-2)1
  Pour satisfaire les dépendances, les paquetages suivants vont être installés (14 Mo):
  samba-common-3.0.2a-3mdk.i586
  samba-server-3.0.2a-3mdk.i586
  Est-ce correct ? (O/n) o
  Préparation... ##################################################
  1:samba-common ##################################################
  2:samba-server ##################################################

L'installation propose un choix entre Samba2 et Samba3. La dernière version apporte des améliorations considérables et des fonctionnalités supplémentaires, comme la gestion des groupes. Ces fonctionnalités sont surtout utilisées dans une configuration orientée entreprise mais après tout, ne nous refusons rien !

Nous allons également installer la partie cliente. Elle contient tous les outils qui permettent notamment le montage et le parcours des ressources Samba.

# urpmi samba-client
  Préparation... ##################################################
  1:samba-client ##################################################

Premier test de votre installation

Maintenant que Samba est installé, démarrons le serveur :

# /etc/rc.d/init.d/smb start
 Lancement du service SaMBa :                                    [  OK  ]
 Lancement du service NMB :                                      [  OK  ]

Deux démons sont lancés, nécessaires au fonctionnement du serveur Samba : smbd et nmbd.

  • smbd permet le partage des fichiers et imprimantes
  • nmbd permet quant à lui le parcours du réseau et la résolution de noms Netbios...
# /etc/rc.d/init.d/smb status
smbd (pid 970) is running... nmbd (pid 972) is running...

La commande ci-dessus permet de vérifier que Samba fonctionne correctement. Vous devez voir apparaitre les deux dernières lignes.

Automatiser le lancement de Samba

La dernière phase de l'installation consiste pour nous à vérifier que Samba sera bien lancé automatiquement à chaque démarrage de la machine (ce qui évite bien des surprises !). Pour le vérifier, exécutons la commande ci-dessous :

# chkconfig --list smb
 smb      0:Arrêt 1:Arrêt 2:Arrêt 3:Arrêt    4:Arrêt 5:Arrêt        6:Arrêt

Elle indique les niveaux de fonctionnement auxquels le serveur est démarré. Dans le cas où Samba n'est pas démarré aux niveaux souhaités, ici il n'est jamais démarré, il suffit de reconfigurer l'initialisation du serveur :

# chkconfig --level 345 smb on

Dans ce cas, Samba est démarré aux niveaux 3, 4 et 5, ce qui correspond aux niveaux standards de fonctionnement des services réseau.

Si la ligne de commande vous insupporte, vous pouvez utiliser, en root, la commande drakxservices :

Schema1 : configurer le démarrage de Samba

Cliquez sur la case à cocher "Au démarrage" sur la ligne smb pour démarrer le service dès le démarrage.

Installation du serveur d'impression

Pour terminer la phase d'installation, nous allons voir comment installer et configurer rapidement le serveur d'impression cups. Encore une fois, l'installation des paquetages est réalisée grâce à la commande urpmi, suivie du démarrage du serveur :

# urpmi cups cups-drivers
 installation de /var/cache/urpmi/rpms/cups-1.1.20-5mdk.i586.rpm 
 /var/cache/urpmi/rpms/cups-drivers-1.1-133mdk.i586.rpm
 Préparation...              ##################################################
    1:cups                   ##################################################
    2:cups-drivers           ##################################################
 # service cups start
 Lancement du service d'impression CUPS :                        [  OK  ]

Ci-dessous la configuration et la gestion d'une imprimante :

Schema2 : interface d'administration de cups

La configuration est relativement simple. Sur votre machine, tapez l'url : http://localhost:631. Cliquez sur "Administrer les imprimantes" et laissez-vous guider pour ajouter votre ou vos imprimantes :).

Le fichier de configuration principal

Le fichier de configuration à connaitre pour Samba est /etc/samba/smb.conf. Nous allons en détailler les grandes rubriques. Celui-ci, on le verra, est modifiable soit à l'aide d'un éditeur de texte soit d'une interface graphique.

Le fichier est découpé en grandes sections indiquées de cette manière : [section]. Les différents paramètres sont ensuite inscrits de la manière suivante : paramètre = valeur. Toute ligne commencée par un "#" ou ";" est considérée comme un commentaire. Par convention, le ";" est utilisé pour commenter les lignes de configuration.

Nous allons passer en revue les différentes sections en énonçant les paramètres les plus courants. Les outils graphiques proposés pour paramétrer Samba que nous verrons par la suite, ne font que mettre à jour ce fichier de configuration.

Section de configuration générale

La première section est annoncée par [global]. Elle contient les éléments généraux de la configuration du serveur Samba : nom du groupe de travail, réseaux autorisés, utilisateurs administrateurs...

  • workgroup : nom du groupe de travail ou du domaine
  • netbios name : nom netbios du serveur Samba, par défaut égal au nom de la machine (hostname)
  • server string : description affichée lors du parcours réseau, il s'agit d'un commentaire.
  • printing : système d'impression utilisé pour le serveur d'impression : sous Linux on trouvera lprng et de plus en plus, cups (le choix réalisé dans cet article).
  • log file / max log size / log level : configuration des logs du serveur : respectivement le nom du fichier de log, sa taille maximum et le niveau des logs (plus le niveau est élevé, plus la quantité d'informations est importante)
  • hosts allow (deny) : entrer ici la liste des adresses IP des machines (ex : 192.168.0.3) ou réseaux ( ex : 192.168.0.) autorisés à se connecter au serveur Samba (et inversement si on utilise le paramètre hosts deny). Le paramètre est important surtout si votre machine est accessible de l'extérieur. Le protocole Netbios fait l'objet de nombreuses attaques. Pensez également à configurer votre firewall pour bloquer les ports 137, 138 et 139 de l'extérieur.
  • security : c'est une des options les plus importantes du fichier, qui pourra être bloquante si elle est mal renseignée. Elle indique le mode de discussion du client Windows avec le serveur Samba. Dans les versions 3.x de Samba, le défaut est user, et share pour Samba 2.x. Dans la version qui nous intéresse, on utilisera le mode user si les noms de comptes utilisés pour se connecter au serveur ont un compte équivalent sur la machine Linux (existence d'une entrée dans /etc/passwd). Dans le cas contraire, on préférera share. Il existe également 2 autres types possibles : domain et server que nous n'aborderons pas ici et qui sont réservés dans un fonctionnement de Samba en tant que contrôleur de domaine. Ci-dessous quelques explications sur les implications de ce choix :
    • share : ce mode ne nécessite pas d'authentification par un compte valide. Si le paramètre guest only est renseigné, alors tout nouvel utilisateur sera identifié par le biais de cet utilisateur invité.
    • user : dans ce cas de figure, l'utilisateur doit s'authentifier systématiquement. Son compte windows devra disposer d'un compte correspondant sur le serveur (on parle aussi en bon français de mapping)
  • encrypt passwords / unix password sync / passwd program / passwd chat  : configuration des mots de passe. On aura recours aux mots de passes encryptés.
    La synchronisation des mots de passe permet la synchronisation entre le mot de passe de l'utilisateur Samba et son compte sur le système Linux. En l'autorisant, on permet à l'utilisateur de modifier son mot de passe à partir de la machine cliente et donc d'un poste client sous Windows.
    Enfin passwd program et passwd chat indiquent le programme utilisé pour réaliser cette modification ainsi que le dialogue qui s'établira avec le serveur. Les paramètres par défaut conviennent parfaitement.
  • character set / client code page : permettent de faire correspondre un code page Windows avec un character set UNIX, pour utiliser notamment les caractères accentués. Par défaut, on utilisera :
    client code page = 850
    character set = ISO8859-1

Section de configuration des partages de fichiers

Nous allons maintenant passer aux sections de partages de fichiers. Nous aurons une section par partage défini. A l'intérieur de chacune de ces sections, nous trouverons les options qui définissent le dit partage.

Nous allons donner un nom à chaque partage. Attention il existe un nom de partage de fichiers spécifique : [homes]. Il définit le partage des répertoires personnels des utilisateurs, sans avoir à spécifier le chemin dans les options. De manière générale, on aura donc [monpartage].

Ci-dessous le détail des options les plus courantes utilisées :

  • path : chemin d'accès du partage - il n'est pas à spécifier pour le partage [homes]
  • comment : commentaire décrivant le partage qui apparait lors du parcours du réseau Samba (voisinage réseau sous Windows), il s'agit uniquement d'un commentaire
  • browseable : le partage sera visible lors du parcours du réseau
  • read only : limite l'accès en lecture uniquement
  • write list : limite l'accès en écriture aux données du partage aux utilisateurs et/ou groupes d'utilisateurs spécifiés. Un groupe sera mentionné de cette façon : @nom_du_groupe.

Configuration des partages d'imprimantes

Votre serveur Samba peut également vous servir à partager des imprimantes. Nous traiterons ici du cas où ces imprimantes sont gérées par cups.

Le partage d'imprimante peut se faire à plusieurs niveaux :

  • partage de la ressource (partage intitulé [printers]), mais qui nécessite d'avoir installé les drivers sur le poste client,
  • partage des drivers, dans ce dernier cas vous n'avez plus besoin d'installer de driver sur le client Windows, le partage est intitulé [print$].

Vous pouvez décider de partager uniquement la ressource ou bien les drivers et la ressource.

[global]
 ...
 # système d'impression utilisé
 printing = cups
 # administrateur des imprimantes
 printer admin = root
 ...

 # partage des ressources d'impression
 [printers]
    comment = All Printers
    path = /var/spool/samba
    create mask = 0700
    guest ok = Yes
    printable = Yes
    browseable = Yes

 # partage des drivers des imprimantes 
 [print$]
    path = /var/lib/samba/printers
    browseable = yes
    read only = yes
    write list = root

Pour mettre les drivers à disposition sur le serveur Samba, il vous faut vous procurer les drivers Postcript Adobe. Pour les télécharger : http://www.adobe.com/support/downloads. Une fois extraits, nous allons les copier dans /usr/share/cups/drivers.

Nous allons ensuite procéder à la création effective du partage des imprimantes cups par Samba grâce à la commande cupsaddsmb :

# cupsaddsmb -a
...
passwd:
...
#

Pour vérifier que le lien a bien été réalisé, vous avez plusieurs possibilités.

  • la commande smbclient va vous lister, entre autres, les imprimantes partagées :
# smbclient -L localhost
 Password:
 Anonymous login successful
 Domain=[MONGROUPE] OS=[Unix] Server=[Samba 3.0.2a]
         Sharename      Type      Comment
         ---------      ----      -------
         print$         Disk
         public         Disk      Public Stuff
         IPC$           IPC       IPC Service (Samba Server 3.0.2a)
         ADMIN$         IPC       IPC Service (Samba Server 3.0.2a)
         hp4050n        Printer
         hplaser4000    Printer   hplaser4000
         Anonymous login successful
 Domain=[MONGROUPE] OS=[Unix] Server=[Samba 3.0.2a]
 ...
  • la commande rpcclient permet, selon l'option choisie, d'énumérer les imprimantes et drivers partagés :
# rpcclient -d=0 -U root -c 'enumprinters' localhost
 Password:
         flags:[0x800000]
         name:[\\pingu\hp4050n]
         description:[\\pingu\hp4050n,hp4050n,]
         comment:[]
         flags:[0x800000]
         name:[\\pingu\hplaser4000]
         description:[\\pingu\hplaser4000,hplaser4000,hplaser4000]
         comment:[hplaser4000]
 # rpcclient -d=0 -U root -c 'enumdrivers' localhost
 Password:
 [Windows 4.0]
 Printer Driver Info 1:
         Driver Name: [hplaser4000]
 Printer Driver Info 1:
         Driver Name: [hp4050n]
 [Windows NT x86]
 Printer Driver Info 1:
         Driver Name: [hplaser4000]
 Printer Driver Info 1:
         Driver Name: [hp4050n]
 [Windows NT x86]
 Printer Driver Info 1:
         Driver Name: [hplaser4000]
 Printer Driver Info 1:
         Driver Name: [hp4050n]
  • enfin la commande testprns permet de vérifier qu'un nom d'imprimante est valide c'est-à-dire utilisable car correctement reconnu sur le système.
    # testprns hp4050n
    Looking for printer hp4050n in printcap file /etc/printcap
    Printer name hp4050n is valid.
    # testprns bidule
    Looking for printer bidule in printcap file /etc/printcap
    Printer name bidule is not valid.

Commandes utiles

Monter des ressources du serveur dans un système de fichiers Linux

Il est possible d'utiliser une un partage de fichiers smb (Samba, Windows©) comme faisant partie du système de fichiers Linux local : il suffit de monter la ressource. Pour que cela fonctionne, il faut que le noyau de Linux ainsi que Samba aient été compilés avec le support du système de fichiers smbfs (ce qui est le cas du noyau et des paquetages Samba de Mandrake ainsi que de nombreuses autres distributions).

L'opération peut être réalisée avec la commande classique mount mais uniquement en tant que root.

Exemple :

# mount -t smbfs \\\\pingu\\homes /mnt/samba -o username=anne

Cet exemple permet de monter le répertoire personnel de l'utilisateur anne partagé par le serveur samba sur le répertoire /mnt/samba. Le montage nécessite de spécifier le type de système de fichiers (-t smbfs) et l'identité utilisée pour accéder au partage (-o username=anne). Ce système de fichiers peut être démonté grâce à la commande umount.

# umount /mnt/samba

Ce montage peut être effectué en "non root" grâce à la commande smbmount, à condition que le répertoire de montage soit accessible en écriture pour l'utilisateur, ainsi que le partage lui-même..

Exemple :

$ smbmount \\\\pingu\\homes /home/anne/samba

Le système de fichiers sera démonté toujours en utilisateur grâce à la commande smbumount.

$ smbumount home/anne/samba

Tester la syntaxe de smb.conf : testparm

La commande testparm permet de tester les options utilisées dans le fichier ainsi que la syntaxe. Elle spécifie également, après parcours du fichier, les partages effectifs, le status du serveur.

Testons la validité de notre fichier de configuration :

# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

Parcourir le réseau : smbclient

smbclient est une commande qui permet d'accéder aux ressources partagées par le serveur. Elle est notamment très utile pour tester le bon fonctionnement des partages avec votre serveur Samba.

# smbclient \\\\pingu\\homes -U anne
Password:
Domain=[PINGU] OS=[Unix] Server=[Samba 3.0.2a]
smb: \>

La commande ci-dessus est un accès au répertoire personnel sur le serveur en tant qu'utilisateur anne.

Machines visibles sur le réseau netbios : findsmb

La commande findsmb va vous permettre de lister les machines visibles grâce aux requêtes smb de votre serveur (script effectuant une combinaison de commandes nmblookup et smbclient).

Exemple :

# findsmb

 IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION
 ---------------------------------------------------------------------
 Domain=[LINUXERIES] OS=[Unix] Server=[Samba 3.0.2a]
 Domain=[LINUXERIES] OS=[Unix] Server=[Samba 3.0.2a]
 192.168.0.3             PINGU         +[        LINUXERIES    ]
 Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
 Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
 192.168.0.100   PLOPLAND-OAAHXLR+[       WORKGROUP     ]

Nous pouvons voir ci-dessus 2 machines : PINGU et PLOPLAND-OAAHXLR.

Résoudre les noms netbios : nmblookup

La commande nmblookup permet de résoudre les noms netbios en IP. La commande peut permettre de vérifier le bon fonctionnement de la configuration de votre serveur ou de vos machines clientes.

Exemple :

# nmblookup pingu
192.168.10.52 pingu<00>

Au nom netbios pingu correspond l'adresse IP 192.168.10.52. indique que la machine est simple station de travail.

Lister les connexions au serveur : smbstatus

La commande smbstatus permet de générer une liste des connexions au serveur au moment précis où vous tapez la commande.

# smbstatus

 Samba version 3.0.2a
 PID     Username      Group         Machine
 -------------------------------------------------------------------
  6909   lealinux      lealinux      pingu        (192.168.0.3)
  6916   bidule        bidule        pingu        (192.168.0.3)

 Service      pid     machine       Connected at
 -------------------------------------------------------
 lealinux      6909   pingu         Sun Jun 27 16:50:06 2004
 bidule        6916   pingu         Sun Jun 27 16:50:20 2004
 No locked files

Ci-dessus, on peut voir 2 connexions actives au serveur Samba provenant des utilisateurs lealinux et bidule, effectuées en local.

Exemple de configuration

Pour terminer sur la configuration texte de votre serveur Samba, ci-dessous un exemple type de fichier /etc/samba/smb.conf pour une utilisation courante :

  • authentification par utilisateur
  • utilisation de cups en tant que serveur d'impression, root étant administrateur
  • partage des imprimantes et de leurs drivers
  • partage des répertoires maison dont l'accès est réservé à leur propriétaire
  • partage public accessible à tous
[global]
 # nom de l'espace de travail    workgroup = LINUXERIES
 # commentaire sur l'espace de travail    server string = Samba Server %v
 # Configuration du partage des ressources d'impression
    printcap name = cups
    load printers = yes
    printing = cups
    printer admin = root
 # Configuration des logs du serveur
    log file = /var/log/samba/log.%m
    max log size = 50
 # Configuration de l'authentification
 # type utilisé 
    security = user
 # mots de passe encryptés - pour permettre de modifier le mot de passe à partir de la machine cliente
   encrypt passwords = yes
   smb passwd file = /etc/samba/smbpasswd
   unix password sync = Yes
   pam password change = yes
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
 # Partage des repertoires personnels
 [homes]
    comment = Home Directories
    browseable = no
    writable = yes
 # Partage des ressources d'impression
 [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
 # to allow user 'guest account' to print.
    guest ok = yes
    writable = no
    printable = yes
    create mode = 0700
 # Partage des drivers d'impression 
[print$]
    path = /var/lib/samba/printers
    browseable = yes
    write list = @adm root
    guest ok = yes
    inherit permissions = yes
 # Partage accessible à tous 
[public]
    path = /home/public
    public = yes
    only guest = yes
    writable = yes
    printable = no 

Test de votre installation depuis Windows©

Passons maintenant à la phase de test à partir d'un de vos clients Windows. Cliquez sur le voisinage réseau de votre poste Windows.

Schema3 : visualisation des partages sur un poste client Windows

Cliquez ensuite sur le nom du workgroup correspondant au nom de votre serveur Samba. Vous allez alors pouvoir visualiser l'ensemble des partages configurés, à condition que ces ressources soient "browseable" et que vous ayez les droits nécessaires.

Attention tout changement intervenant sur ces ressources peut mettre un certain temps avant mise à jour de l'affichage. Netbios est en effet un protocole extremement bavard et basé sur ce qu'on appelle le broadcast. Il interpelle tout le reseau à des moments déterminés pour la mise à jour des ressources.

Gestion des utilisateurs et des groupes

Cette notion va permettre de sécuriser l'accès aux données. Toute la problématique repose sur la nécessité de disposer de comptes sur le système Linux qui vont correspondre aux utilisateurs sur les machines Windows. On parle aussi de synchronisationde ces deux types de comptes. Il en s era de même pour les groupes.

Les différents types d'utilisateurs Samba

Il existe plusieurs types d'utilisateurs et donc de droits. Nous distinguerons l'administrateur, les utilisateurs et les invités (guest) :

Exemple :

[global]
    ...
    guest account = nobody
    ...
 [monpartage]
    comment = mon joli partage
    path = /home/public
    guest ok = yes

Synchroniser les utilisateurs

Pour synchroniser les utilisateurs Windows / Linux, on utilisera la commande smbpasswd.

Dans un premier temps, on ajoute l'utilisateur au fichier /etc/samba/smbpasswd ainsi que son mot de passe qui sera le même pour Linux et Windows. Pour ce faire, utilisez l'option -a.

Exemple :

  1. smbpasswd-a anne New SMB password: Retype new SMB password: Added user anne.

Vous pouvez vérifier le contenu de /etc/samba/smbpasswd :

# cat /etc/samba/smbpasswd
anne:500:C4315DF197EED860C2265B23734E0DAC:9C08AB50A2F8864881B0418E3A63B77B:[U ]:LCT-40DC451B:

Renouvelez l'opération pour chaque utilisateur devant accéder au serveur Samba.

Dans le cas de figure ci-dessus, la méthode utilisée implique que l'utilisateur porte le même nom sur les 2 systèmes, anne dans notre cas. Il est toutefois possible de conserver un nom d'utilisateur sur Windows différent. On aura alors recours à un fichier supplémentaire : /etc/samba/smbusers.

Exemple :

# cat /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
anne = leanne

Il est ensuite possible de changer le mot de passe de l'utilisateur, à partir de Windows ou bien du serveur Samba grâce à la commande smbpasswd :

# smbpasswd anne
New SMB password:
Retype new SMB password:
#

Gestion des groupes

Depuis la version 3.x de Samba, les groupes sont maintenant entièrement gérés. Là encore nous allons devoir synchroniser les groupes UNIX et Windows grâce à la commande net :

# net groupmap add unixgroup=nom_unix ntgroup=nom_windows

Ainsi si je dispose d'un groupe utilisateurs sur Linux, et que ce groupe se nomme utilisateurs ordinaires sur Windows, on procédera de la manière suivante :

# net groupmap add unixgroup=utilisateurs ntgroup='utilisateurs ordinaires'
No rid or sid specified, choosing algorithmic mapping Successully added group utilisateurs ordinaires to the mapping db

Pour lister les correspondances existantes :

# net groupmap list
utilisateurs ordinaires (S-1-5-21-567158280-4275195276-2466317430-2001) -> utilisateurs

Pour supprimer une correspondance :

# net groupmap delete ntgroup='utilisateurs ordinaires'
Sucessfully removed utilisateurs ordinaires from the mapping db

Outils graphiques de configuration d'un serveur Samba

Il existe de nombreux outils graphiques qui vont vous permettre de procéder aux mêmes manipulations mais sans utiliser d'éditeur de texte. Les intitulés des actions à réaliser reprennent généralement les mêmes dénominations que les paramètres utilisés dans le fichier smb.conf décrit ci-dessus.

KSambaPlugin

KsambaPlugin est un outil graphique écrit en GTK pour KDE. Il permet de configurer entièrement un serveur Samba. Il s'agit d'un module supplémentaire pour le centre de contrôle de KDE. Il procure également des propriétés supplémentaires à Konqueror, qui lui permettent d'en faire un outil de parcours réseau Samba (voir section suivante de l'article). Pour l'installer :

# urpmi ksambaplugin 
 Préparation... ##################################################
  1:ksambaplugin ##################################################

Pour l'utiliser, allez dans le menu KDE "Système >> Configuration >> Configurez votre bureau". Cliquez alors sur le menu "Réseau >> Configuration de Samba". Passez ensuite en mode superutilisateur. Vous avez alors accès à la configuration de votre serveur Samba sous forme de 5 onglets :

Schema4 : Ksamba - interface de configuration

  • configuration de base : c'est la section [global]
  • configuration des partages de fichiers : nous retrouvons la section [homes] et tout autre partage de fichiers
  • configuration des imprimantes partagées : cet onglet permet la configuration des partages [print$] et [printers]
  • configuration des comptes utilisateurs : créer, modifier supprimer des utilisateurs et des groupes tout en assurant la synchronisation
  • paramètres de configuration avancée : paramétrage avancé du serveur

Schema5 : Ksamba - configuration des utilisateurs

Module Samba pour Webmin

Webmin est un utilitaire accessible par interface web qui va vous permettre de configurer l'ensemble de votre machine (système et réseau). Il est constitué d'un ensemble de modules dont celui consacré au serveur Samba.

Pour installer Webmin, réutilisons urpmi puis démarrons webmin :

# urpmi webmin
 Préparation...              ##################################################
    1:webmin                 ##################################################
 # service webmin start
 Lancement de Webmin                                             [  OK  ]

Pour accéder à webmin, tapez dans la barre d'URL de votre navigateur : https://localhost:10000
Authentifiez-vous alors en tant que root avec votre mot de passe. Cliquez sur l'onglet "serveurs" puis "Samba Windows File Sharing"

Schema6 : Webmin - liste des partages du serveur

Vous avez alors décrit rapidement l'ensemble des ressources partagées, avec la possibilité de modifier cette configuration. Comme pour KsambaPlugin, l'ensemble du serveur est paramétrable.

Schema7 : Webmin - menu principal de configuration de samba

Remarque : l'idée n'est pas ici de décourager l'utilisation de tels outils. Mais ceux-ci proposent l'accès relativement simple à des paramétrages avancés de Samba. Mal maîtrisés, vous pouvez rapidement mettre votre serveur hors d'usage. Alors attention aux clics intempestifs et gardez un oeil sur la configuration texte.

Outil graphique de parcours des ressources Samba

Konqueror est maintenant un bon moyen d'accéder à un serveur Samba, il suffit pour cela de taper dans la zone URL smb://user@serveur/ ou smb://user:password@serveur/ pour accéder au serveur "serveur" en tant que "user".

Schema8 : parcours des ressources Samba avec Konqueror

L'utilisation est relativement aisée, il vous suffit de cliquer sur les fichiers et/ou répertoires, comme pour un système de fichiers local.

Conclusion

Voilà donc votre serveur Samba fonctionnel. Nous n'avons abordé ici qu'une infime partie des possibilités offertes. Sachez que les dernières versions permettent d'apporter les mêmes fonctionnalités qu'un serveur NT, voire 2000 : contrôleur de domaine (PDC, BDC), serveur de netlogon (authentification centralisée), serveur de résolution de noms netbios (WINS)... Bref de quoi passer de votre configuration personnelle à une véritable architecture d'entreprise !

Quelques adresses utiles

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Anne le 02/11/2004.