<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head>    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">    <meta name="GENERATOR" content="Mozilla/4.6 [fr] (WinNT; I) [Netscape]">    <meta name="AUTHOR" content="Frdric Bonnaud">    <meta name="CREATED" content="19991119;16504700">    <meta name="CHANGEDBY" content="Frdric Bonnaud">    <meta name="CHANGED" content="20000802;16570300">    <meta name="Description" content="Installation d'un serveur SAMBA sous Linux">    <meta name="Keywords" content="samba, reseau, net, windows">    <title>SAMBA</title> </head> <body>  <p class="leatitre">Installation d'un serveur SAMBA</p> <p class="leapar">par <a href="mailto:tux.le.pengouin@free.fr">Fred</a></p> <p class="leadesc">Comme moi, vous avez une belle machine et vous aimeriez bien que celle-ci puisse partager ces ressources avec d'autres machines dans un r&eacute;seau h&eacute;t&eacute;rog&egrave;ne. Mais, laisser cette t&acirc;che &agrave; Win$$$ vous d&eacute;plait, ne le faites pas. Une nouvelle fois, les logiciels libres viennent &agrave; votre secours, ils sont plus souples et gratuits.</p> <hr>  <p><font size=-1>Les informations contenues dans cette page ne sont aucunement garanties. J'appr&eacute;cierai grandement toutes les critiques constructives, en particulier, celles li&eacute;es &agrave; mon orthographe d&eacute;plorable, &agrave; ma syntaxe difficile &agrave; suivre et aux erreurs qui se sont certainement gliss&eacute;es subrepticement au sein de ce texte. Si vous voyez quelque chose &agrave; ajouter, je vous serais reconnaissant de bien vouloir me mailer les modifications que vous voulez apporter &agrave; ce document.</font>  <p>Ce document concerne l'installation d'un serveur SAMBA au sein d'un r&eacute;seau TCP/IP h&eacute;t&eacute;rog&egrave;ne (des machines Linux/UN*X et Win$$$). Il d&eacute;crit uniquement les param&egrave;trages &eacute;l&eacute;mentaires ! Pour ce qui est de la s&eacute;curit&eacute; : allez sur les newsgroup. Nous supposerons ici que vous n'&ecirc;tes pas reli&eacute;s &agrave; l'internet. <p><b>Pour installer un serveur SAMBA sous Linux vous aurez besoin de :</b> <ul> <li> Des ordinateurs reli&eacute; entre eux au sein d'un r&eacute;seau TCP/IP fonctionnel (ce document ne d&eacute;crit pas cela : allez voir <a href="http://www.linuxenrezo.org/tech/samba.htm">linuxenrezo</a>), je supposerai que toutes les machines sont sur le m&ecirc;me r&eacute;seau (bien que je ne sache, faute de l'avoir exp&eacute;riment&eacute;, si cela a une importance : c'est le cas chez moi).</li>  <li> Une distribution contenant les packages SAMBA, ou,&nbsp; &agrave; d&eacute;faut Linux + les packages SAMBA (je ne d&eacute;crirai que la proc&eacute;dure pour la Mandrake, pour les autres distributions la proc&eacute;dure est similaire).</li> </ul> <i><font size=-1><b>Note</b> : l'ensemble de la proc&eacute;dure d'installation d&eacute;crite se d&eacute;roule avec les droits de <a href="http://altern.org/olio/docs/glossaire.htm#root">root</a> donc faites attention &agrave; ce que vous taperez. Certaines parties de la proc&eacute;dure ne n&eacute;cessitent pas r&eacute;ellement ces droits, mais ce sera plus simple pour moi de d&eacute;crire l'ensemble de la proc&eacute;dure avec ces droits-ci. Si le coeur vous en dit essayez vous-m&ecirc;me de vous passer de ces droits, linux vous pr&eacute;viendra quand vous essayerez de les outrepasser..</font></i> <p><i><u>Avant propos :</u> Pour que tout ceci puisse fonctionner, il faut que tout votre r&eacute;seau (m&ecirc;me - surtout - les machines Win$$$) soit configur&eacute; de mani&egrave;re &agrave; utiliser TCP/IP comme protocole r&eacute;seau : SAMBA fonctionne en effet au dessus de TCP/IP. Pour ma part, j'ai d&eacute;sactiv&eacute; tous les autres protocoles (sauf IPX/SPX pour pouvoir jouer &agrave; Warcraft...) des machines Win$$$ connect&eacute;es &agrave; mon r&eacute;seau (4 machines : 1 PII 350 configur&eacute; en serveur SAMBA - il peut fonctionner en dualboot Win/Linux-, 2 P75 sous Linux (&eacute;l&eacute;ments d'une &eacute;tude de cluster), 1 P166 en dualboot Win/Linux, les ressources du serveur sont accessible au P166 sans aucun changement que le serveur soit sous Linux ou Win$$$ vu que j'ai donn&eacute; les m&ecirc;mes noms aux ressources sous Win$$$ et Linux). Normalement ce ne doit pas &ecirc;tre la peine, mais si ce que j'&eacute;cris ici ne fonctionne pas chez vous : faites comme moi avant de m'&eacute;crire ;-).</i> <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="recupere_samba"></a>R&eacute;cup&eacute;ration des packages SAMBA.</h2> Si vous avez une distribution d&eacute;cente, tout le n&eacute;c&eacute;ssaire est fourni, mais pas n&eacute;cessairement install&eacute;. Comment le v&eacute;rifier ? Si votre distribution de Linux utilise RPM, c'est tr&egrave;s simple : <pre><b>[root@etoile-noire home]#</b> rpm -qa | grep samba samba-2.0.5a-3mdk</pre> Si vous obtenez quelque chose de similaire, c'est que tout est d&eacute;j&agrave; pr&egrave;s, <a href="#test_samba">passez &agrave; la section suivante</a>. Sinon il faut installer les packages depuis le CD de votre distribution (ou tout autre support contenant votre distribution) : <br><tt>[root@etoile-noire home]# mount /mnt/cdrom</tt> <br><tt>[root@etoile-noire home]# find /mnt/cdrom/ -name "samba*rpm"</tt> <br><b><tt>/mnt/cdrom/Mandrake/RPMS/<i>samba-2.0.5a-3mdk.i586.rpm</i></tt></b> <br><tt>[root@etoile-noire home]# cd <b>/mnt/cdrom/Mandrake/RPMS/</b></tt> <br><tt>[root@etoile-noire RPMS]# rpm -i <i>samba-2.0.5a-3mdk.i586.rpm</i></tt> <p>Normalement, si vous avez fait ce qui est &eacute;crit (et si je ne me suis pas tromp&eacute; ;-) vous ne devez avoir aucun message d'erreur (peut-&ecirc;tre quelques avertissements... mais rien d'autre !). Si <tt>rpm</tt> vous signale que des d&eacute;pendances manquent : &agrave; vous de les r&eacute;soudre (en installant les rpms qui manquent). <p>Remarque : Si vous avez perdu le CD de votre distribution ou si vous voulez installez la toute derni&egrave;re version allez : <ul> <li> sur le site <a href="http://fr.samba.org">SAMBA</a>, pour les dernier sources</li>  <li> sur le site <a href="http://rufus.w3.org/">RUFUS</a>, pour les derniers RPMS</li> </ul>  <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="test_samba"></a>Lancement "test" de SAMBA.</h2> Maintenant que SAMBA est install&eacute;, on va v&eacute;rifier que tout va bien : <pre><b>[root@etoile-noire home]# </b>/etc/rc.d/init.d/smb start Starting SMB services: Starting NMB services:</pre> On lance les deux d&eacute;mons n&eacute;cessaire au fonctionnement de SAMBA. (M&ecirc;me si SAMBA est d&eacute;ja lanc&eacute;e, normalement, il n'y a pas d'erreur...) <pre><b>[root@etoile-noire home]#</b> /etc/rc.d/init.d/smb status smbd (pid 970) is running... nmbd (pid 972) is running...</pre> On v&eacute;rifie que SAMBA est bien en train de fonctionner. Vous devez voir apparaitre les deux derni&egrave;res lignes. Si tout va bien (ce qui devrait &ecirc;tre le cas) vous pouvez passer &agrave; la suite ; sinon vous pouvez tout recommencer. <p>A partir de maintenant SAMBA fonctionne sur votre machine. <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="run_samba"></a>Lancement d&eacute;finitif de SAMBA.</h2>  <h3> <a NAME="utiliser_sysv"></a>En utilisant init Sys V :</h3> SAMBA est maintenant correctement install&eacute;, autant le lancer &agrave; chaque d&eacute;marrage de Linux. Pour la Mandrake (et la RedHat aussi) qui utilise les fichiers <tt>/etc/rc.d/init.d/*</tt> pour lancer des programmes au d&eacute;marrage de Linux, il suffit de cr&eacute;er les liens ad&eacute;quats : <p>SAMBA <b>ne doit pas</b> fonctionner dans les "runlevels" 0, 1, 2 et 6 (en effet dans ces "runlevels" le r&eacute;seau n'est pas activ&eacute;) : <pre><b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc0.d/K35smb <b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc1.d/K35smb <b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc2.d/K35smb <b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc6.d/K35smb</pre> SAMBA <b>peut</b> (et devrait) fonctionner dans les "runlevels" 3, 4 et 5 : <pre><b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S91smb <b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc4.d/S91smb <b># </b>ln -s /etc/rc.d/init.d/smb /etc/rc.d/rc5.d/S91smb</pre> A partir de maintenant, d&egrave;s que vous d&eacute;marrerez Linux, SAMBA sera d&eacute;marr&eacute; par init. C'est la m&eacute;thode &agrave; pr&eacute;f&eacute;rer si votre serveur SAMBA doit etre toujours actif. <p>Pour ceux qui utilisent une distribution Mandrake (voire peut-&ecirc;tre d'autres, c'est &agrave; tester chez vous), vous pouvez remplacer toutes ces commandes par : <p><tt><b>#</b> chkconfig --level 0126 smb off</tt> <br><tt><b>#</b> chkconfig --level 345 smb on</tt> <p>C'est un peu plus simple. <h3> <a NAME="utilisant_inetd"></a>En utilisant inetd :</h3> On peut aussi faire en sorte que ce soit le super d&eacute;mon inetd qui lance smbd et nmbd quand il faut, pour cela, editez le fichier /etc/service et v&eacute;rifiez qu'il contient les lignes : <blockquote><tt>netbios-ns 137/tcp&nbsp;&nbsp;&nbsp;&nbsp; # NETBIOS Name Service</tt> <br><tt>netbios-ns 137/udp</tt> <br><tt>netbios-dgm 138/tcp&nbsp;&nbsp;&nbsp; # NETBIOS Datagram Service</tt> <br><tt>netbios-dgm 138/udp</tt> <br><tt>netbios-ssn 139/tcp&nbsp;&nbsp;&nbsp; # NETBIOS session service</tt> <br><tt>netbios-ssn 139/udp</tt></blockquote> ainsi que le fichier /etc/inetd.conf qui doit contenir : <blockquote><tt>netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd</tt> <br><tt>netbios-ns&nbsp; dgram&nbsp; udp wait&nbsp;&nbsp; root /usr/sbin/nmbd nmbd</tt></blockquote> puis vous red&eacute;marrez le super d&eacute;mon inetd par : <blockquote><tt>/etc/rc.d/init.d/inet restart</tt></blockquote> Et c'est tout. <p>Le probl&egrave;me de cette m&eacute;thode, c'est que le serveur SAMBA &agrave; tr&egrave;s peu de chance de devenir le MASTER BROWSER du r&eacute;seau, si ce n'est pas n&eacute;cessaire pour vous, cette m&eacute;thode convient tr&egrave;s bien. Si votre serveur SAMBA n'a pas besoin d'etre actif en permanence, pr&eacute;f&eacute;rez cette m&eacute;thode. <h2> &nbsp;<a NAME="user_samba"></a>Gestion des utilisateurs de SAMBA.</h2> On peut certainement mieux prot&eacute;ger son r&eacute;seau, mais ce qui suit est simple et compr&eacute;hensible. Si la s&eacute;curit&eacute; est un probl&egrave;me sur votre r&eacute;seau - par exemple s'il est reli&eacute; &agrave; Internet - ce document n'est pas pour vous. <br>Nous allons cr&eacute;er un utilisateur de SAMBA et un seul ! Tous les utilisateurs de SAMBA seront connect&eacute;s sur votre ordinateur sous ce nom. Ce qui ne veut pas dire qu'ils autont tous les m&ecirc;mes droits. Seulement tout ce que pourra faire SAMBA sur votre serveur sera d&eacute;termin&eacute; pas les droits en lecture/&eacute;criture de cet utilisateur virtuel. Ne perdez pas de vue que ceci n'a rien d'obligatoire. Si vous le souhaitez chaque utilisateur, ou seulement certains, peuvent se connecter &agrave; SAMBA avec leurs propres droits. <p>donc, on cr&eacute;e un groupe sp&eacute;cifique : <pre><b># </b>groupadd smbusers</pre> Puis, on peut cr&eacute;e cet utilisateur sp&eacute;cifique (appartenant au groupe <tt>smbusers</tt>): <pre><b># </b>useradd -g smbusers -p "<i>passwd</i>" -s /bin/false smbuser</pre> Comme le shell de cet utilisateur est <tt>/bin/false</tt> : personne ne pourra pas se connecter sur votre Linux sous ce nom (m&ecirc;me en connaissant le mot de passe : je vous d&eacute;conseille quand m&ecirc;me d'utiliser <i>password</i> comme mot de passe ;-)). <p>Depuis un certain temps, SAMBA est livr&eacute; avec un outil de configuration assez puissant : SWAT. Son r&ocirc;le est l'&eacute;dition du fichier de configuration de SAMBA : <tt>/etc/smb.conf</tt> et le contr&ocirc;le de SAMBA. Il fonctionne via un browser de page WEB (par exemple netscape). Mais pour cela il faut autoriser les transactions de SWAT et donc, modifier le fichier <tt>/etc/inetd.conf</tt> de fa&ccedil;on que celui-ci contienne la ligne : <blockquote> <pre>swat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait.400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root /usr/sbin/swat swat</pre> </blockquote> Il est judicieux de modifier cette ligne pour utiliser <tt>tcpd</tt> de fa&ccedil;on &agrave; n'autoriser les acc&egrave;s au serveur SAMBA que depuis certains endroits (en modifiant les fichiers <tt>/etc/hosts.allow</tt> et <tt>/etc/hosts.deny</tt>), vous pouvez par exemple remplacer la ligne pr&eacute;c&eacute;dante par : <blockquote> <pre>swat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait.400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root /usr/sbin/tcpd /usr/sbin/swat</pre> </blockquote> Il faut aussi modifier <tt>/etc/services</tt> de fa&ccedil;on que celui-ci contienne la ligne : <blockquote> <pre>swat&nbsp;&nbsp;&nbsp; 901/tcp</pre> </blockquote> Maintenant que SWAT est correctement configur&eacute;, il faut red&eacute;marrer le super daemon <tt>inetd</tt> pour recencer ses services. <p><b>Note :</b> SWAT est correctement configur&eacute; parce que l'installation via paquetage RPM copie un fichier /etc/smb.conf de base. Si &ccedil;a ne marche pas c'est que celui-ci est corrompu, r&eacute;installez le paquetage... <p>Pour r&eacute;demarrer inetd avec la Mandrake il faut taper : <pre><b>[root@etoile-noire home]# </b>/etc/rc.d/init.d/inet restart</pre> Maintenant on peut utiliser SWAT. Pour cela, lancer un navigateur (<tt><a href="http://www.netscape.com">Netscape</a></tt> fonctionne, mais <tt><a href="http://www.lynx.browser.org">Lynx</a></tt> aussi,&nbsp; ainsi que <tt><a href="http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/eng/index.html">w3m</a></tt>) et dans la zone adresse tapez (si vous utilisez Lynx enlevez le <tt>&lt;root@></tt> car lynx ne le reconnait pas !) : <blockquote> <pre><a href="http://root@localhost:901">http://root@localhost:901</a></pre> </blockquote> Votre browser va vous demander un mot de passe (le login sera d&eacute;ja rempli), tapez votre mot de passe root habituel. SWAT est maintenant lanc&eacute;. Ce que vous voyez est la page d'accueil de SWAT, elle s'appelle Home : c'est une page d'aide (en fait ce sont des renvois aux manpages relatives &agrave; SAMBA). <br><b>Note : </b>Il peut etre astucieux de cr&eacute;er un utilisateur (genre : smbadmin) qui aura les droits du root concernant la configuration de SAMBA. <p>Nous voulons autoriser certains utiliateurs &agrave; se connecter &agrave; notre serveur SAMBA. C'est assez simple puisqu'il suffit de cliquer sur l'ic&ocirc;ne <tt>&lt;<a href="http://root@localhost:901/passwd">Password Management</a>></tt>. <p>Seule, la partie <tt>&lt;Server Password Management></tt> nous int&eacute;resse. Supposons que vous souhaitiez que <tt>machin</tt> puisse se connecter sur votre serveur : <table BORDER NOSAVE > <tr NOSAVE> <td NOSAVE><b>Zone de saisie :</b></td>  <td><b>Valeur :</b></td>  <td><b>Commentaires :</b></td> </tr>  <tr NOSAVE> <td NOSAVE><tt>User Name</tt></td>  <td><tt>machin</tt></td>  <td>n'importe quel nom valide sur votre syst&egrave;me.</td> </tr>  <tr> <td><tt>New Password</tt></td>  <td><tt>*******</tt></td>  <td>Un mot de passe est imp&eacute;ratif (pour l'instant).</td> </tr>  <tr> <td><tt>Re-type New Password</tt></td>  <td><tt>*******</tt></td>  <td>Le m&ecirc;me mot de passe (&eacute;videmment)</td> </tr> </table>  <p>Quand vous avez renseign&eacute; tous les champs de cette partie (ne touchez pas &agrave; ce qui concerne <tt>&lt;Client/Server Password Management></tt> qui ne nous concerne pas... encore), cliquez sur <tt>&lt;Add New User></tt>. V&eacute;rifiez que SAMBA accepte votre nouvel utilisateur. Si ce n'est pas le cas, cela peut-&ecirc;tre pour trois raisons (au moins) : <ul> <li> l'utilisateur que vous souhaitez ajouter n'existe pas sur votre syst&egrave;me.</li>  <li> vous n'avez pas tapez deux fois le m&ecirc;me mot de passe.</li>  <li> vous avez tapez un mot de passe invalide.</li> </ul> Corrigez cela et tout devrait rentrer dans l'ordre. <p>Et c'est tout. Recommencez pour tous les utilisateurs auxquels vous souhaiter autoriser les connections SAMBA sur votre serveur. <p>A partir de maintenant les utilisateurs que vous avez ajout&eacute; seront connus de SAMBA et ils ont donc la possibilit&eacute; (d&egrave;s que nous les y autoriserons) de se connecter au serveur. <p>Ne quittez pas SWAT (pas encore...). <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="config_serveur_fichier"></a>Configuration de SAMBA en tant que serveur de fichiers.</h2>  <h3> <a NAME="serveur_homes"></a>Configurations des partages de types HOMES :</h3> Lancez <a href="http://root@localhost:901">SWAT</a>. Cliquez sur <tt>&lt;<a href="http://root@localhost:901/globals">GLOBALS</a>></tt>. Puis remplisser les zones saisie en suivant les conseils de ce tableau : <br>&nbsp; <table BORDER NOSAVE > <tr> <td><b>Zone de saisie :</b></td>  <td><b>Valeur :</b></td>  <td><b>Commentaire :</b></td> </tr>  <tr> <td><tt>workgroup</tt></td>  <td><tt>WORKGROUP</tt></td>  <td>mettez ce que vous voulez. Sachez simplement que c'est plus agr&eacute;able de mettre un nom connu de vos machines Win$$$. Par exemple vous pouvez laisser <tt><font color="#FF9900">WORKGROUP</font></tt></td> </tr>  <tr> <td><tt>serveur string</tt></td>  <td><tt>Serveur Libre Linux/Samba</tt></td>  <td>mettez ce que vous voulez. C'est un commentaire, un truc du style <tt><font color="#FF9900">Serveur Libre Linux/Samba</font></tt> sera le bien venu.</td> </tr>  <tr> <td><tt>interfaces</tt></td>  <td>(rien)</td>  <td>il faut indiquer les adresses IP des interfaces qui serviront &agrave; &eacute;tablir la liaison entre SAMBA et les machines clientes ainsi que le masque r&eacute;seau (par exemple, si vous avez deux cartes ethernet - adresses <font color="#FF9900">192.168.1.1</font> et <font color="#FF9900">192.168.2.1</font> connect&eacute;es respectivement aux r&eacute;seaux 192.168.1.0 et 192.168.2.0 -&nbsp; mettez <tt><font color="#FF9900">192.168.1.1/24 192.168.2.1/24</font></tt>. Si vous n'avez qu'une seule carte ethernet, vous pouvez ne rien mettre, SAMBA la trouvera tout seul comme un grand)</td> </tr>  <tr> <td><tt>security</tt></td>  <td><tt>SHARE</tt></td>  <td>s&eacute;lectionnez le mode <tt><font color="#FF9900">SHARE</font></tt> : c'est le mode de fonctionnement de Win$$$ 9$</td> </tr>  <tr> <td><tt>encrypt password</tt></td>  <td><tt>Yes</tt></td>  <td>s&eacute;lectionnez <tt>&lt;<font color="#FF9900">Yes</font>></tt> (sauf cas tr&egrave;s particuliers... Win$$$ 95 avant l'OSR2 et ses bogs multiple de s&eacute;curit&eacute;s etc...)</td> </tr>  <tr> <td><tt>guest account</tt></td>  <td><tt>ftp</tt></td>  <td>mettez <tt><font color="#FF9900">ftp</font></tt> ou un nom d'utilisateur valide sur votre syst&egrave;me : ce sera le compte sur lequel seront connect&eacute;s les invit&eacute;s si vous les autorisez. Il faut donc mettre un compte qui poss&egrave;de tr&egrave;s peu de droit comme <tt>ftp</tt> ou <tt>nobody</tt></td> </tr>  <tr> <td><tt>hosts allow</tt></td>  <td><tt>192.168.1.</tt></td>  <td>mettez les adresses IP des machines ou des r&eacute;seau (s&eacute;par&eacute;e par des espaces) que vous souhaitez autoriser &agrave; se connecter &agrave; votre serveur (essayez de faire cela avec Win$$$ 9$...) par exemple pour autoriser les machines du r&eacute;seau <tt>192.168.1.0</tt> ttapez <b><tt><font color="#FF9900">192.168.1.</font></tt></b> (le point final est important). Vous pouvez autoriser toutes les machines de ce r&eacute;seau sauf <tt>192.168.1.10</tt> en tapant :&nbsp; <center><tt>192.168.1. EXCEPT 192.168.1.10</tt></center> <b>Note</b>: avec SAMBA <b>2.0.7</b> j'ai des probl&egrave;me &agrave; faire fonctionner cette option avec SWAT, je la rajoute &agrave; la main dans /etc/smb.conf. Je ne sais pas encore pourquoi, mais d&egrave;s que cette ligne est activ&eacute;e, SWAT refuse de se lancer pr&eacute;textant que l'hote n'est pas autoris&eacute;, ce qui n'est manifestement pas le cas.</td> </tr>  <tr> <td><tt>hosts deny</tt></td>  <td><tt>ALL</tt></td>  <td>mettez les adresses IP des machines auxquelles vous souhaitez interdire l'acc&egrave;s &agrave; votre serveur SAMBA par exemple :<tt> <b><font color="#FF9900">ALL</font></b></tt><b> pour interdire tout le monde <i>sauf</i> les machines autoris&eacute;es par <tt>&lt;hosts allow></tt>. (Ici aussi le mot clef <tt>EXCEPT</tt> fonctionne).</b> <br><b>Note</b>: cf note pr&eacute;c&eacute;dante.</td> </tr>  <tr> <td><tt>character set</tt></td>  <td><tt>ISO8859-1</tt></td>  <td>Si vous utilisez Win$$$ en France (avec des accents par exemple), mettez <tt><font color="#FF9900">ISO8859-1</font></tt>. <br>Note : Normalement, dans ce cas vous devez aussi fixer la valeur de <tt>client code page</tt> &agrave; <tt>850</tt> (la code page par d&eacute;faut de Win$$$ en france) dans la <tt>Advanced view</tt>. Mais, chez moi ce n'est pas la peine, c'est la valeur par d&eacute;faut.</td> </tr> </table>  <p>Dans toutes les autres zones vous pouvez laissez les valeurs par d&eacute;faut, sinon lisez l'aide disponible. <p>Cliquez alors sur <tt>&lt;<font color="#FF9900">Commit Changes</font>></tt> pour activez ces changements. <p>Maintenant on va pouvoir activer des partages (au sens de Win$$$). Cliquez sur <tt>&lt;<a href="http://root@localhost:901/shares">SHARES</a>></tt>. Nous allons autoriser chacun des utilisateurs que nous avons enregistr&eacute;, &agrave; se connecter &agrave; son r&eacute;pertoire <tt>home</tt>. Dans la bo&icirc;te d&eacute;roulante situ&eacute;e entre les boutons <tt>&lt;Choose Share></tt> et <tt>&lt;Delete Share></tt>, s&eacute;lectionnez <tt>&lt;homes></tt> et cliquez sur <tt>&lt;Choose Share></tt>. <p>Les seules zones que vous devez fixer sont : <br>&nbsp; <table BORDER NOSAVE > <tr NOSAVE> <td NOSAVE><b>Zones de saisie :</b></td>  <td><b>Valeur :</b></td>  <td><b>Commentaires :</b></td> </tr>  <tr> <td><tt>guest ok</tt></td>  <td><tt>No</tt></td>  <td>les invit&eacute;s ne sont pas autoris&eacute;s dans les r&eacute;pertoires maison (home). Si vous souhaitez les autoriser ... mettez Yes, mais ce n'est pas tr&egrave;s logique.</td> </tr>  <tr> <td><tt>create mask</tt></td>  <td><tt>0750</tt></td>  <td>la meilleur valeur est <tt><font color="#FF9900">0750</font></tt> qui signifie que seul l'utilisateur aura le droit de lire et &eacute;crire et que seuls les utilisateurs appartenant au groupe pourront lire les fichiers qui seront cr&eacute;&eacute;s dans ce r&eacute;pertoire par le biais de SAMBA.</td> </tr>  <tr> <td><tt>available</tt></td>  <td><tt>Yes</tt></td>  <td>sinon au quoi sert que fred il se d&eacute;carcasse !</td> </tr> </table>  <p>A partir de maintenant, on peut v&eacute;rifier que SAMBA nous autorise &agrave; nous connecter &agrave; notre home ! (plus pr&eacute;cis&eacute;ment, si l'on demande la ressource <tt>\\\\etoile-noire\\machin</tt> et que l'on n'est pas machin, SAMBA s'en fiche,<b> il fera comme si </b>!)&nbsp; Pour cela nous allons utiliser smbclient pour nous connecter &agrave; notre serveur. Supposons que l'utilisateur <tt>fred</tt> souhaite se connecter sur le compte home de <tt>machin</tt> (dont il connait le mot de passe SAMBA), il devra taper : <pre>[fred@awing /home/fred]$ <b>smbclient \\\\etoile-noire\\machin -U machin </b>Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0 Password: <b>******* (rien ne s'affiche, mes mots passe sont perso!) </b>Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.5a] smb: \> <b>exit (pour quitter smbclient)</b></pre> Hourra ! Ca marche ! <p>Mais, il n'y a pas que les maisons dans la vie. On peut souhaiter partager autre chose que sa maison : <h3> <a NAME="serveur_autres"></a>Configurations des autres types de partage :</h3> La m&eacute;thode est globalement la m&ecirc;me, sauf qu'il faut cr&eacute;er le partage. On se place donc dans la page <tt>&lt;<a href="http://root@localhost:901/shares">Shares</a>></tt> et on remplit la zone suivant <tt>&lt;Create Share></tt> avec un joli nom bien significatif (par exemple <tt>partage_samba</tt>), puis on clique sur <tt>&lt;<font color="#FF9900">Create Share</font>></tt>. <p>On obtient une page &agrave; remplir. Voici les valeurs que je sugg&egrave;re : <br>&nbsp; <table BORDER NOSAVE > <tr> <td><b>Zone de saisie :</b></td>  <td><b>Valeur :</b></td>  <td><b>Commentaire :</b></td> </tr>  <tr> <td><tt>Comment</tt></td>  <td><tt>Le beau partage</tt></td>  <td>tapez ce qu'il vous plaira</td> </tr>  <tr> <td><tt>path</tt></td>  <td><tt>/c:</tt></td>  <td>ce doit &ecirc;tre le chemin complet d'un r&eacute;pertoire accessible par l'utilisateur <tt>smbuser</tt> et/ou le groupe <tt>smbusers</tt></td> </tr>  <tr> <td><tt>guest account</tt></td>  <td><tt>ftp</tt></td>  <td>si vous souhaitez autotoriser les acc&egrave;s aux invit&eacute;s, vous devez sp&eacute;cifier ici un utilisateur ayant tr&egrave;s peu de droit comme l'utilisateur <tt><font color="#FF9900">ftp</font></tt> sur un syst&egrave;me Linux de base.</td> </tr>  <tr> <td><tt>valid users</tt></td>  <td><tt>machin bidule truc</tt></td>  <td>entrez la liste (s&eacute;par&eacute;e par des espaces) des utilisateurs qui auront le droit de se connecter &agrave; cette ressource.</td> </tr>  <tr> <td><tt>force user</tt></td>  <td><tt>smbuser</tt></td>  <td>entrez le nom sous lequel nous nous connectons au ressources partag&eacute; par SAMBA (vous pouvez ne rien mettre, en ce cas l'utilisateur qui se connectera le sera avec tous ses droits).</td> </tr>  <tr> <td><tt>force group</tt></td>  <td><tt>smbusers</tt></td>  <td>idem pr&eacute;c&eacute;demment.</td> </tr>  <tr> <td><tt>read only</tt></td>  <td><tt>No</tt></td>  <td>Mettez <tt>Yes</tt> si vous voulez emp&ecirc;cher l'acc&egrave;s en &eacute;criture. (Je vous conseille de cr&eacute;er deux noms par ressource : un premier interdisant les &eacute;critures, dont beaucoup d'utilisateurs auront les droits d'acc&egrave;s - ie: par valid users - , et un second autorisant les &eacute;critures mais &agrave; un minimum d'utilisateur - ayant des mots de passe !)</td> </tr>  <tr> <td><tt>guest ok</tt></td>  <td><tt>No</tt></td>  <td>Mettez <tt>Yes</tt> si vous souhaitez autoriser des invit&eacute;s &agrave; acc&eacute;der &agrave; cette ressource.</td> </tr>  <tr> <td><tt>browseable</tt></td>  <td><tt>Yes</tt></td>  <td>Mettez <tt>No</tt> si vous souhaitez cacher cette ressource lors de l'affichage par le voisinage r&eacute;seau de Win$$$</td> </tr>  <tr> <td><tt>available</tt></td>  <td><tt>Yes</tt></td>  <td>pour partager une ressource, celle-ci doit &ecirc;tre disponible.</td> </tr> </table>  <p>Puis validez, en cliquant sur <tt>&lt;Commit Changes></tt>. On peut alors tester notre partage : <br>&nbsp; <li> Si l'on est logg&eacute; en tant que <tt>fred</tt> qui n'a pas de droit sur cette ressource, on se connecte comme si l'on &eacute;tait <tt>truc</tt> qui lui a des droits sur cette ressource :</li>  <pre>[fred@bwing /home/fred]$ <b>smbclient \\\\etoile-noire\\partage_samba -U truc </b>Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0 Password: <b>******* (en fait rien ne s'affiche) </b>Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.5a] smb: \> <b>exit (pour quitter smbclient)</b></pre>  <li> Si l'on est logg&eacute; en tant que <tt>machin</tt> qui a des droit sur cette ressource :</li>  <pre>[machin@bwing /home/machin]$ <b>smbclient \\\\etoile-noire\\partage_samba&nbsp; </b>Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0 Password: <b>******* (en fait rien ne s'affiche) </b>Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.5a] smb: \> <b>exit (pour quitter smbclient)</b></pre> Houra bis ! Ca remarche ! <p>Pour tester plus avant votre serveur SAMBA il faut alllez voir les commandes de <a href="#smbclient">smbclient</a>. <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="config_serveur_imprimante"></a>Configuration de SAMBA en tant que serveur d'impression.</h2> Et maintenant, configurons notre serveur SAMBA pour pouvoir imprimer grace &agrave; lui. Toujour gr&acirc;ce &agrave; <a href="http://root@localhost:901">SWAT</a> nous allons faire une configuration de base : nous allons permettre l'impression sur toutes les imprimantes reconnues par Linux. Pour cela lancez <a href="http://root@localhost:901">SWAT</a>. S&eacute;lectionnez <tt><a href="http://root@localhost:901/printers">Printers</a></tt>. Dans la section <tt>&lt;Choose Printer></tt> s&eacute;lectionnez <tt>&lt;Printers></tt> pour modifier les propri&eacute;t&eacute;s de toutes vous imprimantes en m&ecirc;me temps (chez moi je n'ai qu'une imprimante, donc je n'ai pas pu v&eacute;rifier ce qui ce passe quand plusieurs imprimantes sont connect&eacute;es, mais je pense que tout fonctionne correctement, c'est du moins ce que pr&eacute;tend la documentation de SAMBA). Puis validez votre choix en cliquant sur <tt>Choose Printer</tt>. Vous devez obtenir une nouvelle page &agrave; remplir. <br>&nbsp; <br>&nbsp; <table BORDER NOSAVE > <tr> <td><b>Zone de saisie :</b></td>  <td><b>Valeur :</b></td>  <td><b>Commentaires :</b></td> </tr>  <tr> <td><tt>comment</tt></td>  <td><tt>Les belles imprimantes</tt></td>  <td>sans commentaires ;-)</td> </tr>  <tr> <td><tt>path</tt></td>  <td><tt>/tmp</tt></td>  <td>vous devez mettre un r&eacute;pertoire qui devra &ecirc;tre accessible &agrave; l'utilisateur connect&eacute; &agrave; cette ressource : par exemple vous pouvez mettre n'importe quel r&eacute;pertoire qui est accessible en &eacute;criture par tout le monde - chez moi c'est le cas de <tt><font color="#FF9900">/tmp</font></tt>)</td> </tr>  <tr> <td><tt>guest account</tt></td>  <td>(rien)</td>  <td>ne mettez rien ou un utilisateur qui a le droit d'imprimer (sinon mettez <tt><font color="#FF9900">guest ok</font></tt> &agrave; <tt><font color="#FF9900">false</font></tt>).</td> </tr>  <tr> <td><tt>guest ok</tt></td>  <td><tt>True</tt></td>  <td>on va imprimer en tant qu'invit&eacute;.</td> </tr>  <tr> <td><tt>available</tt></td>  <td><tt>True</tt></td>  <td>sauf si vous ne souhaitez pas imprimer !</td> </tr> </table>  <p>Puis validez vos changement en cliquant sur <tt><font color="#FF9900">Commit Changes</font></tt>. Pour voir si cela fonctionne tapez, depuis n'importe compte utilisateur : <pre>[darkvador@etoile-noire home]$ <b>smbclient -L etoile-noire </b>Added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0 Password: (Aucun mot de passe : validez par &lt;Entr&eacute;e> !) Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.5a]  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sharename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zipdrive&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lecteur Zip &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; samba-public&nbsp;&nbsp; Disk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Repertoire public &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPC$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPC Service (Serveur Linux/Samba) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>deskjet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Printer&nbsp;&nbsp; lp  </b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comment &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ETOILE-NOIRE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Serveur Linux/Samba &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WINDAUBE98  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workgroup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Master &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WORKGROUP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WINDAUBE98</pre> Hourra ! Hourra ! Et dire que certains pensent encore que Linux est plus compliqu&eacute; que Win$$$ ! ;-) <br>Le nom de l'imprimante que vous devez voir apparaitre est celui qui est dans <tt>/etc/printcap</tt> qui doit &ecirc;tre configur&eacute; de fa&ccedil;on que depuis Linux les commandes <tt>lpr</tt>, <tt>lpq</tt>, <tt>lprm</tt> fonctionnent correctement (vous pouvez par exemple utiliser l'utilitaire <tt>printtool</tt> pour ce faire). Il n'est pas important que Linux sache g&eacute;rer votre imprimante,&nbsp; il suffit que Linux sache comment envoyer un fichier sur cette imprimante, m&ecirc;me s'il ne connait rien &agrave; cette imprimante (si &ccedil;a se trouve ce pourrait m&ecirc;me &ecirc;tre une imprimante Win$$$ Printing System, &agrave; v&eacute;rifier... une bonne &acirc;me, heureux possesseur d'une telle imprimante ?). <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="test_avec_win"></a>Test de votre installation depuis Win$$$.</h2> Maintenant que tout semble fonctionner, il faut passer &agrave; l'&eacute;preuve du feu : d&eacute;marrons une machine Win$$$ (appelons-la WINDAUBE) sur notre r&eacute;seau (prions pour que cette pollution ne d&eacute;teriore pas les cables... ;-). Tout est plus simple si vous vous connectez sur WINDAUBE en mettant un nom d'utilisateur reconnu par votre serveur SAMBA, donc : faites cela (nous verrons plus tard comment nous affranchir de cette limitation). <br>Allez dans le voisinage r&eacute;seau, puis dans le Workgroup correspondant &agrave; votre serveur SAMBA, puis sur votre serveur et, magie : toutes les ressources que vous avez partag&eacute;e aparaissent ! (chez moi, avant que le serveur aparaisse, je suis parfois oblig&eacute; d'ouvrir et fermer la fen&ecirc;tre de voisinage r&eacute;seau de <i>multiple</i> fois... et quand je d&eacute;connecte le serveur, parfois Win$$$ continue de l'afficher dans le voisinage r&eacute;seau, c'est bien les <i>caches</i>, mais parfois &ccedil;a ralentit... Je suis m&ecirc;me parfois obliger de red&eacute;marrer WINDAUBE quand je modifie le fichier <tt>/etc/smb/conf</tt>...). <br><b>Note : </b>Ce probl&egrave;me semble du &agrave; l'election d'un MASTER BROWSER pour le Workgroup en question, en&nbsp; fait il suffit d'attendre suffisamment longtemps, genre une demi-heure ;-). <p>Si vous ne voyez pas votre machine : c'est que WINDAUBE est mal configur&eacute;e : vous devez l'avoir configur&eacute;e pour qu'elle utilise TCP/IP comme protocole r&eacute;seau ! Il faut par exemple que le masque de r&eacute;seau soit le m&ecirc;me que celui de votre serveur SAMBA (Ce n'est peut-&ecirc;tre pas une obligation, mais je n'ai pas assez de PC pour faire le test!) <p>Voil&agrave; c'est tout ! Lisez des fichiers, essayez d'&eacute;crire l&agrave; o&ugrave; vous avez le droit, installez l'imprimante comme d'habitude (en cliquant avec le bouton droit sur la ressource imprimante), imprimez des fichiers depuis votre traitement de texte favoris, des images depuis votre programme de dessin ch&eacute;ri : tout doit fonctionner ! <p><b>Attention</b> : Les ressources d'impression de SAMBA n'effectue aucune traduction, elle envoie directement &agrave; l'imprimante les donn&eacute;es re&ccedil;ues du client. Si vous souhaitez que cela change, je vous conseille de rajouter une entr&eacute;e dans le fichier <tt>/etc/printcap</tt> de fa&ccedil;on cette nouvelle entr&eacute;e fasse syst&egrave;matiquement une traduction (par exemple passe par ghostscript), et d'imprimer sur cette imprimante. <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="derniers_conseils"></a>Quelques commandes utiles.</h2>  <h3> <a NAME="smbclient"></a>smbclient.</h3> Le programme <tt>smbclient</tt> permet d'&eacute;tablir des connections avec un serveur SAMBA. Pour savoir quelles sont les ressources disponible sur un serveur faites : <blockquote> <pre>smbclient -L serveur-samba</pre> </blockquote> En ce qui concerne le mot de passe qui va vous &ecirc;tre demand&eacute;, vous pouvez mettre n'importe quoi : il ne sera pas v&eacute;rifi&eacute; ! Cette connection semble avoir lieu en tant qu'invit&eacute;. <p>Pour vous connecter &agrave; la ressource <tt>ressource-samba</tt> du serveur <tt>serveur-samba</tt> tapez : <blockquote> <pre>smbclient \\\\serveur-samba\\resource-samba -U utilisateur</pre> </blockquote> ou <blockquote> <pre>smbclient "\\serveur-samba\resource-samba" -U utilisateur</pre> </blockquote> Ne pr&eacute;cisez pas d'utilisateur si vous lancez cette commande avec les droits n&eacute;cessaires. Apr&egrave;s vous &ecirc;tre connect&eacute; &agrave; cette ressource, vous pouvez envoyer des fichier par <tt>put</tt>, en r&eacute;cup&eacute;rer par <tt>get</tt>. Si la ressource est une imprimante, vous pouvez imprimer en utilisant <tt>print</tt>. <p>Attention : quand vous imprimer sur une ressource Win$$$ ou SAMBA, le fichier n'est pas interpr&eacute;t&eacute; par le serveur ! Donc, si vous voulez imprimez un document, il faut le transformer pour le rendre compatible avec votre imprimante ! Avec Linux, c'est habituellement le travail de <tt>ghostscript</tt>. Supposons, par exemple, que vous souhaitiez imprimer depuis votre machine qui tourne sous Linux sur une imprimante qui est partag&eacute; par un serveur smb (SAMBA ou Win$$$), il faut que vous sachiez quel est le type de l'imprimante (marque, et num&eacute;ro etc...), puis vous devez transformer les donn&eacute;es que vous souhaitez imprimer pour cette machine, puis envoyer le r&eacute;sultat &agrave; la ressource partag&eacute;e par smbclient. Comme ce n'est pas d'un grand int&eacute;r&ecirc;t (pour nous autres fans de Linux) d'imprimer sur un serveur NT (d'autant que je ne poss&egrave;de pas NT), je n'ai jamais fait l'exp&eacute;rience, mais la documentation de SAMBA pr&eacute;tend que ce n'est pas tr&egrave;s compliqu&eacute; (voir la HOWTO) <p>On quitte <tt>smbclient</tt> par <tt>quit</tt>. <p>Evidemment elle ne marche pas seulement avec les serveurs SAMBA, vous pouvez, avec cette commande rapatrier un fichier depuis une machine Win$$$ sans installer sur cette derni&egrave;re un serveur ftp (ce qui est probl&egrave;matique si vous n'avez que le CD de Win$$$, puisque Win$$$ ne fourni pas en standard de serveur ftp, les rats...) <h3> <a NAME="smbpasswd"></a>smbpasswd.</h3> Le programme <tt>smbpasswd</tt> sert &agrave; modifier les mots de passe SAMBA en ligne de commande. Vu que l'on &agrave; SWAT, &agrave; quoi cela peut-il bien servir me direz-vous ? Effectivement cela peut paraitre sans objet, mais imaginons que nous souhaitions, en tant qu'utilisateur modifier notre mot de passe, et bien, point de SWAT ! Donc, il n'y a qu'une solution : <tt>smbpasswd</tt>. Cette commande fonctionne de la m&ecirc;me fa&ccedil;on que <tt>passwd</tt> (que, d'ailleurs, elle appelle...). <p>Une autre utilisation de cette commande : vous &ecirc;tes <tt>root</tt>, et souhaitez qu'un utilisateur particulier ait un mot de passe vide : SWAT ne l'acceptera pas ! En tant que <tt>root</tt>, tapez : <blockquote> <pre>smbpasswd -n utilisateur</pre> </blockquote> Et modifiez le fichier <tt>/etc/smb.conf</tt> de fa&ccedil;on que la section <tt>[global]</tt> contienne la ligne : <blockquote> <pre>null passwords = Yes</pre> </blockquote> Maintenant, <tt>utilisateur</tt> a un mot de passe vide ! <p>A propos de mot de passe, si vous vous &ecirc;tes connect&eacute; sous Win$$$ avec un nom d'utilisateur qui n'est pas reconnu par Linux, mais que vous connaissez un login/password du serveur SAMBA vous pouvez demander de vous connecter &agrave; la ressource <tt>"\\serveur\ressource<b>%utilisateur</b>"</tt>. (Attention &agrave; &lt;"> et &lt;">) S'il y a un mot de passe, il vous sera demand&eacute;, et dans tous les cas vous serez connect&eacute; &agrave; cette ressource comme si vous &eacute;tiez <tt>utilisateur</tt>. <h3> <a NAME="smbmount"></a>montage des ressources smb dans un syst&egrave;me de fichier Linux</h3> Il est possible d'utiliser une ressource smb (SAMBA, Win$$$) comme faisant parti du syst&egrave;me de fichier Linux : il suffit de monter la ressource. Pour que cela fonctionne, il faut que le noyau de Linux ainsi que SAMBA aient &eacute;t&eacute; compil&eacute;s avec le support du syst&egrave;me de fichiers smbfs (c'est la cas du noyau et des packages SAMBA de la Mandrake). Sur le compte de root, il suffit d'entrer : <p><tt><b># </b>mount \\\\etoile-noire\\ressource /mnt -o username=truc password=**</tt> <p>Puis vous pouvez utiliser votre ressource smb comme si c'&eacute;tait une partie normal de votre syst&egrave;me de fichier. Evidemment, le syst&egrave;me des permissions UN*X ne fonctionne pas sur ce type de montage (ne perdons pas de vue que, &agrave; la base, on utilise un protocole destin&eacute; &agrave; Win$$$), pr&eacute;f&eacute;rez leur un montage nfs qui permet de monter un vrai syst&egrave;me de fichiers Linux. <h3> <a NAME="testparm"></a>testparm</h3> Le programme testparm sert &agrave; v&eacute;rifier la validit&eacute; des entr&eacute;es du fichier /etc/smb.conf. Lorsque vous &eacute;ditez &agrave; la main ce fichier, n'h&eacute;sitez pas &agrave; l'utiliser : il vous dira les erreurs que vous avez peut-&ecirc;tre commises en l'&eacute;ditant. La syntaxe d'appelle est simple : <blockquote> <pre>testparm</pre> </blockquote> S'il vous dit que tout est Ok, vous pouvez relancer SAMBA pour prendre vos modifications en compte. <br>Ce programme sert aussi &agrave; v&eacute;rifier les deux entr&eacute;es <tt>hosts allow</tt> et <tt>hosts deny</tt>, si vous voulez savoir si la connection &agrave; une ressource particuli&egrave;re sera accept&eacute; ou pas par SAMBA depuis la machine <tt>machine</tt> il suffit de taper : <blockquote> <pre>testparm /etc/smb.conf machine</pre> </blockquote> Et vous saurez tout. <p><b>Note: </b>Avec SAMBA <b>2.0.7</b> j'ai un probl&egrave;me, <tt>tesparm</tt> me r&eacute;pond que l'hote depuis lequel j'utilise SWAT est autoris&eacute;, mais SWAT refuse la connection, alors je ne comprends pas ... si quelqu'un connait la r&eacute;ponse &agrave; ce mist&egrave;re. <h3> <a NAME="autres_en_vrac"></a>Autres programmes utiles en vrac :</h3>  <ul> <li> <tt>findsmb</tt> : permet de savoir quelles sont les machines accessible par <tt>smbclient</tt> (proposant des partages de ressources via <tt>smb</tt>)</li>  <li> <tt>smbstatus</tt> : permet de conna&icirc;tre l'&eacute;tat du serveur &agrave; ce moment pr&eacute;cis (&eacute;tat disponible dans la page <tt>status</tt> de SWAT).</li> </ul>  <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="adresses_utiles"></a>Quelques adresses utiles :</h2> Je vous les livre en vrac : <ul> <li> Vous pouvez toujours vous procurer la derni&egrave;re version de SAMBA sur le site principal : <a href="http://www.samba.org">http://www.samba.org</a>. Pour avoir d'autres informations (plus techniques) sur SAMBA voyez la <a href="http://www.linuxdoc.org/HOWTO/SMB-HOWTO.html">Samba-HOWTO</a> .</li>  <li> Il existe plusieurs utilitaires pour configurer SAMBA. Pour les mots de passes allez voir du c&ocirc;t&eacute; de <a href="http://savage.iut-blagnac.fr/projets/developpement/gsmb/index.shtml.fr">gsmb</a>. Pour configurer les ressources partag&eacute;es par SAMBA, allez voir <a href="http://www.kneschke.de/projekte/ksamba/index.php3">KSamba</a>.</li>  <li> En remplacement de SWAT, vous pouvez utiliser <a href="http://www.solucorp.qc.ca/linuxconf">linuxconf</a>. (si linuxconf est install&eacute; sur votre machine et si vous avez autoris&eacute; l'acc&egrave;s &agrave; linuxconf en r&eacute;seau, cliquez <a href="http://root@localhost:98/html:/ok,==R=E9seau/ok,==Serveur==de==fichier==samba">l&agrave;</a>)</li>  <li> Pour ce qui est de la configuration d'un r&eacute;seau TCP/IP avec linux, allez voir <a href="http://www.linuxenrezo.org/tech/samba.htm">linuxenrezo</a>. Une aide succinte concernant SAMBA y est disponible.</li>  <li> Le livre <a href="http://www.oreilly.com/catalog/samba/chapter/book/index.html">Using SAMBA</a>. C'est un livre en Open Content (comme &ccedil;a on peut &ecirc;tre content)! (<b>Note</b> : le livre est inclu dans SAMBA &agrave; partir de la version 2.0.7)</li>  <li> Le <a href="http://perso.wanadoo.fr/gerard.blanchet/veyre/index.htm">site personnel</a> de G. Blanchet qui explique comment configurer d'un autre point de vue un serveur SAMBA.</li> </ul>  <blockquote> <hr WIDTH="50%"></blockquote>  <h2> <a NAME="connection_smb"></a>Se connecter &agrave; un ordinateur utilisant le protocole smb.</h2> Pour ce connecter &agrave; un ordinateur utilisant le protocole smb (un pc Linux/SAMBA ou un pc Win$$$), il existe la m&eacute;thode brutale : <tt>smbmount</tt> ! Evidemment &ccedil;a marche, mais ce n'est pas tr&egrave;s convivial, de plus il est bien dommage que l'on ne fasse pas mieux ni plus simple avec Linux qu'avec Win$$$. Pour ce qui est du plus simple, c'est tr&egrave;s discutable. Par contre, il existe un programme, <tt>LinNeighborhood</tt>, qui fait tout et m&ecirc;me plus que l'explorateur de Win$$$ pour ce qui est des connections via <tt>smb</tt>. <h3> <a NAME="recuperation_linneighnorhood"></a>R&eacute;cup&eacute;ration et installation du paquetage LinNeighborhood.</h3> La version que j'utilise est la 0.4.4. On peut la trouver sur le site de <a href="http://www.bnro.de/~schmidjo">Hans Schmid</a>. <br>R&eacute;cup&eacute;rez la version que vous voulez. Je vais d&eacute;crire la proc&eacute;dure d'installation depuis les sources. On r&eacute;cup&egrave;re le paquetage : <tt>LinNeighborhood-0.4.4.src.tar.gz</tt>. Puis on le d&eacute;conpresse et l'installe par : <blockquote><b><tt>tar xzf LinNeighborhood-0.4.4.src.tar.gz</tt></b> <br><b><tt>cd LinNeighborhood-0.4.4.src/src</tt></b> <br><b><tt>make</tt></b> <br><b><tt>cp LinNeighborhood /quelque/part/dans/le/path</tt></b></blockquote> Et voil&agrave; c'est tout, ce n'est pas la mer &agrave; boire et la version que vous avez maintenant sur votre machine est compil&eacute; sp&eacute;cialement pour elle (&ccedil;a lui fait une belle jambe...). Evidemment, vous pouvez pr&eacute;f&eacute;rer installer une version pr&eacute;compil&eacute;e, en ce cas reportez vous &agrave; l'installation d'un paquetage pour votre distribution. <h3> <a NAME="configuration_linneighnorhood"></a>Configuration de LinNeighborhood.</h3> La configuration de LinNeighborhood en elle-meme reste triviale, mais pour une utilisation confortable, il faut lui apporter quelques petits raffinements. <br>Pour commencer, lancez LinNeighborhood par la commande : <blockquote><tt>LinNeighborhood</tt></blockquote> La configuration se fait en utilisant le bouton : <tt>&lt;Prefs></tt>. Le plus simple est de pr&eacute;ciser <tt>WORKGROUP</tt> dans la zone : <tt>Scan\Workgroup</tt> (o&ugrave; WORKGROUP est le nom du group de travail de votre serveur SAMBA). Les autres options de la boite de dialogue s'expliquent toutes seules. Puis sauvez la configuration, cliquez sur l'onglet <tt>&lt;Programs></tt> et choisissez la version de SAMBA que vous utilisez. Sauvez la configuration. Cliquez sur l'onglet <tt>&lt;Post Mount></tt> , choisissez un gestionnaire de fichier pr&eacute;d&eacute;fini (en cliquant sur la fl&egrave;che noire) ou bien d&eacute;finissez le votre. Sauvez une derni&egrave;re fois la&nbsp; configuration. Et quittez la boite de dialogue de configuration. <p>A partir de l&agrave;, vous pouvez, depuis la fenetre de <tt>LinNeighborhood</tt>, parcourir le r&eacute;seau comme vous le feriez avec <tt>Win$$$</tt> (ou presque). Mais, vous allez etre confront&eacute; &agrave; un probl&egrave;me : pour acc&eacute;der &agrave; une ressource r&eacute;ellement, <tt>LinNeighborhood</tt> vous envoie le message : <tt>"smbmount not found"</tt>, la raison est simple : smbmount ne peut fonctionner qu'avec les privil&egrave;ges de root. Donc, pour que cela fonctionne depuis un compte utilisateur il faut rendre <tt>SUID</tt> les programmes : <tt>smbmount</tt>, <tt>smbumount</tt> et <tt>smbmnt</tt>. <blockquote><tt>chmod +s /usr/sbin/smbmount</tt> <br><tt>chmod +s /usr/sbin/smbmnt</tt> <br><tt>chmod +s /usr/sbin/smbumount</tt></blockquote> Mais cela ne suffit pas, le programme <tt>smbmount</tt> essaie de lancer le programme <tt>smbmnt</tt> mais celui-ci ne ce trouve pas dans le <tt>PATH</tt> d'un utilisateur standard (il est dans <tt>/usr/sbin</tt> !). Solution cr&eacute;er un petit script que vous metterez dans un r&eacute;pertoire de votre PATH : <blockquote><tt>#!/bin/sh</tt> <br><tt>export PATH=$PATH:/usr/sbin</tt> <br><tt>smbmount $*</tt></blockquote> que vous appelerez : <tt>smbmount-user</tt>. Et un autre : <blockquote><tt>#!/bin/sh</tt> <br><tt>export PATH=$PATH:/usr/sbin</tt> <br><tt>smbumount $*</tt></blockquote> que vous appelerez : <tt>smbumount-user</tt>.&nbsp; Puis vous cliquez &agrave; nouveau sur le bouton <tt>&lt;Prefs></tt> de LinNeighborhood et dans l'onglet <tt>&lt;Programs></tt>, vous modifiez les entr&eacute;es concernant <tt>smbmount</tt> et <tt>smbumount</tt> de fa&ccedil;on &agrave; ce qu'elles deviennent respectivement <tt>smbmount-user</tt> et <tt>smbumount-user</tt>. Et l&agrave; tout fonctionnera comme sur des roulettes. <h2> <a NAME="conclusion"></a>Conclusion :</h2> Ainsi s'ach&egrave;ve la configuration de notre serveur. Les possibilit&eacute;s de SAMBA sont beaucoup plus grandes que celles que j'ai survol&eacute;es dans cette indroduction. D'apr&egrave;s ce que j'ai lu SAMBA peut &eacute;muler l'ensemble des possibilit&eacute;s de Win$$$ NT et bien plus. Si vous souhaitez en savoir plus, la lecture des divers manpages ainsi que de l'ensemble de la documentation de SAMBA est un point de passage oblig&eacute;. Sachez qu'on peut faire en sorte que SAMBA cr&eacute;e les utilisateurs Linux &agrave; la demande, que SAMBA utilise un serveur de mot de passe etc... Alors plut&ocirc;t de que de se battre avec celui qu'il est charg&eacute; de remplacer : utilisez SAMBA (les nombreuses heures que vous aurez passez &agrave; comprendre comment il fonctionne vous auront permis de mieux ma&icirc;triser votre syst&egrave;me en entier, alors que les quelques heures qui auraient &eacute;t&eacute; n&eacute;cessaire &agrave; la configuration de NT ne vous auraient rien apris sur le fonctionnement opaque de celui-ci!). <br>&nbsp; </body> </html> 
