Le partage de dossiers et d'imprimantes dans un réseau local est une fonctionnalité des systèmes d'exploitation modernes permettant d'accéder à des ressources d'un ordinateur (dossiers de données et imprimantes) à partir d'un autre ordinateur situé dans un même réseau local (réseau domestique ou d'entreprise).
Le logiciel Samba est un outil permettant de partager des dossiers et des imprimantes à travers un réseau local. Il permet de partager et d'accéder aux ressources d'autres ordinateurs fonctionnant avec des systèmes d'exploitation Microsoft® Windows® et Apple® Mac OS® X, ainsi que des systèmes GNU/Linux, *BSD et Solaris dans lesquels une implémentation de Samba est installée.
Pour partager de manière simple des ressources entre plusieurs ordinateurs, l'utilisation de Samba est conseillée.
Pour les utilisateurs de Xubuntu et de Lubuntu , le partage simple ne fonctionne pas. Suivre cette méthode : shares-admin ou system-config-samba.
Dans l'ensemble des articles concernant les réseaux, retenez ces quelques notions :
workgroup
du fichier de configuration Samba.
Sinon elle sera accessible uniquement par son adresse IP (et donc invisible autrement).
Pour le nom de la machine cf. hosts
Sans ce nommage, on pourra rencontrer des problèmes du type :
Your hostname could not be resolved , pour plus d'infos, cf. aussi dns.
Pour utiliser Samba, installez le paquet samba. Vous pouvez également gérer le partage grâce à des interfaces graphiques pour Samba, la plus simple est system-config-samba, une autre possibilité plus avancée est gsambad.
Cette partie décrit la manière d'accéder à des dossiers partagés entre différents ordinateurs, cela suppose qu'il y ait déjà des dossiers partagés sur d'autres PC. Pour partager des ressources rendez-vous directement à cette partie de la page.
Depuis votre navigateur de fichier cliquez sur Réseau dans le panneau latéral gauche. Sous Lubuntu allez dans le menu Allez à…→Network.
Les ordinateurs de votre groupe de travail sont listés dans cette interface. Sélectionnez l'ordinateur distant de votre groupe de travail pour accéder à ses dossiers partagés. Vous voyez les dossiers partagés par cet ordinateur.
Avec la version 14.04.3, il est impossible d'accèder aux fichiers des partitions NTFS car celles-ci n'appartiennent plus à root! et la commande chown est inefficace.
Aucune configuration particulière n'est à faire sur le poste équipé de Windows. Aller dans :
Autre façon de procéder :
La procédure est la même que dans le point plus haut.
Si vous n'arrivez pas à accéder à un partage Windows 7 sous Ubuntu, même en saisissant correctement vos informations d'identification du poste distant ceci est apparemment dû à une incompatibilité entre les modes de partage de Windows 7 et ceux des précédentes versions de Windows (sur lesquels se base Samba). Pour corriger la situation, vous devez modifier certains paramètres concernant la gestion des partages par Windows 7.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\
puis:everyoneincludesanonymous
de 0 vers 1;NoLmHash
de 1 vers 0;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters
, puis:restrictnullsessaccess
de 1 vers 0;Certains ordinateurs protègent l'accès à leurs ressources partagées dans un réseau local. Dans ces cas-là, une ou plusieurs de leurs ressources peuvent être restreintes aux utilisateurs disposant d'un compte d'utilisateur dans l'ordinateur distant uniquement. Si une fenêtre d'identification apparaît lorsque vous tentez d'accéder à l'ordinateur distant ou à un dossier partagé, vous devez saisir l'identifiant et le mot de passe de votre compte de l'ordinateur distant.
Si vous n'avez pas de compte d'utilisateur dans l'ordinateur distant auquel vous voulez accéder, vous pouvez en créer un avec cette commande:
sudo useradd -s /bin/true nom_utilisateur_samba
Puis vous devrez certainement lui attribuer un mot de passe samba, grâce à cette commande:
sudo smbpasswd -a nom_utilisateur_samba
Les mots de passe enregistrés sont ensuite gérables avec Le gestionnaire de mots de passe et clés de chiffrement.
Quand on veut accéder depuis Windows 7 ou 8 à un dossier partagé par Ubuntu avec des restrictions de droits, une fenêtre demandant l'autorisation apparaît. Il faut simplement donner le nom d'utilisateur Linux et son mot de passe associé pour accéder au dossier partagé. Si vous n'arrivez à accéder au dossier partagé, il s'agit probablement d'un niveau de sécurité trop élevé demandé par Windows par défaut. Pour résoudre cela, Suivez la procédure suivante :
Envoyer LM et NTLM – utiliser NTLMv2 si négocié
,Les partages SMB et CIFS sont dans la sous-catégorie Réseau Windows
Pour accéder à des ordinateurs d'autres groupes de travail de votre réseau local, allez dans ce dossier Réseau Windows. Les groupes de travail de votre réseau local s'affichent (par défaut seulement WORKGROUP) ; sélectionnez le groupe de travail dans lequel se trouve l'ordinateur auquel vous désirez accéder. Sélectionnez ensuite l'ordinateur distant pour lequel vous souhaitez accéder à ses ressources. Vous voyez les dossiers partagés par cet ordinateur.
Il est parfois possible qu'un ordinateur distant n'apparaisse pas dans la liste des ordinateurs proposant des ressources partagées. Dans ces cas-là, vous pouvez saisir manuellement les informations de connexion pour accéder au partage distant.
Pour partager des dossiers ou des imprimantes (devenir un serveur de partage), des composantes supplémentaires doivent être installées.
Vous pouvez facilement partager un répertoire dont vous êtes le propriétaire – ce sont essentiellement les répertoires se trouvant dans votre dossier personnel d'Ubuntu. Ce mode de partage de dossier est appelé partage utilisateur (ou usershare), car il est administré par chacun des utilisateurs de votre système Ubuntu (et non pas d'une manière centralisée). La configuration d'un partage utilisateur se fait très simplement, et les options de partage sont limitées. De ce fait, il est probablement préférable de désactiver la capacité de configurer des partages utilisateur dans une structure complexe (ex : un réseau d'entreprise) ; toutefois, ce mode est très pratique et pertinent pour un partage simple (ex : dans un réseau domestique).
Pour configurer un partage utilisateur :
sudo smbpasswd -a nom_utilisateur
Les dossiers partagés, ou partages administratifs (shares), sont gérés de manière centralisée. Ils sont uniquement configurables par les administrateurs du système Ubuntu, et leurs options sont plus complètes. Le paquet supplémentaire samba doit être installé afin de profiter de la fonctionnalité serveur de Samba dans le poste Ubuntu.
La configuration de Samba peut se faire :
Ouvrir nautilus et aller dans le menu Éditions → Préférences → Aperçu. Puis indiquez l'option Toujours pour Afficher les vignettes (par défaut : "Uniquement les fichiers locaux"). Vous pouvez faire de même pour les Dossiers.
En cas de problème de connexion, si par exemple, en essayant de parcourir votre réseau, vous obtenez ce message d'erreur: "L'obtention de la liste des partages du serveur a échoué" , regardez la configuration du pare-feu de chaque machine. Vous pouvez consulter ses logs ou le désactiver temporairement, pour vérifier si le problème vient bien de là, avant de le paramétrer par exemple à l'aide d'ufw. Les ports à ouvrir sont indiqués dans le paragraphe Ports liés au partage de fichiers par les protocoles SMB et CIFS.
Si l'erreur "L'obtention de la liste des partages du serveur a échoué" persiste, c'est qu'il n'y a pas de serveur WINS sur votre réseau. Pour activer cette fonction de Samba, Ouvrez le fichier /etc/samba/smb.conf en remplaçant:
wins support = no
par:
wins support = yes
puis redémarrez Samba
sudo service smbd restart
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
par
hosts: files mdns4_minimal [NOTFOUND=return] wins dns mdns4
Au reboot, vos partages devraient fonctionner.
Les partages utilisateurs sont bien pratiques dans un milieu domestique. Toutefois, ils peuvent représenter un risque de sécurité dans un environnement contrôlé, tel une entreprise, où la gestion du partage des ressources devrait être confiée à un administrateur réseau. Les partages utilisateurs devraient être désactivés afin que seuls les membres autorisés puissent partager des dossiers à travers un réseau local.
Pour désactiver ou limiter les partages utilisateurs, ouvrez le fichier de configuration de Samba /etc/samba/smb.conf. Localisez la section suivante :
# Maximum number of usershare. 0 (default) means that usershare is disabled. ; usershare max shares = 100 # Allow users who've been granted usershare privileges to create # public shares, not just authenticated ones usershare allow guests = yes
Il est possible de monter un dossier partagé dans un point de montage de l'arborescence d'un système Ubuntu, tout comme il est possible de le faire avec une partition de disque dur. Ceci est intéressant, par exemple, pour partager des ressources entre plusieurs postes dans une grande entreprise ou pour accéder de manière transparente à un serveur de stockage réseau (Network Attached Storage, ou NAS).
Les tâches suivantes doivent être exécutées par un administrateur. Assurez-vous que le paquet smbfs (ou cifs-utils depuis 12.10) est installé. De plus, assurez-vous de disposer d'un point de montage valide (un répertoire vide dans lequel devra être monté le dossier partagé).
Pour les exemples suivants, nous établirons que :
Si aucune authentification n'est requise pour accéder au dossier partagé ou si vous ne possédez pas d'identifiant dans le poste distant :
sudo mount.cifs //MACHINEDISTANTE/Multimedia /media/MédiasPartagés -o guest
La connexion peut vous être refusée si l'authentification est nécessaire, ou certaines actions peuvent ne pas être disponibles pour vous en tant qu'invité.
Si une authentification dans le poste distant est requise pour accéder au dossier partagé ou pour débloquer certaines actions autorisées pour votre compte dans le poste distant :
sudo mount -t cifs //MACHINEDISTANTE/Multimedia /media/MédiasPartagés -o guest,rw,nosetuids,sec=ntlmv2
Sous Precise:
sudo mount.cifs //MACHINEDISTANTE/Multimedia /media/MédiasPartagés -o username=IDENTIFIANT
où IDENTIFIANT est votre identifiant dans le poste distant. Une invite Password:
vous permet de saisir le mot de passe de votre compte dans le poste distant.
Dans le cas où le nom de partage contient des espaces on utilisera "\" pour échapper l'espace.
Modifiez, avec les droits d'administration le fichier /etc/fstab/ afin d'ajouter une nouvelle règle de montage. Si aucune authentification n'est requise pour accéder au dossier partagé ou si vous ne possédez pas d'identifiant dans le poste distant, inscrivez la règle suivante, sur une seule ligne :
//MACHINEDISTANTE/Multimedia /media/MédiasPartagés cifs _netdev,guest 0 0
Le montage peut vous être refusé si l'authentification est nécessaire, ou certaines actions peuvent ne pas être disponibles pour vous en tant qu'invité.
Si une authentification dans le poste distant est requise pour accéder au dossier partagé ou pour débloquer certaines actions autorisées pour votre compte dans le poste distant, inscrivez la règle suivante, sur une seule ligne :
//MACHINEDISTANTE/Multimedia /media/MédiasPartagés cifs _netdev,credentials=/root/.smbcredentials 0 0
De plus, créez un fichier /root/.smbcredentials contenant le texte suivant – et uniquement ce texte-là :
username=IDENTIFIANT password=MOTDEPASSE
Remplacez IDENTIFIANT par votre identifiant dans le poste distant et MOTDEPASSE par le mot de passe de votre compte dans le poste distant. Il peut être nécessaire de mettre comme identifiant IDENTIFIANT@WORKGROUP. Des guillemets peuvent être utilisées.
Un redémarrage de l'ordinateur est nécessaire pour que le dossier partagé soit monté automatiquement dans le point de montage sélectionné.
(L'option de montage _netdev
indique au système d'attendre que la liaison au réseau local soit établie avant de tenter le montage de ce dossier partagé.) Cependant la commande "sudo mount -a" monte automatiquement tous les systèmes de fichiers énumérés dans /etc/fstab immédiatement.
Dans le cas où le nom de partage contient des espaces on remplace les espaces par \040. Exemple avec un nom de partage Dossier Multimedia :
//MACHINEDISTANTE/Dossier\040Multimedia /media/MédiasPartagés cifs _netdev,credentials=/root/.smbcredentials 0 0
Une méthode alternative qui a l'avantage de mieux fonctionner avec une connexion Wi-Fi est proposée en configurant AutoFs pour monter les dossiers partagés.
Par défaut, les utilisateurs ne sont pas notifiés lorsqu'ils accèdent à un fichier déjà ouvert par un autre utilisateur. Pour activer la notification d'un accès concurrentiel, modifiez le fichier /etc/samba/smb.conf, avec les droits d'administration. Pour chacun des dossiers partagés, ajoutez les deux options suivantes :
strict locking=yes share modes=no
Vous trouverez un complément d'informations (en anglais) ici et là
Si vos postes clients et serveurs ont de la difficulté à communiquer entre eux, il est possible qu'une des causes soit qu'un logiciel de pare-feu soit installé dans l'un ou l'autre des ordinateurs et que celui-ci bloque les communications entrantes ou sortantes utilisés par Samba. Si tel est votre cas, assurez-vous que votre pare-feu laisse passer les communications sur ces ports ; à ce sujet, reportez-vous au manuel d'administration de votre logiciel de pare-feu.
Voici la liste des ports TCP et UDP utilisés par les protocoles SMB et CIFS pour le partage de fichiers et d'imprimantes.
Port | Protocole | Nom du service |
---|---|---|
135 | TCP et UDP | Localisateur de services RPC |
137 | TCP et UDP | NetBIOS Name Service (nbname) |
138 | UDP | NetBIOS Datagram Service (nbdatagram) |
139 | TCP | NetBIOS Session Service (nbsession) |
445 | TCP et UDP | Services de dossiers partagés Windows |
/etc/default/ufw
: # extra connection tracking modules to load \\ # ajout de nf_conntrack_netbios_ns pour Samba \\ IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_irc nf_nat_irc nf_conntrack_netbios_ns"
Le fonctionnement de Samba repose principalement sur trois services (daemons): smbd
, nmbd
et winbindd
. Lors de l'installation des services de Samba, votre système Ubuntu a été configuré automatiquement pour gérer ces services dès le démarrage du système.
smbd
vérifie toutes les trois minutes ce fichier pour prendre en compte les modifications ; pour une application immédiate des changements, relancez ce service Bien que robuste, en cas de soucis, vous pouvez allez voir les fichiers log qui se trouvent dans /var/log/samba dont le fichier log.%m spécifié par le paramètre log file de smb.conf
Contributeurs :les contributeurs d'Ubuntu-fr, Gogy.
Sources: EMTEC : Partage de fichier en réseau avec Windows Seven