Linux-Mandrake:
Guide de l'utilisateur
et Manuel de référence

MandrakeSoft

 
 
Janvier 2000
http://www.linux-mandrake.com


Suivant : MSEC
Précédent : Le système de fichiers /proc
Retour

(Retour à la table des matières)

Chapitre 6 : Samba


Qu'est-ce que Samba?

Enfin, vous devez vous dire, une implémentation d'une danse exotique sous Linux. Ca veut dire quoi, au juste? Non, il ne s'agit pas de la danse brésilienne mais d'un serveur pour les clients SMB (le protocole Server Message Block, « serveur de messages pas blocs ») ou de son successeur CIFS (Common Internet File System, « système de fichiers commun sur l'Internet »).

Qu'est-ce qu'il est capable de faire?

Pour plus d'informations à ce sujet rendez-vous sur le site web http://samba.org/samba/.

Licence

Tout comme Linux, ce logiciel est un projet Open Source, dans le cadre de la GPL et du projet GNU, entièrement écrit en langage C, libre et gratuit. Il peut être distribué librement, vous êtes même encouragés à le faire.

Ce document vous aidera à installer un serveur SMB.

Installation de Samba

Si vous utilisez déjà Samba tapez /etc/rc.d/init.d/smb stop. Sur le CD-ROM d'installation vous trouverez le paquetage samba-2.0.6-1mdk.i586.rpm que vous pouvez installer, en tant que root, avec la commande

rpm -Uvh samba-*mdk.i586.rpm.

La commande rpm -ql samba|less 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 doc, etc.

Description du fichier /etc/smb.conf

C'est le fichier texte qui vous permet de configurer le serveur Samba.

Il est composé de différentes sections dont les titres sont placés entre crochets [ ]. Toute ligne commençant par ';' ou par '#' est ignorée lors de l'exécution de Samba. 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.

Lors de l'installation du paquetage, un fichier /etc/smb.conf a été copié sur votre ordinateur. Nous allons utiliser ce fichier comme point de départ.

Il existe trois section particulières: [global] (« généralités »), [printers], et (« imprimantes »), [homes] (« répertoires personnels »).

Section [global]

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.

[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

Ce dernier paramètre peut prendre les valeurs share (« partagé »), user, (« utilisateur »), server, (« serveur »), ou domain (« domaine »).

Dans ces trois derniers modes, l'utilisateur doit être « créé » sur le serveur Samba.

hosts allow = jean.design.org 192.168.1.45 EXCEPT 192.168.2.

Ici, tous les utilisateurs du réseau 192.168.2. seront refusés lors d'une tentative de connexion.

hosts deny = 192.168.2

Cette ligne a le même effet que la ligne précédente, avec le mot-clef EXCEPT.

guest account = pcguest
# si vous désirez utiliser un compte d'invité,
# à ajouter dans /etc/passwd

Définir un partage

Créez d'abord cette entrée avec la commande suivante: mkdir /home/commun et établissez les permissions avec les commandes chmod et chown. Par exemple, chmod 0777 donne tous les droits à ce dossier du côté Unix. Il faudrait, de plus, que Samba l'autorise également.

[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.

Un autre exemple de partage

Assurez-vous de charger d'abord le module ppa avec la commande modprobe ppa.o.

[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

Section [homes]

Cette section permet à chaque utilisateur d'accéder à son répertoire 'HOME' de la machine Linux depuis un PC sous Windows.

Il s'agit d'un type de partage spécial.

[homes]
  comment = Répertoires personnels
  browseable = no
  writable = yes
  path = /export/homes/%U
  valid users = %S

Section [printers]

Il s'agit d'un autre type de partage particulier.

[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

Vous pouvez aussi imprimer de Linux sur une imprimante connectée sur un PC fonctionnant sous Windows. Utilisez pour cela printtool et configurez l'imprimante. Ceci va créer une entrée dans le fichier /etc/printcap. Il faut l'avoir partagée au préalable sous Windows.

Il existe de très nombreux paramètres, pour plus d'informations, taper man smb.conf.

Vérifications

Avant de démarrer les démons smb et nmb, tapez testparm. Cette commande va lire le fichier /etc/smb.conf et vous afficher les entrées qu'il prend en compte.

Comment exécuter Samba

Il suffit de taper /etc/rc.d/init.d/smb start, vous verrez s'afficher le message :

Starting SMB services:                                   [OK]
Starting NMB services:                                   [OK]

Pour vérifier que le démon est bien en état de fonctionnement, taper ps aux | grep smbd ou /etc/rc.d/init.d/smb status

Divers utilitaires

smbclient

Il s'agit d'un utilitaire analogue à ftp qui vous permettra d'accéder aux partages d'un PC fonctionnant sous Windows. Pour connaître la liste des services proposés par le PC win, tapez smbclient -L win -N. Tapez smbclient //win/travail pour vous connecter sur le PC appelé win, sur le partage appelé travail. Vous pourriez aussi taper la commande smbclient wintravail. Pour créer une sauvegarde de type tar, tapez smbclient //win/travail -Tc travail. Pour imprimer un fichier lettre.txt, tapez

cat lettre.txt | smbclient //win/nom_imprimante mot_de_passe \
  -N -c "put - jean"

Pour en savoir plus, tapez man smbclient.

smbfs

Pour être en mesure de monter/démonter des fichiers de Windows sous Linux, votre noyau devra reconnaître le système de fichiers smbfs (ce qui est le cas sur la distribution de Linux-Mandrake). Ensuite vous devrez utiliser les commandes smbmount ou /et smbumount. Il faudrait taper ensuite, par exemple: smbmount "wintravail" -c 'mount /mnt -u 123 -g 456'. Ceci donnera au montage un UID local de 123, ainsi qu'un GID local de 456.

smbtar

Permet de créer des archives tar à distance. Lire la page de manuel pour obtenir plus d'informations sur ses nombreuses options.

Interface graphique d'administration: SWAT

SWAT est inclus dans le paquetage Samba. Pour le lancer il faudra décommenter (enlever le # du début de ligne) la ligne: swat stream tcp nowait.400 root /usr/sbin/swat swat dans le fichier /etc/inet.conf, et ensuite relancer inet avec la commande /etc/rc.d/init.d/inet restart.

Dans votre navigateur (de préférence, un navigateur graphique), taper l'URL: http://127.0.0.1:901. Une fenêtre d'authentification devrait apparaître (figure 43.1) et vous serez invité à saisir un nom de login et un mot de passe. Le mot de passe de root devrait garantir un niveau de sécurité satisfaisant.

Se connecter à Samba
Figure 43.1 Se connecter à Samba

Vous voilà dans une interface graphique pour le paramètrage de smb.conf. 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.

Écran d'accueil de SWAT
Figure 15.2 Écran d'accueil de SWAT

Exemple de fichier smb.conf

[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

Conclusion

Pour toute information complémentaire vous êtes vivement invité à consulter la documentation de Samba.


Suivant : MSEC
Précédent : Le système de fichiers /proc
Retour

Copyright © 2000 MandrakeSoft