[[samba]]
Piste: » samba
Samba ou le partage de fichiers Windows
-Pour partager des fichiers d'une manière universelle (Unix, Windows, Mac) à travers un réseau, il est conseillé d'utiliser Samba. Cette page a pour but de vous donner les informations essentielles pour que vous puissiez accéder à un répertoire partagé sur un système Samba ou une machine Windows et créer un partage sur votre Ubuntu pour que les autres puissent venir les chercher grâce à Samba.
Accès à un partage de fichier
Depuis Linux
Si vous désirez simplement accéder aux répertoires partagés sur d'autres ordinateurs Windows sans avoir de partage sur votre ordinateur Ubuntu, vous n'avez rien de particulier à installer, car le minimum requis est déjà présent (smbclient).
Cet accès aux répertoires partagés est très simple. Il existe trois méthodes:
- Raccourcis→Serveurs réseaux vous permettra de parcourir le réseau Windows pour trouver votre répertoire partagé. Il suffit de savoir le nom du groupe de travail (aussi appelé workgroup) et de la machine (nom netbios), puis le cas échéant de saisir un identifiant et un mot de passe connus de la machine possédant le partage (attention, si c'est un Windows XP, le compte utilisé doit avoir un mot de passe non vide). Si vous le désirez, vous pouvez créer un raccourci réseau (appelé sous Windows lecteur réseau) en effectuant un clic droit sur le répertoire partagé et dans le menu contextuel choisir Monter le volume. Vous aurez un raccourci sur le bureau ou dans le menu du même nom.
- Raccourcis→Se connecter à un serveur…
Dans la fenêtre Connexion au serveur, il y a plusieurs paramètres à remplir :
-
- choisissez dans Type de service: Partage Windows
- dans Serveur: il faut indiquer l'adresse IP de l'ordinateur sous Windows. Le nom netbios (nom Windows) de la machine ayant le partage ne sert que s'il est renseigné dans Ubuntu (ce nom apparaît dans le champ "nom complet de l'ordinateur" quand vous allez dans l'onglet "nom de l'ordinateur" des propriétés systèmes du panneau de configuration).
- dans Partage: le nom du partage
- dans Dossier: vous pouvez spécifier un dossier du partage où vous voulez vous rendre directement, bien sur vous pouvez ne rien mettre.
- Nom d'utilisateur : nom utilisé pour l'authentification.
- Nom de domaine : pour indiquer le nom de domaine NT si besoin, mais il n'est pas indispensable de remplir ce champ.
- Cochez la case Ajouter un signet et donnez lui un nom, si vous souhaitez créer un lien dans votre menu Racourcis pour ce partage.
- Vous pouvez aussi entrer manuellement l'adresse dans la barre de nautilus (On peut éditer l'emplacement en cliquant à gauche de la barre d'emplacement). L'adresse est la suivante:
smb://nom_de_l'ordinateur_distant/nom_du_partage
- Faites attention à la casse pour les noms de partage. De plus, l'identifiant Windows n'est pas sensible à la casse, tandis que le mot de passe si.
- Dans le cas où la ressource partagée à laquelle vous voulez accédez est sur un serveur Windows 2003 la procédure est légèrement différente, en effet ce dernier n'utilise plus smbfs mais cifs ; plus d'info ici.
Les dossiers partagés n'apparaissent pas dans réseau
Malheureusement, il semble que ubuntu ait parfois de la peine à détecter les partages réseau. Pour y accéder, vous devrez donc utiliser obligatoirement la deuxième ou troisième méthode.
Le répertoire magique de Nautilus
Depuis Hardy il existe dans votre répertoire personnel un dossier magique qui se nomme .gvfs. Vous trouverez dans ce dossier tous les répertoires montés par Nautilus (plus exactement par gvfs). Autant les ftp que les répertoires partagés avec samba. Ce répertoire magique permet donc d'accéder à vos fichiers sur le réseau avec des applications comme vlc, mplayer pour ne citer qu'eux.
- Pour faire fonctionner ce répertoire installez le paquet gvfs-fuse
- Pour accéder à ce dossier ouvrez votre répertoire personnel faite Affichage → Afficher les fichiers cachés vous trouverez alors le répertoire .gvfs. (plus simplement ouvrez ~/.gvfs)
Monter un répertoire partagé en ligne de commande
Pour monter un répertoire partagé en ligne de commande (montage automatique au démarrage par exemple) vous devez :
- Puis exécuter dans un terminal :
gvfs-mount smb://ADRESSE_SERVER/DOSSIER_A_MONTER
Cette méthode marche aussi pour tous autres protocoles de GVFS (FTP, SSH …).
Depuis Windows XP.
Afin d'accéder aux dossiers que vous avez mis en partage sur votre poste ubuntu:
- Rendez vous dans le poste de travail ou le dossier où vous voulez que soit placé le partage.
- Cliquez sur Outils ,puis sur "connecter un Lecteur Réseau"
- Séléctionnez alors dans la liste qui parait le nom de votre ordinateur dans le domaine où celui ci se trouve.
- Sélectionnez ensuite dans la liste de vos dossiers partagés celui auquel vous souhaitez accéder.
- Un icone apparait dans le poste de travail ou le dossier où s'est effectuée l'opération.
Création d'un partage Samba
Ancienne et nouvelle méthode
Depuis Hardy Heron (8.04 LTS), une nouvelle gestion des partages est apparue : "nautilus-share". Ce changement a été effectué afin de simplifier la vie aux utilisateurs. Il n'est désormais plus nécessaire d'avoir les droits d'administration pour partager un dossier. De plus, le partage se fait plus rapidement grâce à un simple clic droit sur le dossier.
Certaines personnes préfèrent néanmoins l'ancienne méthode. Elle permet de gérer les partages de manière centralisée, et fonctionne mieux dans un parc avec des ordinateurs tournant sous une autre distribution. Il est possible de revenir à l'ancienne méthode en suivant les instructions ci-dessous.
Nouvelle méthode (Hardy Heron et suivantes)
Là où le partage d'un réseau est un véritable parcours du combattant, ( suivez mon regard ) à partir de la version Hardy de Ubuntu les configurations sont très simples à effectuer.
Créer le partage
Pour créer un partage, il vous suffit de faire un clique-droit sur un dossier, et de choisir l'entrée option de partage. Vous pouvez choisir le nom du partage (qui est le nom sous lequel le dossier apparaîtra sur les autres ordinateurs du réseau), ainsi que les droits d'accès.
Le dossier sera alors accessible aux autres ordinateurs du réseau tournant sur Ubuntu. Les noms d'utilisateur et mots de passe qui sont demandés pour accéder au partage de fichier sont ceux des comptes utilisateur d'Ubuntu sur lequel se trouve les dossiers partagés.
Pour partager des dossiers avec Windows, il faut encore placer notre ordinateur dans le bon workgroup.
Workgroup
Les workgroup (groupe de travail) sont des regroupements d'ordinateurs partageant des dossiers sur un réseau local. Pour pouvoir partager des données entre eux, deux ordinateurs sous Windows doivent être dans le même groupe de travail. Si vous voulez partager des données entre un ordinateur sous Ubuntu et un ordinateur sous Windows, vous devez mettre l'ordinateur Ubuntu dans le même groupe que l'ordinateur sous Windows. Cette démarche n'est pas nécessaire pour partager des données entre postes Ubuntu.
Pour cela éditez le fichier /etc/samba/smb.conf
rechercher la ligne contenant :
workgroup = …
et remplacer ce qui apparaît à la place des … par le nom de votre groupe de travail.
Le smb.conf modifié est immédiatement utilisé dans les 5 minutes suivant sa modification.
Gérer tous les partages
Pour pouvoir gérer tous les partages des fichiers utilisateurs d'une manières généralisée et sans Nautilus par exemple sous kubuntu, installez le paquet system-config-samba qui ajoutera un menu Samba dans Système → Administration.
Ancienne méthode
Création d'un partage Samba
Une fois que vous avez installé le paquet samba (apt://samba installé par défaut sous Hardy), vous pouvez partager un répertoire de votre Home pour donner un accès aux machines Windows à vos fichiers.
Deux méthodes de partage
= Première méthode =
Ubuntu est une distribution qui cherche à simplifier l'utilisation de Linux et le partage de dossier est aussi simple que sous Windows. Soit vous utilisez l'utilitaire Dossiers partagés (dans le menu Système ⇒ Administration):
Dans la nouvelle fenêtre Paramètres des dossiers partagés cliquez sur Ajouter → Répertoire partagé.
Indiquez le répertoire à partager dans Chemin et le type de partage SMB, puis donnez un nom à ce partage, éventuellement un commentaire. Puis cochez ou pas les options Lecture seule et Autoriser navigation du dossier (cette dernière permet de parcourir les répertoires contenus dans le dossier partagé). Le bouton Réglages généraux du partage Windows permet de régler quelques options spécifiques (recherche serveur wins, nom du worksgroup…) mais les réglages par défaut suffisent pour la plupart des cas.
Ayant, sans doute, utilisé cette méthode je ne pouvais créer/modifier depuis un poste win98 dans le répertoire partagé. J'ai alors modifié de no à yes la ligne writable= présente dans /etc/samba/smb.conf au paragraphe relatif au répertoire partagé.
= Deuxième méthode =
Plus simplement, il suffit de créer ou utiliser un dossier de votre Home, puis un clic droit et sélectionnez Dossier partagé. Rentrez votre mot de passe root et vous retrouvez la fenêtre de configuration : Répertoire partagé expliquée plus haut (sauf Hardy non modifiée). Avantage de cette méthode les droits de ce répertoire ne bougent pas.
Authentification - Gutsy et versions antérieures
Dernière chose à faire avant de pouvoir accéder au répertoire partagé de votre machine, il faut créer des mots de passe pour les comptes qui auront accès à ceux-ci. Car Samba n'utilise pas les mots de passe du système mais a son propre fichier pour stocker ceux-ci.
Pour créer les mots de passe samba :
sudo smbpasswd -a user_name
Sans authentification
Pour laisser passer tout le monde sans code, éditez le fichier /etc/samba/smb.conf section [global] et ajoutez:
map to guest = Bad User
hosts allow = 192.168.
Laisser l'accès à n'importe quel utilisateur d'Internet serait très dangereux d'autant plus qu'il s'agit d'une faille très connue et souvent exploitée.
Une autre façon de partager le contenu de vos dossiers partagés à tous ceux sur le réseau sans qu'aucune authentification ne soit requise est de modifier la ligne suivante dans la section "authentication":
security = user
par
security = share
N'oubliez pas d'enlever le point-virgule pour que la ligne de code soit prise en compte. L'effet est automatique et se fait dans les trois minutes, pas besoin de redémarrer le service samba.
Revenir à l'ancienne méthode à partir de Hardy Heron
Le nouveau système de gestion de partages n'est pas commun dans les "standards" GNU/Linux et peut donc causer des désagréments notamment lorsque l'on désire utiliser un autre navigateur de fichiers que Nautilus. Il rend donc plus difficile la compatibilité entre les gestionnaires de fichiers et plus largement entre les distributions.
"shares-admin" est toujours présent dans Hardy bien que caché. Si ce n'est pas le cas (installation via un CD alternate), Installez le paquet gnome-system-tools.
Pour retrouver le comportement initial avec "shares-admin", voici la procédure à suivre :
1- Supprimez le paquet "nautilus-share"
2- Recréer l'entrée dans le menu "Système→Administration" comme suit :
- Ouvrir "Système→Préférences→Menu principal"
- Cliquer à gauche sur "Système→Administration" et faire "Nouvel élément" :
- Nom : Dossiers partagés
- Commande : shares-admin
- Commentaire : Gestion des partages
Cela permettra de retrouver cette entrée telle qu'elle existait sous Gutsy.
3- Installez le paquet "nautilus-actions" pour pouvoir recréer un menu contextuel nautilus-actions.
4- Lancer "nautilus-actions-config" avec Alt-F2 ou "Configuration des actions de Nautilus" dans le menu "Système→Préférences" et ajouter une nouvelle entrée en remplissant les champs comme suit :
- Libellé : Partager ce dossier…
- Infobulle : Mettre ce dossier en partage sur votre réseau
- Icône : folder-remote
- Chemin : shares-admin -a
- Paramétre : %M
Onglet Conditions :
- Cocher "seulement des dossiers"
Onglet Conditions avancées :
- Cocher "file"
5- Si les modifications ne sont pas prises en compte immédiatement :
nautilus -q
Des compléments d'information dans le topic dédié (Merci à Networlds).
"shares-admin" ayant maintenant repris ses droits, on se retrouve avec le même comportement que sous Gutsy.
Samba se lance dès son installation, mais voici les trois commandes utilisées pour le démarrage, l'arrêt et le redémarrage de Samba :
sudo /etc/init.d/samba start sudo /etc/init.d/samba stop sudo /etc/init.d/samba restart
Mode avancé
Introduction
Samba avancée regroupe les différentes pages sur l'utilisation de Samba en mode avancé. Ces pages sont là pour vous aider à sa configuration et son utilisation, mais n'ont pas comme but de vous expliquer le fonctionnement interne de Samba et son interaction avec Netbios de Microsoft. Si c'est ce genre d'information que vous recherchez, je vous conseille de faire un tour sur le site officiel ou vers des livres spécialisés comme ceux de O'reilly ou Eyrolles, sans oublier que Google est votre ami
.
Description
Samba permet de partager, à partir de machines sous linux/unix, des fichiers et des imprimantes avec le monde Windows mais aussi de mettre en place un serveur WINS permettant la résolution de noms Netbios.
Samba est composé de plusieurs éléments. Vous avez des outils/programmes sous forme de commandes (smbstatus, smbclient…..) , deux démons principaux smbd et nmbd et un fichier de configuration smb.conf. De plus il existe plusieurs outils pour le configurer en mode graphique, les plus connus/utilisés sont SWAT qui est le systéme officiel et webmin-samba module intégré à webmin.
Une interface graphique existe pour configurer de façon avancée samba, c'est un vrai miracle cette interface
c'est gsambad
=pàçi$ iopyompiompcone_partage_samba|icone gnome partage]] - Comment afficher une icone dossier partagé ?
Configuration de base
Pour installer Samba, suivez les instructions de la page Samba.
Informations techniques : liste des ports
Voici la liste des ports utilisés pour se connecter à un serveur Samba. Cette liste peut vous servir à configurer un routeur pour accéder à un serveur Samba situé derrière ce routeur. Elle peut également vous aider à configurer manuellement un pare-feu (firewall).
| port | nom du service | protocole |
|---|---|---|
| 137 | NetBIOS Name Service (nbname) | UDP |
| 138 | NetBIOS Datagram Service (nbdatagram) | UDP |
| 139 | NetBIOS Session Service (nbsession) | TCP |
| 445 | "Direct-Hosted" TCP | TCP et UDP |
La méthode de connexion traditionnelle (SMB) utilise les trois premiers ports tandis que la nouvelle méthode (CIFS - sur Windows XP) n'utilise que le port 445.
Ces informations proviennent de The Unofficial Samba Howto.
Regles iptables
iptables -A INPUT -p udp --dport 137 -j ACCEPT iptables -A INPUT -p udp --dport 138 -j ACCEPT iptables -A INPUT -p tcp --dport 139 -j ACCEPT iptables -A INPUT -p tcp --dport 445 -j ACCEPT iptables -A INPUT -p udp --dport 445 -j ACCEPT iptables -A OUTPUT -p udp --sport 137 -j ACCEPT iptables -A OUTPUT -p udp --sport 138 -j ACCEPT iptables -A OUTPUT -p tcp --sport 139 -j ACCEPT iptables -A OUTPUT -p tcp --sport 445 -j ACCEPT iptables -A OUTPUT -p udp --sport 445 -j ACCEPT
Accéder à un partage sur un NAS
Pour monter un partage samba sur un NAS, il faut
1 - créer un dossier pour le point de montage, par exemple un dossier nas
sudo mkdir /media/nas
2 - monter le dossier partagé
–> soit à la main :
sudo mount -t cifs //ip_serveur/nom_partage /media/point_montage -o user,user=nom_utlisateur,pass=mot_de_passe
–> soit automatiquement en modifiant le fichier fstab
sudo gedit /etc/fstab
puis ajouter la ligne suivante
//IP_serveur/nom_partage /media/point_montage cifs user,user=nom_utilisateur,pass=mot_passe 0 0
où nom_utilisateur et mot_passe sont ceux définis sur le NAS
Plus d'info sur ce topic dans le forumhttp://forum.ubuntu-fr.org/viewtopic.php?id=147569&p=2
Démons de Samba
Le fonctionnement de Samba repose principalement sur ses deux démons: smbd , nmbd.
Il existe un troisième depuis la version 3 de Samba c'est winbindd.
Théoriquement lors de l'installation du paquet samba et de ses dépendances, le système a configuré votre Ubuntu pour que ces démons soient lancés automatiquement au démarrage. Si ce n'était pas le cas, modifiez vos fichiers de boot /etc/rc.x et /etc/services.
smbd
C'est le principal démon de Samba car c'est lui qui permet le partage des fichiers et des imprimantes. Son paramètrage se fait par l'intermediaire du fichier de configuration smb.conf. smbd verifie toutes les trois minutes ce fichier pour prendre en compte les modifications. Vous pouvez accélérer cette prise en compte en relancant le démon manuellement.
nmbd
nmbd est le démon de samba qui permet le nommage NetBios et l'exploration des réseaux Windows. Il est egalement utilisé pour la résolution de nom et la fonction Wins en cas où vous utilisez samba comme serveur pour votre réseau NetBios.
Il prend ses paramètres dans le fichier smb.conf comme smbd.
La commande nmblookup <MACHINE> permet de récupérer l'adresse IP à partir d'un nom de machine NETBIOS, à la manière de nslookup pour le DNS.
winbindd
Ce dernier démon ne sert que si vous intégrez votre serveur samba dans un domaine NT ou que vous avez besoin de relation d'approbation entre domaine Windows.
Liens
Quelques URL pour trouver plus d'informations.
- Le site officiel : www.samba.org
- Et n'oubliez pas… votre moteur de recherche préféré est votre ami

Si vous avez vraiment du mal à configurer samba voilà un petit tutoriel :



