anti-aspirateur
www.misfu.com : Cours et Formation Informatique et logiciels, apprendre et télécharger gratuitement
 Cours informatique

  • Télécharger des cours


  • Cours Débutant
  • Cours Linux
  • Cours Internet
  • Cours Ergonomie
  • Cours Réseaux
  • Cours JavaScript


  • Cours Excel
  • Cours Word
  • Cours PowerPoint
  • OpenOffice (Texte)
  • OpenOffice (Tableur)

  • Annuaire informatique
  • Articles informatique





  • Migration NT/2000 avec Linux et SAMBA


    Accueil > Cours réseaux informatique > Migration NT/2000 avec Linux et SAMBA


     Remplacer un serveur Windows NT/2000 par Linux et SAMBA
       

    Sommaire :

    • Etude de cas
    • Configuration
    • Exemple de fichier de configuration
    • Considérations Finales
    • Références: Bibliographie et outils
    • Copyright Notes

    Résumé


    Cet article ajoute des aspects présentés au préalable dans d'autres articles de LinuxFocus sur SAMBA, et sur son usage pour partager des ressources dans un environnement hétérogène Unix-Windows. Il se concentre plus précisément sur l'utilisation de Linux avec SAMBA pour fournir des services, habituellement fournis par les systèmes Windows.
    Ce n'est pas seulement une démonstration de la puissance et de la souplesse de Linux, mais aussi un moyen d'en présenter les impacts économiques importants tels que :


    • Les économies sur le prix des licenses de serveurs Windows.
    • Une performance similaire ou meilleure peut être obtenue, parfois en utilisant moins de ressources matérielles que celles requises par un serveur Windows (en termes de processeur et mémoire)

    Un serveur Linux avec SAMBA bien configuré peut se substituer à un serveur Windows NT/2000, peut facilement partager des répertoires, fournir un service Active Directory (ADS) mais peut aussi fonctionner en tant que contrôleur primaire de domaine (PDC), fournissant les services d'authentification avec les clients Windows 2000/NT/98/95, partageant les ressources (répertoires et imprimantes) et gérant les sessions utilisateur.
    Cet article se concentre particulièrement sur ces aspects.


    Comme résultat, dans de nombreux contextes où c'est la fonction primaire d'un serveur Windows, un serveur Linux avec SAMBA peut exécuter toutes les fonctions d'un serveur basé sur le système de Microsoft, sans changement sur les ordinateurs clients.
    Pour les différentes étapes abordées, nous considérons que : SAMBA est déjà installé et fonctionne correctement sur la machine qui sera le serveur. Le lecteur connaît les concepts de base des serveurs Linux et Windows.


    Etude de cas

    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.

    Network diagram
    Fig. 1 – PDC et serveur de fichiers sous Windows

    Configuration

    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


    Note:
    Pour un login spécifique à chaque utilisateur, remplacer le script de logon par %U.bat, ainsi, chaque utilisateur a un "script de logon" avec son nom d'utilisateur; %u peut aussi être utilisé. Si vous souhaitez gérer le groupe auquel l'utilisateur appartient, vous pouvez utiliser %g ou %G. La signification de ces paramètres ou d'autres se trouvent dans le manuel.(man smb.conf)

    4) Créez les ressources partagées
    Editez le fichier smb.conf et commentez tous les exemples de partages, en faisant les modifications nécessaires pour ajouter les informations suivantes:

    [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


    Sauvegardez le fichier smb.conf

    5) Vouz pouvez vérifier la conformité de smb.conf en utiliant la commande :


    testparm

    Cette commande analyse le fichier smb.conf et rapporte les erreurs qui y sont trouvées.

    6) Créez les répertoires /home/netlogon et /home/public avec les permissions 0754(netlogon) and 0777 (public).

    7) Editez le fichier de script Logon: logon.bat.
    Important : Utilisez un éditeur de texte pour Windows/DOS (comme Notepad ou Edit) pour créer le fichier logon.bat (afin de le sauvegarder dans un format texte MS); vous pouvez aussi utiliser un éditeur sous Linux, et convertir au bon format de texte. Par exemple, vim, a une commande ":set textmode" permettant d'obtenir un fichier avec les fins de lignes MS.


    net time SMBServer /y (vous pouvez aussi utiliser: /yes au lieu de /y )
    net use H: SMBServerhome -y
    (vous pouvez aussi utiliser: /yes ou /y au lieu de -y )

    net use P: SMBServerpublic -y

    8) Insérez l'information SMBServer dans le fichier lmhosts
    Editez le fichier /etc/samba/lmhosts (ou /etc/lmhosts) et ajoutez-y une ligne avec l'information de votre SMBServer :

    SMBServeur, i.e: 192.168.0.10 SMBServer

    9) Démarrez/redémarrez le démon Samba (smbd)

    service smb restart

    Si ça ne fonctionne pas correctement sur votre distro Linux, vous pouvez utiliser :

    ps -auxgx | grep smb
    kill -9 <# ID de processus de smb>
    smbd


    10) Utilisez smbclient pour vérifier que la configuration indiquée précédemment fonctionne correctement.

    smbclient -L //SMBServeur

    Si "Password:" est affiché, pressez "Enter" et les ressources partagées du serveur seront affichées.

    11) Effectuez un login de client, à partir d'une autre machine Windows, dans le domaine LEDOMAINE, avec un nom d'utilisateur Linux/Samba créé préalablement (voir étapes 1 et 2).

    Sous Windows, 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).


    Exemple de fichier de configuration

    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 =
    #.......................................................................................................................................#
    # 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 =
    #.......................................................................................................................................#
    # 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 = %LProfiles%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

    #------------------------------------------------------------------------------------------------------------#

    Considérations Finales

    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 :

    • Regarder le fichier smb.conf installé par défaut, qui contient généralement des lignes commentées au sujet des "paramètres problématiques"
    • Lire la documentation de SAMBA, en commençant par le fichier qui décrit les changements survenus depuis les dernières versions.

    Références: Bibliographie et outils


    L´auteur

    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.



    Traduit en Français par :
    Jean-François Messier


    Ajouts de ressources Web dans les Références par :
    Olivier Maréchal



    www.misfu.com



    Vous pouvez également faire héberger vos tutoriaux sur le site Misfu, il vous suffit de nous les envoyer







     Cours Réseaux

  • Câbler à la maison
  • Faq cablage

  • Migrer serveur NT/linux
  • Firewall
  • Paramétrer le BIOS
  • Utiliser DHCP
  • Introduction TCP/IP
  • TCP/IP et internet
  • Soumettre un cours ?

























  • Publiez vos articles, et cours - Nous contacter
    WDMédia hébergement hébergeur de Misfu
    Copyright © 2005-2010 www.misfu.com
    Notice légale - Publicité

    Temps : 0.0366 seconde(s)