ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[samba]]

Piste: » samba


Samba ou le partage de fichiers avec Windows

Pour partager des fichiers avec les systèmes de Microsoft à 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 une machine Windows et créer un partage sur votre Ubuntu pour que les autres puissent venir les chercher grâce à Samba.

Configuration de base

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).
Si vous voulez, par contre, partager des répertoires de votre ordinateur sous Ubuntu et qu'ils soient accessibles depuis des ordinateurs sous Windows, il vous faut installer le paquet samba.

Note : le package samba de Feisty (v3.0.24) n'est pas compatible avec Vista (voir ici : http://www.michel-eudes.net/blog/index.php?2007/05/05/33-samba-et-vista)

Accès aux répertoires partagés sur Windows

Depuis Ubuntu, comment lire les répertoires partagés de Windows ?

Cet accès aux répertoires partagés est très simple. Dans le menu Raccourcis vous avez deux possibilités :

  • 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 Connecter ce serveur. Vous aurez un raccourci sur le bureau ou dans le menu du même nom.
  • Connecter au serveur... vous permettra de saisir directement les paramètres vous permettant de créer un raccourci pointant sur le dossier partagé.

Dans la fenêtre Connexion au serveur, il y a plusieurs paramètres à remplir :

  • Type de service : utilisez le menu pour choisir Partage Windows.
  • 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).

Les autres informations ne sont pas indispensables pour créer un raccourci. Si vous ne savez pas quoi mettre, commencez par laisser ces champs vides.

  • Partage : donnez le nom du partage créé sur le PC sous Windows.
  • Dossier : paramètre optionnel qui permet de viser un dossier dans le répertoire partagé.
  • 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.
  • Nom à utiliser pour la connexion: nom pour le raccourci créé sur votre machine Ubuntu.
  • Le bouton Parcourir le réseau a la même fonction que l'icône Serveurs réseaux du menu Raccourcis.

  • 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.

Création d'un partage Samba

Hardy Heron

La gestion des partages a changé depuis Hardy. "shares-admin" a été remplacé par "nautilus-share" qui est toujours basé sur samba mais n'utilise plus le fichier "smb.conf".

Depuis Hardy Heron (8.04 LTS), une nouvelle gestion des partages est apparue : "nautilus-share".

Le clic-droit "options de partage" sur un dossier dans Nautilus a pour effet de créer un partage simplement. Le but de cette nouvelle commande est de permettre de créer des partages sans mot de passe root (ni sudo). Elle remplace la commande "shares-admin", disponible dans "Système>Administration" sous Gutsy et donc disparue sous Hardy.

Le problème est que ce système n'utilise plus le fichier "smb.conf" - comme le faisait "shares-admin" qui y ajoutait automatiquement les entrées - mais crée un nouveau fichier de configuration (en réalité plusieurs : un par partage). Ces fichiers de conf se trouvent dans "/var/lib/samba/usershares".

Ce 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.

Gutsy Gibbon et versions antérieures - Hardy modifiée tel que ci-dessus

Depuis Windows, comment lire les fichiers d'Ubuntu ?

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.

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.

Pour avoir l'icône "dossier partagé" automatiquement après le partage du dossier, rendez-vous sur ce tutoriel.

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 (/etc/smbpasswd).

Pour créer les mots de passe samba :

sudo smbpasswd -a user_name
Remplacer user_name par le(s) nom(s) des utilisateurs ayant accès à samba, il faut que ces utilisateurs aient un compte (au sens Unix sur la machine) gestion compte explique la marche à suivre pour ajouter un utilisateur.

Authentification - Hardy

Sous Hardy, les mots de passes samba sont automatiquement générés à partir des comptes Unix existants. "smbpasswd" n'est plus utilisé, il a été remplacé par tdbsam depuis la version 3 de samba. + d'info ici

Avec tdbsam, la commande pour ajouter un utilisateur devient :

pdbedit -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
Cette fonctionnalité peut être dangereuse ! Vérifier que le firewall est configuré correctement pour n'accepter que les connexions sur le réseau local (ou une partie de ce dernier) ou ajouter la règle samba :

  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.

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és 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é l'opération.

Note

L'étendue des possibilités offertes par Samba est encore plus grande, comme par exemple les PDC et les serveurs WINS. De plus l'édition directe du fichier smb.conf donne accès à plus de finesse dans les réglages. Enfin, il est possible de configurer en ligne via les interfaces SWAT ou Webmin. Tout ceci sera détaillé au paragraphe « Mode avancé ».

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 (en anglais) existe pour configurer de façon avancé samba, c'est un vrai miracle cette interface :-) c'est gsambad

Pages de Samba

  • Outils - Page sur les différentes commandes de Samba (smbstatus, smbpasswd,...).
  • demons_de_samba - Page sur les démons de Samba : smbd et nmbd.
  • Smb.conf - Page décrivant le fichier de configuration de Samba.
  • SWAT - Page consacré à SWAT, l'outil de configuration graphique de Samba.
  • Webmin - Page sur la configuration de Samba via Webmin.
  • 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.

Si vous avez FireStarter il est impératif de ne pas bloquer les broadcasts en provenance des réseaux externes. Pour ce faire, aller dans Edit –> Preferences –> Firewall –> Advanced Options et décocher "Block broadcasts from external network". Sans cela, vous êtes obligé de taper l'adresse IP de votre boite Linux sur le poste Windows pour accéder à vos fichiers, plutôt que de passer par le nom de votre poste dans le voisinage réseau. (désolé, je ne sais pas trop comment fonctionne les Wiki... il faudrait sûrment déplacer ou reformater ce post) [Le_MuLoT]
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

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 partager
–> 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.

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

Categorie samba


samba.txt · Dernière modification: Le 06/07/2008, à 18:40 par 81.56.140.83, 127.0.0.1
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL