sv:si5_-_smb_cifs

Voir cette page sous forme de diaporama.

SI5 - SMB/CIFS

TP 02 jeudi 28 janvier 2012 rappels :

  • SMB : Server Message Block - 1985 IBM
  • CIFS : Common Internet File System - 1998 Microsoft
  • SMB2 : Server Message Block version 2 - 2010 Windows Vista, puis Windows 7
  • Rôle : partage de fichier/répertoires et imprimantes en environnement Windows
  • Fonctionnement : client/serveur

NB : utilisation intensive de la bande passante réseau (Chaque client reporte sa présence à tout le réseau via des broadcasts)

  • mettre en oeuvre un serveur de fichiers SMB/CIFS sur :
    • une machine Windows
    • une machine Linux avec Samba
  • tester l'accès depuis un client Windows et depuis un client Linux
  • une machine Windows XP : srvXpPN (serveur - mode bridge, PN sont vos initiales)
  • une seconde machine XP : cltXpPN (client - mode bridge, PN sont vos initiales)
  • une machine Linux Debian : squeezePN (serveur et client - mode bridge, PN sont vos initiales)

NB: une machine XP “légère” est disponible sur STORE. Pensez à désactiver le pare-feu sur les serveurs !

Le service de partage de fichiers est installé et fonctionne par défaut sur chaque machine Windows (à vérifier)

  • sur le serveur créer deux comptes utilisateurs : pierre et paul
net user pierre mdp /add
  • vérifier avec la commande
net user pierre 

NB: dans l'explorateur Windows, vous pouvez vérifier en passant par le panneau de configuration/comptes utilisateurs

  • créer un répertoire pub à la racine du disque c: sur le serveur
mkdir c:\pub
  • Partager ce répertoire pub
net share pub=c:\pub
  • on peut alors vérifier avec la commande net share
  • dans l'explorateur Windows,
    • aller dans le menu outils puis choisir options des fichiers, onglet affichage
    • vérifier que la case utiliser le partage de fichiers simple (recommandé) n'est pas cochée
    • clic droit sur le répertoire pub et dans l'onglet Partage (choisir le nom pub), donner des droits
      • en modification pour pierre et
      • en lecture seule pour paul
    • dans l'onglet sécurité donner tous les droits (contrôle total) aux utilisateurs afin de désactiver la couche NTFS qui occulterait SMB
    • déposer un fichier quelconque dans c:\pub
  • depuis la machine client cltXpPN, dans l'explorateur,taper dans l'adresse le chemin UNC du partage : \\srvXpPN\pub
    • on peut alors explorer le partage pub après authentification avec un compte et son mot de passe
  • ou bien depuis la ligne de commande taper :
net view \\srvXpPN
  • se connecter avec le compte paul
    • essayer de créer un répertoire dans pub, le système doit refuser
  • se connecter avec le compte pierre
    • essayer de créer un répertoire dans pub, le système doit accepter
  • sur la machine squeeze, installer les paquets smbclient et smbfs
  • tester que l'on voit bien la machine srvXpPN avec la commande suivante (en mode anonyme)
pierre@squeeze:~$ smbclient -L srvXpPN
Enter pierre's password: 
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

	Sharename       Type      Comment
	---------       ----      -------
Error returning browse list: NT_STATUS_ACCESS_DENIED
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
  • on peut se connecter en tant qu'utilisateur pierre avec l'option -U
pierre@squeeze:~$ smbclient -L srvXpPN -U 
Enter pierre's password: 
Domain=[srvXpPN] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

	Sharename       Type      Comment
	---------       ----      -------
	pub             Disk      
	IPC$            IPC       IPC distant
	print$          Disk      Pilotes d'imprimantes
	ADMIN$          Disk      Administration à distance
	C$              Disk      Partage par défaut
  • accéder au partage pub sur srvXpPN en tant qu'utilisateur pierre
phierre@squeeze:~$ smbclient //srvXpPN/pub -U pierre
Enter pierre's password: 
Domain=[srvXpPN] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> ls
  .                                   D        0  Wed Mar 26 18:58:28 2008
  ..                                  D        0  Wed Mar 26 18:58:28 2008
  mp3                                 D        0  Fri Dec 23 17:55:31 2011
  photos                              D        0  Sun Mar 28 16:32:52 2010

		44998 blocks of size 2097152. 157 blocks available
smb: \> 
  • on peut alors
    • obtenir la liste des fichiers avec ls
    • créer un répertoire avec mkdir
    • supprimer un fichier avec rm
    • récupérer un fichier avec get <fichier>
    • déposer un fichier avec put <fichier>
    • obtenir de l'aide avec help
  • pour effectuer le montage, il faut disposer d'un répertoire : /mnt/srvXpPN
root@squeeze:~# mkdir /mnt/srvXpPN
  • on peut alors monter le partage \\srvXpPN\pub sur /mnt/srvXpPN avec
root@squeeze:~# mount -t smbfs -o username=pierre //srvXpPN/pub /mnt/srvXpPN
  • l'option -o username permet de spécifier l'utilisateur
  • la commande mount affiche les systèmes de fichiers montés dont /mnt/srvXpPN
  • la ressource distante \\srvXpPN\pub est alors accessible dans le répertoire /mnt/srvXpPN
  • on peut utiliser les commandes usuelles : ls, ….
  • en fin de travail, on peut démonter la ressource avec
root@squeeze:~# umount /mnt/srvXpPN
  • sur la machine Linux, installer le paquet samba
  • créer deux utilisateurs pierre et paul avec
 
root@squeeze:~# adduser pierre
  • même chose pour paul,
  • créer le répertoire /home/pub qui sera partagé
  • puis spécifier les droits 777 pour /home/pub (accès complet pour tout les utilisateurs), la sécurité sera assurée par le serveur Samba
root@squeeze:~# mkdir /home/pub
root@squeeze:~# chmod 777 /home/pub
  • il faut maintenant paramétrer le serveur samba
  • éditer le fichier /etc/samba/smb.conf avec l'éditeur de votre choix
  • au bout du fichier ajouter les lignes suivantes
[pub]
   comment = Repertoire public
   path = /home/pub            # chemin du partage
   guest ok = no
   create mask = 0666
   writeable = yes             # on peut écrire
   valid user = pierre, paul   # pierre et paul ont accès au partage
   write list = pierre         # seul pierre peut écrire
  • quitter en sauvegardant smb.conf
  • tester la configuration avec la commande testparm
  • relancer samba par
 root@squeeze:~#  service samba restart
  • vérifier le fonctionnement de Samba avec smbstatus
root@squeeze:~# smbstatus
  Samba version 3.5.6
PID     Username      Group         Machine                        
-------------------------------------------------------------------

Service      pid     machine       Connected at
-------------------------------------------------------

No locked files
  • créer les comptes samba pour pierre et paul
root@squeeze:~# smbpasswd -a pierre
  • on accède alors au serveur Samba comme à tout serveur Windows
    • par l'explorateur et le voisinage éseau
    • en spécifiant le chemin UNC du serveur ou du partage : \\squeeze ou \\squeeze\pub
    • tester les connexions avec les utilisateurs Pierre et Paul et vérifier la différence de comportement à propos du droit en écriture
    • on peut également connecter un répertoire distant à une unité logique : ici, on connecte la ressource \\squeeze\pub à l'unité logique p:
 c:\> net use p: \\squeeze\pub
  • la commande net use sans paramètres permet également de voir les connexions aux partages distants
  c:\> net use 
  • copier sur votre machine Debian squeeze un fichier situé sur votre partage \\srv0210019g\albert.dupont au moyen du protocole SMB/CIFS
  • copier un fichier dans le partage pub de squeeze depuis une machine cltXpPN ou srvXpPN
  • sv/si5_-_smb_cifs.txt
  • Dernière modification : 2012/01/31 23:03
  • de 127.0.0.1