Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
utilisateurs:krodelabestiole:brouillons:samba [Le 01/11/2025, 00:08]
krodelabestiole supprimée
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​noble partage administration windows réseau}} 
- 
-====== Samba ====== 
- 
-**[[wpfr>​Samba_(informatique)|Samba]]** est un serveur **[[:​SMB]]** libre et disponible sur Linux. 
- 
-Le protocole **[[:​SMB]]** dispose de sa page de documentation dédiée. Il permet de partager des fichiers, répertoires et imprimantes sur un réseau local. Ceci permet d'​accéder aux ressources d'une machine ou connectées à elle (répertoires de données et imprimantes,​ support de stockage connecté à une //box//, [[:NAS]], etc.), à partir d'un autre appareil situé sur un même réseau local (réseau domestique ou d'​entreprise). 
- 
-Le logiciel **Samba** permet de partager des données et des imprimantes à travers un réseau local à destination d'​autres ordinateurs fonctionnant avec n'​importe que systèmes d'​exploitation ordinaire : Windows, macOS, Linux, Android, iOS, *BSD, Solaris, etc. 
- 
-<note important>​ 
-**Samba** et cette page de documentation ne concernent que l'​aspect **//​serveur//​ [[wpfr>​Server_Message_Block|SMB]]** ! Donc utile seulement si on souhaite partager des fichiers ou des imprimantes //depuis// Ubuntu. 
- 
-Pour //​accéder//​ à des partages **[[:​SMB]]** avec Ubuntu, il est inutile d'​installer **Samba**. **[[:​nautilus|GNOME Fichiers]]** sait accéder nativement à ces partages, c'est aussi le cas de nombreuses autres applications telles que **[[:​VLC]]**,​ etc. 
- 
-À ce sujet n'​hésitez pas à consulter la page concernant **[[:​SMB]]** et ses [[:​SMB#​clients]] ! 
-</​note>​ 
- 
-Dans l'​ensemble des articles concernant les réseaux, retenez ces quelques notions : 
-  * Le Groupe désigne un ensemble de machines ayant des affinités communes (exemple : le nom de famille, de l'​entreprise ou d'un service), auxquelles l'​accès sera plus direct. 
-    * Sous Windows™, il s'agit du Groupe de travail et cette information se trouve dans les Propriétés de l'​ordinateur. 
-    * Sous Ubuntu, cette information est le paramètre ''​workgroup''​ du fichier de configuration Samba. 
-  * L'​Ordinateur désigne une machine, identifiée par son nom et sa description (exemple : le modèle et l'​emplacement de la machine). 
-    * Sous Windows™, il s'agit du Nom de l'​ordinateur et de sa Description,​ et ces informations se trouvent dans les Propriétés de l'​ordinateur. 
-    * Sous Ubuntu, le Nom de l'​ordinateur est un paramètre réseau global, alors que la Description se trouve dans le paramètre server string du fichier de configuration Samba. 
-  * Les Utilisateurs ont accès à des Répertoires (contenant des fichiers) ou des Ressources (imprimantes,​ lecteur de CD-Rom). 
- 
-<note tip>Pour éviter quelques problèmes, retenez que : 
-  * La **casse** doit impérativement être respectée en ce qui concerne le nom de domaine. Par exemple ''​WORKGROUP''​ ne sera pas considéré de la même manière que ''​workgroup''​. 
-  * Le nom de la machine ne doit pas dépasser **16 caractères** pour être visible quand on parcourt le réseau, le nom de la machine (serveur) qui partage un dossier ne doit pas dépasser 15 caractères (et ne peut contenir que des lettres non accentuées,​ chiffres et tirets ''​-''​). 
-Sans quoi elle sera accessible uniquement par son adresse IP (et donc invisible autrement).\\ 
-Pour le nom de la machine voir //​[[:​hosts]]//​.\\ 
-Sans ce nommage, on pourra rencontrer des problèmes du type :\\ 
-**//Your hostname could not be resolved//​** , pour plus d'​infos,​ voir aussi [[:​smb#​zeroconf]]. 
-</​note>​ 
- 
-===== Pré-requis ===== 
- 
-  * Disposer des [[:​sudo|droits d'​administration]]. 
-  * Disposer d'une connexion à Internet configurée et activée. 
- 
-===== Installation ===== 
- 
-Pour utiliser le [[:​SMB#​serveurs|serveur]] **Samba**, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] ''​[[apt>​samba]]''​. Vous pouvez également gérer le partage grâce à des interfaces graphiques pour Samba, le plus simple est [[:​system-config-samba]],​ une autre possibilité plus avancée est [[:​gsambad]]. 
- 
-<note important>​ 
-Ce [[https://​packages.ubuntu.com/​noble/​samba|paquet]] et le fichier de configuration auquel il est fait référence dans cette page ne concernent que l'​aspect **//​serveur//​** de [[wpfr>​Server_Message_Block|SMB]] ! Donc utile seulement si on souhaite partager des fichiers ou des imprimantes //depuis// Ubuntu. 
- 
-Pour //​accéder//​ à des partages **[[:​SMB]]** avec Ubuntu, n'​hésitez pas à consulter la page concernant **[[:​SMB]]** et ses [[:​SMB#​clients]] ! 
-</​note>​ 
- 
-===== Partager des ressources sur un réseau local ====== 
- 
-Pour partager des dossiers ou des imprimantes //(devenir un serveur de partage)//, des composantes supplémentaires doivent être installées. 
- 
-==== Partager un dossier personnel==== 
- 
-{{:​reseau:​samba-usershare_trusty.png?​400|Partage utilisateur pour un dossier "​Public"​}} 
- 
-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 au sein d'une structure complexe (ex : un réseau d'​entreprise) ; toutefois, ce mode est très pratique et pertinent pour un partage simple (ex : sur un réseau domestique). 
- 
-Pour pouvoir partager des répertoires ou des fichiers sur votre réseau local, il faut dans un premier temps [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​nautilus-share]]''​ (si vous utilisez [[:​GNOME]]). 
-Il faut ensuite ajouter votre utilisateur courant au [[:​utilisateurs_et_groupes|groupe]] ''​sambashare''​ pour l'​autoriser à créer de nouveaux partages. 
-Vous pouvez le faire simplement avec la commande : 
-<​code>​sudo usermod -aG sambashare $USER</​code>​ 
-puis redémarrez. 
- 
-Vous pouvez ensuite partager des répertoires ou des fichiers : 
- 
-{{:​reseau:​permissions_inclus_18.10.png?​400|Modifier permissions éléments inclus}} 
-  - Faites un clic-droit sur l'​élément que vous souhaitez partager et sélectionnez **//Options de partage//​**. 
-  - Si cette option n'​apparaît pas dans le menu, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] ''​[[apt>​nautilus-share]]'',​ si vous utilisez [[:GNOME]], et ''​[[apt>​caja-share]]'',​ si vous utilisez [[:MATE]]. 
-  - Cochez la case //Partager ce dossier//. 
-  - Dans le champ //Nom du partage//, saisissez le nom de partage que doit avoir le dossier. Ce nom ne peut excéder 12 caractères. Par défaut, le nom actuel du dossier est recopié ; vous devrez modifier manuellement ce champ pour le réduire à au plus 12 caractères,​ si besoin est. 
-  - //​(Optionnel)//​ Dans le champ //​Commentaire//,​ entrez la description du dossier partagé ou des limitations imposées sur ce dossier partagé. 
-  - //​Modification du dossier à distance :// Cochez la case **Permettre aux autres utilisateurs de créer et de supprimer des fichiers dans ce dossier** pour permettre aux autres utilisateurs de créer, modifier ou supprimer des fichiers dans votre dossier partagé. Laissez cette case décochée pour n'​autoriser l'​accès qu'en lecture seule  
-  - //Accès aux utilisateurs non authentifiés :// Cochez la case **Accès d'​évaluation (pour les personnes sans compte utilisateur)** pour autoriser tout le monde à accéder au dossier partagé. Laissez cette case décochée pour n'​autoriser que les utilisateurs authentifiés (possédant un compte d'​utilisateur sur votre système Ubuntu) à accéder au contenu du dossier partagé. Dans ce cas le mot de passe de l'​utilisateur pour Samba doit être défini par la commande: <​code>​sudo smbpasswd -a nom_utilisateur</​code>​ 
-  - Appuyez sur le bouton **Créer le partage** pour prendre en compte la modification. 
- 
-Si vous obtenez un message d'​erreur relatif à un problème de [[:​permissions]],​ assurez vous que l'​utilisateur appartienne bien au groupe ''​sambashare''​ (voir paragraphe ci-dessus). 
- 
-<note tip>A savoir : les privilèges d'​accès aux fichiers ou dossiers fournis par Samba n'ont pas priorité sur les [[permissions|permissions]] des éléments contenus dans le dossier partagé. Ainsi, pour pouvoir accéder aux fichiers inclus, écrire dans un sous-dossier,​ etc, il faut s'​assurer des permissions nécessaire des éléments en question. Dans la fenêtre des permissions,​ un bouton permet de changer les permissions de tous les éléments inclus.</​note>​ 
- 
-<note tip>​{{:​reseau:​samba-usershare2_trusty.png?​400|Nautilus vous propose d'​installer la fonction serveur de Samba}} 
- 
-**Installation de la fonction serveur, lors du premier partage** \\ La toute première fois que vous souhaitez partager un dossier personnel, votre gestionnaire de fichiers Nautilus vous informe que le service de partage n'est pas encore installé. Seul un administrateur du système peut procéder à l'​installation de cette composante supplémentaire. 
-  * Si vous êtes un administrateur,​ appuyez sur le bouton **Installer le service** pour procéder à l'​installation du service. Vous devrez fermer votre session, une fois l'​installation terminée, puis la rouvrir pour prendre en compte ce nouveau service ; 
-  * Si vous n'​êtes pas un administrateur de l'​ordinateur,​ demandez à un administrateur d'​installer le paquet ''​[[apt>​samba]]''​. Ce paquet correspond à la fonctionnalité serveur de Samba. Lorsqu'​il sera installé, votre session doit être close puis rouverte pour que le nouveau service soit pris en compte. 
-  * Il est peut être nécessaire de modifier la [[:​samba_smb.conf|configuration samba]] 
-</​note>​ 
- 
-<note help>​Nautilus n'​édite pas le fichier ''/​etc/​samba/​smb.conf'',​ mais il va créer un fichier par dossier partagé dans ''/​var/​lib/​samba/​usershares''​ qui ressemble à : 
-<​code>​ 
-#VERSION 2 
-path=/​paht/​to/​folder 
-comment= 
-usershare_acl=S-1-1-0:​F 
-guest_ok=y 
-sharename=nom-partage_SMB 
-</​code>​ 
-N'​essayez pas de faire des modifications dans /​etc/​samba/​smb.conf en parallèle si le partage via Nautilus ne fonctionne pas. Il vaut mieux supprimer les fichiers qu'il a créer et faire quelque chose de propre dans /​etc/​samba/​smb.conf comme par exemple : 
-<​code>​ 
-[linuxsharename] 
-  path=/​path/​to/​folder 
-  force user = votre_login_Ubuntu 
-  public = yes 
-  guest ok = yes 
-  writable = yes 
-</​code>​ 
- 
-Puis relancer le service : 
-<​code>​ 
-sudo systemctl restart smbd 
-</​code>​ 
-</​note>​ 
- 
-<note important>​Pour les utilisateurs de [[:​Xubuntu]] et de [[:​Lubuntu]] , le partage simple ne fonctionne pas. Suivre cette méthode : [[:​shares-admin]] ou [[:​system-config-samba]]. 
-<note tip>​**[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22317762#​p22317762|Procédure version simplifiée sur le post #13]] sur le forum (configuration manuelle en ligne de commande)**</​note>​ 
-</​note>​ 
- 
-==== Partager un dossier du système de fichiers ==== 
- 
-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 ''​[[apt>​samba]]''​ doit être installé afin de profiter de la fonctionnalité **serveur [[:SMB]]** sur le poste Ubuntu. 
- 
-La configuration de Samba peut se faire : 
-  * Manuellement,​ dans le fichier de configuration **[[:​samba_smb.conf|Le fichier de configuration /​etc/​samba/​smb.conf de Samba]]**. C'est dans ce fichier que vous paramétrez le nom du domaine et le groupe de travail de l'​ordinateur,​ les paramètres de sécurité et les dossiers et imprimantes partagés. 
-  * Graphiquement,​ à l'aide de divers outils. Cependant, tous les outils n'​offrent pas la possibilité de configurer tous les multiples paramètres de Samba. Ces outils sont fort utiles (par exemple, ajouter des nouveaux partages administratifs ou retirer des partages administratifs d'un serveur Samba déjà configuré). Voici quelques outils graphiques pouvant vous assister dans le paramétrage de vos partages ; leur utilisation propre est décrite dans leur document dédié :\\ \\ {{:​reseau:​samba-system-config-samba_trusty.png?​400|L'​utilitaire Configuration du serveur Samba}}\\ \\ 
-    * **[[:​system-config-samba|Configuration du serveur Samba (system-config-samba)]]** recommandé,​ 
-    * [[:​shares-admin]],​ 
-    * [[:​gsambad|Gadmin-Samba]],​ 
-    * [[:​Webmin]]. 
- 
-==== Voir les miniatures sur les partages samba dans nautilus ==== 
- 
-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**. 
- 
-==== Penser au Pare-feu ==== 
- 
-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 [[:​firewall|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 [[:​samba#​ports_lies_au_partage_de_fichiers_par_les_protocoles_smb_et_cifs|paramétrer]] par exemple à l'aide d'​[[:​ufw]]. Les ports à ouvrir sont indiqués dans le paragraphe [[:​samba#​ports_lies_au_partage_de_fichiers_par_les_protocoles_smb_et_cifs|Ports liés au partage de fichiers par les protocoles SMB et CIFS]]. 
- 
-<note important>​Attention à la sécurité de votre réseau local, si une seule des machines de celui-ci est compromise alors vous n'​êtes plus protégés contre une intrusion sur votre propre machine.</​note>​ 
- 
-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, [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] ''/​etc/​samba/​smb.conf''​ en remplaçant:​ <​file>​wins support = no</​file>​par:​ <​file>​wins support = yes</​file>​puis redémarrez Samba<​code>​sudo systemctl restart smbd</​code>​ 
- 
-===== Aller plus loin... ===== 
- 
-==== Désactiver ou limiter les partages utilisateurs ==== 
- 
-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 : 
-<​file>#​ 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</​file>​ 
-  * Décommentez l'​option ''​usershare max shares''​ pour limiter la création de //N// partages utilisateurs par compte d'​utilisateur. Lorsque cette option est commentée, les utilisateurs peuvent créer un nombre illimité de partages utilisateurs ; 
-  * Paramétrez l'​option ''​usershares max shares''​ à ''​0''​ pour qu'​aucun compte d'​utilisateur ne puisse créer de partage utilisateur ; 
-  * Si vous souhaitez autoriser la création de partages utilisateur mais n'​autoriser l'​accès qu'aux utilisateurs autorisés //​(interdire les connexions invitées)//,​ paramétrez l'​option ''​usershares allow guests''​ à ''​no''​. 
- 
-==== Gérer les accès concurrentiels ==== 
- 
-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,​ [[:​tutoriel:​comment_modifier_un_fichier|modifiez le fichier]] ''/​etc/​samba/​smb.conf'',​ [[:​sudo|avec les droits d'​administration]]. Pour chacun des dossiers partagés, ajoutez les deux options suivantes : 
-<​file>​ 
-strict locking=yes 
-share modes=no 
-</​file>​ 
-Vous trouverez un complément d'​informations (en anglais) [[http://​www.oreilly.com/​openbook/​samba/​book/​ch05_05.html|ici]] et [[https://​www.samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​locking.html|là]] 
- 
-==== Fonctionnement de Samba ==== 
- 
-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**\\ Ce service est celui qui permet le partage des fichiers et des imprimantes. Son paramétrage se fait par l'​intermédiaire du fichier de configuration ''/​etc/​samba/​smb.conf''​. ''​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 !\\ \\ 
-  * **nmbd**\\ Ce service sert à l'​envoi et la découverte des noms NetBIOS (nom des machines) sur le réseau local. Il est également utilisé pour la résolution de noms et la fonction WINS, lorsque votre serveur Samba est le serveur d'un réseau NetBIOS. Ses paramètres sont aussi renseignés dans le fichier de configuration ''/​etc/​samba/​smb.conf''​.\\ \\ 
-  * **winbindd**\\ Ce service n'est utilisé que lorsqu'​un serveur Samba intègre un domaine NT ou pour gérer les relations d'​approbation entre le serveur Samba et un domaine Windows / Active Directory. 
- 
-==== Fichiers log ==== 
- 
-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''​. 
- 
-==== Accès sous Windows 7 (ou 8) à un dossier partagé par Ubuntu ==== 
- 
-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 : 
-   * Aller dans //Panneau de configuration//​ -> //Système et sécurité//​ -> //Outils d'​administration//​ -> //​Stratégie de sécurité locale// (ou la commande ''​%windir%\system32\secpol.msc /​s''​),​ 
-   * Dans la nouvelle fenêtre, ouvrez l'​arborescence sur //​Stratégies locales// -> //Options de sécurité//,​ 
-   * Changer la valeur de  //​Sécurité réseau : niveau d'​authentification LAN manager// qui par défaut n'est pas défini (double-cliquez dessus), 
-   * Remplacer par la 2e valeur proposée ''​Envoyer LM et NTLM – utiliser NTLMv2 si négocié'',​ 
-   * Réessayer la connexion au dossier partagé (rentrez à nouveau le nom d'​utilisateur et le mot de passe), 
-   * Fermer la session et se reconnecter si le point précédent n'a pas fonctionné. 
- 
-===== Ressources supplémentaires ===== 
- 
-  * **[[http://​www.samba.org|Site officiel]] (en)** 
-  * [[https://​sysreseau.net/​samba-installation-et-configuration-sur-ubuntu-22-04/​|Samba : Installation et Configuration sur Ubuntu 22.04]] (fr) 
-  * //Using Samba, Second Edition// ([[http://​samba.org/​samba/​docs/​using_samba/​toc.html|en ligne]] et [[http://​oreilly.com/​catalog/​9780596002565/​|O'​Reilly Medias]]) 
-  * [[http://​www.reponses.net/​blog/​2010/​02/​15/​573-integrer-facilement-une-machine-ubuntu-dans-un-environnement-windows|Intégrer une machine Ubuntu dans un environnement Windows avec SADMS]] (Samba as Active Directory Member Server/​Station) 
-  * [[http://​support.microsoft.com/​kb/​204279|Hébergement direct de SMB sur TCP/IP]] 
-  * [[http://​us1.samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​securing-samba.html#​firewallports|Securing Samba]] 
- 
-===== Documents en lien avec Samba ===== 
- 
-{{topic>​samba}} 
- 
----- 
- 
-//​Contributeurs : [[:​contributeurs|les contributeurs d'​Ubuntu-fr]],​ [[:​utilisateurs:​Gogy]],​ julientux, [[:​utilisateurs:​krodelabestiole]].//​