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.
On pourra utiliser la commande nmap ou nmap.exe (sous win32) pour vérifier si les ports sont bien ouverts ou filtrés
nmap -p 139,445 192.168.1.100 .... 139/tcp open netbios-ssn Ouvert par le firewall 445/tcp open microsoft-ds Ouvert par le firewall ..... nmap -p 139,445 192.168.1.100 ...... 139/tcp filtered netbios-ssn Bloqué par le firewall 445/tcp filtered microsoft-ds Bloqué par le firewall .........
Sous root :
setattus Pour connaitre klétat de SElinux grep -i setrouble /var/log/messages Pour voir s'il existe des messages sealert Pour voir le journal SELinux/Troubleshoot
Pour plus de renseignements voir le chapitre 'DEPANNAGE SAMBA'.
# cd /var/log/smaba # ls -lrt Affiche des fichiers par date de dernière modification drwx------ 4 root root 4096 déc 7 06:26 cores drwx------ 2 root root 4096 déc 7 08:27 old -rw-r--r-- 1 root root 7021 déc 9 11:48 log.nmbd Trace des commandes de recherche des noms NetBios -rw-r--r-- 1 root root 6011 déc 9 11:42 log.smbd Trace des commandes principales effectuées par samba. -rw-r--r-- 1 root root 6011 déc 9 11:42 log.monpc Trace des requêtes en provenance d'un client «monpc». # tail -n20 nom_log_désiré [2008/12/09 16:26:59, 0] smbd/service.c:set_current_service(187) chdir (/public) failed Pas de commentaire
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 | ||
---|---|---|
dig | 2.2 | nmblookup résolution de noms NetBios |
findsmb | 2.3 | findsmb Affichage machines samba sur uen segment de réseau |
findsmb | 2.2 | nmblookup résolution de noms NetBios |
mount.cifs | 3.1 | mount.cifs Montage de répertoire partagé |
mount.cifs | 3 | OUTILS DIVERS |
mount.cifs | 3.1 | mount.cifs Montage de répertoire partagé |
nbtscan | 2.7 | nbtscan Analyse réseau des machines netbios |
nbtscan | 2.6 | smbtree Affichage du voisinage réseau |
net | 5.2 | Administration domaine net |
net | 5.1 | SAMBA COMME CONTROLEUR PRINCIPAL DE DOMAINE |
nmap | 1.2.1 | Exemple de configuration minimum |
nmblookup | 2.2 | nmblookup résolution de noms NetBios |
nmblookup | 2.1.3 | testparam -v |
nslookup | 2.2 | nmblookup résolution de noms NetBios |
pdbedit | 5.3 | Administration utilisateurs pdbedit |
pdbedit | 5.2 | Administration domaine net |
smb.conf | 1.2 | smb.conf |
smb.conf | 1.1 | GLOSSAIRE |
smbclient | 2.4 | smbclient Client samba accès ressources partagées |
smbclient | 2.3 | findsmb Affichage machines samba sur uen segment de réseau |
smbstatus | 2.5 | smbstatus Affichage des connexions samba |
smbstatus | 2.4 | smbclient Client samba accès ressources partagées |
smbtree | 2.6 | smbtree Affichage du voisinage réseau |
smbtree | 2.5 | smbstatus Affichage des connexions samba |
swat | 1.2.2 | swat œSœamba œWœeb œAœdministration œTœool |
swat | 1.2.1 | Exemple de configuration minimum |
tdb-tools | 5.4 | Outils Samba TDB (Trivial DataBase) tdb-tools |
tdb-tools | 5.3 | Administration utilisateurs pdbedit |
testparm | 2.1 | testparm test de configuration |
testparm | 2 | OUTILS DE DIAGNOSTIC |