0% ont trouvé ce document utile (0 vote)
5 vues10 pages

Installer et configurer Samba

Ce document décrit l'installation et la configuration d'un serveur Samba pour le partage de fichiers entre un système Debian et un client Windows. Il couvre les pré-requis, la création d'utilisateurs, la configuration du fichier smb.conf, ainsi que les étapes pour vérifier et réinitialiser le service Samba. Le tutoriel inclut également des instructions pour accéder au partage depuis Windows et vérifier le bon fonctionnement du partage.

Transféré par

yoannprod21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues10 pages

Installer et configurer Samba

Ce document décrit l'installation et la configuration d'un serveur Samba pour le partage de fichiers entre un système Debian et un client Windows. Il couvre les pré-requis, la création d'utilisateurs, la configuration du fichier smb.conf, ainsi que les étapes pour vérifier et réinitialiser le service Samba. Le tutoriel inclut également des instructions pour accéder au partage depuis Windows et vérifier le bon fonctionnement du partage.

Transféré par

yoannprod21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Installer et configurer samba

• Objet : Mise en place d'un serveur samba pour le partage de fichiers avec
un client Windows
• Niveau requis :
• Commentaires : Sur un LAN partage de fichiers entre différents OS
• Débutant, à savoir : Utiliser GNU/Linux en ligne de commande, tout
commence là !.
• Suivi : - Pour choisir, voir les autres Tags possibles dans l'Atelier.
• Création par Hypathie 12/09/2014
• Testé par <...> le <...>
• Commentaires sur le forum : Lien vers le forum concernant ce tuto 1)

Contributeurs, les sont là pour vous aider, supprimez-les une fois le


problème corrigé ou le champ rempli !

Introduction
Qu'est-ce que samba ?
Samba est un logiciel libre sous licence GPL, permettant de supporter le
protocole SMB/CIFS pour le partage de ressources réseau.

Le partage réseau a été développé par IBM en 1985 pour OS/2 et s'appelait
alors LAN Manager. Il a ensuite été mis en avant par Microsoft sous le nom de
SMB pour en faire un tout nouveau protocole de partage. Il a été appelé aussi
CIFS (Common Internet File System ) entre 1998 et 2006, et a encore été
renommé sous le nom de SMB2 pour la sortie de Windows Vista et conserve ce
nom jusqu'à Windows 8.

Ces termes sont à connaître car ils apparaissent pour certains points de la
configuration de samba, qui se charge de compatibilité avec ce protocole de
partage réseau mais aussi avec différents produits Microsoft, comme NetBios
(TCP/IP) et le nommage wins et maintenant DNS, et MSRPC (appel de
procédure à distance), et il peut aussi être utilisé comme contrôleur de
domaine “actif directory”.
Le protocole SMB/CIFS est toujours un logiciel propriétaire, et ces spécifications
étaient donc fermées au début. Mais pour des raisons d'intéropérabilité, suite à
un procès, Microsoft a été contraint d'ouvrir certaines de ses spécifications qui
ont été distribuées par le MSDN (open Specifications Developer Center).
Samba a donc été créé afin de rendre possible la communication entre
différents systèmes d'exploitations d'un même réseau, mais on peut aussi
l'utiliser pour le partage de Linux à Linux.
On le doit d'abord aux travaux de rétro-ingénierie d'Andrew Tridgel qui est son

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou


échecs !
principal développeur. Depuis 2007, et la fermeture des spécifications SMB le
développement et les performances de samba ne cessent de se développer.

tuto Obsolète

La structure de samba

Comment se lance samba ?


Il peut être lancé soit soit par des daemons directs, par inetd qui est le plus
sécurisé mais avec un temps de latence plus long.

• Avec le daemon smbd (Server Message Block Daemon) :


Dans cas il s'agit du partage réseau.

• Avec nmbd (NetBios Name Service Daemon):


Dans ce cas il s'agit du serveur WINS.

Les ports utilisés par samba

• TCP et UDP 137 : NetBIOS Name Service


• UDP 138 : NetBios Datagram Service
• TCP 139 : NetBIOS Session Service
• TCP et UDP 445 : Services de dossiers partagés Windows

Mise en place d'un partage de fichiers


Configuration générale du système sur lequel on installe
samba
Prenons, pour exemplifier une configuration simple, une machine virtuelle sur
laquelle il a été installé un serveur Debian.

• Le nom du système hôte sur lequel va être installé samba :


hostname

debian-1
Attention à la confusion entre serveur (samba ou autre) installé sur un
système qui reste malgré tout “l'hôte”, on va dire de ce système.

• L'utilisateur principal du système :


echo $USER
first-user

• Son adresse IP :
ip a s eth0

ou mettez votre interface, exemple:

ip a enp2s0

<...>
inet [Link]/24 brd [Link]
<...>
Il s'agit d'une machine virtuelle avec accès par pont dont l'adresse IP a été
préalablement fixée par le serveur DHCP au niveau du FAI.

Pré-requis à l'installation du serveur samba

Création d'un compte user pour le partage de fichier

addgroup --system hypathie

Création d'un utilisateur système correspondant à l'utilisateur samba


adduser --system hypathie --ingroup hypathie

Création d'un fichier partageable

mkdir /home/hypathie/public

Mise en place des droits sur le répertoire et ses fichiers partageable

chown -R hypathie:hypathie /home/hypathie/

-R (récursivement) pour que le dossier déjà créé dans ce répertoire


appartienne aussi à l'utilisateur et au groupe “hypathie”.
Voir : chown

chmod -R 770 /home/hypathie/

Pour donner les droits de lecture, écriture et exécution à l'utilisateur


“hypathie” sur tous fichiers et dossiers créés dans ce dossier.
On peut aussi donner les droits de lecture pour les “autres” 775.
Voir droits-unix et droits-unix-bis
Et chmod
Installation de samba serveur
apt-get update

apt-get install samba

Configuration simple pour partage de fichiers entre


Windows et Debian

Les fichiers samba

ls /etc/samba

Le fichier de configuration est [Link].

Sauvegarde de [Link]

#Se placer dans le répertoire /etc/samba


cd /etc/samba
mv [Link] [Link]-OLD

Édition de [Link]

vim [Link]

[global]

workgroup = WORKGROUP # par défaut et à laisser tel quel


netbios name = debian-1 # nom du serveur visible sur le
poste client Windows

server string = %h server # nom du serveur samba

hosts allow = 192.168.0. 127. # ajouté et à modifier selon l'IP


du réseau local

security = user # à décommenter

bind interfaces only = yes # mettre "yes" pour utiliser le


choix des interfaces (ligne au dessous)
interfaces = [Link]/24 # Pour éviter le wifi, on peut
mettre à la place de l'IP/masque, le nom de l'interface "eth0:0"

[hypathie] # ajouté et à modifier selon le


répertoire de partage
path = /home/hypathie/ # créé sur le système lors de la
création d'un nouvel utilisateur
read only = no
browseable = yes
writeable = yes
valid users = hypathie
write list = hypathie
create mask = 0700 # droits posix (octal = 0 devant 700):
lecture, écriture, exécution pour l'utilisateur seulement
directory = 700
force user = nobody # surtout si on partage la racine
force group = nogroup

Le fichier /etc/samba/[Link] est constitué par


section.
Les sections principales sont :

• [global] : paramètres généraux (indiqué par un G


dans le man).
Les paramètres obligatoires sont :
workgroup = MON-GROUPE
Et il faut aller sur Windows créer un groupe du même
nom
ou utiliser WORKGROUP qui le nom par défaut sur
Windows

netbios name = Nom-du-serveur-samba


server string = serveur %h
security = user # mise en place de la
politique d'authentification
encrypt passwords = true
À savoir sur security : Le mode “user” est le plus
intéressant, mais il y a d'autres modes d'authentification
que la mise en place d'un mot de passe utilisateur
chiffré.
Le mode domain passe par workgroup qui définit un
contrôleur de domaine.
Le mode “server” a été déprécié, il ne faut pas l'utiliser.
Il y a aussi le ADS qui se base sur Active Directory. Il
faut alors définir un “realm”2) et le mot de passe du
serveur d'authentification 3)

2) real = [Link]
3) passwd server = [Link]
• [partage] : nom d'un partage (tout les paramètres
indiqués par un S dans le man, également
compatibles avec la section global).
On l'a appelé dans l'exemple [hypathie]. Les paramètres
essentiels sont :
path =
/chemin/de_ce_répertoire/à_partager_sur_le_réseau
Attention aux droits placés sur le répertoire et ses sous-
répertoires et fichiers
Il est bon pour la sécurité de mettre en place une
politique de partage :

lecture / écriture avec read only :


No ou Yes pour ne pas permettre ou permettre l'écriture.
Restriction de l'écriture à un utilisateur ou une liste
précisée avec
read only = Yes et en dessous write list = user1,
user2, ...

Restriction de l'accès au partage à un ou plusieurs


utilisateur ou à un groupe :
valid users = user1, user2, @group1101
Pour forcer tous les utilisateurs à être reconnu comme
un seul utilisateur du système : force user = nobody
et force group = nogroup.
Comme cela si quelqu'un vient sur le partage, il a les
droits de tout autre utilisateur, et ne peut aller à la
racine.

Les droits au niveau de samba:


Les droits UNIX surchargent les droits samba, mais
samba a besoin qu'on lui spécifie les droits appliqués par
défaut sur les fichiers de partages créés.

Droits à la création des fichiers


Par exemple pour lecture, écriture, exécution pour
utilisateur et son groupe, et lecture, exécution pour les
autres :
create mask = 0775

Droits (POSIX) à la création des dossiers


Rappel, pour se déplacer dans un répertoire, c'est
l'exécution, pour créer, supprimer renommer un fichier
d'un répertoire niveau dossier, c'est l'écriture, et la
lecture c'est l'ouverture d'un fichier.
Pour lecture, écriture, exécution pour utilisateur
seulement:
create mask = 700

• [printers] et [print$] : partage d'imprimantes

• [homes] : partage du répertoire personnel des


utilisateurs
Variables de substitution du fichier de configuration
[Link]
Le caractère % permet de substituer les variables.

• %U : Nom de l'utilisateur

• %G : Groupe de l'utilisateur

• %h : Nom du serveur Samba

• %m : Nom NetBIOS du client Samba

• %L : Nom NetBIOS du serveur Samba

• %M : Le nom internet du client

• %a : Type de la machine cliente

• %I : IP de la machine cliente

• %i : IP local de la machine cliente

• %T : Date et heure courante

• %D :Nom de domaine

• %I : IP de la machine cliente

Par exemple, si dans [global] de cet exemple on mettait :


server string serveur %h : samba %v
Il s'affichera “serveur debian-1 : samba la version de
samba”.
Références :

• Doc :
[Link]
3/[Link]
• En français
[Link]
-[Link]
• En anglais :
[Link]
• Autre exemple expliqué : [Link]
installation-et-configuration-de-samba-sur-debian-
lenny

Vérifier la syntaxe du fichier de configuration

testparm [Link]

Ré-initialisation de samba
Sur Wheezy et précédents:

service samba restart

Sur Jessie et suivant:

systemctl restart samba

Ajout d'un compte user dans samba


Ce compte doit correspondre à un compte utilisateur existant du système
debian. Il faut en créer pour des raison de sécurité.
La commande suivante se charge d'en créer un dans les données de samba.
Il faut donner un mot de passe pour le compte samba, qui est différent du mot
de passe UNIX qui a été demandé quand on a utilisé la commande adduser
nouvel-utilisateur.

smbpasswd -a hypathie

• Pour lister les utilisateurs samba :


smbpasswd -L

• Pour désactiver un utilisateur :


smbpasswd - d utilisateur
• Pour supprimer un utilisateur :
smbpasswd - x utilisateur

Côté client Windows


Groupe de travail

• Sur le client windows :


Démarrer -> clic droit sur “Ordinateur” -> “Propriétés”

On voit : Groupe de travail : WORKGROUP

Activer partage réseau


Démarrer -> Panneau de configuration -> Centre réseau et partage -> Groupe
résidentiel -> Modifier les paramètre de partage avancé...

• Résidentiel (doit être sélectionné) :


-> Activé le partage réseau
-> Autoriser Windows à gérer les connexions des groupes résidentiels.

• Public (doit être sélectionné) :


-> Activé la découverte du réseau

Accéder au serveur samba


Démarrer -> Ordinateur -> Réseau

DEBIAN-1 apparaît

Double-clic sur debian-1 -> double-clic sur hypathie-partage -> double-clic sur
public.

Créer un fichier, par exemple “coucou-samba”.

Vérification
Sur le serveur samba le fichier créé depuis Windows est bien là. Et peut être
édité depuis l'un ou l'autre poste.

ls /home/hypathie/public/
[Link]

Vous aimerez peut-être aussi