<!doctype linuxdoc system>

<!-- LinuxDoc file was created by LyX 1.0 (C) 1995-1998 by <jdd> Sun Jun 13 16:12:46 1999
 -->

 <article>
 <title>Samba
 </title>
 <author>Jean-Daniel Dodin - jdanield@linux-france.org http://perso.club-internet.fr/jdanield
 </author>
 <date>Samba.lyx V0.2 -mai 1999
 </date>
 <abstract>Quelques données sur samba.
 </abstract>
 <toc>
 <sect>Qu'est-ce qu'un serveur ?
 <p>Parler de "serveur" suppose que nous travaillons sur des ordinateurs en réseau
 (voir conférences précédentes), et qu'un au moins de ces ordinateurs est prévu
 pour jouer un rôle spécial.
 </p>
 <p>Dans le cadre des "mini-réseaux" qui est le nôtre, nous allons examiner uniquement
 trois des fonctions qu'un serveur est appelé à remplir :
 </p>
 <p>Validation des logins et mots de passe des utilisateurs ;
 </p>
 <p>Partage de répertoires ;
 </p>
 <p>Partage d'imprimantes.
 </p>
 <p>Les ordinateurs Linux ou Unix utilisent en général le système NIS ou Yellow
 page (d'après les pages jaunes de l'annuaire) pour valider les utilisateurs,
 le système NFS pour partager (on dit "exporter", sous Linux) et... rien du tout
 pour les imprimantes - les imprimantes sont automatiquement exportées sur le
 réseau vers les clients autorisés.
 </p>
 <p>Toutes ces opérations sont regroupées par windows dans le "protocole SMB",
 d'où par analogie le nom de samba.
 </p>
 <p>SMB a de nombreux défauts, mais il faut reconnaitre que, en ce qui nous
 concerne, il a surtout des avantages de simplicité.
 </p>
 <p>J'ai créé un serveur samba pour gérer un parc d'appareils sous windows
 95/98/nt. Disons d'abord que le serveur normal prévu par Microsoft est NT Serveur.
 NT Serveur est une licence de NT qui modifie légèrement l'installation de NT4
 et "déverrouille" les possibilités avancées de NT. Ce déverrouillage coûte extrêmement
 cher pour les gens honnêtes (NT serveur doit coûter environ 7000F), de plus
 Microsoft impose le paiement d'une licence pour chaque client installé. Pour
 chaque poste connecté au serveur il faut payer une somme variable de 50 à 100F
 environ, si on veut être en règle.
 </p>
 <p>Rien de tout cela, évidemment, avec Linux (sans compter qu'il faut un gros
 pentium à NT pour tourner). Par chance pour nous, les réseaux Microsoft ne
 peuvent pas faire autrement que fonctionner dans une ambiance hétérogène (avec
 des appareils dos, Unix, windows,...) et donc Microsoft a du mettre dans le
 domaine public son protocole de transmission SMB.
 </p>
 <p>Du coup un programmeur génial (comme tous les programmeurs de Linux !)
 a programmé une "imitation" de NT et l'a baptisé "samba".
 </p>
 <p>Sur le réseau, un serveur Linux/Samba est vu par les clients comme un serveur
 NT. Samba ne fait pas tout ce que fait NT, mais pas loin. Si on suit la liste
 de diffusion samba, on s'apperçoit que le principal problème de samba réside
 dans les particularités de NT (y compris les bogues) qu'il doit imiter...
 </p>
 <sect>Configurer Windows
 <p>Il y a de très nombreuses versions de windows en circulation. En ce qui
 nous concerne nous aurons à connaitre windows 3.11, windows 95 (trois ou quatre
 versions), windows 98 (encore une seule version ?) et windows NT 4 (workstation
 ou serveur, brut ou avec les mises à jour SP1, SP2, SP3 ou SP4 - pour ne pas
 parler des versions avant la 4).
 </p>
 <p>En fait, nous ne parlerons que de windows 95, les autres n'en différent
 que par des détails.
 </p>
 <sect1>Configuration du réseau
 <p>Dans le panneau de configuration, il faut se reporter à la rubrique réseau.
 Il va de soit que le réseau doit être installé, reportez vous aux nombreuses
 études précédentes pour savoir comment faire. 
 </p>
 <p>En fait, aucune configuration n'est exigée, en dehors de celle du réseau,
 l'utilisation du voisinage réseau est suffisante. Cependant, vous voudrez sans
 doute soigner les choses. 
 </p>
 <sect1>Validation des mots de passe par le client
 <p>Réglez windows pour que les utilisateurs se voient demander un mot de passe.
 Cette étape est à peu près indispensable :<htmlurl url="mdp.gif" name="mdp.gif"> 
 </p>
 <p>Vous ne pourrez accéder au serveur samba que si vous êtes enregistrés sur
 ce serveur (voir plus bas) avec votre login et votre mot de passe. Le bon fonctionnement
 du protocole exige cependant que vous ayez donné ces valeurs à windows lors
 de votre connexion, sinon ça marche une fois sur deux. Cela veut dire aussi
 que vous utilisez le même login et mot de passe sous windows et sous Linux.
 </p>
 <sect1>Validation des mots de passe par le serveur
 <p>Si votre serveur n'est pas toujours allumé (chez vous, c'est sans doute
 le cas), restez-en là. Par contre, si votre serveur fonctionne jour et nuit
 et que vous êtes donc sur de toujours pouvoir y accéder, il vaut mieux laisser
 au serveur la tâche de valider le mot de passe.
 </p>
 <p>Donc... Venez dans la configuration du réseau, clients pour les réseaux
 microsoft. Cliquez sur le bouton "ouvrir la session sur un domaine NT". <htmlurl url="mic-res.gif" name="mic-res.gif"> 
 </p>
 <p>A partir de ce moment, windows va vous proposer TROIS lignes au "login",
 le login habituel, le mot de passe et une troisième ligne le "domaine" NT qu'il
 ne vous faudra pas oublier (elle garde la valeur précédente).<htmlurl url="login2.gif" name="login2.gif"> 
 </p>
 <p>A partir de ce moment, il vous faudra avoir un serveur NT ou samba disponible
 et configuré pour pouvoir vous logger. cependant, pas d'alarme, il est toujours
 possible (en faisant Echap au login) de modifier cette option et de retrouver
 l'accès au poste. C'est même ce que je fais le plus souvent quand je veux travailler
 uniquement en local.
 </p>
 <sect1>PlainTextPassword
 <p>Les premières versions de windows 95 laissaient circuler les mots de passe
 en clair sur le réseau. Cela a beaucoup été reproché à Microsoft qui a donc
 mis en place un système de mot de passe crypté. En fait le trou de sécurité
 que représente la circulation des mots de passe est réel mais n'est que très
 peu modifié par le cryptage. De plus, dans la situation que j'étudie (mini-réseaux)
 il y a peu de chance de voir quelqu'un "sniffer" le réseau. Pour ma part, je
 préfère laisser les mots de passe en clair, ce qui simplifie la gestion de
 samba.
 </p>
 <p>Pour cela, il faut modifier une clé dans le registre de windows.
 </p>
 <p>Modifier le registre de windows est dangereux, si on y fait n'importe quoi
 on peut bloquer le système, mais en pratique je n'ai jamais eu plus de problème
 avec ça qu'avec n'importe quelle opération sous windows. Faites quand même
 attention (work at your own risk disent les ricains - prenez vos responsabilités!).
 </p>
 <p>DONC ! Faites démarer/exécuter et tapez regedit.
 </p>
 <p>suivez l'arborescence HKEY_LOCAL_MACHINE, System, CurrentControlSet, Services,
 VxD, VNSETUP, et rajoutez une clé dword avec le nom EnablePlainTextPassword,
 et la valeur 1. That's all folks ! Notez, si vous faites une faute de frappe,
 ça ne marche pas, il suffit de corriger.reg<htmlurl url="regedit.gif" name="regedit.gif"> 
 </p>
 <sect1>Partage des répertoires et des imprimantes
 <p>Si vous voulez utiliser votre poste windows en serveur (et oui !), il faut
 partager. Pour cela, deux étapes. Dans la configuration réseau, valider "partage
 des fichiers et des imprimantes" ; ensuite prendre les propriétés des répertoires
 à partager (bouton droit de la souris, dans le poste de travail ou l'explorateur)
 et définir un partage. Il est courant de laisser libre la lecture mais de mettre
 un mot de passe sur l'écriture.<htmlurl url="partage.gif" name="partage.gif"> 
 </p>
 <p>Ceci dit, je n'ai pour ma part jamais à faire ca à partir de Linux, je
 ne connais donc pas les détails. Coté linux, voir à smbmount.
 </p>
 <p>On partage les imprimantes de la même façon. C'est ainsi que j'imprime
 en couleur dans la chambre de mon fils (il a plus besoin que moi de la couleur,
 j'ai donc mis dans sa chambre la jet d'encre couleur). Pour partager l'imprimante,
 venez dans démarer/paramètres/imprimantes et cliquez avec le bouton droit sur
 l'imprimante à partager, puis pripriétés. Ce qu'il y a de bien, sous windows,
 c'est, comme le dit microsoft, que toutes les commandes sont centralisées...<htmlurl url="imprimante.gif" name="imprimante.gif">
 
 </p>
 <sect1>Utilisation des ressources samba
 <p>Supposons le serveur samba installé, vous allez vérifier son fonctionnement
 de trois façon.
 </p>
 <p>D'abord vous devez vous connecter avec votre mot de passe (n'oubliez pas
 que vous devez être connu comme utilisateur de linux).
 </p>
 <p>Ensuite, vous allez voir votre répertoire personnel dans le voisinage réseau,
 ainsi que toutes les autres ressources éventuelles (remarquez les fichiers).<htmlurl url="voisres.gif" name="voisres.gif">
 
 </p>
 <p>Pour voir les imprimantes, il faut se placer dans le menu création d'imprimante,
 réseau, chemin d'accès.<htmlurl url="imp_res.gif" name="imp_res.gif"> 
 </p>
 <sect>Créer un serveur samba
 <sect1>Principe
 <p>Je dois dire que je n'ai eu aucune réelle difficulté à installer samba
 et à le faire fonctionner.
 </p>
 <sect1>Premiers pas
 <p>Pour utiliser samba, il faut bien sur d'abord l'installer. Il doit être
 fourni avec toutes les distributions (?). Il faut ensuite le lancer au démarrage.
 Avec la SuSE il suffit de mettre à "yes" quelques variables au nom très évocateur
 dans rc.config, avec vi ou avec yast.
 </p>
 <p>A ce moment, vous devez avoir deux "démons" en fonctionnement, smbd et nmbd.
 Pour le vérifier faites :
 </p>
 <p>ps ax | grep mbd 
 </p>
 <p>et vous devez voir les numéros de ces deux processus.
 </p>
 <sect1>Documentation
 <p>La documentation fournie avec samba est assez volumineuse, mais vous éviterez
 difficilement de la lire, il faut donc prévoir de le faire.
 </p>
 <p>Il n'y a pas pour l'instant de fichier "info", mais des fichiers man (faites
 "locate smb") :
 </p>
 <p>
 <itemize>
  <item>/usr/man/man1/make_smbcodepage.1.gz 
  <item>/usr/man/man1/smbclient.1.gz 
  <item>/usr/man/man1/smbrun.1.gz 
  <item>/usr/man/man1/smbstatus.1.gz 
  <item>/usr/man/man1/smbtar.1.gz 
  <item>/usr/man/man5/smb.conf.5.gz 
  <item>/usr/man/man8/smbd.8.gz 
  <item>/usr/man/man8/smbmnt.8.gz 
  <item>/usr/man/man8/smbmount.8.gz 
  <item>/usr/man/man8/smbpasswd.8.gz 
  <item>/usr/man/man8/smbumount.8.gz
 </itemize></p>
 <p>et de nombreux fichiers doc :
 </p>
 <p>
 <itemize>
  <item>/usr/doc/packages/samba/examples/dce-dfs/smb.conf 
  <item>/usr/doc/packages/samba/examples/misc/extra_smbstatus 
  <item>/usr/doc/packages/samba/examples/printing/smbprint 
  <item>/usr/doc/packages/samba/examples/printing/smbprint.sysv 
  <item>/usr/doc/packages/samba/examples/simple/smb.conf 
  <item>/usr/doc/packages/samba/examples/smb.conf.default 
  <item>/usr/doc/packages/samba/examples/thoralf/smb.conf 
  <item>/usr/doc/packages/samba/examples/tridge/smb.conf 
  <item>/usr/doc/packages/samba/examples/tridge/smb.conf.fjall 
  <item>/usr/doc/packages/samba/examples/tridge/smb.conf.lapland 
  <item>/usr/doc/packages/samba/examples/tridge/smb.conf.vittjokk 
  <item>/usr/doc/packages/samba/examples/tridge/smb.conf.WinNT 
  <item>/usr/doc/packages/samba/README.smbmount 
 </itemize></p>
 <p>Si vous avez la suse, essayez aussi susehelp, mais ce système nécessite
 netscape (je crois, c'est ce qu'il lance chez moi).
 </p>
 <p>N'oubliez pas que le répertoire /usr a un sous rep doc qui contient plein
 de choses. Dans le pire des cas, on peut installer les sources et aller lire
 les commentaires.
 </p>
 <sect1>Lancer et arrêter samba
 <p>Le script de gestion de samba est /sbin/init.d/smb, avec les options start,
 stop, restart, reload, status. C'est un script shell, donc du texte, vous pouvez
 y jeter un coup d'oeil (avec less).
 </p>
 <sect1>Configuration de samba
 <p>L'essentiel de la configuration se fait à travers le fichier /etc/smb.config.
 Le fichier man le plus important est donc man smb.conf. Vous avez aussi des
 fichiers d'exemple dans /usr/doc/packages/samba/examples.
 </p>
 <sect2>Poste privé
 <p>Voici un commentaire de mon fichier personnel (trois postes, serveur linux
 + 2 windows 95)
 </p>
 <p>&lsqb;global&rsqb;
 </p>
 <p>workgroup = perso
 </p>
 <p>guest account = nobody
 </p>
 <p>&num;je n'ai pas encore compris le fonctionnement du compte guest ("invité")
 </p>
 <p>keep alive = 30
 </p>
 <p>os level = 2
 </p>
 <p>&num;si j'ai bien compris, plus le chiffre est grand, plus votre serveur
 va chercher à s'imposer comme patron sur le réseau. Ici il est seul, pas de
 problème. Si il y a un serveur nt, il vaut sans doute mieux lui laisser la
 gestion "administrative" du réseau, donc un faible chiffre (2) par défaut.
 </p>
 <p>security = user
 </p>
 <p>&num;en rapport avec les deux types de sécurité des réseaux windows. Là
 non plus, je ne comprends pas bien le fonctionnement. Presque tout le mode
 utilise "user", alors...
 </p>
 <p>printing = bsd
 </p>
 <p>&num;je ne crois pas qu'on utilise autre chose sous linux (mais samba tourne
 sur tous les systèmes Unix!)
 </p>
 <p>printcap name = /etc/printcap
 </p>
 <p>&num; ça devrait être évident
 </p>
 <p>load printers = yes
 </p>
 <p>&num;ça, par contre, ce n'est pas forcément une bonne idée. Si, comme moi,
 vous avez de nombreux pilotes d'impression installés (yast en installe 3 par
 imprimante : raw, ascii et mono) cette option va tous les rendre accessible
 aux utilisateurs. Voir plus loin une autre méthode.
 </p>
 <p>; Please uncomment the following entry and replace the 
 </p>
 <p>; ip number and netmask with the correct numbers for
 </p>
 <p>; your ethernet interface.
 </p>
 <p>; interfaces = 192.168.1.1/255.255.255.0
 </p>
 <p>&num;ici vous pouvez mettre l'adresse et le masque de votre carte. Si vous
 n'avez qu'une carte, c'est facultatif, mais si vous en avez plusieurs il faut
 dire à samba lesquelles il doit gérer. Il faut bien mettre l'adresse de l'interface
 et non pas celle du réseau (donc les 4 groupes au complet).
 </p>
 <p>; If you want Samba to act as a wins server, please set
 </p>
 <p>wins support = yes
 </p>
 <p>; wins support = no
 </p>
 <p>; If you want Samba to use an existing wins server,
 </p>
 <p>; please uncomment the following line and replace
 </p>
 <p>; the dummy with the wins server's ip number.
 </p>
 <p>; wins server = 192.168.1.1
 </p>
 <p>&num;là, je ne sais pas trop. Il semble que ça marche dans tous les cas,
 même sans cette option. Je crois comprendre que le protocole samba incorpore
 un système de résolution des noms (peut-être un polling du réseau, qui demande
 à tous les postes "qui es-tu, toi ?"). Enfin, tout ça permet d'appeler un poste
 par son nom de machine (charles, chez moi), au lieu de son adresse ip.
 </p>
 <p>prefered master = yes
 </p>
 <p>&num;encore un système pour faire la nique à NT. Sur le réseau principal
 de mon lycée, j'avais peur de perturber le fonctionnement du serveur nt principal.
 En fait non, car j'ai un nom de domaine différent (dans nt, groupe de travail
 ou domaine, la troisième ligne du login windows). Du coup les deux serveurs
 ne se gênent pas.
 </p>
 <p>&lsqb;homes&rsqb;
 </p>
 <p>comment = répertoire personnel
 </p>
 <p>&num;samba implémente une méthode pour que chaque utilisateur ai accès
 à son propre répertoire. Dans la liste des "services" fournis par samba (visibles
 dans le "voisinage réseau" de windows), homes est remplacé par le nom de login.
 Par contre, ce n'est pas le cas avec net use, je ne sais pas pourquoi.
 </p>
 <p>browseable = no
 </p>
 <p>&num;si je me souviens bien, si on met yes ici, le service homes est visible
 dans le voisinage réseau et on peut donc voir la liste des répertoires utilisateurs.
 Mis à "no", seul le répertoire personnel de l'utilisateur est visible.
 </p>
 <p>read only = no
 </p>
 <p>&num;en principe chaque utilisateur peut écrire dans son propre répertoire!
 </p>
 <p>; The following share gives all users access to the Server's CD drive,
 </p>
 <p>; assuming it is mounted under /cd. To enable this share, please remove
 </p>
 <p>; the semicolons before the lines
 </p>
 <p>;
 </p>
 <p>&lsqb;cdrom&rsqb;
 </p>
 <p>comment = Linux CD-ROM
 </p>
 <p>path = /cdrom
 </p>
 <p>read only = yes
 </p>
 <p>locking = no
 </p>
 <p>&num; si vous devez installer un cd sur plusieurs clients, il peut être
 intéressant de le mettre en place dans le serveur, ainsi vous pouvez faire
 le tour des clients et lancer l'installation sur plusieurs d'entre eux. Je
 préfère, quand c'est possible, une "installation administrative". 
 </p>
 <p>&lsqb;hp&rsqb;<label id="imprimante hp" >
 </p>
 <p>comment = All Printers
 </p>
 <p>&num;j'ai juste remplacé le service "printers" par "hp" et j'ai eu la flemme
 de modifier la remarque. Quand samba crée ses services, elle regarde si ils
 ont le nom d'un utilisateur. Sinon il regarde si ils ont un nom d'imprimante.
 J'ai, pour mon compte, dans le fichier /etc/printcap une entrée hp pour une
 imprimante deskjet. Faire un service hp, revient donc à montrer au réseau une
 imprimante hp. Si le service printers est absent ou possède un drapeau browseable=no,
 seule l'imprimante hp va être visible. Ca c'était quand cette imprimante était
 sur mon poste...
 </p>
 <p>browseable = yes
 </p>
 <p>printable = yes
 </p>
 <p>public = yes 
 </p>
 <p>read only = yes
 </p>
 <p>create mode = 0700
 </p>
 <p>directory = /tmp
 </p>
 <sect2>Poste serveur réseau lycée
 <p>&lsqb;global&rsqb;
 </p>
 <p>socket options = TCP_NODELAY
 </p>
 <p>; pour être pris pour NT
 </p>
 <p>announce as = NT
 </p>
 <p>domain master = yes
 </p>
 <p>local master = yes
 </p>
 <p>preferred master = yes
 </p>
 <p>domain logons = yes
 </p>
 <p>configuration de base
 </p>
 <p>workgroup = 204 
 </p>
 <p>keep alive = 30
 </p>
 <p>;pour ne pas géner le serveur nt officiel
 </p>
 <p>os level = 2
 </p>
 <p>security = user
 </p>
 <p>printing = bsd
 </p>
 <p>printcap name = /etc/printcap
 </p>
 <p>load printers = yes
 </p>
 <p>;il faut que je puisse administrer depuis un client. A l'usage, il semble
 que root et dod n'ont pas exactement le même effet, bien que dod soit membre
 du groupe root. Il y a une nuance que je saisis pas.
 </p>
 <p>admin users = dod,root
 </p>
 <p>; pour les profils errants (permet d'avoir toujours le même profil, quel
 que soit le poste utilisé comme client, le profil est stocké sur le serveur)
 </p>
 <p>logon path = \\N&percnt;\&percnt;U
 </p>
 <p>preserve case = yes
 </p>
 <p>case sensitive = no
 </p>
 <p>; Please uncomment the following entry and replace the 
 </p>
 <p>; ip number and netmask with the correct numbers for
 </p>
 <p>; your ethernet interface.
 </p>
 <p>;24 veut dire 24 bits (3x8, donc 255.255.255.0) - il y a trois sous réseaux.
 Ce réglage est essentiel.
 </p>
 <p>interfaces = 192.168.0.250/24 10.003.204.250/24 194.254.31.10/255.255.255.128
 </p>
 <p>; If you want Samba to act as a wins server, please set
 </p>
 <p>; wins support = yes
 </p>
 <p>wins support = no
 </p>
 <p>;je ne sais pas comment fonctionne le protocole, mais, même sans serveur
 wins on peut appeler un poste par son nom depuis un client. je pense que le
 message est envoyé et que chacun se reconnaît au passage.
 </p>
 <p>logon script = /smb/netlogon
 </p>
 <p>; If you want Samba to use an existing wins server,
 </p>
 <p>; please uncomment the following line and replace
 </p>
 <p>; the dummy with the wins server's ip number.
 </p>
 <p>; wins server = 192.168.1.1
 </p>
 <p>;homes est bien exporté comme le répertoire personnel de l'utilisateur,
 mais pas avec le bon nom dans net use
 </p>
 <p>&lsqb;homes&rsqb;
 </p>
 <p>path = /smb/usr/&percnt;S
 </p>
 <p>comment = répertoires personnels
 </p>
 <p>browseable = no
 </p>
 <p>writable = yes 
 </p>
 <p>create mode = 0750
 </p>
 <p>; The following share gives all users access to the Server's CD drive,
 </p>
 <p>; assuming it is mounted under /cd. To enable this share, please remove
 </p>
 <p>; the semicolons before the lines
 </p>
 <p>;
 </p>
 <p>; &lsqb;cdrom&rsqb;
 </p>
 <p>; comment = Linux CD-ROM
 </p>
 <p>; path = /cd
 </p>
 <p>; read only = yes
 </p>
 <p>; locking = no
 </p>
 <p>&lsqb;printers&rsqb;
 </p>
 <p>comment = All Printers
 </p>
 <p>browseable = no
 </p>
 <p>printable = yes
 </p>
 <p>public = no
 </p>
 <p>read only = yes
 </p>
 <p>create mode = 0700
 </p>
 <p>directory = /tmp
 </p>
 <p>&lsqb;tmp&rsqb;
 </p>
 <p>comment = espace temporaire
 </p>
 <p>path = /tmp
 </p>
 <p>read only = no
 </p>
 <p>public = yes
 </p>
 <p>browseable = no
 </p>
 <p>;Dans mon lycée, nous utilisons beaucoup de logiciels dos organisés de
 la façon suivante : au premier niveau (racine) figurent un répertoire par application,
 seul répertoire connu des élèves, où ils mettent temporairement leurs fichiers.
 Il est connu que ces répertoires sont effacés TRÈS souvent et que donc tout
 fichier important doit être conservé sur disquette. Les logiciels sont dans
 une arborescence /travail/&lt;nom application&gt;. ainsi les élèves ne travaillent
 pas dans le répertoire de l'application et risquent donc moins d'effacer des
 fichiers importants. La racine est nettoyée régulièrement de tout ce qui y
 est malencontreusement déversé. Je fais gros usage d'"append", et sous win95
 de setver. Cette configuration n'est pas grosse (moins de 100 Mo). Quand j'ai
 pris cet ordinateur pour en faire un serveur, j'ai gardé le vieux disque (j'en
 ai ajouté un nouveau) avec sa config, elle me sert de sauvegarde. Il suffit
 de recopier le nécessaire depuis le réseau pour reconstituer un poste abîmé.
 </p>
 <p>&lsqb;dos&rsqb;
 </p>
 <p>comment = installation standard du dos
 </p>
 <p>;montée sur le serveur ici
 </p>
 <p>path = /mnt/dos
 </p>
 <p>;il faut bien que les usagers puissent la lire
 </p>
 <p>public = yes
 </p>
 <p>;ma i n'ont pa b'soin d'i'écrire
 </p>
 <p>writable = no
 </p>
 <p>printable = no
 </p>
 <p>browseable = yes
 </p>
 <p>guest ok = yes
 </p>
 <p>;je ne sais plus trop pourquoi j'ai mis ça, puisque root a tous les droits...
 </p>
 <p>write list = @root
 </p>
 <p>;tout ce qui peut servir à windows (y compris une copie complète de win95
 et win98 et les installations administratives) est là.
 </p>
 <p>&lsqb;win95&rsqb;
 </p>
 <p>;vous remarquez que j'ai créé une partition spéciale montée sur /smb pour
 tous ce qui concerne samba
 </p>
 <p>path = /smb/win95
 </p>
 <p>comment = installations pour win95
 </p>
 <p>public = yes
 </p>
 <p>printable = no
 </p>
 <p>browseable = yes
 </p>
 <p>writable = no
 </p>
 <p>write list = @root
 </p>
 <p>guest ok = yes
 </p>
 <p>;Mon idée était de mettre ici une copie des répertoires système de windows,
 de mettre ce répertoire dans le path (sur le client), pour pouvoir utiliser
 windows et ses applications depuis le serveur. Concrètement, je n'ai pas été
 enchanté du résultat et je n'utilise plus ça pour l'instant. De nos jours les
 clients sont plus puissants que le serveur, a rien ne sert d'encombrer le réseau.
 </p>
 <p>&lsqb;system&rsqb;
 </p>
 <p>path=/smb/win95/system
 </p>
 <p>comment=fichiers système pour windows
 </p>
 <p>public=yes
 </p>
 <p>printable=no
 </p>
 <p>browseable=no
 </p>
 <p>writable=no
 </p>
 <p>writelist=@root
 </p>
 <p>guest ok = yes
 </p>
 <p>;on recommande de mettre ici des fichiers de config. Je n'ai pas bien compris
 si ils sont lancés automatiquement ou s'il faut le faire à la main. Ca a beaucoup
 d'importance. Le réseau principal de mon lycée est sécurisé par l'utilisation
 des "poledit" (policies, en français stratégies système) de windows et de ce
 fait (ou pour une autre raison que je ne connais pas) la configuration des
 mes logiciels est régulièrement effacée du seul poste client de mon local administratif
 qui est sur ce réseau. Du coup je ne peux rien laisser dans le menu démarrer
 (c'est effacé) et je ne peux donc pas lancer mon script automatiquement. Si
 le contenu de logon se lance tout seul... il faut que j'essaie (mais j'ai tant
 de choses à essayer !).
 </p>
 <p>&lsqb;netlogon&rsqb;
 </p>
 <p>path = /smb/netlogon
 </p>
 <p>writable=yes
 </p>
 <p>write list = @root
 </p>
 <p>guest ok = no
 </p>
 <p>;fin de smb.conf
 </p>
 <p>Chaque client possède un fichier de démarrage du genre
 </p>
 <p>net use l: \\c5\win95
 </p>
 <p>pour faciliter le travail des utilisateurs.
 </p>
 <sect1>Deux réseaux
 <p>Dans mon lycée, mon serveur linux est maintenant au carrefour de deux réseaux.
 En effet, les salles de construction mécanique (calculs de mécanique, dessin
 industriel) font des TP d'informatique avec toutes sortes de logiciels dont
 beaucoup sont sous dos. Beaucoup de ces logiciels sont anciens mais parfaitement
 adaptés et nous n'avons aucune raison de les changer, ils ne fonctionnent généralement
 pas en réseau, une des raisons importante étant que les clients dos pour réseaux
 prennent trop de place en mémoire.
 </p>
 <p>Les clients réseau ne sont donc connectés que quand windows est lancé,
 et les élèves n'ont pas besoin d'accéder au réseau. Pour l'instant seuls les
 professeurs ont accès au serveur, qui leur sert principalement comme lieu de
 stockage centralisé pour leurs fichiers (parfois très gros), et de serveur
 d'impression. Je m'occupe de ces appareils (une trentaine, du 386 au pentium
 II), en principe une heure par semaine...
 </p>
 <p>Sur le serveur, outre l'imprimante, on trouve donc les répertoires personnel,
 une copie du répertoire dos des postes clients, tous les utilitaires windows
 ainsi qu'une copie de win95 et de win98 et les installations administratives.
 Tout est en lecture seule sauf pour moi.
 </p>
 <p>D'autre part il y a le réseau "général" du lycée, avec de gros serveurs NT,
 environ 200 postes connectés, liaison fibre optique entre les bâtiments, 3
 ou 4 administrateurs à plein temps... et une liaison à Internet via le rectorat
 de Toulouse. Le lycée est relié au rectorat par liaison numéris 128 ko permanente,
 ce qui nous donne un confort certain sur Internet.
 </p>
 <p>Les collègues de construction m'ont donc demandé de pouvoir accéder à notre
 serveur linux, avec son gros disque, à partir des postes du réseau général
 (où nous n'avons que 2Mo par personne - avec les élèves il y a plus de deux
 mille utilisateurs !). C'est ce que suis arrivé à faire.
 </p>
 <p>Mon principal problème a été que le réseau du lycée est sécurisé au maximum
 avec les stratégies de windows (poledit) et que les administrateurs ne me sont
 pas d'un grand secours. Il me fallait donc travailler avec la plus grande prudence
 pour ne pas perturber leur travail et sans pouvoir utiliser les outils habituels
 de contrôle du réseau (je ne suis pas administrateur du réseau NT).
 </p>
 <p>J'y suis arrivé assez facilement grâce à un poste situé à l'abris des élèves,
 dans la même pièce que mon serveur. La protection de windows est une passoire,
 mais j'ai quand même été obligé de ruser, ne serait-ce que pour pouvoir utiliser
 l'explorateur (normalement interdit).
 </p>
 <p>Enfin ça marche, je peux me logger sur mon serveur et, sur le poste de
 ma salle j'ai pu installer un fichier batch de démarrage pour fournir aux utilisateurs
 (professeurs) leurs répertoires.
 </p>
 <sect1>Imprimer de Linux vers windows95
 <p>La suse utilise par défaut le filtre d'impression apsfilter qui est si
 efficace que je n'ai seulement jamais eu ne serait-ce que l'idée d'en essayer
 un autre. 
 </p>
 <p>Un coup d'oeil sur la documentation samba indiquant comment imprimer vers
 une imprimante windows, en utilisant samba_print m'ayant découragé, et cette
 option n'étant pas urgente, j'avais remis l'opération à plus tard.
 </p>
 <p>Mais deux faits sont venus me faire changer : la suse 6 a un menu dans
 yast pour installer cette imprimante pour vous, et j'ai déplacé l'imprimante
 couleur vers la chambre de mon fils qui s'en sert plus que moi. Du coup, un
 yast et cette HP 690 fonctionne nickel de mon linux. Mais qu'avait-il donc
 fait ? Un défaut de yast est de ne pas avoir de fichier log : il n'explique
 pas comment il fait ce qu'il fait, même si, le plus souvent, il appelle des
 utilitaires classiques.
 </p>
 <p>Si vous me lisez, vous devez commencer à me connaître, je n'aime pas travailler
 dans le noir, je suis donc allé fouiller. Voici ce que j'ai trouvé.
 </p>
 <p>L'imprimante distante est installée exactement comme une imprimante ordinaire,
 mais l'option lp, indiquant l'adresse de l'imprimante, est lp=/dev/null.
 </p>
 <p>Dans le fichier /etc/apsfilter.&lt;nomimprimante&gt;, figure la ligne :
 REMOTE_PRINTER = "/usr/bin/samba_print //max/hp 6752 -U jdd -N -P".
 </p>
 <p>Et c'est tout. //max/hp est bien sur le nom de partage de l'imprimante
 et je ne connais pas les options de la fin, sauf que jdd est mon login d'utilisateur
 sur linux et sur le poste de mon fils.
 </p>
 <p>Comment allez-vous utiliser ça sur un autre poste, je ne sais pas. Utilisez
 apsfilter !
 </p>
 <sect1>Imprimer de windows vers samba
 <p>Voyez dans la configuration imprimante hp
 </p>
 <sect1>améliorations
 <p>Pour l'instant, je n'utilise samba que de façon basique, faute de temps
 à y consacrer, mais j'envisage des améliorations.
 </p>
 <p>Le filtre d'impression apsfilter installé par suse donne des résultats
 époustouflants de qualité sur une bête imprimante à jet d'encre, et encore
 mieux sur une laser bon marché comme la HP6L
 </p>
 <p>Il faut donc que je vérifie si on ne pourrait pas (la réponse est surement
 oui) envoyer au serveur d'impression linux du PostScript en lui demandant de
 traduire. Il faudrait alors installer une imprimante hp PostScript toute simple
 dans windows et la brancher sur le bon filtre.
 </p>
 <sect1>Un serveur Linux, avantages et inconvénients
 <sect2>Avantages
 <p>On peut réutiliser un poste ancien. Linux veut de la mémoire (au moins
 32Mo) et un gros disque (selon nombre de clients et type de travail, au moins
 2 Go, jusqu'à 10 ou 20 Go).
 </p>
 <p>Je ne l'ai pas testé, mais il doit être possible d'utiliser plusieurs vieux
 appareils avec chacun un gros disque pour augmenter la capacité.
 </p>
 <p>Le serveur ne peut pas être infecté par un virus windows (très gros avantage !).
 Au cas où un virus mixte win/linux apparaîtrait, le temps de réactivité de
 la communauté linux étant très rapide, il serait sans doute identifié et arrêté
 très vite.
 </p>
 <p>Linux est TRÈS stable. J'ai planté Linux deux ou trois fois, toujours sous
 X avec des problèmes de test de carte vidéo (donc en cours d'installation,
 avec des pilotes inadaptés) ou des programmes en version préliminaire. Par
 contre, en 9 mois, il n'y a eu aucun redémarrage du serveur en service.
 </p>
 <p>Avec un peu d'expertise (je n'en suis pas encore tout à fait là) on peut
 modifier profondément la configuration du serveur sans le redémarrer, donc
 sans que les clients ne s'en aperçoivent. C'est rarement le cas avec nt.
 </p>
 <p>Le système multiconsoles de linux est une merveille pour l'administrateur
 qui peut tester son travail pour le client avec alt F2. Sous nt il faut se
 délogguer et se relogger comme user !
 </p>
 <p>Windows (y compris nt) a une caractéristique insupportable : on ne peut
 pratiquement rien faire tourner en arrière plan. Si vous avez une impression
 en train et que vous devez partir (pour faire cours a vos élèves, par exemple),
 vous devez tout arrêter ou laisser l'appareil allumé. Linux, avec &amp; (travail
 en arrière plan) permet de fermer la session proprement avant de partir, tout
 en laissant le travail se faire. (je ne maîtrise pas ça encore sous X, mais
 qui utilise X pour administrer ?).
 </p>
 <p>L'ouverture de session est immédiate. Sous NT une grande partie des pilotes
 n'est chargé qu'au login (anti-virus, pilotes zip), ce qui entraîne un délai
 vite pénible en période de test.
 </p>
 <sect2>inconvénients
 <p>Il est indispensable de posséder un poste client pas trop loin pour faire
 les tests et les installations administratives. C'est aussi largement vrai
 avec un serveur nt car il est impératif, avec les programmes windows de tester
 leur réaction aux lecteurs réseaux - beaucoup n'aiment pas !
 </p>
 <p>Toutes les fonctions de nt ne sont pas implémentées dans samba, mais il
 ne doit pas en manquer beaucoup !
 </p>
 <p>Certains logiciels (AutoCAD) sont proposés avec un système de gestion des
 licences qui ne tourne que sous NT.
 </p>
 <p>Il faut connaître deux systèmes fondamentalement différents (linux et windows)
 alors que 95 et NT sont voisins (c'est sans doute le principal inconvénient).
 </p>
 <sect>Groupe de travail, domaine, ou quoi ?
 <p>Quand on se branche sur un réseau NT, on doit s'inscrire dans un "domaine"
 ou dans un "groupe de travail". Je ne sais pas bien quelle est la différence
 entre les deux. Tout ce que je sais c'est qu'il y a une différence mais que,
 dans beaucoup de cas, les deux termes sont interchangeables.
 </p>
 <p>Ce qui m'apparaît, c'est que ces domaines permettent surtout de choisir
 quel est le serveur qui va valider le mot de passe, car ensuite, sous réserve
 bien sur d'avoir le même login et le même mot de passe sur les deux serveurs,
 on peut se connecter indifféremment aux deux. Précisons.
 </p>
 <p>Mon serveur linux gère un réseau nommé 204 (le numéro de la salle) - tous
 ces réseaux sont privés, je peux donc sans inconvénient utiliser les noms réels
 - et le serveur nt du lycée gère un domaine D_SEVERAC (tiré du nom du lycée).
 </p>
 <p>Si je me logge en dodinj (mon nom + la première lettre de mon prénom),
 en donnant mon mots de passe "wlfo" (celui-là c'est pas le vrai, non mais !),
 sur le domaine d_severac, je suis accueilli par kix32.exe qui me salue, m'ouvre
 mon répertoire perso et les répertoires d'applications générales du lycée.
 J'ai un windows minimal, mais après quelques bidouilles (j'espère que mon administrateur
 ne me lit pas :-)) je peux lancer mon start.bat avec quelques net use qui me
 connectent directement à mon serveur linux. Je peux donc transférer des fichiers
 entre les deux répertoires.
 </p>
 <p>La manip inverse marche aussi. Si je me connecte dodinj/wlfo/204, windows
 proteste en me disant qu'il ne trouve pas de \\c5\netlogon\poledit (tiens tiens !)
 et qu'il ne peut dons pas appliquer les restrictions (et pan pour la protection
 de windows) - tant mieux - puis il ouvre la section sur mon serveur. Un petit
 net use et j'ai accès au répertoires du serveur NT (ceux auxquels j'ai droit,
 bien sur)...
 </p>
 <p>Inutile de dire que ce poste est sous clé dans un bureau réservé aux profs,
 mais sachant que des salles sont en libre accès aux élèves... la sécurité...
 </p>
 <p>On voit donc que les domaines ne séparent pas grand chose !
 </p>
 <p>N'oubliez pas non plus que l'impression et le trafic internet ne dépendent
 pas des mots de passe. Un accès anonyme à windows (Echap au login) ouvre internet.
 Ca ne durera peut-être pas, les collègues administrateur du lycée sont comme
 moi, ils apprennent tous les jours...
 </p>
 <sect>Divers
 <p>Je vais mettre ici tout ce que je ne sais pas où caser, quitte à le déplacer
 plus tard, quand cela se sera étoffé.
 </p>
 <sect1>Installation administrative<label id="ins admin" >
 <sect2>Principe
 <p>De plus en plus de programmes permettent une "installation administrative".
 C'est un concept très intéressant, permettant une remise à niveau d'une installation,
 voire une mise en place directement par l'utilisateur.
 </p>
 <p>A partir de cd d'origine on lance l'installation avec l'option adéquate.
 Ce n'est pas toujours documenté ! Le programme d'installation recopie dans
 un répertoire du serveur tout ce qui est nécessaire pour une installation entièrement
 automatique. Ensuite l'utilisateur n'a plus qu'à lancer cette installation
 pour que son poste soit prêt.
 </p>
 <p>On a souvent le choix entre tout installer sur le client ou en laisser
 une partie sur le serveur (intéressant pour des clients anciens avec des petits
 disques).
 </p>
 <sect2>Quels programmes ?
 <p>Je connais pour l'instant :
 </p>
 <p>AutoCAD 14 (95/98/nt)
 </p>
 <p>Office de Microsoft (95/98/nt). L'installation administrative se fait en
 tapant une option après install. Donc faire démarrer/exécuter, trouver install
 sur le cd et rajouter l'option, je crois que c'est /A (je ne peux pas vérifier
 de l'endroit où j'écris). L'installation est mal faite (ça vous surprend ?),
 il manque quelques fichiers qui vous sont réclamés au moment de l'installation
 du client. Heureusement windows vous dit quels sont ces fichiers et il est
 alors possible de les récupérer sur le cd. On doit pouvoir les rajouter à la
 main dans les répertoires d'installation. Comme ils ne sont pas vraiment indispensables,
 en général je les saute.
 </p>
 <p>On est obligé d'installer tout office.
 </p>
 <p>Staroffice (linux, ne se trouve pas sur la version windows). Il faut lancer
 sosetup /net. Puis il faut aller chercher setup dans le répertoire bin de l'installation
 de so (choisi par vous, j'ai mis so dans /opt, l'emplacement par défaut, root/Office50
 m'ayant paru inadapté). Les codes de verrouillage ne sont demandés qu'au client.
 </p>
 <sect2>Avantages et inconvénients
 <p>C'est tout avantage pour l'administrateur qui n'a, au mieux, qu'à envoyer
 un mail au client pour l'avertir et lui donner la procédure d'installation.
 Par contre, il n'est pas possible de choisir "finement" les paramètres d'installation
 pour chaque client, l'installation est la même pour tous. Sinon, on peut toujours
 recopier le cd sur le disque du serveur.
 </p>
 <p>On ne peut pas (je crois...) contrôler le nombre de clients qui ont effectivement
 fait l'installation. NT a un système - un peu délicat à mettre en service -
 que je ne connais pas sous linux, qui permet d'installer un programme sur le
 serveur et de limiter le nombre d'exécutions sur les clients pour respecter
 un contrat de licence.
 </p>
 <p>Bien sur, une installation administrative ne permet pas ce type de contrôle,
 c'est peut-être pourquoi microsoft ne se vente pas de pouvoir le faire sur
 ses logiciels. AutoCAD est plus franc.
 </p>
 <p>Du coup, il faut sans doute une licence site pour être en règle avec la
 loi ? Pour Star Office, chaque utilisateur est responsable de sa licance, puisque
 c'est lui qui entre les mots de passe.
 </p>
 <sect1>Quel client PC ?
 <p>On se pose beaucoup de questions sur le serveur à utiliser (Linux ou NT),
 mais quel client préférer. Le choix est plus important qu'on ne le pense généralement.
 Je n'aborderai que les PC, mais il ne faut pas oublier les mac et toutes les
 variantes de stations de travail, voire d'amiga ou atari...
 </p>
 <p>Il y a Linux, Win95, win98, win nt serveur (pour quoi faire ?), win nt
 workstation, dos, open dos.
 </p>
 <p>Le principal critère de choix du client est non pas la plateforme matérielle
 mais la disponibilité en logiciel, mais le deuxième critère le plus important
 est la familiarité de l'utilisateur avec l'interface proposée, c'est pourquoi
 des projets comme kde ou gnome sont si importants sous linux.
 </p>
 <sect2>Linux
 <p>Linux a longtemps souffert du manque d'applications bureautiques, c'est
 maintenant terminé et corel wordperfect, staroffice ou applix sont des applications
 qui arrivent à maturité, au moins autant que le fameux office de microsoft.
 </p>
 <p>Par contre, dans des domaines plus spécialisés comme la comptabilité ou
 le technique, le choix se fait d'abord sur une application, ensuite sur la
 plateforme.
 </p>
 <p>Ici, c'est sur la stabilité du système et sur la facilité de faire des
 sauvegardes qu'il faut insister.
 </p>
 <p>Sur un système suse, si on sauvegarde la configuration d'installation (dans
 yast), les fichiers XF86Config (surtout !), hosts et quelques autres, plus
 les répertoires /homes et /root, il suffit de deux heures pour reconstituer
 un disque dur. Si une sécurité élevée est nécessaire, il doit même être possible
 d'avoir deux appareils identiques synchronisés (un deuxième disque dur amovible,
 par exemple, avec une copie du disque fixe). Ces arguments devraient porter
 lourdement en ambiance professionnelle.
 </p>
 <p>Linux est un système "massivement" multitâches, multiutilisateurs. Si cette
 caractéristique est utile, il n'y a sans doute pas d'autre choix, sinon c'est
 plus discutable.
 </p>
 <sect2>Win95/98
 <p>C'est, début 99, le plus fréquent. Microsoft a réussi son OPA sur le PC.
 Je me demande souvent si l'élargissement du système d'exploitation de microsoft,
 en tuant le shareware, n'a pas reporté toutes les énergies vers linux. Ce serait
 un juste retour des choses qu'en poussant ses concurrents au désespoir Microsoft
 ai creusé sa propre tombe !
 </p>
 <p>Aujourd'hui, tous les programmes tournent sur (sous ?) windows, mais les
 nombreux défauts du système rendent la plateforme très instable et les utilisateurs
 professionnels apprécient moyennement les plantages fréquents et imprévisibles
 de leur machine, il n'est que de voir le succès d'utilitaires comme crashguard,
 pourtant bien inefficaces !
 </p>
 <p>Microsoft a fait des erreurs majeures à plusieurs phases de son développement,
 mais, à mon avis, la principale se situe lors du lancement de windows 95.
 </p>
 <p>Windows 3.11 est sans doute la version la plus aboutie de l'interface de
 Microsoft. Avec l'ajout de l'interface dashboard de Hewlett Packard, nous avions
 un ensemble redoutablement efficace. Windows fonctionnait alors comme linux
 aujourd'hui, en lançant l'interface graphique depuis l'appel en mode texte.
 </p>
 <p>C'est alors que Microsoft a décidé de frapper un grand coup avec windows
 95. Mais la firme de Redmond n'a pas su profiter du bond en avant que représentait
 pourtant déjà windows NT (qui, ne l'oublions pas, existait avant windows 95
 - pour ne pas parler d'OS/2) pour verrouiller le fonctionnement erratique des
 PC.
 </p>
 <p>Alors même qu'il annonçait partout que les logiciels devraient être homologués
 pour fonctionner sous windows 95, Bill Gates n'a pas voulu édicter une norme
 rigide sur la structure du système de fichiers de windows 95.
 </p>
 <p>Il aurait fallu, dès ce moment là dire aux développeurs : "en dehors de
 la période d'installation, vos programmes n'auront le droit d'écrire que dans
 le profil de l'utilisateur" ; au cours de la période d'installation vos programmes
 n'auront pas le droit de remplacer une bibliothèque existante, chaque bibliothèque
 aura un répertoire séparé pour chacune de ses versions.
 </p>
 <p>Même si, en fait, windows 95 s'était montré coulant sur ces règles pour
 permettre le fonctionnement des vieux programmes, petit à petit le profil de
 l'utilisateur serait devenu le point de passage unique et obligé et on aurait
 très bien pu laisser à l'utilisateur le choix entre interdire l'écriture partout
 ailleurs, en empêchant le fonctionnement des vieux programmes et autoriser
 l'écriture en prenant quelques risques. Il aurait quand même été bien plus
 facile de faire des sauvegardes, comme sur n'importe quel système linux.
 </p>
 <sect2>Win NT workstation (windows 2000 ?)
 <p>C'est le prochain cheval de bataille de Microsoft. Il suffit de voir les
 reports successifs du lancement de NT5 pour comprendre que - comme expliqué
 plus haut - Microsoft s'est enferré dans une situation dont il n'arrive plus
 à se sortir.
 </p>
 <sect2>Dos/Opendos
 <p>J'ai toujours regretté que ce système soit abandonné. Bien des gens n'ont
 aucun besoin d'un système multitâches, principalement pour jouer ou naviguer
 sur Internet. Le succès des jeux sous dos4gw montre bien cela. C'est encore
 le système idéal avec moins de 500Mo de disque dur et moins de 4Mo de ram.
 Qui a vraiment besoin de plus ? Mais qui résistera à la mode ?
 </p>
 <p>Open dos fonctionne parfaitement en réseau, dos aussi, pourvu que l'on
 récupère sur un disque NT les clients de microsoft (je ne sais pas quelle est
 la licence pour ces clients).
 </p>


 </article>