TUTORIEL SAMBA     Précédent   Suivant   Sommaire   Préc.page.lue   Accueil





 1 :  SAMBA     Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce tutoriel n'a pas pour ambition de :


On y trouvera :


Les utilisateurs de samba sont souvent pressés d'obtenir le résultat attendu, mais oublient souvent qu'il vaut mieux commencer par des utilisations simples avant de réaliser des configurations complexes.



 1.1 :    GLOSSAIRE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

SAMBA est un logiciel libre supportant le protocole SMB/CIFS ('voir ci-dessous').

Ce protocole est employé par Microsoft pour le partage de différentes ressources (répertoires, imprimantes, etc.) entre ordinateurs équipés de Windows.

Samba permet à des systèmes non Unix d'accéder aux ressources de ces systèmes et vice-versa.

On peut pense que samba tire son nom du nom du protocole SMB.

Samba a commencé à se déployer à partir de 1991 sur des systèmes UNIX, (Note de l'Auteur : ce fut d'ailleurs le premier programme OpenSource que j'ai utilisé).

IBM a déployé sur ses plateformes un équivalent sous le nom de rumba, mais il ne faut plus chercher de référence à SMB mais à samba qui était déjà très populaire. rumba est donc un hommage à l'équipe à l'origine de samba.

SMB (Server Message Blocks) a été à l’origine créé par IBM, mais la version la plus utilisée a été profondément modifiée par Microsoft.

En 1998, Microsoft a renommé SMB en CIFS (Common Internet File System) en ajoutant plusieurs fonctionnalités comme le support des raccourcis et de fichiers de plus grande taille.

NetBios n'est pas véritablement un protocole réseau, c'est plutôt une API (Application programming Interface) permettant de lier un nom d'ordinateur à une adresse IP et d'échanger des datagrammes.

C'est une interface qui permet d'établir des sessions entre différents ordinateurs d'un réseau.

Le partage des ressources dans un réseau interne (typiquement windows 95, 98, ...) s'appuie sur NetBios.

Il utilise les ports :



SERVEUR SAMBA Un serveur samba est une machine (la plupart du temps non windows) qui propose des ressources partagées à des clients windows ou à des clients samba (sur des machines non windows).

CLIENT SAMBA Le client samba est typiquement une machine non windows qui veut accéder à des ressources partagées par des serveurs ou des stations windows, ou par des serveurs samba non windows.
Encore que pour les machines non windows entre elles, il existe des moyens bien plus performants de partages de ressources.

POSTE DE TRAVAIL Le poste de travail (windows ou non windows) d'un utilisateur pourra être à la fois client s'il accède à des ressources partagées ailleurs mais aussi serveur s'il partage ses données avec d'autre utilisateurs.




 1.2 :    smb.conf   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

C'est le fichier principal de la configuration de SAMBA. Il se trouve normalement dans /etc/samba.

Il contient ou peut contenir des dizaines, voire des centaines, de spécifications.

Par défaut samba prend un grand nombre de valeurs par défaut (il y a plus de 300 valeurs par défaut). Et dans bien des cas simples cela suffit amplement.

Avant de modifier le smb.conf d'origine faites en une copie.

Il est tout à fait possible de maintenir le smb.conf avec un éditeur quelconque, mais l'interface swat est certainement plus pratique, la syntaxe sera toujours correcte, et la plupart des choix se font dans des menus déroulants avec une aide en ligne.

Syntaxe de smb.conf :

[nom_section1]
mot_cle = valeur
.........
.......

[nom_section2]
mot_cle = valeur
.........
.......

Si l'on modifie une ou plusieurs valeurs il est nécessaire de redémarrer et rechercher le démon smb et/ou nmb pour la prise en compte de ces modifications.

service smb restart
ou 
service smb reload
ou sans la commande service nom_service option : 
/etc/init.d/smb restart
ou
/etc/init.d/smb reload

IMPORTANT : Ne pas oublier de tester la syntaxe de votre fichier avec la commande testparm .

En effet si une ligne non indispensable n'est pas correcte, elle ne sera pas prise en compte, et avec les valeurs par défaut prise en compte, vous n'aurez peut-être pas le résultat attendu à cause d'une simple faute de frappe.

EXEMPLE :

Dans votre fichier smb.conf 
  securite = share
  au lieu de
  security = share
  n'entrainera pas d'erreur au démarrage, mais celui-ci se fera avec la valeur par défaut security = user.

EXEMPLE D'UTILISATION DE testparm

    $ testparm
    Load smb config files from /etc/samba/smb.conf
    Unknown parameter encountered: "securite"
    Ignoring unknown parameter "securite"



 1.2.1 :      Exemple de configuration minimum   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

┌────────────────────────────┐
│ [global]                   │ 
│   security = share         │  Par défaut smb prendrait user ce qui demande une authentification.
│ [public]                   │  Nom de la ressource
│   path = /public           │  Il faut définir ici le répertoire que l'on désire partager sous le nom de la section
│   guest ok = yes           │  Par défaut smb prendrait guest ok = no.
│   writable = yes           │  Par défaut smb prendrait read only = yes.
└────────────────────────────┘

Préparation du répertoire /public :

L'emplacement d'un ou de plusieurs répertoires partagés dans la racine n'est pas forcément le plus judicieux, cela se discute, mais dans le but de rester simple, et pour un exemple cela à l'avantage de rester simple et de fonctionner simplement.

     # mkdir /public
     # chmod 777 /public
     SI VOUS UTILISEZ SELinux: ATTENTION AU CONTEXTE SELinux
     # chcon -R -t samba_share_t /public
     Vérifier avec le résultat de 
     ls -ld /public
     drwxrwxrwx  root root  ........    /public
     ou de
     ls -lZd /public
     drwxrwxrwx  root root unconfined_u:object_r:samba_share_t:s0 /public

Vérification
     $ testparm -s
     Load smb config files from /etc/samba/smb.conf
     Processing section "[public]"
     Loaded services file OK.
     Server role: ROLE_STANDALONE
     [global]
       workgroup = WORKGROUP
       security = SHARE
     
     [public]
       path = /public
       read only = No
       guest ok = Yes

Démarrage des services

     # service smb start
     # service nmb start
     ou 
     # /etc/init.d/smb start
     # /etc/init.d/nmb start

Chargement des modifications de configuration

Chaque modification de configuration (dans smb.conf) nécessite le chargement du nouveau smb.conf :

reload ::= Rechargement de la nouvelles configuration sans interruptions des connexions déjà établies (mais qui travaillent avec l'ancienne configuration.

restart ::= Arrêt du service avec interruption des connexions déjà établies, et re-démarrage avec la nouvelle configuration.

Si la configuration ne modifie que des valeurs sur les partages ou globales non NetBios, le rechargement/re-démarrage de nmb peut être considéré comme facultatif.

     # service smb reload
     # service nmb reload
     ou 
     # /etc/init.d/smb reload
     # /etc/init.d/nmb reload

Redémarrage des services

     # service smb restart
     # service nmb restart
     ou 
     # /etc/init.d/smb restart
     # /etc/init.d/nmb restart

Surveillance des services # service smb status # service nmb status ou # /etc/init.d/smb status # /etc/init.d/nmb status

Test de fonctionnement local $ smbclient -NL 127.0.0.1 Domain=[WORKGROUP] OS=[Unix] Server=[Samba xxxxxx] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba xxxxxx) public Disk Domain=[WORKGROUP] OS=[Unix] Server=[Samba xxxxxx] Server Comment --------- ------- LOCALHOST Samba xxxxxxx

Workgroup Master --------- ------- WORKGROUP LOCALHOST

Test de fonctionnement sur un client windows

Si l'on essaie «Voisinage réseau» ou «Favoris réseau» on doit voir le serveur Samba et ses ressources.

Il existe aussi des commande à utiliser dans une fenêtre «Démarrer» + «Exécuter» + «cmd».

        C:> nbtstat -a nom_serveur_samba               Affichage information du nom_serveur_samba
        C:> nbtstat -A ¡adresse_ip_serveur_samba         Affichage information du serveur spécifié par son adresse IP
        C:> nbtstat -r                                   Affichage de tous les serveurs.

PREMIERS PROBLEMES

Le groupe de mes stations windows n'est pas WORKGROUP mais MONGROUPE.

J'ai plusieurs serveurs samba qui ont pour nom LOCALHOST.

Il suffit d'ajouter ces paramètres dans la section globale.

┌────────────────────────────┐
│   workgroup = MONGROUPE    │  Par défaut nmb prend WORKGROUP
│   netbios name = SERVEUR1  │  Par défaut nmb prendrait le hostname, nom d'hôte (uname -n), qui, par défaut, sur un système installé est localhost
└────────────────────────────┘

Puis il faudra recharger ou redémarrer les deux services smb ET nmb. En effet les modifications entrainent le redémarrage des deux services.

Ce qui n'est pas toujours le cas. Exemple : Si l'on ne modifie que les options d'un partage seul smb doit être rechargé/redémarré.

A propos du nom LOCALHOST qui pourrait être commun à plusieurs machines, samba permet de résoudre le problème avec netbios name, mais il vaut mieux, dès le départ, nommer toutes les machines de façon différente.


AUTRES PROBLEMES CA MARCHE PAS

Il faut essayer de comprendre pourquoi ça ne marche pas.




 1.2.2 :      swat Samba Web Administration Tool   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

À cause des multiples usages de Samba, une configuration complète est en dehors du champ du livre BLFS. En fait, beaucoup de livres complets ont été écrits sur ce seul thème. La documentation inclue, un livre populaire publié par O'Reilly, peut être lu avec votre navigateur web sur file:///usr/share/samba/swat/using_samba/toc.html.

L'outil intégré SWAT (Samba Web Administration Tool, c'est-à-dire outil web d'administration samba) est utilisé pour une configuration basique. Néanmoins, avant d'utiliser SWAT, vous devez une entrée dans /etc/services et faire vos modifications dans la configuration d'inetd/xinetd.

Si vous installez swat à partir d'une distribution récente, il est vraisemblable que l'installation du paquet prendra en charge la configuration du démarrage de swat.

SWAT n'est pas un service avec démon tourant au démarrage de la machine, mais un programme qui démarre si une requête sur le port 901 arrive sur la machine surlaquelle swat est installé.

Pour cela, il doit y avoir :


SWAT peut être lancé en utilisant l'URL http://localhost:901 dans votre navigateur préféré.

Si vous avez fait une installation manuelle ou si l'installation du paquet n'a pas fait correctement le paramétrage :

Ajoutez l'entrée swat dans /etc/services avec la commande suivante :

echo "swat            901/tcp" >> /etc/services



Si inetd est utilisé, la commande suivante ajoutera l'entrée swat à /etc/inetd.conf :

echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" \
    >> /etc/inetd.conf

Lancez la commande killall -HUP inetd pour relire le fichier inetd.conf modifié.


Si xinetd est utilisé, la commande suivante ajoutera l'entrée swat dans /etc/xinetd.conf :

cat >> /etc/xinetd.conf << "EOF"
service swat
{
    port            = 901
    socket_type     = stream
    wait            = no
    only_from       = 127.0.0.1
    user            = root
    server          = /usr/sbin/swat
    log_on_failure  += USERID
}
EOF
Lancez la commande killall -HUP xinetd pour relire le fichier xinetd.conf modifié.

Vérifiez le bon fonctionnement avec votre navigateur préféré et l'URL http://localhost:901.



 2 :  OUTILS DE DIAGNOSTIC   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil



 2.1 :    testparm test de configuration    Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La commande «testparm» permet de tester la syntaxe des éléments contenus dans le smb.conf.

Il s'agit d'un contrôle syntaxique, qui permet de garantir une compréhension des mots-clés, mais ne vérifie pas les valeurs associées à ces mots-clés.

Donc un testparm sans erreur est nécessaire mais pas suffisant pour garantir un bon fonctionnement.

Exemple :

Dans «guest = nom_utilisateur» nom_utilisateur n'est pas vérifié comme étant un utilisateur réel dans etc/passwd Les valeurs discrètes d'un paramètre comme §security§ (SHARE, USER, ...) incorrectes ne sont pas affichées par testparm et c'est donc la valeur par défaut USER qui sera prise en compte mais sans message d'erreur ou d'alerte.



 2.1.1 :  testparm   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La commande «testparm» sans option teste les valeurs des paramètres et affiche les valeurs explicites (et pas les commentaires) de smb.conf.



 2.1.2 :  testparam -s   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

L'options «-s» permet de ne pas avoir d'arrêt pour la demande de «validation pour continuer» (pratique pour faire des sauvegardes des valeurs dans un smb.conf.backup.



 2.1.3 :  testparam -v   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

L'option «-v» permet de voir quelles sont les options réellement prises par samba :

Options explicites définies dans le smb.conf.

Options non spécifiées dans le smb.conf et prises par défaut.



 2.2 :    nmblookup résolution de noms NetBios   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

nmblookup est un outil de résolution de nom NetBios que l'on pourrait comparer à nslookup ou dig et DNS

  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ nbmlookup options arguments                                                                                        │
  │ nbmlookup -dx options arguments             Niveau de débug donc détail sur le fonctionnement                      │
  │ nbmlookup nom_netbios [ nom_netbios ... ]   Recherche d'un (plusieurs) noms netbios sur le réseau                  │
  │ nbmlookup '*'                               Recherche de tous les noms netbios sur le réseau                       │
  │ nbmlookup -A adresse_ip                     Recherche d'un nom pour une adresse précise                            │
  │ œnbmlookup -M nom_groupe                      Recherche des machines d'un groupe                                     │
  │ œnbmlookup -M nom_domaine                     Recherche des machines d'un domaine                                    │
  │ nbmlookup -S adresse_ip                     Recherche du détail des services pour une adresse précise              │
  │ nbmlookup -S '*'                            Recherche du détail des services pour tous les netbios du réseau       │
  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

  nbmlookup nom_netbios ..... 
  querying nom_net_bios on 192.168.1.255
  192.168.1.101 nom_netbios<00>
  ou 
  name_query failed to find name nom_netbios


  ───────────────────────────────────────────────────
  nmblookup -A adresse_ip
  Looking up status of 192.168.1.101
  MON-XP          <00> -         B <ACTIVE> 
  MONGROUPE       <00> - <GROUP> B <ACTIVE> 
  MON-XP          <20> -         B <ACTIVE> 
  MONGROUPE       <1e> - <GROUP> B <ACTIVE> 
  MONGROUPE       <1d> -         B <ACTIVE> 
  ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE> 

  MAC Address = 08-00-27-2C-xx-yy


  ───────────────────────────────────────────────────
  nmblookup "*"
  192.168.1.100 *<00>
  192.168.1.101 *<00>


  ───────────────────────────────────────────────────
  nmblookup -S "*"
  querying * on 192.168.1.255
  192.168.1.100 *<00>
  Looking up status of 192.168.1.100
  PATMAR          <00> -         B <ACTIVE> 
  PATMAR          <03> -         B <ACTIVE> 
  PATMAR          <20> -         B <ACTIVE> 
  ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE> 
  WORKGROUP       <1d> -         B <ACTIVE> 
  WORKGROUP       <1e> - <GROUP> B <ACTIVE> 
  WORKGROUP       <00> - <GROUP> B <ACTIVE> 

  MAC Address = 00-00-00-00-00-00

  192.168.1.101 *<00>
  Looking up status of 192.168.1.101
  VM_F10          <00> -         B <ACTIVE> 
  VM_F10          <03> -         B <ACTIVE> 
  VM_F10          <20> -         B <ACTIVE> 
  MONGROUPE       <1e> - <GROUP> B <ACTIVE> 
  MONGROUPE       <00> - <GROUP> B <ACTIVE> 

  MAC Address = 00-00-00-00-00-00


  ───────────────────────────────────────────────────

nmblookup -S '*' ::= Affiche la liste des serveurs de ressource.



 2.3 :    findsmb Affichage machines samba sur uen segment de réseau   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

findsmb est un script perl permettant de chercher sur un segment de réseau les machines qui répondent à une requête de type samba.

    findsmb
    IP ADDR         NETBIOS NAME   WORKGROUP/OS/VERSION
    ---------------------------------------------------------------------
    192.168.35.10   MINESET-TEST1  [DMVENGR]
    192.168.35.55   LINUXBOX      *[MYGROUP] [Unix] [Samba 2.0.6]
    192.168.35.56   HERBNT2        [HERB-NT]
    192.168.35.63   GANDALF        [MVENGR] [Unix] [Samba 2.0.5a for IRIX]
    192.168.35.65   SAUNA          [WORKGROUP] [Unix] [Samba 1.9.18p10]
    192.168.35.71   FROGSTAR       [ENGR] [Unix] [Samba 2.0.0 for IRIX]
    192.168.35.78   HERBDHCP1     +[HERB]
    192.168.35.88   SCNT2         +[MVENGR] [Windows NT 4.0] [NT LAN Manager 4.0]
    192.168.35.93   FROGSTAR-PC    [MVENGR] [Windows 5.0] [Windows 2000 LAN Manager]
    192.168.35.97   HERBNT1       *[HERB-NT] [Windows NT 4.0] [NT LAN Manager 4.0]



 2.4 :    smbclient Client samba accès ressources partagées   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

smbclient est un outil permettant un accès aux répertoires partagés NetBios en mode texte (d'une façon présentant des analogies avec un client «ftp».

Même si l'on utilise que des interfaces graphiques pour naviguer sur des ressources partagées, il faut se souvenir de la commande smbclient et surtout de son mode de déboguage qui permettra peut-être de localiser un problème, y compris avec un «smbclient 127.0.0.1» pour tester le(s) partage(s) du serveur samba.

 ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │ smbclient nom_de_service [ mot_de_passe ] [ -b <taille_de_buffer> ]  [ -d niveau_de_deboggage ]  [ -D repertoire ]  [ -U utilisateur ]                      │
 │                          [ -W groupe_de_travail ]  [ -M <nom_netbios> ]  [ -m maxprotocol ]  [ -A fichier_d_autorisations ]  [ -N ]  [ -l fichier_de_log ]  │
 │                           [ -L <nom_netbios> ]  [ -I  IP_de_destination  ]  [ -E <code_de_terminal> ]  [ -c <ligne_de_commande> ]  [ -i scope ]             │
 │                           [ -O <options_de_socket> ]  [ -p port ]  [ -R <ordre_de_résolution_de_noms> ]  [ -s <fichier_de_configuration_smb> ]              │
 │                           [ -T<c|x>IXFqgbNan ]                                                                                                              │
 └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
   smbclient -N -L //adresse_ip
   ou 
   smbclient -N -L //nom_netbios
   Domain=[MONGROUPE] OS=[Unix] Server=[Samba 3.2.8-0.26.fc10]
   
           Sharename       Type      Comment
           ---------       ----      -------
           homes           Disk      Home Directories
           public          Disk      
           IPC$            IPC       IPC Service (samba)
   Domain=[MONGROUPE] OS=[Unix] Server=[Samba 3.2.8-0.26.fc10]
   
           Server               Comment
           ---------            -------
           PATMAR               samba
   
           Workgroup            Master
           ---------            -------
           MONGROUPE            PATMAR



 2.5 :    smbstatus Affichage des connexions samba   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La commande smbstatus affiche les connexions en cours sur le serveur où la commande est exécutée.

  # smbstatus
  Samba version 3.2.8-0.26.fc10
  PID     Username      Group         Machine                        
  -------------------------------------------------------------------
  
  Service      pid     machine       Connected at
  -------------------------------------------------------
  public       14804   mon-xp        Sat Feb  7 09:49:19 2009
  homes        14804   mon-xp        Sat Feb  7 09:49:19 2009
  
  Locked files:
  Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
  --------------------------------------------------------------------------------------------------
  14804        500        DENY_NONE  0x100001    RDONLY     NONE             /public   .   Sat Feb  7 09:49:27 2009
  
  



 2.6 :    smbtree Affichage du voisinage réseau   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil



 2.7 :    nbtscan Analyse réseau des machines netbios   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

nbtscan ne fait pas partie de la suite officielle samba, mais est fourni très souvent par un paquet nbtscan.

Il existe aussi un «nbtscan.exe» pour utilisation sous windows.



 3 :  OUTILS DIVERS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil



 3.1 :    mount.cifs Montage de répertoire partagé   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

mount.cifs (remplace l'ancien mount.samba)

 ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │  mount -t cifs //nom_serveur/nom_partage point_montage                                                                  │
 │  mount -t cifs  -o user=nom_utilisateur,password=mot_de_passe  //nom_serveur/nom_partage point_montage                  │
 │                                                                                                                         │
 │  nom_serveur ::= Nom serveur (ou adresse IP) de la machine qui partage la ressource à laquelle on veut accéder          │
 │                  Il est à noter qu'il n'y a pas de résolution de nom NetBios avec mount.cifs                            │
 │  nom_partage ::= Nom de partage de la ressource à la quelle on veut accéder                                             │
 │  point_montage ::= Répertoire (chemin absolu) servant au montage                                                        │
 └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘



 3.2 :    smb://nom_serveur Navigateur Web   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Sous un OS et dans un navigateur qui reconnaissent le protocole «smb» (firefox, nautilus, dolphin, ...) :

 ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │  smb://nom_serveur                               ::= Accès aux différents noms de partages.                             │
 │  smb://nom_serveur/nom_partage                   ::= Accès à la racine du partage spécifié                              |
 │  smb://nom_serveur/nom_partage/sous_repertoire   ::= Accès direct à un sous-répertoire                                  |
 │  smb://nom_serveur/nom_partage/nom_fichier       ::= Accès direct à un nom de fichier                                   |
 └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘



 4 :  DEPANNAGE SAMBA   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Le titre de ce chapitre pourrait paraitre très ambitieux, mais dès le départ précisons qu'il se limitera à préciser des outils à utiliser et pistes à suivre.

La mise en œuvre d'un serveur SAMBA, ainsi que l'utilisation des ressources de ce serveur par un client utilisent de chaque côté client/serveur des couches qui peuvent chacune être à l'origine de problèmes. Une bonne compréhension des couches du coté serveur et du coté client est indispensable à la localisation d'un problème.

        ┌────────┬───────┐                        ┌───────┬───────────┐                                      ┌───────────────────────────┐
        │        │ Pare  │                        │ Pare  │  Service  │                                      │ Etablissement connexion   │
        │ client ──feu ──>────>── requête ───>────┤ feu ──>──  smb ──────── création processus smbd fils ────                            │
        │        │       │                        │       │ smbd père │                                      │ Contrôles SELinux         │
        │   <───────<────<────<──────────────<────────┐   │           │                                      │ Droits accès utilisateur  │
        │        │       │                        │   │   │           │                                      │       │                   │
        └────────└───────┘                        └───│───┴───────────┘                                      └────── │ ──────────────────┘
                                                      └──────<─────────────────────────────────────────<─────────────┘

La plupart des outils samba disposent d'une option de débogage ou d'un niveau de détail (verbose) qui permettent d'en savoir plus sur le déroulement d'une requête.



 5 :  EXEMPLES DE CONFIGURATION    Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil



 5.1 :  SAMBA COMME CONTROLEUR PRINCIPAL DE DOMAINE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

[global]
workgroup = MONDOMAINE
netbios name = PATMAR
security = user
passdb backend = tdbsam
os level = 33
preferred master = auto
domain master = yes
local master = yes
domain logons = yes
logon path = \\%N\profiles\%U
logon drive = H:
logon home = \\%N\%U
logon script = logon.bat
[homes]
   comment = Home Directories
   read only = no
   browseable = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

[netlogon]
path = /public/netlogon
read only = yes

[profiles]
path = /public/profiles
read only = no
create mask = 0600
directory mask = 0700



 5.2 :  Administration domaine net    Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La commande net qui fait partie de la suite Samba permet à partir de samba de faire les commandes que l'on fait (ou peut faire) habituellement sous DOS/CMD d'une station windows.

Pour savoir où sont stockés les fichiers *tdb et private/*tdb :

smbd -b | grep LOCKDIR
smbd -b | grep PRIVATE_DIR

PERMANENTS : 
account_policy                 |Samba/NT account policy settings, includes password expiration settings.
group_mapping                  |Mapping table from Windows groups/SID to UNIX groups.
ntdrivers                      |Stores per-printer installed driver information.
ntforms                        |Stores per-printer installed forms information.
ntprinters                     │Stores the per-printer devmode configuration settings.
passdb                         |Exists only when the tdbsam passwd backend is used. This file stores the SambaSAMAccount information. Note: This file requires that user POSIX account information is availble from either the /etc/passwd file, or from an alternative system source.
registry                       |Read-only Samba database of a Windows registry skeleton that provides support for exporting various database tables via the winreg RPCs.
secrets                        |This file stores the Workgroup/Domain/Machine SID, the LDAP directory update password, and a further collection of critical environmental data that is necessary for Samba to operate correctly. This file contains very sensitive information that must be protected. It is stored in the PRIVATE_DIR directory.
share_info                     |Stores per-share ACL information.
winbindd_idmap                 |Winbindd's local IDMAP database.

TEMPORAIRES : 

brlock                         │Byte-range locking information.                                                                  │ No  │ 
connections                    │A temporary cache for current connection information used to enforce max connections.            │ no  │ 
eventlog/*tdb                  │Records of eventlog entries. In most circumstances this is just a cache of system logs.          │ no  │ 
gencache                       │Generic caching database for dead WINS servers and trusted domain data.                          │ no  │ 
login_cache                    │A temporary cache for login information, in particular bad password attempts.                    │ no  │ 
messages                       │Temporary storage of messages being processed by smbd.                                           │ no  │ 
netsamlogon_cache              │Caches user net_info_3 structure data from net_samlogon requests (as a domain member).           │ no  │ 
perfmon/*.tdb                  │Performance counter information.                                                                 │ no  │ 
printing/*.tdb                 │Cached output from lpq command created on a per-print-service basis.                             │ no  │ 
schannel_store                 │A confidential file, stored in the PRIVATE_DIR, containing crytographic connection information   │ no  │ 
                               │ so that clients that have temporarily disconnected can reconnect without needing to renegotiate │     │ 
                               │ the connection setup process.                                                                   │ no  │ 
sessionid                      │Temporary cache for miscellaneous session information and for utmp handling.                     │ no  │ 
unexpected                     │Stores packets received for which no process is actively listening.                              │ no  │ 
winbindd_cache                 │Cache of Identity information received from an NT4 domain or from ADS. Includes user lists, etc. │ yes │

 net <protocole> <fonction> <options_diverses> <options_destination>

 protocole ::=
 RPC est utilise pour NT4 et Windows 2000
 ADS est utilisé pour ActiveDirectory, 
 RAP est utilisé pour les anciens clients (Win9x/NT3) 

net lookup nom_host

net getlocalsid

net rpc info

net groupmap add rid=512 ntgroup="Administrateurs du domaine" unixgroup=root

net groupmap list



 5.3 :  Administration utilisateurs pdbedit    Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

pdbedit -L pdbedit -v -L



 5.4 :  Outils Samba TDB (Trivial DataBase) tdb-tools   Début   Précédent   Sommaire   Préc.page.lue   Accueil

/usr/bin/tdbbackup /usr/bin/tdbdump /usr/bin/tdbtool



LISTE DES MOTS-CLES

dig2.2 nmblookup résolution de noms NetBios
findsmb2.3 findsmb Affichage machines samba sur uen segment de réseau
findsmb2.2 nmblookup résolution de noms NetBios
mount.cifs3.1 mount.cifs Montage de répertoire partagé
mount.cifs3 OUTILS DIVERS
mount.cifs3.1 mount.cifs Montage de répertoire partagé
nbtscan2.7 nbtscan Analyse réseau des machines netbios
nbtscan2.6 smbtree Affichage du voisinage réseau
net5.2 Administration domaine net
net5.1 SAMBA COMME CONTROLEUR PRINCIPAL DE DOMAINE
nmap1.2.1 Exemple de configuration minimum
nmblookup2.2 nmblookup résolution de noms NetBios
nmblookup2.1.3 testparam -v
nslookup2.2 nmblookup résolution de noms NetBios
pdbedit5.3 Administration utilisateurs pdbedit
pdbedit5.2 Administration domaine net
smb.conf1.2 smb.conf
smb.conf1.1 GLOSSAIRE
smbclient2.4 smbclient Client samba accès ressources partagées
smbclient2.3 findsmb Affichage machines samba sur uen segment de réseau
smbstatus2.5 smbstatus Affichage des connexions samba
smbstatus2.4 smbclient Client samba accès ressources partagées
smbtree2.6 smbtree Affichage du voisinage réseau
smbtree2.5 smbstatus Affichage des connexions samba
swat1.2.2 swat œSœamba œWœeb œAœdministration œTœool
swat1.2.1 Exemple de configuration minimum
tdb-tools5.4 Outils Samba TDB (Trivial DataBase) tdb-tools
tdb-tools5.3 Administration utilisateurs pdbedit
testparm2.1 testparm test de configuration
testparm2 OUTILS DE DIAGNOSTIC




Valid HTML 4.01 Transitional