Client Linux dans un réseau Windows page précédente

Utilisation d'un Client Linux dans un réseau Windows

par Piou - mise à jour le 08/11/2004.

Un mot avant de te jeter en fin de page sur le téléchargement : RTFD (lis cette p..... de doc ! :) comme disent les anglophones.

1 Le problème

1.1 Incompatibilités

De nombreux réseaux d'entreprise ou d'établissement scolaire sont équipés de machines Windows. Ces machines utilisent un protocole d'échange appelé SMB qui permet aux machines Windows de partager des données, des applications et des périphériques (imprimantes...).

Traditionnellement, les réseaux de machines Unix (HP-UX, SCO, BSD et leurs homologues libres : FreeBSD, Linux..) utilisent un protocole d'échange appelé NFS qui est assez éloigné du principe de SMB.

Le problème se résume donc à une seule question : Comment permettre le partage de ressources entre les machines Windows et les machines Unix ?

1.2 Le grand rassemblement

La communauté du monde Unix libre a crée un ensemble d'utilitaires appelé SAMBA qui permet aux machines Unix de devenir :

  • Serveur de ressources et d'authentification pour les machines Windows (Samba Server)
  • Client des serveur Windows (Samba Client)

    Le protocole utilisé est SMB.

    1.3 Bien...mais pas top !

  • Le logiciel SAMBA est très efficace mais son utilisation est loin d'être simple (ligne de commande).
  • La plupart des distributions Linux actuelles livrent avec leur environnement graphique des "explorateurs" de réseau Windows qui permettent d'accéder aux partages Windows mais sous une forme qui déroute souvent l'utilisateur et avec un comportement parfois aléatoire (lecture seule ?).
  • Les partages Windows réclament souvent une authentification de l'auteur (user/password). Malheureusement, l'authentification de base sur la machine Unix n'est pas toujours en phase avec le serveur Windows ce qui rend difficile ou même impossible l'accès aux ressources. Par exemple, si on a 850 comptes clients sur le serveur Windows NT (ou Unix SAMBA), cela nécessite 850 comptes locaux sur chaque client Unix sauf à mettre en place une structure NIS ou LDAP qui n'est pas toujours très simple à installer ni à configurer.
    2 La (modeste) solution MonteSMB

    C'est un petit utilitaire qui s'occupe de l'établissement des connexions réseau à la place de l'utilisateur. Cet utilitaire utilise bien sûr la couche SAMBA-client mais l'utilisateur n'a pas besoin de savoir s'en servir. C'est un petit logiciel léger qui fonctionne sans problème sur tous les Linux équipés d'un environnement graphique. Il est basé sur la librairie GTK qui est toujours installée par défaut.

    Scénario d'utilisation :

  • démarre de la machine Linux en mode graphique (window manager quelconque)
  • logue toi avec un compte quelconque (qui peut être local, générique ou automatique)
  • appelle montesmb (ou lancement automatique s'il est dans le dossier démarrage)
  • donne le couple : nom d'utilisateur - mot de passe et clique sur connecter (puis attendre quelques secondes)
  • les ressources partagées se montent automatiquement dans le home actuel et sont immédiatement disponibles

    2.1 Le fichier de configuration montesmb.cfg

    C'est un petit fichier texte appelé "montesmb.cfg". Il faut le copier dans /etc et lui donner les droits :
          - r w - r - - r - -   root root

    Il faut que root l'ouvre avec un éditeur de texte sous Linux (et pas sous Windows), et le renseigne selon le modèle suivant :

    # le nom netBios du serveur
    serveur=nom_du_serveur
    # les couples : ressource;point de montage
    ressource1;point_de_montage1
    ressource2;point_de_montage2
    ...

    Tout utilisateur a la possibilité de copier /etc/montesmb.cfg dans son répertoire /home/user puis de le modifier selon ses besoins. Si il est présent, ce fichier /home/user/montesmb.cfg sera lu en priorité à la place de /etc/montesmb.cfg ce qui permet de personnaliser les connexions.

    2.2 L'exécutable montesmb

    Il faut le copier dans /usr/bin et lui donner les droits suivants :
          - r - x r - x r - x   root root

    Au lancement, le logiciel cherche montesmb.cfg dans le home courant puis, s'il ne le trouve pas, il va le chercher dans /etc. Il le lit puis renseigne certain de ses champs avec les informations qu'il y a trouvé.

    Le bouton détails permet d'agrandir la fenêtre pour accéder à toutes les options de montage (inutile en temps normal).

    1. le nom de l'utilisateur tel qu'il est reconnu par le serveur. (*)
    2. le mot de passe de l'utilisateur tel qu'il est connu par le serveur. (**)
    3. ce bouton provoque le montage des ressources partagées prévues dans le fichier montesmb.cfg.
    4. ce bouton provoque le démontage de toutes les ressources smb partagées qui sont montées dans le home actuel.
    5. c'est le nom netBios du serveur tel qu'il apparaît sur le réseau. (*)
    6. les partages qui ont été lus dans le fichier montesmb.cfg
    1. ce bouton va provoquer le montage de la ressource à sa droite.
    2. le nom de la ressource partagée sur le serveur (**)
    3. le point de montage dans le home actuel (**)

    (*) ces champs peuvent être renseignés à la main
    (**) ces champs doivent être renseignés à la main


    2.3 Remarque sur l'utilisation du client Linux

    Le couple d'information utilisateur/mot_passe doivent correspondre à un compte d'utilisateur ouvert sur le serveur. Ils peuvent être totalement indépendants des comptes de la machine locale (et donc, pas besoin de NIS ou de LDAP).

    Par exemple, la machine cliente Linux peut avoir comme utilisateurs déclarés localement :

  • root
  • prof
  • eleve (les élèves se logues donc tous avec le compte eleve).

    L'élève se logue en compte élève. Puis il appelle alors montesmb, donne son nom_utilisateur/mot_passe et trouve dans le répertoire home tous les montages qu'il retrouve habituellement sur un client Windows.

    L'utilisation des montages personnalisés est assez intuitive et n'a pas besoin de commentaire (pour l'instant du moins ;-)

    Ce logiciel ne fonctionne que si Samba-Client est installé. Pour savoir si c'est fait, lance une console et tape smbclient. Le message d'erreur sanctionne l'absence.


    3 Intégration dans un réseau éducatif type SambaEdu

    3.1 Le système SambaEdu

    SambaEdu est une solution libre qui permet d'utiliser un micro-ordinateur équipé de Linux en tant que serveur de ressource et d'authentification en environnement scolaire. SambaEdu est disponible sur le site du CDRP de Caen à l'adresse http://www.linux-france.org/prj/edu/sambaclg/

    SambaEdu a été crée par Olivier LECLUSE (olivier.lecluse@crdp.ac-caen.fr)

    3.2 Mise en place de la solution montesmb

    La structure de partage de SambaEdu propose un accès aux ressources partagées à travers de "disques réseaux" :

  • lecteur K: la zone personnelle de l'utilisateur (en lecture écriture)
  • lecteur L: les logiciels exécutables (en lecture seule)
  • lecteur P: la zone publique accessible à tous (en lecture écriture)
  • lecteur I: les logiciels installables (en lecture seulement pour les administrateurs).
  • D'autre partages peuvent être créer selon les besoins pédagogiques de l'établissement scolaire.

    Si on utilise des clients Linux, il peut être intéressant d'offrir à l'élève un environnement de travail qui respecte cette structure.

    Je propose donc sur la machine Linux :

    Ce résultat peut être facilement obtenu grâce à montesmb et au fichier de configuration montesmb.cfg suivant :

    # le fichier montesmb.cfg

    serveur=serveur

    home;K
    perso;P
    logiciel;L

    Si tu as besoin d'autres montages, il faut donc les ajouter au fichier de configuration montesmb.cfg pour qu'ils se montent automatiquement eux aussi.
    Par exemple : clipart;T


    4 Historique de montesmb

    v 0.2.6 :

  • correction d'un probleme d'affichage avec la nouvelle libgtk 1.2 (mdk 9.0 et autre...). Quelques problemes d'internationnalisation avec cette version de libgtk. Afin de vous eviter une mise a jour de votre distrib, je prefere eliminer tous les accents.

    v 0.2.5 :

  • petits popup pour prevenir que le demontage s'est bien passe (si -d : fin du programme automatique)

    v 0.2.4 :

  • ajout des deux parametres netbiosname et workgroup pour la connexion sur certains réseaux NT. Sinon, l'utilisation est optionnelle.
  • correction d'un bug de lecture du fichier montesmb.cfg.

    v 0.2.3 :

  • démontage direct par le passage du parametre -d. Exemple : montesmb -d démonte tous les montages smb montés dans le home actuel.
  • petits popup d'alerte en cas de problème
  • v 0.2.2 :

  • simplification de la fenêtre principale mais possibilité quand même d'avoir toutes les options grâce à un bouton détail
  • blindage de la saisie du mot de passe (il accepte maintenant tous les caratères dans le mot de passe - merci Olivier ! )
  • v 0.2 : pas encore top mais présentable et fonctionnel

    v 0.1 : bouts de ficelles mais ca marche ;-)


    5 L'état d'avancement de montesmb

    montesmb est actuellement en version bêta 0.2 ce qui signifie qu'il ne contient plus de bugs connus (mais cela reste possible). Il est stable et totalement fonctionnel.

    Il présente toutefois quelques insuffisances qu'il est bon de connaître :

    Je compte sur la participation d'un maximum d'utilisateurs pour faire avancer ce projet que j'utilise quotidiennement dans mon collège. Grâce à lui, j'utilise Linux (mdk 8.2 ou Debian Woody ) dans le réseau Windows avec les élèves sans aucune retenue. Toutes les critiques constructives seront accueillies avec plaisir.

    montesmb est diffusé en licence publique GPL. Tu peux donc l'utiliser librement, le copier, le donner, le modifier et même le vendre ! Mais tu n'as pas le droit de le transmettre sans être accompagné de sa licence GPL même si c'est une version modifié par toi même. montesmb est sous licence GPL et il le restera !

    Le code source est disponible en téléchargement. Il est donc à la disposition de tous les développeurs qui veulent bien participer...


    6 Téléchargement

    montesmb est livré en version binaire pour les utilisateurs et en version source pour les programmeurs (ou les curieux).

    Le colis i386 contient 5 fichiers : l'exécutable, un fichier de configuration parametré pour être client SambaEdu, un fichier lisezmoi, la licence GPL et le copyright.
    Pour les programmeurs, voilà le colis src qui contient 5 fichiers : le source et une unité, un fichier lisezmoi, la licence GPL et le copyright.

    Pour charger montesmb-i386-0.2.6.tar.gz
    clique ici : téléchargement ici (52 ko)
    Pour charger montesmb-src-0.2.6.tar.gz
    clique ici : téléchargement ici (15 ko)

    Pour l'installation, je conseille (directement à partir du client Linux) de se placer dans un répertoire vide, de télécharger le colis dans ce répertoire puis enfin de décompresser le colis : tar -zxvf montesmb-i386-0.2.6.tar.gz . Avant de passer à l'action et en tout premier, il faut lire le fichier lisezmoi.

    Je rappelle comme d'habitude qu'il est fortement déconseillé de modifier un fichier texte au format Linux à partir d'une machine Windows (et réciproquement).

    Attention : ce programme est sous licence GPL modifiée Carteware [;o). C'est à dire qu'au bout de 30 jours, si tu l'utilises encore, tu dois (y'a intérêt) m'envoyer une carte postale de ton coin de France (ou bien une photo de ton collège, de ton principal ou de ta copine) avec au dos tes critiques ou bien un bisou (pour les filles uniquement...). Merci.


    début de page début de page
    Collège Camille Claudel - 21800 Chevigny St Sauveur © 1998-2002