Show 016.html syntax highlighted
<HTML><HEAD><TITLE>Linux-Mandrake: Guide de l'utilisateur et Manuel de référence</TITLE>
<LINK REV=MADE HREF="mailto:info@mandrakesoft.com"></HEAD>
<BODY BGCOLOR="#ffffff"><center><font size="+5"><STRONG><table border="0"><tr><td><STRONG>Linux-Mandrake</STRONG>:</td></tr><tr><td>Guide de l'utilisateur</td></tr><tr><td>et Manuel de référence</td></tr></table></STRONG></font>
<p><font size="+2"><STRONG><table border="0"><tr><td><STRONG>MandrakeSoft</STRONG></td></tr></table></STRONG></font>
<p><STRONG><table border="0"><tr><td> </td></tr><tr><td> </td></tr><tr><td>Janvier 2000</td></tr><tr><td><CODE>http://www.linux-mandrake.com</CODE></td></tr><tr><td></td></tr></table></STRONG></center>
<hr><a href="017.html">Suivant : <STRONG>MSEC</STRONG></a><br><a href="015.html">Précédent : Le système de fichiers <CODE>/proc</CODE></a><br><a href="../">Retour</a><br><hr><a href="000.html#toc"><font size="-1">(Retour à la table des matières)</font></a>
<H1><font size="+1"><a name="139">Chapitre 6 : <STRONG>Samba</STRONG></a></font></H1><hr><H1><a name="140">Qu'est-ce que <STRONG>Samba</STRONG>?</a></H1>
<p>Enfin, vous devez vous dire, une implémentation d'une danse exotique sous
<STRONG>Linux</STRONG>. Ca veut dire quoi, au juste? Non, il ne s'agit pas de la
danse brésilienne mais d'un serveur pour les clients <EM>SMB</EM> (le
protocole <EM>Server Message Block</EM>, « serveur de messages pas blocs ») ou de son
successeur <EM>CIFS</EM> (<EM>Common Internet File System</EM>,
« système de fichiers commun sur l'<EM>Internet</EM> »).
<H1><a name="141">Qu'est-ce qu'il est capable de faire?</a></H1>
<ul><li>un serveur <EM>SMB</EM> fournit des services de partage de fichiers et
d'imprimantes dans le style <STRONG>Windows NT</STRONG> ou <STRONG>LAN Manager</STRONG> pour
des clients <EM>SMB</EM> comme <STRONG>Windows 9x</STRONG>, <STRONG>Warp Server</STRONG>,
<STRONG>Unix</STRONG> et bien d'autres.
<li>un serveur de noms <EM>NetBIOS</EM> (<EM>RFC</EM> 1001/1002)
<li>un client <EM>SMB</EM> de style <EM>FTP</EM> pour accéder aux ressources des
<EM>PC</EM> (disques et imprimantes) pour <STRONG>Unix</STRONG>, <STRONG>Netware</STRONG> ou
d'autres systèmes d'exploitation.
<li>une extension <CODE>tar</CODE> pour les clients, afin de créer des
sauvegardes à distance.
<li>un outil d'administration limité en ligne de commande qui propose
certaines fonctionnalités de <STRONG>Windows NT</STRONG> qui peuvent être
utilisées sur <EM>Server Message Block</EM>, <STRONG>Windows NT
Workstation</STRONG> ou <STRONG>Server</STRONG>.
<li>mise en place d'une passerelle de synchronisation de mots de
passe, ou de passerelle d'impression entre <STRONG>Unix</STRONG> et
<STRONG>Windows NT</STRONG>.
<li>accès aux fichiers de <STRONG>Windows NT</STRONG> à partir de <STRONG>Unix</STRONG>.</ul>
<p>Pour plus d'informations à ce sujet rendez-vous sur le site <EM>web</EM>
<CODE>http://samba.org/samba/</CODE>.
<H1><a name="142">Licence</a></H1>
<p>Tout comme <STRONG>Linux</STRONG>, ce logiciel est un projet <STRONG><EM>Open
Source</EM></STRONG>, dans le cadre de la <EM>GPL</EM> et du projet <EM>GNU</EM>, entièrement
écrit en langage <EM>C</EM>, <EM>libre</EM> et <EM>gratuit</EM>. Il peut
être distribué librement, vous êtes même encouragés à le faire.
<p>Ce document vous aidera à installer un serveur <EM>SMB</EM>.
<H1><a name="143">Installation de <STRONG>Samba</STRONG></a></H1>
<p>Si vous utilisez déjà <STRONG>Samba</STRONG> tapez <CODE>/etc/rc.d/init.d/smb
stop</CODE>. Sur le <EM>CD-ROM</EM> d'installation vous trouverez le paquetage
<CODE>samba-2.0.6-1mdk.i586.rpm</CODE> que vous pouvez installer, en tant que
<CODE>root</CODE>, avec la commande
<p><CODE>rpm -Uvh samba-*mdk.i586.rpm</CODE>.
<p>La commande <CODE>rpm -ql samba|less</CODE> vous permettra ensuite de
consulter tous les fichiers contenus dans le paquetage et leur
emplacement. Cela vous permettra de localiser les fichiers de la section
<CODE>doc</CODE>, etc.
<H1><a name="144">Description du fichier <CODE>/etc/smb.conf</CODE></a></H1>
<p>C'est le fichier texte qui vous permet de configurer le serveur
<STRONG>Samba</STRONG>.
<p>Il est composé de différentes sections dont les titres sont placés entre
crochets <CODE>[ ]</CODE>. Toute ligne commençant par <CODE>';'</CODE> ou par
<CODE>'#'</CODE> est ignorée lors de l'exécution de <STRONG>Samba</STRONG>. On utilise
souvent cette fonctionnalité pour ajouter des commentaires d'explication
sur les différentes sections. De cette façon vous vous y retrouverez
plus facilement plus tard, lors de la relecture.
<p>Lors de l'installation du paquetage, un fichier <CODE>/etc/smb.conf</CODE> a
été copié sur votre ordinateur. Nous allons utiliser ce fichier comme
point de départ.
<p>Il existe trois section particulières: <CODE>[global]</CODE>
(« généralités »), <CODE>[printers]</CODE>, et
(« imprimantes »), <CODE>[homes]</CODE>
(« répertoires personnels »).
<H2><a name="145">Section <CODE>[global]</CODE></a></H2>
<p>Ici, sont introduits les paramètres qui s'appliquent au serveur dans sa
totalité ou qui seront les paramètres par défaut pour certaines
sections.
<p><font size="0"><PRE>
[global]
netbios name = Zeus
netbios aliases = creation
# sans ces deux entrées, le premier composant du
# nom DNS est utilisé à la place.
workgroup = DESIGN
# Samba ne peut être membre que d'un seul groupe
# de travail à la fois
server string = Serveur de fichiers [%v]
# ceci indique le nom est la version à afficher
deadtime = 15
# durée maximale d'inactivité
auto services = jean
# ce service, bien qu'affiché dans la liste
# d'exploration, n'est pas disponible avant la
# connexion de jean au serveur
security = user
</PRE></font>
<p>Ce dernier paramètre peut prendre les valeurs <CODE>share</CODE>
(« partagé »), <CODE>user</CODE>,
(« utilisateur »), <CODE>server</CODE>,
(« serveur »), ou <CODE>domain</CODE>
(« domaine »).
<ul><li><STRONG>Mode <CODE>share</CODE> (ou « partagé »)</STRONG>: Le client
envoie un mot de passe lors de la demande de connexion sans qu'un nom
d'utilisateur soit requis. Ce mode est le mode par défault de sécurité
des fichiers ou de l'impression de <STRONG>Windows 95</STRONG>. Il peut être
modifié dans la section <EM><STRONG>Réseau</STRONG></EM> du
<EM><STRONG>Panneau de configuration</STRONG></EM>, dans <EM><STRONG>Contrôle d'accès</STRONG></EM>.
<li><STRONG>Mode <CODE>user</CODE> (« utilisateur »)</STRONG>: Il est
préférable de choisir ce mode de sécurité. Il faut alors fournir un nom
d'utilisateur valide et le nom de passe associé.
<li><STRONG>Mode <CODE>server</CODE> (« serveur »)</STRONG>: Ce mode est une
variante du mode <CODE>user</CODE>. Le serveur <STRONG>Samba</STRONG> envoie une
demande d'ouverture de session ou serveur de mots de passe.
<p><font size="0"><PRE>
password server = NT_passe
# c'est le nom du serveur NT de mots de passe.
# On peut indiquer plusieurs noms de serveurs.
</PRE></font>
<li><STRONG>Mode <CODE>domain</CODE> (« domaine »)</STRONG>: Ce mode est
presque le même que le précédent.</ul>
<p>Dans ces trois derniers modes, l'utilisateur doit être « créé »
sur le serveur <STRONG>Samba</STRONG>.
<p><font size="-2"><PRE>
hosts allow = jean.design.org 192.168.1.45 EXCEPT 192.168.2.
</PRE></font>
<p>Ici, tous les utilisateurs du réseau <STRONG><STRONG>192.168.2.</STRONG></STRONG> seront
refusés lors d'une tentative de connexion.
<p><font size="+2"><PRE>
hosts deny = 192.168.2
</PRE></font>
<p>Cette ligne a le même effet que la ligne précédente, avec le mot-clef
<CODE>EXCEPT</CODE>.
<p><font size="+1"><PRE>
guest account = pcguest
# si vous désirez utiliser un compte d'invité,
# à ajouter dans /etc/passwd
</PRE></font>
<H2><a name="146">Définir un partage</a></H2>
<p>Créez d'abord cette entrée avec la commande suivante: <CODE>mkdir
/home/commun</CODE> et établissez les permissions avec les commandes
<CODE>chmod</CODE> et <CODE>chown</CODE>. Par exemple, <CODE>chmod 0777</CODE>
donne tous les droits à ce dossier du côté <STRONG>Unix</STRONG>. Il faudrait, de
plus, que <STRONG>Samba</STRONG> l'autorise également.
<p><font size="+1"><PRE>
[share]
comment = partage accessible par tous
path = /home/commun
browsable = yes
writable = yes
create mask = 0750
# signifie que l'utilisateur a les droits
# rwx, le groupe r-x et les autres r--
directory mask = 0750
# même signification
mangled names = yes
# conversion des noms en format DOS/Windows,
# c'est à dire 8 caractères pour le nom et
# 3 pour l'extension.
preserve case = no
# pour ne pas prendre en compte la casse.
</PRE></font>
<p>Un autre exemple de partage
<p>Assurez-vous de charger d'abord le module <EM>ppa</EM> avec la commande
<CODE>modprobe ppa.o</CODE>.
<p><font size="-2"><PRE>
[zip]
comment = montage/démontage automatique de disquettes zip
browseable = yes
path = /mnt/zip
root preexec = /bin/mount /dev/sda4 /mnt/zip
root postexec = /bin/unmount /mnt/zip
</PRE></font>
<H2><a name="147">Section <CODE>[homes]</CODE></a></H2>
<p>Cette section permet à chaque utilisateur d'accéder à son répertoire
<CODE>'HOME'</CODE> de la machine <STRONG>Linux</STRONG> depuis un <EM>PC</EM> sous
<STRONG>Windows</STRONG>.
<p>Il s'agit d'un type de partage spécial.
<p><font size="+2"><PRE>
[homes]
comment = Répertoires personnels
browseable = no
writable = yes
path = /export/homes/%U
valid users = %S
</PRE></font>
<H2><a name="148">Section <CODE>[printers]</CODE></a></H2>
<p>Il s'agit d'un autre type de partage particulier.
<p><font size="-3"><PRE>
[printers]
comment = Imprimantes disponibles
path = /var/spool/samba
load printers = yes # charge toutes les imprimantes disponibles
browseable = no
printable = yes
public = no
writable = no
create mode = 0700
</PRE></font>
<p>Vous pouvez aussi imprimer de <STRONG>Linux</STRONG> sur une imprimante connectée
sur un <EM>PC</EM> fonctionnant sous <STRONG>Windows</STRONG>. Utilisez pour cela
<STRONG>printtool</STRONG> et configurez l'imprimante. Ceci va créer une entrée
dans le fichier <CODE>/etc/printcap</CODE>. Il faut l'avoir partagée au
préalable sous <STRONG>Windows</STRONG>.
<p>Il existe de très nombreux paramètres, pour plus d'informations, taper
<CODE>man smb.conf</CODE>.
<H1><a name="149">Vérifications</a></H1>
<p>Avant de démarrer les démons <STRONG>smb</STRONG> et <STRONG>nmb</STRONG>, tapez
<CODE>testparm</CODE>. Cette commande va lire le fichier
<CODE>/etc/smb.conf</CODE> et vous afficher les entrées qu'il prend en compte.
<H1><a name="150">Comment exécuter <STRONG>Samba</STRONG></a></H1>
<p>Il suffit de taper <CODE>/etc/rc.d/init.d/smb start</CODE>, vous verrez
s'afficher le message :
<p><font size="-2"><PRE>
Starting SMB services: [OK]
Starting NMB services: [OK]
</PRE></font>
<p>Pour vérifier que le démon est bien en état de fonctionnement, taper
<CODE>ps aux | grep smbd</CODE> ou <CODE>/etc/rc.d/init.d/smb status</CODE>
<H1><a name="151">Divers utilitaires</a></H1>
<H2><a name="152"><STRONG>smbclient</STRONG></a></H2>
<p>Il s'agit d'un utilitaire analogue à <STRONG>ftp</STRONG> qui vous permettra
d'accéder aux partages d'un <EM>PC</EM> fonctionnant sous <STRONG>Windows</STRONG>. Pour
connaître la liste des services proposés par le <EM>PC</EM>
<STRONG><STRONG>win</STRONG></STRONG>, tapez <CODE>smbclient -L win -N</CODE>. Tapez
<font size="-1"><CODE>smbclient //win/travail</CODE></font> pour vous connecter sur le <EM>PC</EM>
appelé <STRONG><STRONG>win</STRONG></STRONG>, sur le partage appelé <CODE>travail</CODE>.
Vous pourriez aussi taper la commande <CODE>smbclient
wintravail</CODE>. Pour créer une sauvegarde de type <CODE>tar</CODE>, tapez
<CODE>smbclient //win/travail -Tc travail</CODE>. Pour imprimer un
fichier <CODE>lettre.txt</CODE>, tapez
<p><font size="-3"><PRE>
cat lettre.txt | smbclient //win/nom_imprimante mot_de_passe \
-N -c "put - jean"
</PRE></font>
<p>Pour en savoir plus, tapez <CODE>man smbclient</CODE>.
<H2><a name="153"><STRONG>smbfs</STRONG></a></H2>
<p>Pour être en mesure de monter/démonter des fichiers de <STRONG>Windows</STRONG>
sous <STRONG>Linux</STRONG>, votre noyau devra reconnaître le système de fichiers
<STRONG>smbfs</STRONG> (ce qui est le cas sur la distribution de
<STRONG>Linux-Mandrake</STRONG>). Ensuite vous devrez utiliser les commandes
<STRONG>smbmount</STRONG> ou /et <STRONG>smbumount</STRONG>. Il faudrait taper ensuite,
par exemple: <font size="-1"><CODE>smbmount "wintravail" -c 'mount /mnt -u
123 -g 456'</CODE></font>. Ceci donnera au montage un <EM>UID</EM> local de
123, ainsi qu'un <EM>GID</EM> local de 456.
<H2><a name="154"><STRONG>smbtar</STRONG></a></H2>
<p>Permet de créer des archives <CODE>tar</CODE> à distance. Lire la page de
manuel pour obtenir plus d'informations sur ses nombreuses options.
<H1><a name="155">Interface graphique d'administration: <STRONG>SWAT</STRONG></a></H1>
<p><STRONG>SWAT</STRONG> est inclus dans le paquetage <STRONG>Samba</STRONG>. Pour le
lancer il faudra décommenter (enlever le <CODE>#</CODE> du début de ligne)
la ligne: <CODE>swat stream tcp nowait.400 root /usr/sbin/swat swat</CODE>
dans le fichier <CODE>/etc/inet.conf</CODE>, et ensuite relancer
<CODE>inet</CODE> avec la commande <CODE>/etc/rc.d/init.d/inet restart</CODE>.
<p>Dans votre navigateur (de préférence, un navigateur graphique), taper
l'<EM>URL</EM>: <CODE>http://127.0.0.1:901</CODE>. Une fenêtre d'authentification
devrait apparaître (figure 43.1) et vous serez
invité à saisir un nom de <EM>login</EM> et un mot de passe. Le mot de
passe de <CODE>root</CODE> devrait garantir un niveau de sécurité
satisfaisant.
<p><center><img src="images/samba_swat_auth.gif" alt="Se connecter à Samba" width="814" height="424"></center>
<center>Figure 43.1 Se connecter à <STRONG>Samba</STRONG></center>
<p>Vous voilà dans une interface graphique pour le paramètrage de
<CODE>smb.conf</CODE>. Vous devriez être capable d'utiliser cette interface
sans problèmes en vous appuyant sur les explications ci-dessus et en
consultant les pages des manuels pour des configurations spécifiques.
<p><center><img src="images/samba_swat.gif" alt="Écran d'accueil de SWAT" width="516" height="474"></center>
<center>Figure 15.2 Écran d'accueil de <STRONG>SWAT</STRONG></center>
<p>Exemple de fichier <CODE>smb.conf</CODE>
<p><font size="-4"><PRE>
[global]
workgroup = MonGroupeDeTravail
server string = (Samba %v)
#server string = Samba Server
browseable = yes
printing = bsd
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba/log.%m
max log size = 100
lock directory = /var/lock/samba
locking = no
strict locking = no
share modes = yes
security = user
null passwords = yes
socket options = TCP_NODELAY
# Fait en sorte que le serveur Samba devienne le serveur
# principal du domaine
#os level = 33
#domain master = yes
# Facilite la reconnaissance des noms de fichiers longs
preserve case = no
short preserve case = no
character set = iso8859-1
[homes]
comment = Répertoires personnels
preexec = /bin/sh -c 'echo /usr/bin/smbclient -M %m -I %I'&
browseable = yes
readonfiltered= no
writable = yes
create mode = 0750
public = yes
["public"]
comment = "Public"
path = /public/
browseable = yes
hide dot files = yes
readonfiltered= no
public = yes
pritable = yes
#create mode = 0775
printable = no
["printers"]
comment = All Printers
#path = /var/spool/samba
path = /var/spool/lpd/lp
browseable = yes
# public = yes # pour permettre à l'utilisateur 'invité' d'imprimer
guest ok = yes
writable = yes
printable = yes
</PRE></font>
<H1><a name="156">Conclusion</a></H1>
<p>Pour toute information complémentaire vous êtes vivement invité à
consulter la documentation de <STRONG>Samba</STRONG>.
<hr><a href="017.html">Suivant : <STRONG>MSEC</STRONG></a><br><a href="015.html">Précédent : Le système de fichiers <CODE>/proc</CODE></a><br><a href="../">Retour</a><br><hr>Copyright © 2000 <a href="http://www.mandrakesoft.com/">MandrakeSoft</a></BODY></HTML>
See more files for this project here