Vous êtes sur la page 1sur 4

Serveur de Fichier SAMBA sous Linux

Le partage de fichiers est l'une des fonctions pivot des postes serveurs, à destination de
stations Windows ou Linux, voire des deux à la fois.
L'idée est de présenter quelques exemples faciles à suivre, ainsi que les options qui pourraient
vous être utiles.

Groupe de travail WORKGROUP (valeur par défaut des Windows) et possède l'ip fixe
192.168.X.X (donc sur un réseau 192.168.x.x)

Samba - Fichier de configuration et quelques rappels

Avant tout, installation de samba pour CentOS:

# yum install samba

Et ajout du service samba au démarrage automatique

# chkconfig smb on

Sous CentOS, le fichier de configuration " smb.conf " se trouve dans " /etc/samba ".
Afin de partir d'un fichier propre, on déplace le " smb.conf " d'origine :

# mv /etc/samba/smb.conf /etc/samba/smb.conf.original

On considère que " smb.conf " se compose de deux parties principales :

 Global ==> Les options définies dans "Global" s'appliqueront à l'ensemble des
dossiers partagés, elles remplacent les options de samba par défaut.
 Share definitions ==> Liste des dossiers partagés et détails des options qui s'y
rapportent. Ces options sont prioritaires sur les options définies dans "global" mais ne
se rapportent qu'au partage spécifié.

Quelques commandes utiles :

 La commande " testparm -s " vous permet de vérifier la bonne prise en compte de
votre configuration
 La commande " smbstatus -v " permet de connaitre les partages en activité et leur
utilisation
 Sous CentOS, pour recharger le fichier de configuration, suite à une modification par
exemple, privilégiez la commande " service smb reload " à " service smb restart ",
cela ne coupera pas les accès en cours (si la modif ne s'y rapporte pas bien entendu).
Pour ce qui concerne les règles iptables, si le Parefeu est actif, vous pouvez utiliser les
lignes suivantes, en root :

# iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT


# iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j
ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j
ACCEPT

Puis sauvegardez la configuration iptables :

# service iptables save

Si vous commettez une erreur, si vous avez un doute sur vos règles iptables ou si vous avez
injecté des règles incertaines, lancez les commandes suivantes avant de ressaisir les règles ci
dessus (ré-initialise iptables sous CentOS, seul SSH sera autorisé en entrant) :

# iptables -F
# service iptables save

Pour ce qui concerne SELinux, sauf cas extrêmes, il est conseillé de le désactiver. Si
toutefois vous souhaitez le conserver, il faudra déclarer à SELinux chaque dossier partagé, au
sens arborescence Linux, et non en fonction du nom de partage Samba.

 Pour désactiver SELinux, rendez vous dans son fichier de conf ( /etc/selinux/config )
et passez la ligne " SELINUX=enabled " à " SELINUX=disabled ". Puis redémarrez
le serveur.
 Pour déclarer un dossier, si vous conservez SELinux, il faut lui apposer la marque
(tag ou tatouage) relative au partage samba.

Exemple ci-après avec un dossier " /share/commun ". Remplacez simplement "
/share/commun " par chacun de vos partages :

# chcon -R -t samba_share_t /share/commun

Il convient d'appliquer cette ligne à chaque dossier partagé.

Vous trouverez plus d'informations assez accessibles sur SELinux et samba via ce blog par
exemple.

Samba - Exemple de configuration simple sans limitations utilisateurs


le niveau de sécurité est configuré au plus bas, en ne limitant qu'au réseau local (192.168.0
dans notre exemple, à adapter au votre).
Cet exemple ne traite aucun utilisateur en particulier, toutes les machines présentes sur le
réseau local déclaré pourront accéder au partage.
Commencez par créer les dossiers de partage sur votre serveur.

Comme indiqué plus haut, afin de simplifier, nos partages seront dans " /share " donc (en
root):

# mkdir /share

Pour cet exemple, il faut créer également le sous dossier partagé :

# mkdir /share/commun
# chmod 777 /share/commun

Le détail des lignes indispensables dans smb.conf pour la partie "global":

 workgroup = Nom du groupe de travail


 server string = Description de la machine (vue depuis le réseau Windows)
 security = type de sécurité choisi, exemples de valeurs "share" (notre exemple) ou
"user" (cas traité dans le prochain exemple)
 load printers = prise en charge des imprimantes installés sur le serveur. Valeur "yes"
ou "no"
 disable spoolss = désactive le partage d'impression (notre cas ici). Valeur "yes" ou
"no"
 hosts allow = Liste des hôtes ou réseaux autorisés (valeur ip machine complète ou
partiel réseau). Pour plusieurs machines, séparez les ip par des virgules. Dans notre
exemple, nous avons choisi le partiel réseau.

Le détail des lignes présentes dans les options du dossier partagé :

 Chaque partage est tout d'abord défini par son nom entre crochets (le nom qui sera
visible depuis l'accès réseau)
 path = Arborescence linux du dossier partagé
 comment = Commentaire sur le partage
 public = accès public (valeur "yes" ou "no")
 force directory mode = Permet de forcer les droits de chaque sous dossier
créé/modifié
 force create mode = Permet de forcer les droits de chaque fichier créé/modifié
 writeable = Ecriture possible dans le dossier (valeur "yes" ou "no")
 browseable = Autoriser la visibilité du dossier dans l'explorateur

Et donc, le fichier "smb.conf" complété pour notre exemple (ne vous reste à
adapter que " workgroup ", " server string " et " hosts allow " si vous avez suivi
pas à pas) :
# vi /etc/samba/smb.conf

## fichier conf samba


## exemple 1 mgroup.fr

[global]
workgroup = WORKGROUP
server string = samba-test
security = share
load printers = no
disable spoolss = Yes

# securite reseau
hosts allow = 192.168.0.

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

[partage_commun]
path = /share/commun
comment = Partage pour tous
public = yes
force directory mode = 777
force create mode = 777
writeable = yes
browseable = yes

# fin du fichier

Démarrage de samba pour prise en compte du nouveau fichier :

# service smb start

Ou pour le redémarrer :# service smb restart

Vous aimerez peut-être aussi