Linux : Partager ses dossiers avec Samba
Par Oxxen le 27-08-2005
Accéder à ses données d'un Linux vers un windows et vice-versa
Sommaire :
I. Installation de Samba
II. Configuration de Samba
III. Creation d’un partage
IV. Accéder à nos partages à partir de Windows
V. Bonus
Le but de ce tutorial est de vous expliquer brièvement
et le plus concrètement possible le fonctionnement
de Samba avec un petit bonus
en prime à la fin de ce document.
Contexte
Vous venez d'installer une nouvelle machine Linux qui marche très bien (normal
me direz vous :p)
et vous disposez d'une machine Windows Xp qui contient vos
anciens documents, vidéos, tools
ou autres...
Question: Comment partager les répertoires et fichiers entre votre nouveau
système Linux
et votre Windows XP ?
Réponse : Pour cela, vous devez installer Samba sur votre machine Linux.
La configuration :
2 machines :
1 debian avec l?adresse ip 192.168.56.128
1 windows xp avec l?adresse ip 192.168.56.130
I. Installation de Samba
La dernière version de Samba est la version 3.
Suivant votre distribution, les packages sont déjà tout fait et l'installation
ne pose aucune difficulté.
Par exemple :
Pour Mandrake : Urpmi samba
Pour Debian : apt-get install samba
Pour gentoo : emerge samba
Pour freebsd : cd /usr/ports/net/samba3 ;make
install clean
II. Configuration de Samba
La configuration du serveur Samba repose sur le fichier smb.conf.
La première section [global] définit les paramètres de votre serveur samba avec
le nom
du groupe de travail, le nom netbios utilisé par le pc, les
administrateurs , les logins interdits etc..
Nous allons voir ensemble quelques paramètres.
Workgroup : Nom du groupe de travail ou
du domaine (et oui on peut faire un pdc avec samba )
Server string : la description du
serveur dans le voisinage réseau
Netbios name : le nom de la machine
linux tel qu?il apparaitra dans le voisinage réseau de votre windows.
( nous
renseignerons mynux pour la suite de ce tutorial):
log file = /var/log/samba/log.%m :
permet de loguer les connexions au serveur samba avec un fichier
de log pour
chaque machine.
printing : permet de définir le logiciel
de gestion de vos partages d?imprimantes (actuellement le plus
en vogue est cups)
syslog only = no : permet d'activer ou
désactiver syslog pour samba.
security = user
Il existe 2 modes de sécurité: share et user.
Le mode share ne nécessite aucune authentification. En utilisant le paramètre
guest only toute nouvelle
connexion utilisera le compte « guest ».
Il est donc fortement conseillé d?utiliser le mode user qui lui nécessite une
authentification.
Le mode par défaut utilisé à partir de la version 3 de Samba est le mode user.
encrypt passwords = true : crypter les
mots de passe
invalid users = root : impossibilité de
se logguer en root.
unix password sync = no : permet de
synchroniser les mots de passe samba avec votre serveur linux
( situés dans /etc/passwd)
hosts allow et hosts deny permettent de
définir les hôtes ou le réseau que vous voulez autoriser ou non
à se connecter à
votre serveur samba.
Par exemple, pour notre cas, on pourrait rajouter :
hosts allow = 127.0.0.1 192.168.56.0/24
hosts deny = 0.0.0.0/0
Le paramètre printing est intéressant pour les imprimantes, je développerai
cette section un peu plus tard.
III. Création d'un partage
Par défaut le home de chaque utilisateur est partagé mais n?ait pas accessible
en écriture.
Pour copier à partir de votre windows xp les données directement dans votre home
directory linux, il vous suffit
de donner le droit en écriture en changeant la
ligne writable :
writable = yes
Pour créer un nouveau partage, vous devez renseigner le nom du partage, les
droits d?accès et le chemin.
Par exemple, si je souhaite partager le répertoire /var/tools et le rendre
accessible en lecture et écriture
uniquement pour l?utilisateur elio voici la
syntaxe utilisée :
[tools]
comment = Tools EliO
browseable = yes
writable = yes
path = /var/tools
valid users = elio
Le paramètre browseable permet de voir le partage directement à partir de votre
voisinage réseau de votre Windows xp
Ensuite il faut créer l?utilisateur elio à l?aide de la commande smbpasswd
smbpasswd ?a nomutilisateur
Par exemple pour l?utilisateur elio :
smbpasswd ?a elio
Ensuite relancer samba pour prendre en compte les modifications effectuées à
l?aide de la commande :
/etc/init.d/samba restart
IV. Accéder à nos partages à partir de
l'ordinateur windows
Afin d'accéder aux partages crées précédemment, vous pouvez procéder comme tout
autre partage
entre deux windows comme ci dessous:
\\nom de votre serveur
Une demande d'authentification vous sera demandée ( normal si vous utilisez le
mode user).
Dans notre cas , nous rentrons les paramètres de l'utilisateur crée (elio)
Nous voyons correctement nos deux répertoires partagés.
Si vous avez correctement configuré votre workgroup, vous pouvez également
directement par le voisinage réseau accéder à votre serveur samba et donc aux
fichiers partagés
Vous pouvez maintenant sans problème transférer vos données à partir de votre
ordinateur windows vers l'ordinateur linux.
Mais il serait également intéressant de récupérer à partir de votre linux les
documents partagés du windows.
Nous allons tout d'abord définir un partage "tools" sur notre windows.
Une fois ce partage crée, il faut installer sur votre débian le package smbfs.
apt-get install smbfs
Ensuite vous allez monter dans un répertoire votre partage windows.
Pour cela vous pouvez crée un répertoire windows dans /mnt par exemple:
mkdir /mnt/windows
Puis ensuite, pour le monter il faut utiliser la syntaxe suivante:
mount -t smbfs \\\\l'ip de l'ordinateur windows\\nom
du partage le point de montage -o username=le nom de votre utilisateur windows
Par exemple dans notre cas:
mount -t smbfs \\\\192.168.56.130\\tools /mnt/windows
-o username=elio
ou
mount //192.168.56.130/tools /mnt/windows/ -o
username=elio
Généralement vous n'utiliserez qu'une seule méthode soit vous partager vos
répertoire windows et accéder à partir de votre linux ou l'inverse.
Mais pour ce tutorial, j'ai décidé de vous présenter les deux manières
.
VI. Outils supplémentaires
Il existe des outils pour vous faciliter la tâche d?administration comme Webmin
et Swat.
Pour plus d'infos sur le module samba de webmin :
http://www.webmin.com/download/modules/samba.wbm.gz
http://www.webmin.com/standard.html
Exemple interface de Swat:
http://linuxbook.orbdesigns.com/ch27/images/btlb2702.jpg
Personnellement je vous conseille d'utiliser le schell pour configurer Samba car
vous apprendrez plus facilement les différentes options (pas si nombreuses
finalement) et vous n'aurez pas des services supplémentaires qui tournent sur
votre machine.
V. Bonus
Pour vous démontrez et rendre encore plus concret ce tutorial j'ai réalisé une
petite vidéo sous Debian de l'installation et de la configuration d'un serveur
samba opérationnel en 3 minutes.
En effet, comme nous l?avons vu par défaut le home directory des utilisateurs
sont partagés donc il suffit de les rendre accessible en écriture et vous
pourrez déjà copier ou récupérer tous les répertoires et fichiers dans votre
home.
Puis j'ai configuré un répertoire partagé nommé « tools » pour vous montrer la
rapidité et la simplicité de configuration d?un partage.
Durée de la vidéo : 2 min 30 Taille: 4.45 Mo
Télécharger la vidéo de démonstration maintenant
Ce tutorial sera prochainement mis à jour (dès que j?aurai le temps) avec
sûrement la gestion des imprimantes partagées avec cups etc?
Pour toute question, vous pouvez me mp ou poster dans la section Linux sur le
forum de Futurezone. En fonction des questions je corrigerais et ferait évoluer
ce tutorial suivant vos besoins
Merci à tous ceux qui font vivre ce forum et plus particulièrement aux habitués
du chan irc (4N9e, Deimos, DDelec24 )
A+
EliO