![[Photo of the Author]](../../common/images/SebastianSasias.jpg) 
 
    original in es Sebastian Sasías
es to en Sebastian Sasías
en to fr Jean-François Messier
Il utilise Linux depuis plusieurs années comme outil de développement
    de solutions technologiques.
    Il travaille sur le contrôle d'équipement avec Linux : traitement de signal,
    communication et sécurité de réseaux.
    
     Professionel en Electronique - Automatisation et en Informatique.
    Il a contribué au développement de logiciel libre sous GNU/GPL.
    
![[Illustration]](../../common/images/article247/sambalogo.jpg) 
 
    Considérons un serveur Linux/SAMBA fonctionnant en tant que PDC, où
    chaque utilisateur authentifié a aussi accès à deux répertoires partagés
    sur le serveur, un dans une zone publique, et l'autre dans une zone privée.
    Au cours de cet article, il sera
    fréquent d'accéder à une zone privée, le répertoire personnel de chaque
    utilisateur.
    
    
    
    Détails à  considérer:
    
     Nom du serveur Linux/Samba NetBIOS
    :SMBServeur
    Nom du domaine Windows (workgroup): LEDOMAINE
    Partition privée de chaque usager: H: (Windows) =>
    /home/ (Linux server)
    Partition publique : P: (Windows) =>
    /home/public
    
    
    La figure 1 montre un simple réseau avec des ordinateurs clients
    fonctionnant sous Windows qui utilisent des ressources et des
    services d'un serveur Windows NT/2000. Ce serveur peut être remplacé
    par un serveur Linux/SAMBA.
    
    

Etapes à  suivre:
    
    1) Créer les utilisateurs qui devront être authentifiés sur le serveur PDC
    (Linux et Samba).
    Utiliser les commandes adduser,useradd ou
    userconf, ou d'autres utilitaires pour la gestion d'utilisateurs
    avec interface graphique (Webmin, Linuxconf, Yast, etc.).
Assurez-vous que les usagers ont seulement accès aux services
    de Linux/SAMBA (si vous le souhaitez), ce qui implique qu'ils n'ont
    pas accès au shell Linux. A cette fin, ils auront 
    /dev/null comme répertoire personnel et
    /bin/false comme shell.
    
    2) Convertissez les usagers Unix en usagers Linux/Samba/Windows,
    en créant le fichier smbpasswd.
    cat /etc/passwd |
    mksmbpasswd.sh > /etc/samba/smbpasswd
    
    Une autre méthode consiste à exécuter les commandes de SAMBA
    pour la création d'utilisateurs et la définition de mots de passe.
smbadduser
     smbpasswd
    
    Ces commandes fonctionnent de façon similaire aux commandes adduser
    et passwd.
    
    3) Editez le fichier de configuration Sambe (smb.conf), en vous assurant
    d'inclure ou de supprimer les commentaires des options ci-dessous:
    
    
netbios name = SMBServer
    workgroup = THEDOMAIN
    server string = Linux Samba NT Server
    log file = /var/log/samba/%m.log
    max log file = 0
    security = user
    encrypt password = yes
    smb password file = /etc/samba/smbpasswd
    ssl CA certificate = /usr/share/ssl/.... (retirer commentaire)
    socket options = (retirer commentaire)
    local master = yes
    preferred master = yes
    domain master = yes
    domain logons = yes
    logon script = logon.bat
    wins support = yes
    
    [netlogon]
    comment = Initialization Scripts
    path = /home/netlogon
    read only = yes
    guest ok = yes
    browseable = no
    
    [home]
    comment = User Directory
    path = /home/%U
    browseable = yes
    writable = yes
    
    [public]
    comment = Public Directory
    path = /home/public
    browseable = yes
    writable = yes
    guest ok = yes
    create mask = 0777
    force create mask = 0777
    
    
    net time \\SMBServer /y 
    (vous pouvez aussi utiliser: /yes au lieu de /y
    )
    
    net use H: \\SMBServer\home -y 
    (vous pouvez aussi utiliser: /yes ou /y au lieu de -y
    )
    
    net use P: \\SMBServer\public -y
    
    
Sous Windows 95/98/ME, l'ordinateur client devrait être configuré comme suit:
Démarrer => Paramètres => Panneau de contrôle => Réseau => Client pour Réseaux Microsoft => Propriétés.
Une méthode très similaire peut être utilisée pour les clients
    Windows NT/2000 (Workstation/Professional), bien que la séquence
    puisse être différente.
    
Choisissez l'option "Démarrer une session de domaine Windows NT/2000"
    et tapez ce domaine: LEDOMAINE (WORKGROUP).
    
Voici une configuration complète de Samba, qui a été
    testée avec plusieurs distributions de Linux. Le lecteur peut la modifier
    pour obtenir les résultats escomptés présentés dans cet article. Chaque
    instruction est commentée.
    
    Un dernier conseil pour ceux qui désirent une configuration rapide
    de Samba. Vous pouvez installer Webmin et/ou SWAT pour configurer
    d'une façon plus conviviale.
#============================================================#
    # /etc/smb.conf
     #------------------------------------------------------------------------------------------------------------#
    # Fichier de configuration principal de SAMBA
    # Sélectionnez les paramètres selon vos besoins
    #------------------------------------------------------------------------------------------------------------#
    # Testé avec les systèmes: Solaris et les distributions Linux:
     # RedHat 6.0, 7.0 y 7.1
     # Solaris 7
    # Slackware 7.x
    # Mandrake 6.1, 7.0 y 8.1
    # SuSe 7.2
     #------------------------------------------------------------------------------------------------------------#
    # derniers changements: 08/12/2001
    # Sebastian Sasias - sasias(at)linuxmail(dot)org
    # Commentaires traduits de l'anglais
    # Note du traducteur: Les titres de paramètres avant "=" doivent
    rester tels quel.
    #============================================================#
    #
    # Ce fichier a été développé selon les spécifications du fichier
    # SAMBA, du manuel smb.conf(5)
     #
    # NOTE: Après avoir édité ce fichier, testez-le avec
    # la commande "testparm"
    #
    #======================== Options Globales
    =======================#
     #
    # Configuration Générale
     #
    [global]
    #.......................................................................................................................................#
    # workgroup = Domaine-NT ou nom-de-WorkGroup, ie:
    LEDOMAINE 
    # Domaine PDC 
    workgroup =
    LEDOMAINE
    #.......................................................................................................................................#
    # Nom annoncé aux autres ordinateurs
     netbios name =
    SMBServeur
    #.......................................................................................................................................#
    # Le commentaire suivant apparaîtra dans le 
    "Voisinage réseau"
    server string = Serveur de test SAMBA
    #.......................................................................................................................................#
    # Cette ligne est importante pour des raisons de sécurité 
    # pour permettre la connexion à des ordinateurs spécifiques du
    réseau local. 
    # Par exemple, ici, l'accès est permis aux ordinateurs
    connectés au réseau 192.168.8.0  
    # Classe C commune) et à partir de l'interface "loopback". 
    # Pour plus de détails, lire la page man du fichier smb.conf
    # Ex. : les ressources partagées ne peuvent être utilisées 
    que par des ordinateurs dont l'adresse IP commence 
    # par 192.168.8 et par 127 (en commentaires
    sur la ligne suivante)
    ; hosts allow = 192.168.8.
    127.
     #.......................................................................................................................................#
    # Pour charger une liste d'imprimantes au lieu de les
    # énumérer, utilisez: 
    ; load printers =
    yes
     #.......................................................................................................................................#
    # Remplacer le chemin du fichier printcap :
    ; printcap name =
    /etc/printcap
     #.......................................................................................................................................#
    # Sous SystemV les propriétés de noms printcap pour lpstat
    doivent permettre 
    # d'obtenir automatiquement une liste d'imprimantes
    à partir du spool 
    # de SystemV (Belle répétition 
    :-)
    ; printcap name =
    lpstat
     #.......................................................................................................................................#
    # Il ne devrait pas être nécessaire de spécifier le type de système
    d'impression à moins qu'il ne soit pas standard
    
    # Les systèmes actuellement supportés sont:
    # bsd, sysv, plp, lprng, aix, hpux, qnx 
    ; printing =
    bsd
     #.......................................................................................................................................#
    # Décommentez pour obtenir un compte d'invité (guest)
    
    # vous devez l'ajouter à  /etc/passwd sinon,
    l'utilisateur "nobody" sera utilisé 
    ; guest account =
    pcguest
     #.......................................................................................................................................#
    # Pour obliger l'utilisation d'un fichier log distinct pour  
    chaque ordinateur 
    # se connectant au serveur SAMBA 
    log file =
    /var/log/samba/log.%m
     #.......................................................................................................................................#
    # Pour limiter la taille de fichiers log (en Ko).
    max log size = 50
     #.......................................................................................................................................#
    # Voir security_level.txt pour plus de détails
    # Indique la méthode de validation des mots de passe
    # User level security =
    chaque utilisateur avec son mot de passe (smbpasswd) 
    security = user
     #.......................................................................................................................................#
    # Si security = server la validation sera faite à partir d'un autre
    serveur 
    # Utiliser la valeur "password server" seulement avec
    security = server 
    # password server = [Adresse IP du serveur d'authentification].
    ; password server =
    <Serveur-NT>
     #.......................................................................................................................................#
    # Pour crypter les mots de passe. Veuillez lire
    ENCRYPTION.TXT,
    # Win95.txt et WinNT.txt dans la 
    documentation Samba.
    # N'activez cette option que si vous avez suffisamment 
    de connaissances sur cette propriété. 
    # Information: Win95, Win98 et WinNT envoient
    des mots de passe cryptés. 
    encrypt passwords =
    yes
     #.......................................................................................................................................#
    # Les lignes suivantes servent à personnaliser less
    configurations
     # de chaque ordinateur sur le réseau. %m est remplacé
    par le nom 
 # NetBios de la machine qui
    se connecte.
; include =
    /usr/local/samba/lib/smb.conf.%m
     #.......................................................................................................................................#
    # La documentation et certains "trucs" disent  
    # que l'option suivante donne de bonnes 
    performances. Essayez ! 
    # Voir speed.txt et les pages de manuel pour plus ample
    information
    socket options =
    TCP_NODELAY
     #.......................................................................................................................................#
    # Configuration Samba pour utiliser plusieurs cartes réseau
    # Pour pouvoir utiliser plusieurs cartes réseaux, 
    # elles doivent être listées ici.
    Comme dans l'exemple ci-dessous.
    # Lire les pages de manuel pour plus de détails.
    
    ; interfaces =
    192.168.8.2/24 192.168.12.2/24
     #.......................................................................................................................................#
    # Options de contrôle de l'explorateur: 
    # Définir "local master = no" pour que Samba ne soit pas le
    maître explorateur du réseau.
     local master =
    yes
     #.......................................................................................................................................#
    # "OS Level" indique la précédence du serveur dans le choix du 
    # master browser. La valeur par défaut est communément suffisante
    ; os level =
    33
     #.......................................................................................................................................#
    # Domain Master définit Samba comme maître explorateur de domaine.
    
    # Ceci permet à Samba d'agir au titre de contrôleur de domaine et aussi de "voir" 
     # les ordinateurs des différents sous-réseaux TCP/IP
    # Ne l'utilisez pas si vous avez déjà  un
    contrôleur de domaine NT/2000 qui effectue cette tâche. 
    domain master =
    yes
     #.......................................................................................................................................#
    # "Preferred Master" oblige Samba à choisir un explorateur local par défaut
    au démarrage 
    # et augmente légèrement ses chances de le devenir. 
     # Si on a plus d'un serveur, "Preferred Master" deviendra le "favori" 
     #quand les clients chercheront un serveur dans la liste
     preferred master =
    yes
     #.......................................................................................................................................#
    # A n'utiliser que s'il y a déjà  un serveur NT/2000 
    fonctionnant comme PDC. 
    # (primary domain controller).
    
    ; domain controller =
    <Serveur-de-domaine-NT>
     #.......................................................................................................................................#
    # Pour définir Samba comme serveur de
    logon pour le domaine 
    # pour les stations Windows 9x/Me.
    
    domain logons =
    yes
     #.......................................................................................................................................#
    # Si vous utilisez "domain logons" il vous faut un script de logon
    # pour chaque ordinateur ou chaque utilisateur
    
    ; logon script =
    %m.bat
    
     # Pour un script spécifique à chaque utilisateur :
     ; logon script =
    %U.bat
     #.......................................................................................................................................#
    # Où stocker les profils itinérants (seulement pour Win95 et
    WinNT) 
    # %L remplace le nom NetBIOS du serveur, %U
    remplace le nom de l'utilisateur
    
     # Il faut "décommenter" le partage [Profiles] ci-dessous 
    ; logon path =
    \\%L\Profiles\%U
     #.......................................................................................................................................#
    # Support de Windows Internet Name Service (WINS):
    
    # WINS Support - indique à NMBD d'activer son serveur WINS.
    # WINS protocol, convertit les noms de machines en adresses IP, 
    # il fonctionne comme le DNS de TCP/IP.
     ; wins support =
    yes
     #.......................................................................................................................................#
    # WINS Server - indique aux composants NMBD de Samba d'agir comme client WINS 
    # SAMBA peut être serveur WINS ou client WINS, 
    # mais pas les deux en même temps.
    # Ici, on doit spécifier le serveur WINS
     ; wins server =
    192.168.8.1
     #.......................................................................................................................................#
    # WINS proxy - Demande à Samba de répondre aux requêtes de résolution
    de noms pour les clients non WINS 
    # On doit avoir au moins un serveur WINS sur le réseau pour que
    cette option fonctionne.
    # La valeur par défaut est NO.
    ; wins proxy =
    yes
    #.......................................................................................................................................#
    # DNS Proxy - demande à  Samba de résoudre les noms
    NetBIOS ou pas, par le nslookup de DNS.
    # La valeur par défaut pour la version 1.9.17 est "yes", 
    # qui a changé depuis la version 1.9.18 en "no".
    
    # Ici nous pouvons indiquer à SAMBA si la résolution de
    nom se fera par DNS ou pas.
    # dns proxy = yes
     # dns proxy = no (la résolution de nom se fera par lmhosts )
    #........................................................................................................................................#
    # Si "logon drive" n'est pas spécifié, Z: sera 
    automatiquement "monté"
     logon drive = P:
     #.......................................................................................................................................#
    #Quand un login se produit, ce script est éxécuté:
    /etc/samba/netlogon/SAMBA.BAT 
    # et "monte" les unités de disques par "net
    use" 
    logon script =
    SAMBA.BAT
    
     #====================== Définitions de partages
    ========================#
    
     # Répertoire personnel pour chaque utilisateur 
    # Unité P: 
    
    [homes]
     comment = Répertoires personnel
     browseable = no
     writable = yes
     readonly = no
     force create mode = 0700
     create mode = 0700
     force directory mode = 0700
     directory mode = 700
    
     #------------------------------------------------------------------------------------------------------------#
    # Répertoire des fichiers temporaires 
    # Unité T: 
    
    [tmp]
     comment = Fichiers temporaires
     path = /tmp
     readonly = no
     public = yes
     writable = yes
     force create mode = 0777
     create mode = 0777
     force directory mode = 0777
     directory mode = 0777
    
    
    #------------------------------------------------------------------------------------------------------------#
    # CD-ROM du serveur 
    # Unité L: 
    
    [cdrom]
     comment = CD-ROM
     path = /mnt/cdrom
     public = yes
     writable = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Groupe, correspondant à  /home/grp.name_group
    
    # /home/user/group est un lien vers 
    /home/grp.name_group 
    # grp.name_group a les permissions 770
    
    # Unité G: 
    
    [group]
     comment = Directory of Group
     path = /home/%u/group
     writable = yes
     readonly = no
     force create mode = 0770
     create mode = 0770
     force directory mode = 0770
     directory mode = 0770
    
    
    #------------------------------------------------------------------------------------------------------------#
    # Cette unité sert aux applications et installations de logiciels, 
    # logiciels corporatifs, etc. 
    # Les permissions de /net et /net/install sont 755, i.e:
    ici, root en est le propriétaire 
    # Unité N: 
    
    [net]
     comment = Directory Net
     path = /net
     writable = yes
     readonly = no
     force create mode = 0750
     create mode = 0750
     force directory mode = 0750
     directory mode = 0750
    
     #------------------------------------------------------------------------------------------------------------#
    [netlogon]
     comment = Service d'accès au réseau
     path = /etc/samba/netlogon
     guest ok = yes
     writable = no
     locking = no
     public = no
     browseable = yes
     share modes = no
    
    
    #------------------------------------------------------------------------------------------------------------#
    #============================================================#
SAMBA ainsi que d'autres outils pour Linux évoluent
    continuellement, et il se peut donc que certains détails présentés
    ici ne soient plus d'actualité. En fait, au cours de l'évolution de
    SAMBA, certains noms de paramètres dans les fichiers de configuration
    ont légèrement changé, avec comme objectif d'obtenir une meilleure
    structure.
    Si pendant la configuration de SAMBA vous obtenez des messages d'erreurs
    concernant des paramètres inconnus, vous avez deux solutions au problème :
SAMBA is
    a product distributed under GPL Licence
    Linux is a registered mark of Linus Torvald.
    Solaris is operating system and registered mark of Sun
    Microsystems.
    MS Windows is operating system and registered mark of
    Microsoft.
    The use of SAMBA implies big savings on licence fees to
    Microsoft.