____________[]____________

Jres 99

Contrôler des postes Windows avec SAMBA et Unix

  ____________________

 

Jean-François Micouleau, Dalalu Bordeaux

 Michel Vayssade, UTC Compiègne

____________[]____________

 

Partie 1 : Samba et les réseaux Windows




Plan

 

1 - Samba et les réseaux Windows

 

3 - Utilisation avancée de Samba

 


Introduction : qu'est-ce que Samba ?

 

 


Introduction : qu'est-ce que Samba ?

Comment ?

 

NetBIOS existe au-dessus de NetBEUI, IPX, DECNet et TCP/IP


Introduction : qu'est-ce que Samba ?

Que fait-il ?

 


Introduction : qu'est-ce que Samba ?

SMB versus NFS

 


Introduction : qu'est-ce que Samba ?

Philosophie de conception

 


Introduction : qu'est-ce que Samba ?

Sur quelles plates-formes tourne-t-il ?

 


Les protocoles de réseau de Windows

Au commencement était NetBIOS


Les protocoles de réseau de Windows

Au commencement était NetBIOS


Les protocoles de réseau de Windows

SMB, NetBIOS et TCP / IP

 


Les protocoles de réseau de Windows

Les noms NetBIOS


Les protocoles de réseau de Windows

Les noms NetBIOS

Tous les systèmes Winxx disposent de la commande nbtstat :

C:\windows>nbtstat





Displays protocol statistics and current TCP/IP 


connections using NBT(NetBIOS over TCP/IP).


NBTSTAT [-a RemoteName] [-A IP address] [-c] [-n]


        [-r] [-R] [-s] [S] [interval] ]


 -a (adapter status) Lists the remote machine's 


                     name table given its name


 -A (Adapter status) Lists the remote machine's 


                     name table given its IP address.


 -c (cache)          Lists the remote name cache 


                     including the IP addresses


 -n (names)          Lists local NetBIOS names.


 -r (resolved)       Lists names resolved by 


                     broadcast and via WINS


 -R (Reload)         Purges and reloads the remote 


                     cache name table


 -S (Sessions)       Lists sessions table with 


                     the destination IP addresses


 -s (sessions)       Lists sessions table converting 


                     destination IP addresses to host 


                     names via the hosts file.





 RemoteName   Remote host machine name.


 IP address   Dotted decimal representation of the IP address.


 interval     Redisplays selected statistics, pausing interval 


              seconds between each display. Press Ctrl+C to 


              stop redisplaying statistics.


C:\windows>

 


Les protocoles de réseau de Windows

Les noms NetBIOS. Programme "nbtstat".

C:\WINDOWS>nbtstat -n





Node IpAddress: [195.83.155.126] Scope Id: []





            NetBIOS Local Name Table





   Name           Type         Status


-----------------------------------------


VIRGO       <00>  UNIQUE      Registered


SI          <00>  GROUP       Registered


VIRGO       <03>  UNIQUE      Registered


VAYSSADE    <03>  UNIQUE      Registered





C:\WINDOWS>


C:\WINDOWS>nbtstat -a kappa





       NetBIOS Remote Machine Name Table





   Name           Type         Status


-----------------------------------------


KAPPA       <00>  UNIQUE      Registered


KAPPA       <03>  UNIQUE      Registered


KAPPA       <20>  UNIQUE      Registered


SI          <00>  GROUP       Registered


SI          <1E>  GROUP       Registered





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





C:\WINDOWS>nbtstat -a hydra





       NetBIOS Remote Machine Name Table





   Name           Type         Status


-----------------------------------------


HYDRA       <00>  UNIQUE      Registered


HYDRA       <03>  UNIQUE      Registered


HYDRA       <20>  UNIQUE      Registered


SI          <00>  GROUP       Registered


SI          <1E>  GROUP       Registered





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





C:\WINDOWS>

On peut y voir que la machine "kappa" a comme nom Netbios unique "kappa" à cause du tag <00>, qu'elle a activé un service de messages Netbios (<03>) et qu'elle offre un service de partage de fichier par le nom "kappa"<20> et qu'elle appartient au groupe "SI"<00>. La ligne "SI"<1E> indique que le nom "SI" est aussi utilisé pour l'élection du "browse master".


Les protocoles de réseau de Windows

Les noms NetBIOS


Les protocoles de réseau de Windows

Les noms NetBIOS. Programme "nbtstat".



C:\WINDOWS>nbtstat -s


                 NetBIOS Connection Table





Local Name    State   In/Out Remote Host Input Output


-----------------------------------------------------


VIRGO    <00> Connected  Out KAPPA  <20> 250B  401B


VIRGO    <03> Listening


VAYSSADE <03> Listening





==> on fait une deuxième connexion, et :





C:\WINDOWS>nbtstat -s


                 NetBIOS Connection Table





Local Name    State   In/Out Remote Host  Input Output


------------------------------------------------------


VIRGO    <00> Connected  Out KAPPA  <20>  254B  401B


VIRGO    <00> Connected  Out HYDRA  <20>  244B  401B


VIRGO    <03> Listening


VAYSSADE <03> Listening





C:\WINDOWS>


Les protocoles de réseau de Windows

Les noms NetBIOS. Programme "nbtstat".



C:\WINDOWS>nbtstat -c





Node IpAddress: [195.83.155.126] Scope Id: []





              NetBIOS Remote Cache Name Table





    Name          Type    Host Address   Life [sec]


---------------------------------------------------


KAPPA      <20>  UNIQUE  195.83.155.100     240


KAPPA      <00>  UNIQUE  195.83.155.100     300


HYDRA      <20>  UNIQUE  195.83.155.125     300


HYDRA      <00>  UNIQUE  195.83.155.125     240



Les protocoles de réseau de Windows

Les noms NetBIOS. Programme "nbtstat".



C:\WINDOWS>nbtstat -a sirius





       NetBIOS Remote Machine Name Table





   Name               Type         Status


---------------------------------------------


SIRIUS         <00>  UNIQUE      Registered


SIRIUS         <03>  UNIQUE      Registered


SIRIUS         <20>  UNIQUE      Registered


..__MSBROWSE__.<01>  GROUP       Registered


SI             <00>  GROUP       Registered


SI             <1D>  UNIQUE      Registered


SI             <1E>  GROUP       Registered


Les protocoles de réseau de Windows

Les noms NetBIOS. Programme "nbtstat".



C:\WINDOWS>nbtstat -r





NetBIOS Names Resolution and Registration Statistics


----------------------------------------------------





Resolved By Broadcast     = 6


Resolved By Name Server   = 0





Registered By Broadcast   = 4


Registered By Name Server = 0





    NetBIOS Names Resolved By Broadcast


-----------------------------------------


       HYDRA


       KAPPA


       HYDRA          <00>


       KAPPA          <00>


       KAPPA          <00>


       HYDRA          <00>


 


 

Les protocoles de réseau de Windows

Les noms NetBIOS.

Programme Unix "nmblookup".

[root@hydra /root]# nmblookup hydra   


Sending queries to 195.83.155.255


195.83.155.125 hydra<00>


[root@hydra /root]# nmblookup kappa 


Sending queries to 195.83.155.255


195.83.155.100 kappa<00>








[root@hydra /root]# nmblookup kappa -S


Sending queries to 195.83.155.255


195.83.155.100 kappa<00>


Looking up status of 195.83.155.100


received 5 names


	KAPPA           <00> -         M <ACTIVE> 


	KAPPA           <03> -         M <ACTIVE> 


	KAPPA           <20> -         M <ACTIVE> 


	SI              <00> - <GROUP> M <ACTIVE> 


	SI              <1e> - <GROUP> M <ACTIVE> 


num_good_sends=0 num_good_receives=0





[root@hydra /root]# nmblookup hydra -S


Sending queries to 195.83.155.255


195.83.155.125 hydra<00>


Looking up status of 195.83.155.125


received 5 names


	HYDRA           <00> -         B <ACTIVE> 


	HYDRA           <03> -         B <ACTIVE> 


	HYDRA           <20> -         B <ACTIVE> 


	SI              <00> - <GROUP> B <ACTIVE> 


	SI              <1e> - <GROUP> B <ACTIVE> 


num_good_sends=0 num_good_receives=0





[root@hydra /root]# 





[root@hydra /root]# nmblookup kappa#03


Sending queries to 195.83.155.255


195.83.155.100 kappa<03>





[root@hydra /root]# nmblookup SI      


Sending queries to 195.83.155.255


195.83.155.125 SI<00>


195.83.155.123 SI<00>


.....


195.83.155.55 SI<00>


195.83.155.126 SI<00>


195.83.155.124 SI<00>









Les protocoles de réseau de Windows

Le service de noms de NetBIOS

 


Les protocoles de réseau de Windows

L'espace des noms de NetBIOS


Les protocoles de réseau de Windows

Enregistrement de noms NetBIOS


Les protocoles de réseau de Windows

Service de session NetBIOS

 


Les protocoles de réseau de Windows

Service de datagramme de NetBIOS

 


Les protocoles de réseau de Windows

Le protocole SMB


Les protocoles de réseau de Windows

Le protocole SMB


Les protocoles de réseau de Windows

Le protocole SMB : un échange simple

  1. negprot : client envoie commande negprot pour décider quelle extension de protocole utiliser dans la suite,
    le serveur répond avec le numéro d'extension qu'il souhaite ou 0xFFFF

  2. sesssetupX : client envoie username/password
    serveur répond si info est valide (cas d'une politique de sécurité de type "user level") et y ajoute un numéro d'identification qui sera utilisé dans toute la suite du dialogue: l'uid, unique pour la session

  3. tconX : "Tree Connect" : le client envoie une commande d'accès à une arborescence (équivalent du mount NFS)
    le serveur répond par un identifiant de l'arbre qui sera utilisé dans les opérations d'accès aux fichiers: le tid

  4. le client fait des accès fichiers: identifiés par des fid
  5. ....
  6. le client se déconnecte


Les protocoles de réseau de Windows

Workgroups (Win9x) et Domaines (WinNT)


Les protocoles de réseau de Windows

Workgroups (Win9x) et Domaines (WinNT)

Schéma de validation des accès d'un client sur un serveur :
Modèle du Workgroup et modèle du domaine.

 

 


Les protocoles de réseau de Windows

Workgroups (Win9x) et Domaines (WinNT)


Les protocoles de réseau de Windows

Workgroups (Win9x) et Domaines (WinNT)


Les protocoles de réseau de Windows

Domaines (WinNT) : contrôle d'accès


Les protocoles de réseau de Windows

Browsing : balayage du voisinage réseau

 


Les protocoles de réseau de Windows

Browsing : balayage du voisinage réseau

Temps de propagation des modifications

 


Les protocoles de réseau de Windows

Browsing : balayage du voisinage réseau

Browsing : l'élection du Master Browser


Les protocoles de réseau de Windows

Browsing : balayage du voisinage réseau

Browsing : l'élection du Master Browser


Les protocoles de réseau de Windows

Résolution des noms dans un environnement routé


Les protocoles de réseau de Windows

Résolution des noms dans un environnement routé


Les protocoles de réseau de Windows

Résolution des noms dans un environnement routé


Les protocoles de réseau de Windows

Résolution des noms dans un environnement routé


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux
(un peu compliqué et parfois subtil)


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux
(un peu compliqué et parfois subtil)


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux

Schéma de l'exemple

 


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux

Exemple (schéma ci-dessus)


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux

Exemple (schéma ci-dessus - suite)


Les protocoles de réseau de Windows

Browsing à travers des sous-réseaux

Exemple (schéma ci-dessus - suite)


Les composants de la suite Samba

 

[root@hydra /root]# locate log.smb 


/var/log/samba/log.smb


[root@hydra /root]# grep version /var/log/samba/log.smb


  smbd version 2.0.3 started.



 


Les composants de la suite Samba

samba/bin/ : les programmes de la suite

 


Les composants de la suite Samba

Schéma d'un serveur Samba

 

 



____________[]____________

Jres 99

Contrôler des postes Windows avec SAMBA et Unix

  ____________________

 

Jean-François Micouleau, Dalalu Bordeaux

 Michel Vayssade, UTC Compiègne

____________[]____________

 

Partie 2 : Configurer Samba



Plan

1 - Samba et les réseaux Windows

 


Installation de Samba

 

Les sites web

 

Installer à partir des sources

 

Installer à partir d'un binaire

 


Le site principal : http://samba.org

 


Les sites web miroirs

 


Site de téléchargement

 


Site ftp

 


Samba T-shirts !

 


Installation de Samba à partir des sources

 


Installation de Samba à partir d'un binaire

(il peut y avoir des retards dans les versions pré-compilées)

 


Configuration réseau du PC client

Panneau de configuration / Réseau

--> carte ethernet + TCP/IP + Client Microsoft


Configuration réseau du PC client

Panneau de configuration / Réseau

--> TCP/IP / Propriétés


Configuration réseau du PC client

Panneau de configuration / Réseau

--> TCP/IP : config Wins

désactiver Wins = résoudre noms Netbios par broadcast (réseau local)

si routeur à traverser : spécifier serveur Wins

 


Configuration réseau du PC client

Panneau de configuration / Réseau

--> Identification : nom Netbios et "Workgroup"


Configuration réseau du PC client

Panneau de configuration / Réseau

--> lister la config : winipcfg.exe

 


Une première installation minimale

 


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)

==================================


[1] pendant l'install (RedHat 6.0):


==================================


    cocher les cases


	[*] installer Samba


	[*] lancer Samba au boot





état après install de Linux :


----------------------------


[mv@hydra mv]$ smbclient -L hydra  -U '' -N





Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.3]





	Sharename   Type    Comment


	---------   ----    -------


	IPC$        IPC     IPC Service (Samba Server)


	lj          Printer   





	Server           Comment


	---------        -------


	HYDRA            Samba Server


	URANUS           Samba Server





	Workgroup        Master


	---------        -------


	MYGROUP          URANUS


[mv@hydra mv]$





[mv@hydra mv]$ netstat -a | grep netbios





tcp  0  0 *:netbios-ssn	     *:*	  LISTEN


udp  0  0 hydra.utc.f:netbios-dgm *:*	


udp  0  0 hydra.utc.fr:netbios-ns *:*


udp  0  0 *:netbios-dgm	     *:*				 


udp  0  0 *:netbios-ns	     *:*				 





[mv@hydra mv]$ nmblookup -B hydra __SAMBA__





Sending queries to 195.83.155.125


195.83.155.125 __SAMBA__<00>

 


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)

=======================================


[2] modifier smb.conf et relancer Samba


=======================================


# edit smb.conf		!changer 2 lignes





	# workgroup = NT-Domain-Name or Workgroup-Name


	   workgroup = SI


	


	# server string (~= NT Description field)


	   server string = %h serveur Samba





#! relancer samba





	[root@hydra /etc]# cd rc.d/init.d/


	[root@hydra init.d]# ls smb


	smb


	[root@hydra init.d]# grep Usage smb


	echo "Usage: smb {start|stop|restart|status}"


	[root@hydra init.d]# ./smb restart

 


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)

 

[root@hydra init.d]# ps -aef | grep mbd


root   553   1  0 Sep20 ?   00:00:00 smbd -D


root   564   1  0 Sep20 ?   00:00:00 nmbd -D





[root@hydra init.d]# ./smb restart


Shutting down SMB services:      [  OK  ]


Shutting down NMB services:      [  OK  ]


Starting SMB services:           [  OK  ]


Starting NMB services:           [  OK  ]





[root@hydra init.d]# ps -aef | grep mbd


root  2583    1  0 12:13 ?     00:00:00 smbd -D


root  2594    1  0 12:13 ?     00:00:00 nmbd -D


root  2598 2497  0 12:13 pts/7 00:00:00 grep mbd


[root@hydra init.d]# 





[mv@hydra mv]$ smbclient -L hydra  -U '' -N





Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Domain=[SI] OS=[Unix] Server=[Samba 2.0.3]





	Sharename   Type   Comment


	---------   ----   -------


	IPC$        IPC    IPC Service (hydra serveur Samba)


	lj          Printer   


	lp0         Printer   





	Server      Comment


	---------   -------


	HYDRA       hydra serveur Samba


	SIGMA       sigma, serveur FTP public





	Workgroup   Master


	---------   -------


	SI          SIGMA


[mv@hydra mv]$ 



Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
"Connecter un lecteur réseau" à travers Samba

Après le lancement de Samba, machine Samba est vue dans le "voisinage réseau" :

 

 

On fait l'opération "Connecter un lecteur réseau" :

 

 


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
"Connecter un lecteur réseau" à travers Samba

Cette connexion donne accès au répertoire Unix de l'utilisateur sur la machine Samba:

 

 


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Vision du serveur Samba depuis Windows

1 - après le 1er boot (smb.conf d'origine)

Microsoft(R) Windows 95


   (C)Copyright Microsoft Corp 1981-1995.





C:\WINDOWS>net view \\hydra


Erreur 53 : Le nom d'ordinateur spécifié dans le 


chemin réseau est introuvable. Vérifiez que le nom 


de l'ordinateur distant spécifié est correct 


ou réessayez lorsqu'il pourra être disponible.








C:\WINDOWS>net view \\kappa


Erreur 86 : Le mot de passe réseau spécifié est 


incorrect. Tapez le mot de passe correct ou pour 


plus d'informations, contactez votre administrateur


réseau.





C:\WINDOWS>net view \\kappa /yes


Ressources partagées à \\KAPPA





Nom de partageType    Commentaire


----------------------------------------------


dj1200_sapc1 Impr.


homes        Disque   Repertoires utilisateurs


lasbim1      Impr.


lasergb      Impr.


.....................


silaser1     Impr.


silaser2     Impr.


vayssade     Disque   Repertoires utilisateurs


Exécution achevée.





C:\WINDOWS>



Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Vision du serveur Samba depuis Windows

C:\WINDOWS>net view /?





Affiche la liste des ordinateurs dans le groupe 


de travail spécifié ou les ressources partagées 


disponibles sur l'ordinateur désigné.





  NET VIEW [\\ordinateur] [/YES]


  NET VIEW [/WORKGROUP:wgname] [/YES]





  ordinateur  Indique le nom de l'ordinateur 


              dont vous souhaitez afficher la 


              liste des ressources partagées.


  /WORKGROUP  Permet d'afficher les noms des 


              ordinateurs dans un autre


              groupe de travail qui partagent 


              des ressources.


  wgname      Identifie le groupe de travail 


              dont vous souhaitez afficher


              les noms des ordinateurs.


  /YES        Exécute la commande NET VIEW 


              sans vous demander au préalable


              de fournir des informations ou 


              de confirmer les opérations.





Pour afficher la liste des ordinateurs qui 


partagent des ressources dans votre groupe 


de travail, tapez la commande NET VIEW 


suivie d'aucun paramètre.





C:\WINDOWS>


C:\WINDOWS>net view /workgr:mygroup


Serveurs disponibles dans le groupe de 


travail MYGROUP.


Nom de serveur         Remarque


-----------------------------------------


\\HYDRA                Samba Server


\\URANUS               Samba Server


Exécution achevée.





C:\WINDOWS>



Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Vision du serveur Samba depuis Windows

2 - après le 2ème boot (smb.conf modifié)

C:\WINDOWS>net view /workgroup:SI


Serveurs disponibles dans le groupe de travail SI.


Nom de serveur   Remarque


-----------------------------------------------


\\HYDRA          hydra serveur Samba


\\KAPPA          kappa, serveur des PC du SI





>>>>>>>>> ici, faire :


>>>>>>>>> explorateur / outils / 


>>>>>>>>>     connecter un lecteur réseau





C:\WINDOWS>


C:\WINDOWS>net view \\hydra


Ressources partagées à \\HYDRA





Nom de partageType         Commentaire


--------------------------------------------------


lj           Impr.


lp0          Impr.


vayssade     Disque       Home Directories


Exécution achevée.





C:\WINDOWS>



Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Depuis Windows : connexion avec "net use"

Le programme windows "net" possède de nombreuses commandes utiles en plus "net view" :

C:\WINDOWS>net /?





Pour plus d'informations concernant une 


commande NET particulière de Microsoft


, tapez le nom de la commande suivi de 


/? (par exemple, NET VIEW /?).





NET CONFIG   Affiche les paramètres couran


NET DIAG     Exécute le programme de diagn


             qui permet d'afficher des inf


             votre réseau.


NET HELP     Fournit des informations conc


             les messages d'erreur.


NET INIT     Charge les pilotes des protoc


             les lier au gestionnaire des 


NET LOGOFF   Interrompt la connexion entre


             les ressources partagées auxq


NET LOGON    Permet de vous identifier en 


             de travail.


NET PASSWORD Modifie votre mot de passe d'


NET PRINT    Affiche des informations conc


             d'impression et gère les tâch


NET START    Démarre les services.


NET STOP     Arrête les services.


NET TIME     Affiche l'heure ou synchronis


             par rapport à celle d'un serv


             Workgroups, Windows NT, Windo


NET USE      Permet de se connecter à une 


             déconnecter de celle-ci, ou d


             concernant les connexions.


NET VER      Affiche le type et le numéro 


             redirecteur du groupe de trav


NET VIEW     Affiche la liste des ordinate


             des ressources ou la liste de


             sur un ordinateur spécifique.


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Depuis Windows : connexion avec "net use"

"net use" permet de "connecter un lecteur réseau" et de le déconnecter depuis la ligne de commande, ce qui permet de mettre ces commandes dans des fichiers ".bat" que l'on pourra faire exécuter automatiquement sur le PC, au login et au logout réseau sur Samba :

connecter un lecteur réseau :





C:\WINDOWS>net use h: \\sirius\vayssade


Mot de passe non valide pour \\SIRIUS\VAYSSADE. 


Pour plus d'informations, contactez votre 


administrateur réseau.


Tapez le mot de passe pour \\SIRIUS\VAYSSADE :**********


Exécution achevée.





C:\WINDOWS>





déconnexion du lecteur réseau :





C:\WINDOWS>net use h: /delete /yes


Exécution achevée.





C:\WINDOWS>


C:\WINDOWS>net use





Etat            Nom local       Nom à distance


-----------------------------------------------------


OK              F:              \\KAPPA\VAYSSADE


OK              G:              \\HYDRA\VAYSSADE


Exécution achevée.





C:\WINDOWS>


C:\WINDOWS>net ver





Microsoft Client - Redirecteur complet. Version 4.00


Copyright (c) Microsoft Corp. 1993-1995.   





C:\WINDOWS>net config


Nom d'ordinateur               \\VIRGO


Nom d'utilisateur              VAYSSADE


Groupe de travail              SI


Rép. racine de la station      C:\WINDOWS





Version du logiciel            4.00.950


Version du redirecteur         4.00


Exécution achevée.





C:\WINDOWS>


Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Arborescence vue à travers Samba

Il peut être utile de ne pas montrer toute l'arborescence des utilisateurs Unix à travers Samba, mais seulement une branche :

 

[homes]


   comment = Home Directories


   path=/home/%u/pc


   browseable = no


   writable = yes















Journal d'un première installation minimale sur un système Linux (RedHat 6.0)
Utilisation d'un lecteur ZIP à travers Samba

[root@hydra /root]# 


mount -t vfat -o uid=500,gid=500 /dev/hdd4 /z





[mv@hydra mv]$ ls -l /z/


total 556


drwxr-xr-x  2 mv mv  2048 Sep 22 18:54 samba








On crée un lien 


depuis le répertoire utilisateur 


vers le point de montage du zip :





[mv@hydra mv]$ ln -s /z z


Par ce lien, le contenu du zip est accessible


dans le lecteur réseau :















Configuration de Samba : smb.conf

 


Les options de configuration:

Format des lignes de smb.conf



Les options de configuration:

les 3 sections spéciales du fichier smb.conf

 

 


Les options de configuration:

Les macros et variables

Macros toujours disponibles


Les options de configuration:

Les macros et variables

Cet exemple (%S) restreint les connections à l'utilisateur dont le username est le même que celui du service virtuel créé à la connexion à l'image de [homes] et qui a pour nom le username trouvé dans /etc/passwd

Seul dupond pourra se connecter sur le répertoire home/dupond d'unix; durand ne pourra pas, même s'il connaît le mot de passe unix de dupond et même si le répertoire home/dupond est en mode 777 !


Les options de configuration:

les paramètres de la section [global]

 


Les options de configuration:

les paramètres de la section [global]... suite
paramètres relatifs à l'élection du browser

 


Les options de configuration:

les paramètres de la section [global]... suite
paramètres relatifs au réseau


Les options de configuration:

Vérifier le fichier smb.conf et lancer samba

 


Les options de configuration:

Tester le serveur Samba actif

unix > smbclient //kappa/projet -U pierre


Sécurité et mots de passe

 

SMB

Samba

commentaire

share
share

valeur par défaut pour V <= 1.19

user
user
server
domain

valeur par défaut pour V >= 2.00
variation du mode user
idem


Sécurité et mots de passe

security = share

 


Sécurité et mots de passe

security = user

 

 

 


Sécurité et mots de passe

security = user

 

 

 

 


Sécurité et mots de passe

security = server

 

 


Sécurité et mots de passe

security = server

 

 


Sécurité et mots de passe

security = domain

 

 


Sécurité et mots de passe

username level = n
password level = m

 


Sécurité et mots de passe

username map = fichier

 


Sécurité et mots de passe

password en texte et password crypté

 


Sécurité et mots de passe

password en texte et password crypté

le dialogue client NT - serveur NT pour la validation du mot de passe (1 / 3 )

 

 


Sécurité et mots de passe

password en texte et password crypté

le dialogue client NT - serveur NT pour la validation du mot de passe (2 / 3 )

 

 


Sécurité et mots de passe

password en texte et password crypté

le dialogue client NT - serveur NT pour la validation du mot de passe (3 / 3 )

 

 


Sécurité et mots de passe

password en texte et password crypté

 


Sécurité et mots de passe

password en texte et password crypté

 


Sécurité et mots de passe

password en texte et password crypté : choisir

 

passwd texte (circule en clair sur le réseau) :

C:\WINDOWS\SYSTEM>





VREDIR   VXD  156 761  24/08/96  11:11 VREDIR.VXD


VNETSUP  VXD   19 129  24/08/96  11:11 VNETSUP.VXD


 


Sécurité et mots de passe

password en texte et password crypté : choisir

 

passwd crypté (circule crypté sur le réseau) :

username:uid:xx_32_octets_hash_Lan_Man_xx:
xx_32_octets_hash_NT_xxxx:flags:lastset:

lastset=date du dernier changement du mot de passe


Sécurité et mots de passe

construire et remplir une base de passwd NT
encrypt passwords = yes

 


Sécurité et mots de passe

construire et remplir une base de passwd NT
encrypt passwords = yes

 

  1. apprendre aux utilisateurs à changer leurs 2 mots de passe:
    1. pass unix avec /bin/passwd
    2. pass SMB avec samb/bin/smbpasswd
      (l'utilitaire
      bin/smbpasswd permet de modifier les mots de passe du fichier samba/private/smbpasswd )

  2. remplir la base SMB avec des valeurs de hash pendant une période de transition où l'on fait :
    update encrypted = yes
    encrypt password = no
    • le mot de passe (unix) est transmis en texte,
    • samba valide l'accès par rapport à /etc/passwd
    • samba calcule et stocke la hash-value dans smbpasswd,
    •  
    • au bout d'un certain temps smbpasswd contient pour la plupart des users la hash-value correspondante au passwd unix
    • on refait alors :


Sécurité et mots de passe

garder synchrones des passwd NT et Unix

 


Sécurité et mots de passe

garder synchrones des passwd NT et Unix

unix password sync = yes / no

 

unix password chat = \


*old*password* %o\n \


*new*password* %n\n \


*new*password* %n\n \


*changed*


Sécurité et mots de passe

garder synchrones des passwd NT et Unix

propager les changements de Unix vers NT :

pam_smbpass

auth   required   /lib/security/pam_smbpass.so

pam_smbpass va mettre à jour à la fois la base Unix et la base SMB, MAIS, il ne peut le faire que sur la machine sur laquelle il est installé => pour que ça fonctionne il faut faire le changement de mot de passe sur la machine qui supporte le serveur Samba

il existe d'autres packages PAM, mais qui ne font pas la mise à jour du mot de passe SMB


Sécurité et mots de passe

accessibilité (allow , deny , equiv)

 

hosts allow = 192.168.1.10 195.55.180 \
truc.machin.fr 192.168 except 192.168.1 hosts deny = 195.10 178.1 mechan.hack.com hosts equiv = /etc/hosts.equiv

!! liste de hosts ou users accédant sans passw



user host = yes

!! utilise ~/.rhosts du user qui se connecte















____________[]____________

Jres 99

Contrôler des postes Windows avec SAMBA et Unix

  ____________________

 

Jean-François Micouleau, Dalalu Bordeaux

 Michel Vayssade, UTC Compiègne

____________[]____________

 

Partie 3 : Utilisation avancée de Samba



 

Contrôler des postes Windows avec SAMBA et Unix

Plan

 

1 - Samba et les réseaux Windows
  • Introduction : qu'est-ce que Samba
  • Les protocoles de réseau de Windows
  • Les composants de la suite Samba
 

2 - Configurer Samba

  • Installation de Samba
  • Les options de configuration
  • Sécurité et mots de passe
 

3 - Utilisation avancée de Samba

  • Configuration des partages disques
  • Configuration des services imprimantes
  • Automatisation sur le serveur
  • Recherche de pannes - Vérification
  • Les outils Samba sur Unix
  • Contrôle d'un domaine Win9x
  • Samba PDC expérimental
  • Autres trucs et techniques
  • Documentation et bibliographie


Un smb.conf minimum, avant ajout de configuration de partages disques

 

#=================== Global Definitions =================


[global]





   workgroup = SI


   server string = %h serveur Samba





   printcap name = /etc/printcap


   load printers = yes





   log file = /var/log/samba/log.%m


   max log size = 50





   security = user


   socket options = TCP_NODELAY 





   dns proxy = no 





#=================== Share Definitions ==================


[homes]


   comment = Home Directories


   browseable = no


   writable = yes





[printers]


   comment = All Printers


   path = /var/spool/samba


   browseable = no


# Set public = yes to allow user 'guest account' to print


   guest ok = no


   writable = no


   printable = yes





# This one for people to share files


;[projet]


;   comment = exemple de partage


;   path = /home/projet


;   read only = no






Configuration des partages disques

Scénario d'une première création d'un répertoire partagé


Configuration des partages disques

Un premier partage. Journal de la mise en place. Apparence dans le "voisinage réseau"

 

[root@hydra /]# groupadd -g 400 projet


[root@hydra /]# useradd -g 100 -u 601 -c "Samba pierre" pierre


[root@hydra /]# useradd -g 100 -u 602 -c "Samba jean" jean    


[root@hydra /]# passwd pierre 





[root@hydra /]# pico /etc/group


[root@hydra /]# grep users /etc/group


users::100:


[root@hydra /]# grep projet /etc/group


projet:x:400:pierre,jean





[root@hydra /]# mkdir /home/projet


[root@hydra /]# ls -lgd /home/pierre/


drwx------  4 pierre  users  1024 Oct 12 16:06 /home/pierre


[root@hydra /]# chgrp projet /home/projet/


[root@hydra /]# ls -lgd /home/projet/


drwxr-xr-x  2 root    projet 1024 Oct 12 16:13 /home/projet


[root@hydra /]# 



Configuration des partages disques

Un premier partage. Journal de la mise en place. Apparence dans le "voisinage réseau"

 

[global]


  workgroup = recherche


  netbios name = hydra


  server string = Serveur recherche


  security = user


Configuration des partages disques

Un premier partage. Journal de la mise en place. Apparence dans le "voisinage réseau"

 

[projet]


  comment = exemple de partage sur hydra


  path = /home/projet


  browsable = yes


Configuration des partages disques

Un premier partage. Journal de la mise en place. Apparence dans le "voisinage réseau"

 

[root@hydra /etc]# cd rc.d/init.d/


[root@hydra init.d]# ./smb restart


Shutting down SMB services:             [  OK  ]


Shutting down NMB services:             [  OK  ]


Starting SMB services:                  [  OK  ]


Starting NMB services:                  [  OK  ]





[root@hydra init.d]# smbclient -L hydra -U '' -N


Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Domain=[SI] OS=[Unix] Server=[Samba 2.0.3]





  Sharename    Type    Comment


  ---------    ----    -------


  projet       Disk    exemple de partage sur hydra


  IPC$         IPC     IPC Service (hydra serveur Samba)


  lj           Printer   


  lp0          Printer   





  Server               Comment


  ---------            -------


  HYDRA                hydra serveur Samba





  Workgroup            Master


  ---------            -------


  SI                   


[root@hydra init.d]#



Configuration des partages disques

Un premier partage. Apparence dans le "voisinage réseau"

 

unix> cat > /home/projet/test-1.txt


Un fichier de test


dans le répertoire partagé


^D


unix> cat /home/projet/test-2.txt


un autre fichier de test


dans le rép. commun.


^D














unix> cp test-2.txt test-3.txt


unix> todos /home/projet/test-3.txt


unix> 

 


Configuration des partages disques

Accessibilité du partage. 

 

Essayer de copier un fichier vers le partage ou de créer un fichier ou un répertoire dans le partage --> impossible.

Comment Samba établit-il la connexion avec le partage ?

 

Le partage existe : le demandeur y a-t-il accès ?


Configuration des partages disques

Accessibilité du partage. 

 

Samba a trouvé le partage, objet de la demande de connexion.

Comment vérifie-t-il que l'auteur de la demande de connexion a le droit d'accès au partage ?

Plusieurs tests sont effectués. Le processus s'arrête au premier test réussi. Si tous échouent, l'accès est refusé (liste simplifiée) :

  1. si une paire "user / passw" valide a été fournie, l'accès est accordé en tant que "user"
    les anciens clients peuvent utiliser la syntaxe spéciale suivante pour fournir le username en même temps que la requête : \\serveur\partage%username

  2. si un "username" valide était déjà fournit et que le mot de passe fournit avec la demande de connexion au partage est correct, l'accès est accordé en tant que "username".

  3. si une ligne " user = un_nom " est présente dans la section du partage dans le smb.conf, ET que le client a fourni un passwd, la paire " un_nom / passwd " est validée; si elle est valide l'accès est accordé en tant que " un_nom "

Si l'utilisateur choisi pour la connexion par cette procédure est dans une liste "invalid user", la connexion est refusée.

Samba détermine ainsi sous quel compte (quel user) l'accès au partage sera fait. Mais il y a encore d'autres paramètres qui, en plus des protections unix relatives à cet utilisateur, contrôlent l'accès au partage.

==> cas particulier d'un service déclaré "guest only" : samba donne accès en tant que user spécifié par le paramètre "guest = nom".


Configuration des partages disques

Accessibilité du partage. 

 

Samba a trouvé le partage, objet de la demande de connexion.

Il a validé l'accès en tant que username "un_nom".

Un certain nombre de paramètres vont modifier le type d'accès, voire l'interdire :


Configuration des partages disques

Partage par défaut et user invité ("guest"). 

 


Configuration des partages disques

Accessibilité et protections

 


Configuration des partages disques

Accessibilité et protections

 

[root@hydra work]# ls -lgd /home/projet/


drwxr-xr-x  2 root projet  1024 Oct 13 10:20 /home/projet


[root@hydra work]# ls -l /home/projet/


total 3


-rw-r--r--  1 root root      49 Oct 12 16:47 test-1.txt


-rw-r--r--  1 root root      41 Oct 13 10:18 test-2.txt


-rw-r--r--  1 root root      51 Oct 13 10:20 test-3.txt


[root@hydra work]# chmod g+w /home/projet/


[root@hydra work]# ls -lgd /home/projet/


drwxrwxr-x  2 root projet 1024 Oct 13 10:20 /home/projet





la création de fichiers dans /projet devient possible :







Configuration des partages disques

Accessibilité et protections

 

à cause de :


-rw-r--r--  1 root root     41 Oct 13 10:18 test-2.txt 


    ===            =====












Configuration des partages disques

Accessibilité et protections

 

le but est de permettre à chaque membre du groupe la création de fichiers et la ré-écriture de fichiers existants dans /projet facilitant ainsi le travail coopératif



écriture de fichiers existants impossible


--> enregistre sous autre nom : test-pierre





[root@hydra work]# ls -lg /home/projet/


total 5


-rw-r--r--  1 root   root    49 Oct 12 16:47 test-1.txt


-rw-r--r--  1 root   root    41 Oct 13 10:18 test-2.txt


-rw-r--r--  1 root   root    51 Oct 13 10:20 test-3.txt


-rwxr--r--  1 jean   users   92 Oct 13 11:24 test-jean.txt


-rwxr--r--  1 pierre users  126 Oct 13 11:35 test-pierre.txt


[root@hydra work]# 





--> test-pierre.txt lisible par jean


[root@hydra work]# chmod o-r /home/projet/test-jean.txt 


[root@hydra work]# chmod o-r /home/projet/test-pierre.txt 


[root@hydra work]# chmod g+w /home/projet/test-pierre.txt 


[root@hydra work]# chmod g+w /home/projet/test-jean.txt   


[root@hydra work]# ls -lg /home/projet/


total 5


-rw-r--r-- 1 root    root    49 Oct 12 16:47 test-1.txt


-rw-r--r-- 1 root    root    41 Oct 13 10:18 test-2.txt


-rw-r--r-- 1 root    root    51 Oct 13 10:20 test-3.txt


-rwxrw---- 1 jean    users   92 Oct 13 11:24 test-jean.txt


-rwxrw---- 1 pierre  users  126 Oct 13 11:35 test-pierre.txt





---> jean peut lire test-pierre.txt





... et le modifier et le ré-écrire (rw pour le groupe)








mais tous les membres du groupe "users" 


peuvent lire ces fichiers ! 





les usernames "jean" et "pierre" sont à la fois


dans le groupe "users" et dans le groupe "projet"





exemple :





login: paul


Password: 


--- /etc/bashrc ---


[paul@hydra paul]$ ls /home/projet/


test-1.txt  test-2.txt  test-3.txt  


test-jean.txt  test-pierre.txt


[paul@hydra paul]$ more /home/projet/test-pierre.txt 


Ceci est un test de partage,



Configuration des partages disques

Accessibilité et protections







--> modifier le groupe des fichiers



[root@hydra work]# chgrp projet /home/projet/test-pierre.txt


[root@hydra work]# ls -lg /home/projet/


total 5


-rw-r--r-- 1 root   root     49 Oct 12 16:47 test-1.txt


-rw-r--r-- 1 root   root     41 Oct 13 10:18 test-2.txt


-rw-r--r-- 1 root   root     51 Oct 13 10:20 test-3.txt


-rwxrw---- 1 jean   users    92 Oct 13 11:24 test-jean.txt


-rwxrw---- 1 pierre projet  146 Oct 13 10:52 test-pierre.txt





login: paul


Password: 


Last login: Wed Oct 13 11:03:48 from localhost


--- /etc/bashrc ---


[paul@hydra paul]$ more /home/projet/test-pierre.txt 


/home/projet/test-pierre.txt: Permission denied





--> rendre cette attribution automatique



[projet]


   comment = exemple de partage sur hydra


   path = /home/projet


   read only = no





ajouter: force group = projet





jean crée un fichier dans /projet :





[root@hydra /root]# ls -lg /home/projet/


total 6


-rw-r--r-- 1 root   root     49 Oct 12 16:47 test-1.txt


-rw-r--r-- 1 root   root     41 Oct 13 10:18 test-2.txt


-rw-r--r-- 1 root   root     51 Oct 13 10:20 test-3.txt


-rwxr--r-- 1 jean   projet  233 Oct 13 12:46 test-5.txt


-rwxrw---- 1 jean   users    92 Oct 13 11:24 test-jean.txt


-rwxrw---- 1 pierre projet  191 Oct 13 11:06 test-pierre.txt



Configuration des partages disques

Accessibilité et protections

 



-rwxrw----  1 jean projet   233 Oct 13 12:46 test-5.txt


    ===            =======









Configuration des partages disques

Gestion des noms


Configuration des partages disques

Gestion des noms : Unix --> DOS

 


Configuration des partages disques

Gestion des verrous sur fichiers ("file locking")

 


Configuration des partages disques

Gestion des fichiers - divers

 


Configuration des partages disques

Gestion des CD-Roms

 

[cdrom]


   comment = CDrom unix, automounts à la connexion


   browsable = yes


   read only = yes


   path = /mnt/cdrom


   root preexec  = /bin/mount /dev/hdd /mnt/cdrom


   root postexec = /bin/umount /mnt/cdrom





 



____________[]____________

Jres 99

Contrôler des postes Windows avec SAMBA et Unix

  ____________________

 

Jean-François Micouleau, Dalalu Bordeaux

 Michel Vayssade, UTC Compiègne

____________[]____________

 

Partie 3 : Utilisation avancée de Samba

suite



 

Contrôler des postes Windows avec SAMBA et Unix

Plan

 

1 - Samba et les réseaux Windows
  • Introduction : qu'est-ce que Samba
  • Les protocoles de réseau de Windows
  • Les composants de la suite Samba
 

2 - Configurer Samba

  • Installation de Samba
  • Les options de configuration
  • Sécurité et mots de passe
 

3 - Utilisation avancée de Samba

  • Configuration des partages disques
  • Configuration des services imprimantes
  • Automatisation sur le serveur
  • Recherche de pannes - Vérification
  • Les outils Samba sur Unix
  • Contrôle d'un domaine Win9x
  • Samba PDC expérimental
  • Autres trucs et techniques
  • Documentation et bibliographie


Configuration des partages imprimantes

Impressions depuis Windows vers Unix


Configuration des partages imprimantes

Impressions depuis Windows vers Unix

 

Ces imprimantes vont apparaître dans le voisinage réseau:



[mv@hydra mv]$ smbclient -L hydra  -U '' -N





Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.3]





    Sharename   Type    Comment


    ---------   ----    -------


    IPC$        IPC     IPC Service (Samba Server)


    lj          Printer   


    lp0         Printer

 

 


Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC

(1-a) créer une entrée dans printcap



# remote HP Laserjet 6L on windows


wlp:\


        :sd=/var/spool/lpd/wlp:\


        :mx#0:\


        :sh:\


        :if=/usr/bin/smbprint:


(1-b) créer le spool associé



[root@sirius /etc]# cd /var/spool/lpd/


[root@sirius lpd]# ls -lg


total 4


drwxr-xr-x 2 root  lp   2048 Oct 14 13:13 lp


drwxr-xr-x 2 root  lp   1024 Sep 21 17:55 lp0


-rw-r--r-- 1 root  root    4 Sep 21 17:55 lpd.lock


[root@sirius lpd]# mkdir wlp


[root@sirius lpd]# chgrp lp wlp


[root@sirius lpd]# ls -lg


total 5


drwxr-xr-x 2 root  lp   2048 Oct 14 13:13 lp


drwxr-xr-x 2 root  lp   1024 Sep 21 17:55 lp0


-rw-r--r-- 1 root  root    4 Sep 21 17:55 lpd.lock


drwxr-xr-x 2 root  lp   1024 Oct 14 13:34 wlp


[root@sirius lpd]# 





[root@sirius wlp]# ls -lga


total 3


drwxr-xr-x 2 root  lp     1024 Oct 14 13:37 .


drwxrwxr-x 5 root  daemon 1024 Oct 14 13:34 ..


-rw-r--r-- 1 root  root     47 Oct 14 13:37 .config


(1-c) dans le spool associé, créer un fichier ".config"



[root@sirius wlp]# cat .config


server=virgo         !nom du PC


service=laserjet6l   !nom du service windows


password=hp6l        !un mot de passe


Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC - suite

(2-a) installer l'imprimante (au sens Windows)

(2-b) déclarer que l'on va créer des services réseau sur ce PC (des "partages" dans le vocabulaire windows) :







be prepared ! (c'est Windows)

vous pouvez répondre "NON" !


Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC - suite

(2-c) déclarer que l'imprimante est partagée (au sens Windows)

icône imprimante, "propriétés", puis onglet "partage" :








Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC - suite

(2-c) donner le nom de partage sous lequel l'imprimante sera annoncée sur le réseau SMB

 

 


Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC - suite

(3-a) vérifier si l'imprimante est annoncée sur le réseau SMB



[root@sirius wlp]# smbclient -L virgo -N


Added interface ip=195.83.155.123 


bcast=195.83.155.255 nmask=255.255.255.0





	Sharename    Type    Comment


	---------    ----    -------


	PRINTER$     Disk      


	LASERJET6L   Printer   


	IPC$         IPC     Comm. entre processus distants





	Server               Comment


	---------            -------





	Workgroup            Master


	---------            -------


[root@sirius wlp]# 


(3-b) faire un essai :



[vayssade@sirius samba]$ lpr -Pwlp  print-win.txt





---> sortie incorrecte !! ??



Configuration des partages imprimantes

Impressions depuis Unix vers une imprimante connectée au port parallèle d'un PC - suite

(3-b) modifier fichier (<LF> versus <CR><LF>)

2 méthodes :

b1) manuelle :

[vayssade@sirius samba]$ cp  print-win.txt test.txt


[vayssade@sirius samba]$ todos test.txt 

b1) automatique : modifier source du script smbprint

# NOTE You may wish to add the line 


# `echo translate' if you want automatic


# CR/LF translation when printing.


#       echo translate


	echo "print -"


	cat


) | /usr/bin/smbclient "\\\\$server\\$service" \


  $password -U $server -N -P >> $logfile





(3-c) nouvel essai :



[vayssade@sirius samba]$ lpr -Pwlp  test.txt     





---> sortie ~ correcte mais :


	. dernière page pas imprimée


	. pb de fonte (lettres accents)








[vayssade@sirius samba]$ more ff.txt 


^L


[vayssade@sirius samba]$ lpr -Pwlp  test.txt 


[vayssade@sirius samba]$ lpr -Pwlp  ff.txt 





---------> ok




Automatisation sur le serveur

scripts "pre" et "post" exec

 

          force user  = un_user


          force group = un_groupe

     preexec = /.../a_login_script.sh par1 par2


     postexec = /.../a_logout_script.sh par1 par2





     root preexec = /usr/bin/a_login_script.sh %U %m


     root postexec = /usr/bin/a_logout_script.sh %U %m


!!**!! ces scripts peuvent être très difficiles à débuguer car "stdout" est envoyé par défaut sur /dev/null

!!****!! les scripts "root ...exec" sont équivalents à des "suid"
==> il faut les protéger, mais aussi protéger correctement le smb.conf !!

   [cdrom]


     comment = cdrom on unix


     path = /cd


     root preexec = /bin/mount /dev/cdrom /cd


     root postexec = \


      (/bin/umount /cd; /usr/bin/eject /dev/cdrom)


     read only = yes


     public = yes


Automatisation sur le serveur

paramètre "include" et variable %L

 


Recherche de pannes

Vérification du fonctionnement

 

/usr/doc/samba-2.0.5a/docs/textdocs/DIAGNOSIS.txt

==>(test 1) tester smb.conf [root@hydra /root]# testparm Load smb config files from /etc/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[projet]" Loaded services file OK. Press enter to see a dump of your service definitions ==>(test 2) ping dans les 2 sens Microsoft(R) Windows 95 (C)Copyright Microsoft Corp 1981-1995. C:\WINDOWS>ping hydra Pinging hydra.utc.fr [195.83.155.125] with 32 bytes of data: Reply from 195.83.155.125: bytes=32 time=18ms TTL=255 Reply from 195.83.155.125: bytes=32 time=10ms TTL=255 Reply from 195.83.155.125: bytes=32 time<10ms TTL=255 Reply from 195.83.155.125: bytes=32 time=3ms TTL=255 C:\WINDOWS> [root@hydra /root]# ping virgo PING virgo.utc.fr (195.83.155.126): 56 data bytes 64 bytes from 195.83.155.126: icmp_seq=0 ttl=32 time=22.5 ms 64 bytes from 195.83.155.126: icmp_seq=1 ttl=32 time=1.4 ms 64 bytes from 195.83.155.126: icmp_seq=2 ttl=32 time=0.9 ms --- virgo.utc.fr ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0.9/8.2/22.5 ms


Recherche de pannes

Vérification du fonctionnement

==>(test 3) démon smbd ok ?





[root@hydra /root]# smbclient -L hydra -N


Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Domain=[SI] OS=[Unix] Server=[Samba 2.0.3]





Sharename      Type      Comment


---------      ----      -------


projet         Disk      exemple de partage sur hydra


IPC$           IPC       IPC Service (hydra serveur Samba)


lj             Printer   


lp0            Printer   





Server           Comment


---------        -------


HYDRA            hydra serveur Samba


SIRIUS           sirius Samba Server





Workgroup        Master


---------        -------


SI               SIRIUS


[root@hydra /root]# 





==>(test 4) démon nmbd ok ?





[root@hydra /root]# nmblookup -B hydra __SAMBA__


Sending queries to 195.83.155.125


195.83.155.125 __SAMBA__<00>


[root@hydra /root]# 


 


Recherche de pannes

Vérification du fonctionnement

==>(test 5) client ok ?





[root@hydra /root]# nmblookup -B virgo '*'      


Sending queries to 195.83.155.126


195.83.155.126 *<00>


[root@hydra /root]# nmblookup -B deneb '*'


Sending queries to 195.83.155.124


195.83.155.124 *<00>


[root@hydra /root]#





==>(test 6) tester adresse broadcast





[root@hydra /root]# nmblookup -d 2 '*'    


Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Sending queries to 195.83.155.255


Got a positive name query response \


 from 195.83.155.125 ( 195.83.155.125 )


........


Got a positive name query response \


 from 195.83.155.126 ( 195.83.155.126 )


195.83.155.125 *<00>


.......


195.83.155.126 *<00>


[root@hydra /root]# 



Recherche de pannes

Vérification du fonctionnement

==>(test 7) se connecter à un partage


Samba localement depuis Unix





[root@hydra /root]# \


smbclient '\\hydra\vayssade' -U vayssade


Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Password: 


Domain=[SI] OS=[Unix] Server=[Samba 2.0.3]


smb: \> dir


  .Xdefaults      H   1422  Tue Sep 21 12:31:33 1999


...............


  pc              D      0  Tue Oct 12 16:10:06 1999





  55604 blocks of size 32768. 19916 blocks available


smb: \> 





Remarque au sujet des noms UNC 


(Universal Naming Convention) : \\hydra\vayssade


or \ est caractère d'échapement dans Unix 


=> le cacher par des quotes (simples ou doubles)





smbclient supporte le remplacement des \ par des /





[root@hydra /root]# \


smbclient //hydra/vayssade -U vayssade


Added interface ip=195.83.155.125 


bcast=195.83.155.255 nmask=255.255.255.0


Password: 


Domain=[SI] OS=[Unix] Server=[Samba 2.0.3]


smb: \> exit


[root@hydra /root]# 



Recherche de pannes

Vérification du fonctionnement

==>(test 8) "browse" serveur Samba





C:\WINDOWS>net view


Serveurs disponibles dans le groupe de travail SI.


Nom de serveur  Remarque


---------------------------------------------------------


\\HYDRA         hydra serveur Samba


\\KAPPA         kappa, serveur des PC du Service Informat


\\SIGMA         sigma, serveur FTP public


\\SIPCJMB


\\SIRIUS        sirius Samba Server


Exécution achevée.





Attention ! il est con :





C:\WINDOWS>net view \\hydra /YES


Erreur 86 : Le mot de passe réseau spécifié est incorrect. 


Tapez le mot de passe correct ou pour plus d'informations, 


contactez votre administrateur réseau.





Il veut le nom de la machine en MAJUSCULES ! (grrrr)





C:\WINDOWS>net view \\HYDRA /YES


Ressources partagées à \\HYDRA





Nom de partageType     Commentaire


---------------------------------------------------


lj           Impr.


lp0          Impr.


projet       Disque   exemple de partage sur hydra


vayssade     Disque   Home Directories


Exécution achevée.





C:\WINDOWS>


Recherche de pannes

Vérification du fonctionnement

==>(test 9) se connecter à un partage





se connecter à un lecteur réseau


dans l'explorateur ou au prompt DOS :





C:\WINDOWS>net use h: \\HYDRA\VAYSSADE


Exécution achevée.





C:\WINDOWS>dir h:





 Le volume dans le lecteur H est VAYSSADE


 Répertoire de H:\





Desktop      <REP>        21/09/99  11:31 Desktop


z            <REP>        22/09/99   8:32 z


vmware       <REP>        22/09/99  12:23 vmware


nsmail       <REP>        22/09/99  15:32 nsmail


pcmcia   img   1 474 560  23/09/99  14:13 pcmcia.img


pc           <REP>        12/10/99  15:10 pc


       1 fichier(s)          1 474 560 octets


       5 répertoire(s)     652 574 720 octets libres





C:\WINDOWS>net use h: /delete /yes


Exécution achevée.





C:\WINDOWS>



Recherche de pannes

Vérification du fonctionnement

==>(test 10)





fichiers de log de samba





[root@hydra /root]# ls -l /var/log/samba/


total 137


-rw-r--r-- 1 root  root   1230 Oct 13 11:51 log.deneb


-rw-r--r-- 1 root  root    546 Oct 13 12:41 log.hydra


-rw-r--r-- 1 root  root    129 Oct 13 11:51 log.nmb


-rw-r--r-- 1 root  root   2886 Oct 13 11:51 log.nmb.1


-rw-r--r-- 1 root  root   7080 Oct  5 12:59 log.nmb.2


-rw-r--r-- 1 root  root  53410 Sep 27 12:52 log.nmb.3


-rw-r--r-- 1 root  root  55391 Sep 23 09:21 log.nmb.old


-rw-r--r-- 1 root  root      0 Sep 23 18:34 log.pclaurent


-rw-r--r-- 1 root  root      0 Sep 22 12:21 log.sipc02


-rw-r--r-- 1 root  root      0 Sep 22 12:22 log.sipc04


-rw-r--r-- 1 root  root      0 Sep 23 17:23 log.sipclabo


-rw-r--r-- 1 root  root   2241 Oct 13 11:51 log.smb


-rw-r--r-- 1 root  root    848 Oct 13 11:55 log.venus


-rw-r--r-- 1 root  root   9151 Oct 13 12:51 log.virgo


[root@hydra /root]# 



Recherche de pannes

Vérification du fonctionnement

==>(test 10) fichiers de log de samba





[root@hydra samba]# more log.smb





[1999/09/27 12:53:54, 1] smbd/server.c:main(614)


  smbd version 2.0.3 started.


  Copyright Andrew Tridgell 1992-1998


[1999/09/27 12:53:54, 1] smbd/files.c:file_init(219)


  file_init: Information only: 


  requested 10000 open files, 1014 are available.








[root@hydra samba]# more log.nmb


[1999/10/13 11:51:42, 1] nmbd/nmbd.c:main(672)


  Netbios nameserver version 2.0.3 started.


  Copyright Andrew Tridgell 1994-1998



Recherche de pannes

Vérification du fonctionnement

==>(test 10) fichiers de log de samba





[root@hydra samba]# more log.virgo





............extrait..........





[1999/10/13 10:50:11, 1] smbd/service.c:close_cnum(514)


  virgo (0.0.0.0) closed connection to service projet


[1999/10/13 10:50:43, 0] smbd/oplock.c:request_oplock_break(943)


  request_oplock_break: 


  no response received to oplock break request to


pid 1537 on port 1060 for dev = 305, inode = 436230


[1999/10/13 10:52:26, 0] smbd/oplock.c:oplock_break(742)


  oplock_break: receive_smb timed out after 30 seconds.


  oplock_break failed for file test-pierre.txt 


  (dev = 305, inode = 436230).


[1999/10/13 10:52:26, 0] smbd/oplock.c:oplock_break(812)


  oplock_break: client failure in break - 


  shutting down this smbd.


[1999/10/13 10:52:26, 1] smbd/service.c:close_cnum(514)


  virgo (0.0.0.0) closed connection to service projet


[1999/10/13 10:52:28, 1] smbd/service.c:make_connection(488)


  virgo (195.83.155.126) connect to service projet 


  as user jean (uid=602, gid=100) (pid 1546)


[1999/10/13 10:55:17, 1] smbd/service.c:close_cnum(514)


  virgo (195.83.155.126) closed connection to service projet



Les outils Samba sur Unix - smbclient

 

# faire liste services d'une machine


smbclient -L kappa -U '' -N





# sauver dans un tar fichiers windows


smbclient //server/service -Tc file.tar



kappa:~samba/docs> smbclient //kappa/homes -U vayssade


Added interface ip=192.54.189.39 ...


Added interface ip=195.83.155.100 ...


Server time is Mon Oct 18 12:25:17 1999


Timezone is UTC+2.0


Password:


Domain=[SI] OS=[Unix] Server=[Samba 1.9.18p8]


security=user


smb: \>  help       


ls       dir        lcd        cd      pwd


get      mget       put        mput    rename


more     mask       del        rm      mkdir


md       rmdir      rd         pq      prompt


recurse  translate  lowercase  print   printmode


queue    qinfo      cancel     quit    q


exit     newer      archive    tar     blocksize


tarmode  setmode    help       ?       !


smb: \>


Les outils Samba sur Unix -

smbfs - smbmount - smbumount

 

NAME


 smbmount - mount smb file system


 smbmount [ options ]





DESCRIPTION


 smbmount  is a stripped-down version of


 the smbclient(1) program used to mount


 smbfs shares. It implements only the


 mount command, which then calls the


 smbmnt(8) program to  do the actual


 mount.





smbmount "\\server\tmp" -c 'mount /mnt -u 123 -g 456'








 smbmnt is a helper application used


 by the smbmount(8) program to do the


 actual mounting.  smbmnt is meant to be


 installed setuid root  so that  normal


 users  can mount their  smb  shares.





NAME


    smbumount - umount for normal users


    smbumount mount-point





DESCRIPTION


 With  this  program,  normal  users can


 unmount smb-filesystems, provided that


 it is suid root.





 smbumount has been written to  give


 normal  linux-users  more  control


 over  their resources.  It  is safe to


 install this program suid root, because


 only the user who has mounted a


 filesystem is allowed to unmount it


 again.



Les outils Samba sur Unix -

smstatus, smbtar

 

454 vayssade kappa:~> smbstatus





Samba version 1.9.18p8


Service      uid      gid      pid     machine


----------------------------------------------


....


vayssade     vayssade si       20580   kappa    \


(192.54.189.39) Mon Oct 18 12:25:22 1999


...


vayssade     vayssade si       30525   hydra    \


(195.83.155.125) Fri Oct 15 16:32:38 1999





dupont       dupont   persutc  25874   pcdupont \


(172.18.6.10) Mon Oct 18 13:47:12 1999


...





Locked files:


Pid    DenyMode   R/W    Oplock           Name


----------------------------------------------


25874  DENY_NONE  RDWR   EXCLUSIVE+BATCH  \


mac/dupont/work 99.xls  Mon Oct 18 13:50:54 1999


....





30525  DENY_NONE  RDONLY EXCLUSIVE+BATCH  \


dmv/samba/docs/popup.txt   Mon Oct 18 11:56:33 1999





Share mode memory usage (bytes):


   101624(99%) free + 616(0%) used + 160(0%) 


overhead = 102400(100%) total





455 vayssade kappa:~> man smbstatus



Contrôle d'un domaine Win9x

 

Pour faire de Samba un contrôleur de domaine Win9x :

     os level = 64


     domain master = yes


     local master = yes


     prefered master = yes
     [netlogon]


        path = /home/samba/netlogon


        writeable = no


        public = no


# option recommandée :


        logon script = logon.bat


# sera exécutée par Windows au début de la session





On peut y mettre par exemple :


net use h: \\serveur\homes





et cette commande exécutée sur windows va monter


à travers Samba sur la machine "serveur" 


le répertoire de l'utilisateur (entrée [homes]


du smb.conf )


Contrôle d'un domaine Win9x

 

Après la configuration de Samba comme contrôleur de domaine Win9x , il faut configurer les clients windows.

Panneau de configuration / Réseau


  Client pour les réseaux Microsoft / Propiétés


    Cocher "Ouvrir la session sur un domaine NT"


    ET remplir la case "nom du domaine"

 

 

 

Quand le PC reboote, la boîte de login aura les trois champs des logins NT : Username / Password / Domaine

Si le client ne trouve pas le serveur de domaine, la raison la plus fréquente est que ce client ne résout pas correctement les noms Netbios (config. WINS).

Si le mot de passe est refusé alors que c'est "le bon":


Contrôle d'un domaine Win9x

Les "user profiles"

 

Le "profil" windows peut être assimilé à une collection de fichier ".rc" sous Unix.

La base de registres de windows est constituée de deux fichiers :

C:\windows\system.dat

C:\windows\user.dat

Dans le cas de "roaming profile" (profil pour utilisateur itinérant, c'est-à-dire qui ne connecte pas au réseau toujours depuis le même PC), le fichier "user.dat" peut être téléchargé depuis le serveur.

L'entrée "HKEY_CURRENT_USER" (HKCU hive) contient les choix personnels de l'utilisateur, les derniers fichiers ouverts, etc ...

On le met en place dans "Panneau de configuration / Mot de passe" :

Si un client windows a "user profil" actif, et est configuré pour se logger sur un domaine, alors, les profiles sont stockés dans son "home directory".

Le profil est alors copié depuis le serveur au login et du PC sur le serveur au logout.

Par défaut, Samba stocke le profil dans un sous-répertoire "profile" du répertoire de base de l'utilisateur.

MAIS, de nombreux administrateur Samba préfèrent les stocker dans un "partage" séparé par :

[profile]


  comment = les profiles windows des utilisateurs


  path = /another_disk/profile


  create mode = 600


  directory mode = 0770


  browseable = yes


  writeable = yes





et


  logon path = \\serveur\profile\%U

en effet, le profile va inclure le bureau, ... et si les utilisateurs "déposent" des fichiers sur le bureau, ceux-ci seront copiés avec le profil, ce qui peut faire beaucoup de place.


Samba PDC expérimental

Actuellement (novembre 1999, Samba version 2.0.5a), le PDC NT n'est pas officiellement supporté par Samba. Mais la fonctionalité est présente sous forme de code expérimental. Le support , non officiel, se fait sur la liste samba-ntdom@samba.org

Malgré tout ... ça fonctionne ...

suffisamment bien pour être utilisé dans des contextes de production industriels.

Le protocole d'authentification du domaine NT est resté non documenté par le fabriquant. Il a été entièrement découvert à l'aide d'analyse de trames réseau.

Aujourd'hui, Samba peut :

 

Il ne peut pas :


Samba PDC expérimental

Mise en place

Créer un fichier smb.conf contenant :

[global]


security = user


encrypt password = yes


domain logon = yes





et une entrée [netlogon] comme dans Win9x DC


Quand Samba démarre, il regarde dans le même répertoire que le fichier smbpasswd la présence d'un fichier domain.sid

!!**!! Ne modifiez jamais ce fichier, sinon tous les PCs clients déjà membres du domaine ne pourront plus s'y connecter et devront être à nouveau "ajoutés au domaine".

 


Samba PDC expérimental

Mise en place : ajouter les clients

 

Chaque PC client devra être "ajouté au domaine" :

  1. créer un compte spécial "machine cliente" (appelé computer account ou aussi trust account) sur le serveur
  2. faire joindre le domaine au client
  3. rebooter le client

Qu'est-ce qu'un "compte machine" ?


Samba PDC expérimental

Mise en place : ajouter les clients

 

"Compte machine" : complications

Attention ! Sous WinNT les UID et GID sont pris dans le même espace ! Il est ainsi impossible sous NT d'avoir un UID et un GID de même valeur. NT associe un flag à chaque compte pour indiquer si c'est un groupe ou un utilisateur.

client$:*:10100:5000:NT client:/dev/null:/bin/false

Ceci peut être réalisé avec smbpasswd qui va, par l'option -m , créer le compte avec le mot de passe prévu par NT :

root# smbpasswd -a -m client


Added user client$


Password changed for user client$


quand le client joint le domaine, il génère un mot de passe, qu'il envoie sous forme cryptée au serveur; il se servira de ce mot de passe pour se connecter après le reboot.


Samba PDC expérimental

Mise en place : ajouter les clients

 

Chaque PC client devra être "ajouté au domaine" :

Panneau de configuration / réseau


  Onglet identification / bouton "changer"


  entrer le nom du domaine, et cliquer OK





----> message de bienvenue


----> demande de rebooter





reboot


-----> on peut se connecter



Samba PDC expérimental

gestion des utilisateurs : groups et users

 

Samba va effectuer une projection ("mapping") des noms d'utilisateurs et de groupes NT vers et depuis des usernames et groupes Unix.

Ceci est géré par trois paramètres :

domain group map = samba/lib/domain_group.map


     Unixgroupname = NTgroupname





domain user map = samba/lib/domain_user.map


     Unixusername = \\Domainname\\NTusername





  !* ne pas confondre avec 


  !  username map = file    contenant:


  !     unixusername = clientusername


  !* qui n'est pas associé au domaine NT





local group map = samba/lib/local_group.map


     Unixgroupname = [BUILTIN\]NTgroupname


    la chaine "BUILTIN\" doit précéder 


    tous les groupes "biens connus"


    (Users , Administrator)


Samba PDC expérimental

gestion des utilisateurs : groups et users

 

Samba permet aussi d'indiquer l'emplacement des répertoires "homes" des utilisateurs , une lettre de disque ou samba monte le répertoire de l'utilisateur et un chemin d'accès au profil.

logon drive = Z:





logon home = \\%N\%U


(ou bien utiliser [homes] )





logon path = \\serveur\profiles\user

 

Sous NT les profils sont plus une nécessité, alors que ce n'était qu'un luxe sous Win9.x

Si on veut "verrouiller" les stations clientes, il est nécessaire de que l'environnement d'un utilisateur qui change de machine (salle en libre service) lui soit restitué à chaque login .

La méthode est la même que pour Win9x.

 

Microsoft a publié un certain nombre de "white papers" sur la gestion des profils :

www.microsoft.com/ntserver/nts/techdetails/

et dispose en téléchargement d'un certain nombre des outils de NT server (normalement sur le CDrom NTserver) : Server Manager, User Manager for Domains et System Policy Editor :

ftp://ftp.microsoft.com/Softlib/MSLFILES/


--> srvtool.exe pour WinNT


--> nexus.exe pour Win9x


Samba PDC expérimental

un outil de test sur Unix : rpcclient

 

Cet outil (expérimental) permet d'aller lister et modifier des informations sur des machines Win NT, par le réseau, depuis Unix (par utilisation des DCE/RPC).

[vayssade@sirius vayssade]$ rpcclient -S sipcjmb


Added interface ip=195.83.155.123 


bcast=195.83.155.255 nmask=255.255.255.0


Enter Password:


smb: \> ?





regenum      regdeletekey regcreatekey regquerykey    regdeleteval   


regcreateval reggetsec    regtestsec   ntlogin        wksinfo        


srvinfo      srvsessions  srvshares    srvconnections srvfiles       


lsaquery     lookupsids   enumusers    ntpass         samuser        


samtest      enumaliases  samgroups    quit           q	       


exit         bye          help         ?              !	       


smb: \>     


smb: \> lsaquery


lsaquery





LSA Query Info Policy


Domain Member     - Domain: SI SID: S-0-0


Domain Controller - Domain: SIPCJMB \


SID: S-1-5-21-347670475-1819742162-1947940980





smb: \> lookupsids S-1-5-21-347670475-1819742162-1947940980


lookupsids S-1-5-21-347670475-1819742162-1947940980





Lookup SIDS:


SID: S-1-5-21-347670475-1819742162-1947940980 -> \SIPCJMB\


smb: \> srvinfo


srvinfo





Server Info Level 101:


	SIPCJMB        Wk Sv NT PtB LMB     


	platform_id     : 500


	os version      : 4.0


smb: \> 



Samba PDC expérimental

un exemple de smb.conf (1/4)



# Samba config file created using SWAT


# from pc-c.hq.dalalu.fr (192.168.24.104)


# Date: 1998/11/25 20:02:05





# Global parameters


	workgroup = DALALU


	server string = Serveur principal


	encrypt passwords = Yes


	passwd program = /usr/bin/passwd %u


	username map = /usr/local/samba/lib/users.map


	unix password sync = Yes


	read prediction = Yes


	read size = 4096


	socket options = SO_RCVBUF=4096


	domain admin group = root admins bcantou


	logon script = %U.bat


	logon path = \\%L\Profiles\%U


	domain logons = Yes


	os level = 33


	preferred master = Yes


	domain master = Yes


	wins support = Yes


	guest account = samba


	print command = lpr -h -r -P%p %s


	log file = /usr/local/samba/var/log.%m





[homes]


	comment = Repertoire utilisateur


	path = /home/%u


	read only = No


.../...


Samba PDC expérimental

un exemple de smb.conf (2/4)



.../...


[Commun]


	comment = Repertoire de stockage commun


	path = /home/commun


	read only = No


	create mask = 0777


	directory mask = 0777





[Logiciels]


	comment = Logiciels installables


	path = /home/logiciels


	write list = root administrateur micoulea


	create mask = 0774


	directory mask = 0775





[paie]


	comment = Partage PAIE


	path = /home/paie


	;write list = root administrateur micoulea


; les seuls utilisateurs qui peuvent se connecter 


; sont ceux du groupe paie


	valid users = @paie


; force le groupe sur les fichiers


	force group = paie


	force create mode = 0770


	force directory mode = 0770


	read only = no



Samba PDC expérimental

un exemple de smb.conf (3/4)



.../...





[expedition]


	read only = yes


	comment = Planning expeditions


	path = /home/expedition


	force group = expediti


	write list = @expediti


	force create mode = 0664


	force directory mode = 0775





[presence]


	read only = yes


	comment = Planning presence


	path = /home/presence


	force group = presence


	write list = @presence


	force create mode = 0664


	force directory mode = 0775





[netlogon]


	comment = Network Logon Service


	path = /home/netlogon


	guest ok = Yes


	share modes = No


	locking = no


	public = no


	write list = root administrateur bcantou



Samba PDC expérimental

un exemple de smb.conf (4/4)



.../...


[Profiles]


	path = /home/profiles


	read only = No


	guest ok = Yes





[Netscape]


	path = /home/profiles_netscape


	read only = No





[imp-eng-1]


	comment = Imprimante HP6 salle reunion Bat. Vert


	path = /tmp


	print ok = Yes


	printer name = imp-eng-1




Autres trucs et techniques

Winpopup

On peut utiliser Winpopup pour envoyer des messages aux PCs depuis Unix (il faut que winpopup soit activé sur le PC) :

268 vayssade kappa:~> smbclient -M hydra


Added interface ip=192.54.189.39 


bcast=192.54.189.255 nmask=255.255.255.0


Added interface ip=195.83.155.100 


bcast=195.83.155.255 nmask=255.255.255.0


Connected. Type your message, ending it with a Control-D


test 3


3<control-D>


sent 11 bytes (status was 0-0)








si on veut que la fenêtre vienne sur l'écran à réception :










Documentation et bibliographie

 

Une introduction rapide :

http://us1.samba.org/samba/docs/SambaIntro.html


Samba: An Introduction by Chris Hertel , Samba Team


Article très complet et pointeurs pertinents (en français) :

par Jerome.Le-Tannou@linuxfr.org


http://www.ujf-grenoble.fr/~letanou/samba_frame.html


avec des exemples de "smb.conf" commentés.


L'arborescense de documentation de Samba
(fichiers txt et html) :

/usr/docs/samba-2.0.5a/docs


ou 


/usr/local/samba/docs


Des articles dans les archives de "LinuxWorld" :

http://www.linuxworld.com/linuxworld/archive.html


Sur la sécurité de NT :

http://www.emf.net/~ddonahue/NThacks/ntexploits.htm





Des livres sur Samba :

Samba. Integrating Unix and Windows.


John D. Blair (Samba Team). published by SSC.


=> bonne introduction aux réseaux Netbios





Sams Teach Yourself Samba in 24 hours.
Gerald Carter (Samba Team) ISBN : 0-672-31609-9 => le meilleur (prix ~ 185 FTTC)