installation et configuration de samba

11
Installation et configuration de Samba MP2L Page 1 3.2 Installation et configuration de Samba Objectifs Analyser le fonctionnement de Samba et des protocoles SMB/CIFS, Arriver à configurer un serveur Samba pour : o partager des fichiers et des dossiers o imprimer en réseau Utiliser des outils clients Plan 1. Introduction à Samba 2. Services Samba 3. Profil de Service : Samba 4. Configuration de Samba 4.1 Aperçu des Sections de smb.conf a. Paramètres généraux de [global] b. Paramètres généraux des partages de répertoires 5. Accéder à une ressource Samba sous Linux 6. Monter manuellement et automatiquement un dossier partagé dans le système de fichiers 6.1. Montage manuel 6.2. Montage automatique

Upload: syrine-bouhachem

Post on 08-Jul-2016

6 views

Category:

Documents


3 download

DESCRIPTION

Serveur Samba

TRANSCRIPT

Page 1: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 1

3.2 Installation et configuration de Samba

Objectifs

• Analyser le fonctionnement de Samba et des protocoles SMB/CIFS, • Arriver à configurer un serveur Samba pour :

o partager des fichiers et des dossiers o imprimer en réseau

• Utiliser des outils clients

Plan 1. Introduction à Samba 2. Services Samba 3. Profil de Service : Samba 4. Configuration de Samba

4.1 Aperçu des Sections de smb.conf a. Paramètres généraux de [global] b. Paramètres généraux des partages de répertoires

5. Accéder à une ressource Samba sous Linux 6. Monter manuellement et automatiquement un dossier partagé dans le système de

fichiers 6.1. Montage manuel 6.2. Montage automatique

Page 2: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 2

1- Introduction à Samba

Samba est un logiciel libre et une mise en œuvre du protocole SMB/CIFS sous GNU/Linux, initialement développée par l'australien Andrew Tridgell. Il est sous licence GNU GPL 3. Son nom provient du protocole SMB (Server message block), le nom du protocole standard de Microsoft, auquel ont été ajoutées les deux voyelles a : « SaMBa ».

À partir de la version 3, Samba fournit des fichiers et services d'impression pour divers clients Windows et peut s'intégrer à un domaine Windows Server, soit en tant que contrôleur de domaine principal (PDC) ou en tant que membre d'un domaine. Il peut également faire partie d'un domaine Active Directory. Il fonctionne sur la plupart des systèmes Unix, comme GNU/Linux, Solaris, AIX et les variantes BSD, y compris Apple, Mac OS X Server (qui a été ajoutée au client Mac OS X en version 10.2). Samba fait partie intégrante de presque toutes les distributions GNU/Linux.

CIFS est l'autre nom que donne Microsoft à son protocole SMB (Server Message Block ou Bloc de Message Serveur)

Créé en 1985 par IBM, ce protocole s'est d'abord appelé LAN Manager sous OS/2, puis il a été popularisé par Microsoft Windows qui l'intégrait comme système par défaut de partage de fichiers sous Windows. En 1998, Microsoft renomme SMB en CIFS (Common Internet File System) et ajoute plusieurs fonctions comme le support des raccourcis et de fichiers de plus grande taille.

Avec l'arrivée de Windows Vista et de 7, Microsoft a mis au point une version 2 du protocole plus rapide. Le protocole est de nouveau nommé SMB (SMB 2).

SMB fonctionne via une structure de client/serveur, le client va envoyer des requêtes spécifiques et le serveur de fichiers va y répondre. Le protocole est optimisé pour une utilisation dans un réseau local.

Le serveur SMB permet de donner l’accès aux clients du réseau à des systèmes de fichiers, mais aussi à d’autres ressources comme des imprimantes. Le client peut avoir ses propres disques qui ne seront pas partagés et peut accéder en même temps aux disques et imprimantes partagés par le serveur.

Le protocole fait une utilisation intensive de la bande passante réseau, cela est dû à la nature de SMB. En effet, chaque client reporte sa présence à tout le réseau (via des broadcasts). Cela est dû à la présence du service « Explorateur d'ordinateur » lancé par défaut.

Page 3: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 3

Samba est la mise en œuvre d'une dizaine de services et d'une douzaine de protocoles. Il comprend NetBIOS sur TCP/IP (NBT), SMB, CIFS, DCE/RPC ou, plus spécifiquement MSRPC. La suite de protocoles du voisinage réseau, un serveur WINS aussi connu sous le nom de NetBIOS (NBNS). Les protocoles d'un domaine NT qui comprend l'ouverture d'une session NT, une base de données « Secure Accounts Manager (SAM) », un service « Local Security Authority (LSA) », un service d'impression (Spoolss) , NTLM et plus récemment l'ouverture de session Active Directory comprenant une version modifiée de Kerberos et de LDAP. Samba peut voir et partager des imprimantes.

Pile de protocoles SMB

La configuration est réalisée par l'édition d'un fichier unique (généralement installés dans /etc/smb.conf ou /etc/samba/smb.conf).

La version 3.2 apporte le support de l’IPv6 et ajoute la possibilité de stocker les partages Samba dans la base de registre ainsi que l'expérimentation du clustering et d'autres améliorations.[

Samba 4 est la prochaine version de la suite Samba développée en parallèle avec la branche stable 3.x. Une des nouveautés majeures de cette version est le support des protocoles d'authentification utilisés par Windows 2000 et plus.

Samba 4 supporte le côté serveur dans un environnement Active Directory utilisé par Windows 2000. Il est ainsi possible de joindre complètement des clients Windows à un domaine et effectuer des opérations d'ouverture de session.

2- Services Samba

Samba fournit quatre services principaux :

• authentification et autorisation des utilisateurs • partage de fichiers et d'imprimantes • parcours (annonces de services) • Nommage des ressources réseau.

Page 4: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 4

Le fonctionnement de Samba repose principalement sur trois services (daemons): smbd, nmbd et winbindd. Lors de l'installation des services de Samba, votre système Ubuntu a été configuré automatiquement pour gérer ces services dès le démarrage du système.

• smbd :

Ce service est celui qui permet le partage des fichiers et des imprimantes. Son paramètrage se fait par l'intermédiaire du fichier de configuration /etc/samba/smb.conf. smbd vérifie toutes les trois minutes ce fichier pour prendre en compte les modifications ; pour une application immédiate des changements, relancez ce service

• nmbd :

Ce service sert à l'envoi et la découverte des noms NetBIOS (nom des machines) dans le réseau local. Il est également utilisé pour la résolution de noms et la fonction WINS, lorsque votre serveur Samba est le serveur d'un réseau NetBIOS. Ses paramètres sont aussi renseignés dans le fichier de configuration /etc/samba/smb.conf.

• winbindd :

Ce service n'est utilisé que lorsqu'un serveur Samba intègre un domaine NT ou pour gérer les relations d'approbation entre le serveur Samba et un domaine Windows/Active Directory.

3- Profil de Service : Samba • Type : Service System V • Paquetages : samba{,-common, -client, -winbind-clients} • Démons : nmbd, smbd • Script : smb • Ports : 137, 138, 139 • Configuration : /etc/samba/smb.conf • Voir aussi : samba-swat, system-config-samba et Webmin

Vérifiez la présence des paquetages de Samba :

[root@fed12 ~]# rpm -qa | grep samba samba-3.4.2-47.fc12.i686 system-config-samba-1.2.83-1.fc12.noarch samba-client-3.4.2-47.fc12.i686 samba-winbind-clients-3.4.2-47.fc12.i686 samba-common-3.4.2-47.fc12.i686 system-config-samba-docs-1.0.7-1.fc12.noarch

Page 5: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 5

Démarrez / vérifier le bon fonctionnement de Samba :

[root@fed12 ~]# /etc/init.d/smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ]

[root@fed12 ~]# /etc/init.d/smb status smbd (pid 1763) est en cours d’exécution... nmbd (pid 1773) est en cours d’exécution...

Il est possible qu'un logiciel de pare-feu soit installé dans l'un des ordinateurs et que celui-ci bloque les communications entrantes ou sortantes utilisés par Samba. Assurez-vous que votre pare-feu laisse passer les communications sur ces ports ;

Voici la liste des ports TCP et UDP utilisés par les protocoles SMB et CIFS, utilisés par Samba pour le partage de fichiers et d'imprimantes.

Port Protocole Nom du service

137 UDP NetBIOS Name Service (nbname)

138 UDP NetBIOS Datagram Service (nbdatagram)

139 TCP NetBIOS Session Service (nbsession)

445 TCP et UDP "Direct-Hosted" TCP

(Le protocole SMB repose sur les trois premiers ports, tandis que CIFS [utilisé par les versions récentes de Windows] exploite le port 445.)

4- Configuration de Samba La configuration de Samba se fait préférablement manuellement, dans le fichier de configuration /etc/samba/smb.conf. C'est dans ce fichier que vous paramétrez le nom du domaine et le groupe de travail de l'ordinateur, les paramètres de sécurité et les dossiers et imprimantes partagés.

Souvent fournit avec une configuration par défaut bien commentée et adaptée à la plupart des situations.

Les partages administratifs peuvent être gérés graphiquement à l'aide de divers outils. Cependant, tous les outils n'offrent pas la possibilité de configurer tous les multiples paramètres de Samba. Ces outils sont utiles en complément à une configuration manuelle.

Page 6: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 6

4.1- Aperçu des Sections de smb.conf

smb.conf est calqué sur le fichier windows.ini et divisé en plusieurs sections [ ].

Le fichier /etc/samba/smb.conf permet de configurer Samba. Ce fichier est composé de sections dont le nom est entre crochets :

• [global] : contient les paramètres généraux et les paramètres par défaut des différents partages,

• [printers] et [print$] : sont spécifiques au partage d'imprimantes, • [homes] : est spécifique au partage du répertoire personnel d'un utilisateur (son

répertoire $HOME) il apparaîtra dans la liste des partages avec le nom d'utilisateur du client (s'il est identifié),

• [le_nom_d'un_partage] pour chaque partage

Remarque :

Dans ce fichier de configuration par défaut il y a beaucoup de commentaires, afin de ne pas les perdre et d'avoir un fichier clair, il est conseillé de copier ce fichier sous un autre nom et de partir de zéro.

Pour vérifier que la configuration est sans faute de syntaxe, utiliser la commande suivante :

testparm -s

Vous verrez comment samba interprètera votre fichier de configuration et, en cas d'erreurs, vous serez averti.

Après chaque modification, il faut redémarrer samba :

service samba restart

Si un redémarrage complet n'est pas possible pour des raison de continuité de service, si les modifications ne touchent pas le service NetBios (nmbd), la commande suivante suffit :

service samba reload

Dans une section, les valeurs sont affectées aux paramètres de cette manière :

paramètre = valeur

Dans certains cas, il est possible d'affecter une liste de valeurs à un même paramètre, la syntaxe à utiliser est alors :

paramètre = valeur1,valeur2,valeur3

Page 7: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 7

ou séparés par des espaces

paramètre = valeur1 valeur2 valeur3

La liste des paramètres se trouve dans la page de man (ou manuel) de smb.conf :

man smb.conf

Pour chaque paramètre, une lettre est mise entre parenthèses :

• (G) pour les paramètres de la section [global] • (S) pour les paramètres spécifiques aux partages (Shares en anglais). Ces paramètres

peuvent être définis dans la section [global] et seront valables pour tous les partages, cela évitera de les refaire figurer dans chaque partage. On dira que les paramètres sont hérités.

a- Paramètres généraux de [global]

Groupe de travail ou Domaine : workgroup = SOCIETE

Le groupe de travail (ou nom de domaine pour les PC dans un domaine) et le nom du "réseau" dans lequel les PC "sont".

Nom NetBios : netbios name = PC_DE_ADMIN

C'est le nom du PC sur le réseau.

Description : server string = serveur %h (Samba %v)

C'est la description de votre PC que vous voulez donner.

Type de sécurité :

Toute la configuration de Samba tourne autour de la politique de sécurité ; il s'agit du paramètre security.

Ce paramètre peut avoir les valeurs suivantes :

• share : Pas de sécurité, les partages sont tous accessibles à tout le monde. Les partages peuvent toute fois être en lecture seule.

• user : Une sécurité basée sur une identification par login et mot de passe "local". • domain : Une sécurité basée sur une identification par login et mot de passe géré par un

contrôleur de domaine. • server : Une sécurité basée sur une identification par login et mot de passe géré par un autre

serveur sur le réseau. • ads : Une sécurité basée sur Active Directory.

Page 8: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 8

Interface :

Dans certains cas on peut vouloir restreindre l'accès aux partages Samba à une partie des interfaces Ethernet disponibles sur le serveur. Par défaut, Samba est accessible sur toutes les interfaces réseau.

# On souhaite n'autoriser l'accès que via certaines interfaces réseau bind interfaces only = Yes # Liste des interfaces réseau en question interfaces = 127.0.0.1 eth0:0 192.168.1.20/24

Compte d’utilisateur anonyme :

Spécifie le compte Linux que samba doit utiliser pour les connections en mode invité. Il est à noté que le compte doit exister sur la station Linux.

guest account = nobody

b- Paramètres généraux des partages de répertoires

Le chemin du répertoire partagé se renseigne de cette manière :

path = /chemin_vers_le_répertoire

Description :

Il est possible de renseigner une description de partage :

comment = Commentaire décrivant le contenu du partage

Masques de création

Pour personnaliser les droits sur les fichiers lors de leur création, vous pouvez le faire avec ces paramètres :

create mask = 0700 # Fichiers : Tous les droits pour le propriétaire et rien pour les autres directory mask = 700 # Répertoires : idem

Accès aux données : Lecture et écriture

Il est possible de déclarer un partage :

• en lecture/écriture pour tous, • en lecture seule pour tous, • en lecture seule pour certains utilisateurs et lecture/écriture pour d'autres utilisateurs.

Page 9: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 9

En lecture/écriture pour tous :

Afin de rendre un partage accessible en lecture et en écriture pour tous, il faut préciser :

read only = No

En lecture seule pour tous

C'est le mode par défaut, aucun paramètre à préciser, mais vous pouvez le préciser :

read only = Yes

En lecture/écriture :

Il faut distinguer les droits en fonction des utilisateurs. Le principe est de déclarer le partage en lecture seule pour tous mais d'autoriser des exceptions :

read only = Yes write list = utilisateur1, utilisateur2, @groupe1

Pour définir une liste d'utilisateurs qui ont le droit d'accéder au partage et donc d'en voir le contenu (indépendamment du droit d'écriture) il existe le paramètre valid users :

valid users = utilisateur1, utilisateur2, @groupe12000

Les autres utilisateurs n'auront pas accès à ce partage.

Il faudra que Samba identifie les utilisateurs, il faudra une politique de sécurité différente de security = share.

Pour autoriser les comptes « invité/guest » à accéder à cette ressource :

guest ok = yes

Enfin, pour que la ressource apparaisse dans les listes de brows (l'explorateur réseau)

browseable = yes

5- Accéder à une ressource Samba sous Linux

Le client Samba (smbclient) permet de fournir une interface en ligne de commande pour accéder aux ressources Samba à partir d'une machine de type Unix.

smbclient permet en premier lieu de vérifier l'existence d'un serveur Samba sur le réseau et de lister les ressources qu'il partage grâce à la commande :

smbclient –L nom_serveur_smb -N

Page 10: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 10

Une fois les ressources identifiées, il est possible d'accéder à chacune d'entre elles par la commande :

smbclient //nom_serveur_smb/ressource -U nom_utilisateur[%password]

Un mot de passe devrait être demandé à l'utilisateur. Une invite de commandes de type FTP est alors présentée afin d'envoyer/recevoir des fichiers ou bien de parcourir les répertoires de la ressource.

6- Monter manuellement et automatiquement un dossier partagé dans le système de fichiers

Il est possible de monter un dossier partagé dans un point de montage de l'arborescence d'un système de fichiers Linux, tout comme il est possible de le faire avec une partition de disque dur.

Assurez-vous de disposer d'un point de montage valide (un répertoire vide dans lequel devra être monté le dossier partagé).

Pour les exemples suivants, nous établirons que :

• le PC distant se nomme MACHINEDISTANTE ; • le dossier partagé par l'ordinateur distant est partage ; • le point de montage dans l'ordinateur local est /mnt/paratgedistant/.

6.1- Montage manuel

Si aucune authentification n'est requise pour accéder au dossier partagé ou si vous ne possédez pas d'identifiant dans le poste distant :

[[email protected]:~]# mount -t cifs -o guest //MACHINEDISTANTE/partage /mnt/paratgedistant

Si une authentification dans le poste distant est requise pour accéder au dossier partagé ou pour débloquer certaines actions autorisées pour votre compte dans le poste distant :

[[email protected]:~]# mount -t cifs -o username=IDENTIFIANT //MACHINEDISTANTE/partage /mnt/paratgedistant

où IDENTIFIANT est votre identifiant dans le poste distant. Une invite Password: vous permet de saisir le mot de passe de votre compte dans le poste distant.

Page 11: Installation Et Configuration de Samba

Installation et configuration de Samba

MP2L Page 11

6.2- Montage automatique

Modifiez le fichier /etc/fstab afin d'ajouter une nouvelle règle de montage. Si aucune authentification n'est requise pour accéder au dossier partagé ou si vous ne possédez pas d'identifiant dans le poste distant, inscrivez la règle suivante, sur une seule ligne :

//MACHINEDISTANTE/partage /mnt/paratgedistant cifs _netdev,guest 0 0

Si une authentification dans le poste distant est requise pour accéder au dossier partagé ou pour débloquer certaines actions autorisées pour votre compte dans le poste distant, inscrivez la règle suivante, sur une seule ligne :

//MACHINEDISTANTE/partage /mnt/paratgedistant cifs \ _netdev,username=IDENTIFIANT%PASS 0 0