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édentesRévision précédente
Prochaine révision
Révision précédente
smb [Le 18/02/2026, 22:10] – lien SFTP/ orthographe / mise en forme krodelabestiolesmb [Le 14/04/2026, 23:19] (Version actuelle) – màj lien interne krodelabestiole
Ligne 13: Ligne 13:
     * Sous Windows cette information se trouve dans les //Propriétés de l'ordinateur//.     * Sous Windows cette information se trouve dans les //Propriétés de l'ordinateur//.
     * Sous Ubuntu, cette information est le paramètre ''workgroup'' du [[:samba_smb.conf|fichier de configuration Samba]].     * Sous Ubuntu, cette information est le paramètre ''workgroup'' du [[:samba_smb.conf|fichier de configuration Samba]].
-  * L'**ordinateur** désigne une machine, identifiée par son //nom// -- généralement choisi au moment de l'installation du système -- et sa //description// (exemple : le modèle et l'emplacement de la machine). Pour identifier à distance un ordinateur, on utilise son **[[#nom d'hôte]]** (ou parfois son adresse IP, faute de mieux).+  * L'**ordinateur** désigne une machine, identifiée par son //nom// -- généralement choisi au moment de l'installation du système -- et sa //description// (exemple : le modèle et l'emplacement de la machine). Pour identifier à distance un ordinateur, on utilise son **[[:réseau#nom d'hôte]]** (ou parfois son adresse IP, faute de mieux).
     * Sous Windows ces informations se trouvent dans les //Propriétés de l'ordinateur//.     * Sous Windows ces informations se trouvent dans les //Propriétés de l'ordinateur//.
     * Sous Ubuntu, le nom de l'ordinateur est le paramètre //[[:hosts#hostname]]// global, alors que la description se trouve dans le paramètre ''server string'' du [[:samba_smb.conf|fichier de configuration Samba]].     * Sous Ubuntu, le nom de l'ordinateur est le paramètre //[[:hosts#hostname]]// global, alors que la description se trouve dans le paramètre ''server string'' du [[:samba_smb.conf|fichier de configuration Samba]].
Ligne 20: Ligne 20:
 <note tip>Pour éviter quelques problèmes, retenez que : <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''.   * 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 ([[#serveurs|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#hostname]]//.\\ Sans ce nommage, on pourra rencontrer des problèmes du type : //Your hostname could not be resolved//, pour plus d'infos, voir aussi [[wpfr>NetBIOS]] et [[#ZeroConf]].+  * 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 ([[#serveurs|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#hostname]]//.\\ Sans ce nommage, on pourra rencontrer des problèmes du type : //Your hostname could not be resolved//, pour plus d'infos, voir aussi [[wpfr>NetBIOS]] et [[:réseau#ZeroConf]].
 </note> </note>
  
Ligne 65: Ligne 65:
 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. 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.
  
-Ouvrir **[[:nautilus|GNOME Fichiers]]** et entrer l'[[:web#URL]] du partage dans la barre d'adresse qui se trouve en haut au centre (ou est affiché //Dossier personnel// à l'ouverture, sinon le nom du répertoire courant).\\ +Ouvrir **[[:nautilus|GNOME Fichiers]]** et entrer l'[[:réseau#URI]] du partage dans la barre d'adresse qui se trouve en haut au centre (ou est affiché //Dossier personnel// à l'ouverture, sinon le nom du répertoire courant).\\ 
-L'URL se compose ainsi (sans crochet ni espace) :<box 85% round #fda>''smb<nowiki>://</nowiki>'' [//nom d'hôte//] ''/'' [//chemin du partage//]</box> +L'[[:réseau#URI]] se compose ainsi (sans crochet ni espace) :<box 85% round #fda>''smb<nowiki>://</nowiki>'' [//nom d'hôte//] ''/'' [//chemin du partage//]</box> 
-À la place du [[#nom d'hôte]], on peut aussi entrer l'adresse IP de la machine qui effectue le partage de fichier selon l'exemple suivant :<code>smb://192.168.0.26</code>où ''192.168.0.26'' est l'adresse IP de votre serveur **SMB**.+À la place du [[:réseau#nom d'hôte]], on peut aussi entrer l'adresse IP de la machine qui effectue le partage de fichier selon l'exemple suivant :<code>smb://192.168.0.26</code>où ''192.168.0.26'' est l'adresse IP de votre serveur **SMB**.
  
 Ensuite, il peut vous être demandé le nom d'utilisateur et le mot de passe pour accéder au contenu. Ensuite, il peut vous être demandé le nom d'utilisateur et le mot de passe pour accéder au contenu.
Ligne 90: Ligne 90:
 où : où :
   * ''server-smb'' correspond au nom du service rclone.   * ''server-smb'' correspond au nom du service rclone.
-  * ''server.local'' correspond au [[#nom d'hôte]] de votre serveur SMB.+  * ''server.local'' correspond au [[:réseau#nom d'hôte]] de votre serveur SMB.
   * ''guest'' correspond à un accès en tant qu'invité, si la configuration du partage le permet (si ce n'est pas le cas, voir le chapitre //[[:tutoriel:acceder_a_votre_nas_depuis_toutes_les_applications#Si l'accès au partage requiert un mot de passe]]//).   * ''guest'' correspond à un accès en tant qu'invité, si la configuration du partage le permet (si ce n'est pas le cas, voir le chapitre //[[:tutoriel:acceder_a_votre_nas_depuis_toutes_les_applications#Si l'accès au partage requiert un mot de passe]]//).
  
Ligne 128: Ligne 128:
 </note> </note>
  
-[[:tutoriel:comment_modifier_un_fichier|Modifiez]], avec les [[:permissions administrateur]]  le fichier ''[[:mount fstab|/etc/fstab]]'' afin d'ajouter une nouvelle règle de montage.+[[:tutoriel:comment_modifier_un_fichier|Modifiez]], avec les [[:permissions administrateur]]  le fichier ''[[:fstab|/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 sur le poste distant, inscrivez la règle suivante sur une seule ligne :<file>//MACHINEDISTANTE/Partage     /media/Partage     cifs     _netdev,guest         0</file>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 aucune authentification n'est requise pour accéder au dossier partagé ou si vous ne possédez pas d'identifiant sur le poste distant, inscrivez la règle suivante sur une seule ligne :<file>//MACHINEDISTANTE/Partage     /media/Partage     cifs     _netdev,guest         0</file>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 sur le poste distant est requise pour accéder au dossier partagé ou permettre certaines actions, ajoutez la ligne (unique -- tout sur une ligne) suivante :<file>//MACHINEDISTANTE/Partage     /media/Partage     cifs     _netdev,credentials=/root/.smbcredentials         0</file>Puis [[:tutoriel:comment_modifier_un_fichier|créez un fichier]] ''/root/.smbcredentials'' contenant le texte suivant -- et uniquement ce texte-là :<file>username=IDENTIFIANT   * Si une authentification sur le poste distant est requise pour accéder au dossier partagé ou permettre certaines actions, ajoutez la ligne (unique -- tout sur une ligne) suivante :<file>//MACHINEDISTANTE/Partage     /media/Partage     cifs     _netdev,credentials=/root/.smbcredentials         0</file>Puis [[:tutoriel:comment_modifier_un_fichier|créez un fichier]] ''/root/.smbcredentials'' contenant le texte suivant -- et uniquement ce texte-là :<file>username=IDENTIFIANT
Ligne 140: Ligne 140:
  
 Après un redémarrage de l'ordinateur, le partage distant est monté automatiquement sur le point de montage local ainsi déterminé (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é.).\\ Après un redémarrage de l'ordinateur, le partage distant est monté automatiquement sur le point de montage local ainsi déterminé (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é.).\\
-Sinon, la commande ''sudo mount -a'' monte aussi immédiatement tous les systèmes de fichiers énumérés dans ''/etc/fstab''.+Sinon, la commande ''sudo mount -a'' monte aussi immédiatement tous les systèmes de fichiers énumérés dans ''[[:fstab|/etc/fstab]]''.
  
 Dans le cas où le nom de partage contient des espaces on remplace les espaces par ''\040''. Exemple avec un nom de partage ''Dossier Partage'' : Dans le cas où le nom de partage contient des espaces on remplace les espaces par ''\040''. Exemple avec un nom de partage ''Dossier Partage'' :
Ligne 146: Ligne 146:
  
 <note tip> <note tip>
-Si le nom de la machine distante n'est pas reconnu, voir le chapitre //[[#Nom d'hôte]]//.+Si le nom de la machine distante n'est pas reconnu, voir le chapitre //[[:réseau#Nom d'hôte]]//.
 </note> </note>
  
Ligne 154: Ligne 154:
   * [[:tutoriel:comment_installer_un_paquet|installez le paquet]] ''[[apt>smbclient]]''.   * [[:tutoriel:comment_installer_un_paquet|installez le paquet]] ''[[apt>smbclient]]''.
   * vous pouvez dès lors ouvrir un [[:terminal]] et tester la connexion en ligne de commande, en cas de problème des messages d'erreur parlants devraient être affichés :<code>smbclient -L //serveur -U utilisateur%mot_de_passe</code>où :   * vous pouvez dès lors ouvrir un [[:terminal]] et tester la connexion en ligne de commande, en cas de problème des messages d'erreur parlants devraient être affichés :<code>smbclient -L //serveur -U utilisateur%mot_de_passe</code>où :
-    * ''serveur'' est à remplacer par l'adresse IP (ex. : ''192.168.1.1''), ou [[:samba_smb.conf#WINS]] (ex. : ''freebox_server''), ou encore le nom [[:zeroconf#mDNS]] (ex. : ''machine.local''), ou autre [[#nom d'hôte]] (ex. : ''_gateway'') du serveur SMB+    * ''serveur'' est à remplacer par l'adresse IP (ex. : ''192.168.1.1''), ou [[:samba_smb.conf#WINS]] (ex. : ''freebox_server''), ou encore le nom [[:zeroconf#mDNS]] (ex. : ''machine.local''), ou autre [[:réseau#nom d'hôte]] (ex. : ''_gateway'') du serveur SMB
     * ''utilisateur'' est à remplacer par le nom d'utilisateur **SMB** (pas Linux), tel que déclaré sur la machine distante (le serveur SMB)     * ''utilisateur'' est à remplacer par le nom d'utilisateur **SMB** (pas Linux), tel que déclaré sur la machine distante (le serveur SMB)
     * ''mot_de_passe'' est à remplacer par le mot de passe associé à cet utilisateur (ou rien si il n'y a pas de mot de passe).     * ''mot_de_passe'' est à remplacer par le mot de passe associé à cet utilisateur (ou rien si il n'y a pas de mot de passe).
Ligne 177: Ligne 177:
 ===== Nom d'hôte ===== ===== Nom d'hôte =====
  
-Les noms d'hôtes à utiliser avec **SMB** sont les mêmes qu'avec n'importe quel [[:réseau]].\\+Les [[:réseau#Nom d'hôte|noms d'hôtes]] à utiliser avec **SMB** sont les mêmes qu'avec n'importe quel réseau : voir le [[:réseau#Nom d'hôte|chapitre dédié]].
  
-  * On peut évidemment utiliser des **[[wpfr>Adresse IP|adresses IP]]**, mais ce n'est pas forcément pratique, à moins de définir des IP fixes pour chaque machine (soit au niveau de leur configuration réseau, soit au niveau du serveur DHCP -- la //box// ou le routeur). +<note tip>[[:réseau#ZeroConf]] permet aussi d'accéder à un partage **SMB** sans connaître son adresse.</note>
-    * Pour connaître l'adresse IP d'une machine sous **Ubuntu** ou **Linux** en général, entrez la commande :<code>hostname -I</code>(voir aussi le chapitre //[[:tutoriel:connaitre_son_adresse_ip#adresse_locale1|Connaître son adresse IP locale]]//). +
-    * Pour connaître l'adresse IP d'un poste **Windows**, entrez ''cmd'' dans la zone de recherche de Windows, puis dans la fenêtre de commande ainsi ouverte, tapez :<code>ipconfig /all</code> +
- +
-  * Le **[[:DNS]]** est rarement pertinent, parce qu'il est plus consacré à [[:Internet]], auquel **SMB** n'est pas adapté (sauf peut-être au moyen d'un [[:VPN]], ce qui équivaut à un réseau personnel). On peut éventuellement [[:dns#gérer son propre serveur DNS]], ou modifier chaque fichier ''[[:hosts#hosts|/etc/hosts/]]'' côté clients, ce qui reste assez contraignant. +
- +
-  * [[:systemd]] permet d'utiliser ''_gateway'' comme nom d'hôte pour le routeur (souvent la //box// fournie par le FAI), utile si on y branche un support externe par exemple. +
- +
-  * **SMB** est généralement associé à [[wpfr>NetBIOS]] et aux serveurs **[[wpfr>Windows_Internet_Naming_Service|WINS]]**. Cette fonctionnalité peut être gérée par [[:samba#fonctionnement_de_samba|Samba]] ou n'importe quelle machine sur le réseau. +
- +
-  * **[[:ZeroConf#mDNS]]** avec [[#ZeroConf]], bien que venant de l'écosystème Apple, est aussi parfaitement utilisable (et pratique) avec **SMB**. Si la fonctionnalité est présente sur une machine, on peut utiliser son nom (//[[:hosts#hostname]]//) suivi de ''.local'' pour y accéder. +
- +
-==== ZeroConf ==== +
- +
-**[[:ZeroConf]]** est une alternative à **[[wpfr>NetBIOS]]** qui permet au serveur de communiquer activement sur les partages qu'il rend disponibles, et au client de les afficher sans avoir besoin de renseigner d'information de connexion particulière. +
- +
-On peut utiliser la commande :<code>avahi-browse -avr</codepour lister les services diffusés sur un réseau. +
- +
-Pour plus d'information à ce sujet, voir la page concernant [[:ZeroConf]].+
  
 ===== Numéros de ports ===== ===== Numéros de ports =====
Ligne 205: Ligne 187:
 Voici la liste des ports TCP et UDP utilisés par le protocole SMB pour le partage de fichiers et d'imprimantes. Voici la liste des ports TCP et UDP utilisés par le protocole SMB pour le partage de fichiers et d'imprimantes.
  
-^ Port ^ Protocole   ^ Nom du service                            ^ +^ Port    ^ Protocole  ^ Nom du service                            ^ 
-| 135  | TCP et UDP  | Localisateur de services RPC              | +''135'' | TCP et UDP | Localisateur de services RPC              | 
-| 137  | TCP et UDP  | NetBIOS Name Service (''nbname''        | +''137'' | TCP et UDP | NetBIOS Name Service (''nbname''        | 
-| 138  | UDP         | NetBIOS Datagram Service (''nbdatagram'') | +''138'' | UDP        | NetBIOS Datagram Service (''nbdatagram'') | 
-| 139  | TCP         | NetBIOS Session Service (''nbsession''  | +''139'' | TCP        | NetBIOS Session Service (''nbsession''  | 
-| 445  | TCP et UDP  | Services de dossiers partagés Windows     |+''445'' | TCP et UDP | Services de dossiers partagés Windows     |
  
 ==== Configuration du pare-feu par défaut d'Ubuntu ==== ==== Configuration du pare-feu par défaut d'Ubuntu ====
Ligne 269: Ligne 251:
   * Installer le logiciel de montage avec cette commande <code bash>sudo apt install cifs-utils</code>   * Installer le logiciel de montage avec cette commande <code bash>sudo apt install cifs-utils</code>
   * Ajouter une ligne de commande par dossier à monter automatiquement.   * Ajouter une ligne de commande par dossier à monter automatiquement.
-  * Exemple de ligne pour un dossier sur une partition [[:ext4]] :<code bash>//192.168.0.n/Utilisateur1-Partage /media/Utilisateur1-externe cifs  uid=1000,password=Inutile</code> +  * Exemple de ligne ''[[:fstab]]'' :<code bash>//192.168.0.n/Donnees-Partage /media/Donnees-externe cifs  credentials=/root/MPD1,uid=1000,gid=46</code>
-  * Exemple de ligne pour  un dossier sur une partition [[:tutoriel:NTFS]] :<code bash>//192.168.0.n/Donnees-Partage /media/Donnees-externe cifs  credentials=/root/MPD1,uid=1000,gid=46</code>+
   * La création du fichier décrivant un utilisateur windows peut se faire par ces commandes <code bash>echo username=XXXXXXXX | sudo tee    /root/MDP1   * La création du fichier décrivant un utilisateur windows peut se faire par ces commandes <code bash>echo username=XXXXXXXX | sudo tee    /root/MDP1
 echo password=ZZZZZZZZ | sudo tee -a /root/MDP1 echo password=ZZZZZZZZ | sudo tee -a /root/MDP1
 echo domaine=WORKGROUP | sudo tee -a /root/MDP1 echo domaine=WORKGROUP | sudo tee -a /root/MDP1
-sudo chmod 700 /root/MDP1</code>+sudo chmod 400 /root/MDP1</code>
  
 <note important>Pour raison  de sécurité, on peut ne pas mettre la ligne contenant le mot de passe. Dans ce cas, il sera demandé au démarrage de l'ordinateur.</note> <note important>Pour raison  de sécurité, on peut ne pas mettre la ligne contenant le mot de passe. Dans ce cas, il sera demandé au démarrage de l'ordinateur.</note>