Partage de fichiers entre Ubuntu 20.04 et les systèmes Windows avec Samba
On janvier 21, 2022 by adminBien que Linux ait fait quelques incursions sur le marché des ordinateurs de bureau, ses origines et son avenir sont très largement basés sur les serveurs. Il n’est donc pas surprenant qu’Ubuntu ait la capacité d’agir comme un serveur de fichiers. Il est également très courant que des systèmes Ubuntu et Windows soient utilisés côte à côte dans des environnements en réseau. Il est donc courant que les fichiers d’un système Ubuntu soient accessibles aux systèmes Linux, UNIX et Windows via des connexions réseau. De même, les dossiers partagés et les imprimantes résidant sur les systèmes Windows peuvent également avoir besoin d’être accessibles depuis les systèmes basés sur Ubuntu.
Les systèmes Windows partagent des ressources telles que les systèmes de fichiers et les imprimantes à l’aide d’un protocole connu sous le nom de Server Message Block (SMB). Pour qu’un système Ubuntu puisse servir de telles ressources sur un réseau à un système Windows et vice versa, il doit donc prendre en charge SMB. Ceci est réalisé à l’aide d’une technologie appelée Samba. En plus de fournir une intégration entre les systèmes Linux et Windows, Samba peut également être utilisé pour fournir un partage de dossiers entre les systèmes Linux (comme alternative à NFS qui a été couvert dans le chapitre précédent).
Dans ce chapitre, nous examinerons les étapes nécessaires pour partager les ressources du système de fichiers et les imprimantes sur un système Ubuntu avec des systèmes Windows et Linux distants, et pour accéder aux ressources Windows depuis Ubuntu.
1.1 Accéder aux ressources Windows à partir du bureau GNOME
Avant d’entrer dans les détails du partage Samba, il convient de noter que si tout ce que vous voulez faire est d’accéder aux dossiers partagés Windows à partir du bureau Ubuntu GNOME, alors le support est déjà fourni dans l’application GNOME Files. L’application Fichiers est située dans le tableau de bord comme mis en évidence dans la Figure 23-1:
Figure 23-1
Une fois lancée, sélectionnez l’option Autres emplacements dans le panneau de navigation de gauche suivie de l’icône Réseau Windows dans le panneau principal pour parcourir les ressources Windows disponibles:
Figure 23-2
1.2 Samba et Samba Client
Samba permet à la fois de partager des ressources Ubuntu avec des systèmes Windows et de partager des ressources Windows avec des systèmes Ubuntu. Ubuntu accède aux ressources Windows à l’aide du client Samba. Les ressources Ubuntu, quant à elles, sont partagées avec les systèmes Windows en installant et en configurant le service Samba.
1.3 Installation de Samba sur un système Ubuntu
Les paramètres par défaut utilisés pendant le processus d’installation d’Ubuntu n’installent généralement pas les paquets Samba nécessaires. À moins que vous n’ayez spécifiquement demandé que Samba soit installé, il est peu probable que Samba soit installé sur votre système. Pour vérifier si Samba est installé, ouvrez une fenêtre de terminal et exécutez la commande suivante :
# apt -qq list samba-common samba smbclient
Tous les paquets manquants peuvent être installés à l’aide de l’outil de ligne de commande apt :
# apt install samba-common samba smbclient
1.4 Configuration du pare-feu Ubuntu pour activer Samba
Puis, le pare-feu qui protège actuellement le système Ubuntu doit être configuré pour autoriser le trafic Samba.
Si vous utilisez le pare-feu non compliqué (ufw), exécutez la commande suivante :
# ufw allow samba
Alternativement, si vous utilisez firewalld, exécutez la commande firewall-cmd comme suit :
# firewall-cmd --permanent --add-port={139/tcp,445/tcp}# firewall-cmd --reload
Avant de démarrer le service Samba, un certain nombre d’étapes de configuration sont nécessaires pour définir comment le système Ubuntu apparaîtra aux systèmes Windows, et les ressources qui seront partagées avec les clients distants. La majorité de ces tâches de configuration ont lieu dans le fichier /etc/samba/smb. conf.
1.5 Configuration du fichier smb.conf
Samba est un système très flexible et configurable qui fournit de nombreuses options différentes pour contrôler la façon dont les ressources sont partagées sur les réseaux Windows. Cette flexibilité peut donner l’impression que Samba est excessivement complexe à utiliser. En réalité, cependant, de nombreuses options de configuration ne sont pas nécessaires à l’installation typique, et la courbe d’apprentissage pour mettre en place une configuration de base est en fait assez courte.
Pour les besoins de ce chapitre, nous allons examiner la jonction d’un système Ubuntu à un groupe de travail Windows et la mise en place d’un répertoire en tant que ressource partagée accessible à un utilisateur spécifique. Il s’agit d’une configuration connue sous le nom de serveur Samba autonome. Des configurations plus avancées telles que l’intégration de Samba dans un environnement Active Directory sont également disponibles, bien qu’elles sortent du cadre de ce livre.
La première étape de la configuration de Samba consiste à modifier le fichier /etc/samba/smb.conf.
1.5.1 Configuration de la section
Le fichier smb.conf est divisé en sections. La première section est celle où l’on peut spécifier des paramètres qui s’appliquent à l’ensemble de la configuration Samba. Bien que ces paramètres soient globaux, chaque option peut être remplacée dans d’autres sections du fichier de configuration.
La première tâche consiste à définir le nom du groupe de travail Windows sur lequel les ressources Ubuntu doivent être partagées. Ceci est contrôlé via la directive workgroup = de la section qui, par défaut, est configurée comme suit :
workgroup = WORKGROUP
Commencez par changer cela pour le nom réel du groupe de travail si nécessaire.
En plus du paramètre du groupe de travail, les autres paramètres indiquent qu’il s’agit d’un serveur autonome sur lequel les ressources partagées seront protégées par des mots de passe utilisateur. Avant de passer à la configuration des ressources à partager, d’autres paramètres doivent également être ajoutés à la section comme suit :
.. netbios name = LinuxServer..
La propriété « netbios name » spécifie le nom par lequel le serveur sera visible pour les autres systèmes du réseau.
1.5.2 Configuration d’une ressource partagée
L’étape suivante consiste à configurer les ressources partagées (autrement dit, les ressources qui seront accessibles depuis d’autres systèmes du réseau Windows). Pour ce faire, on donne à la section un nom par lequel elle sera désignée lorsqu’elle sera partagée. Par exemple, si nous prévoyons de partager le répertoire /sampleshare de notre système Ubuntu, nous pourrions intituler la section . Dans cette section, une variété d’options de configuration est possible. Pour les besoins de cet exemple, cependant, nous allons simplement définir le répertoire qui doit être partagé, indiquer que le répertoire est à la fois consultable et inscriptible et déclarer la ressource publique afin que les utilisateurs invités puissent y avoir accès :
comment = Example Samba share path = /sampleshare browseable = Yes public = yes writable = yes
Pour restreindre l’accès à des utilisateurs spécifiques, la propriété « valid users » peut être utilisée, par exemple :
valid users = demo, bobyoung, marcewing
1.5.3 Supprimer les partages inutiles
Le fichier smb.conf est préconfiguré avec des sections pour le partage des imprimantes et des dossiers personnels des utilisateurs sur le système. Si ces ressources n’ont pas besoin d’être partagées, les sections correspondantes peuvent être commentées afin qu’elles soient ignorées par Samba. Dans l’exemple suivant, la section a été commentée :
..## comment = Home Directories# valid users = %S, %D%w%S# browseable = No# read only = No# inherit acls = Yes..
1.6 Création d’un utilisateur Samba
Tout utilisateur qui a besoin d’accéder à une ressource partagée Samba doit être configuré comme un utilisateur Samba et se voir attribuer un mot de passe. Cette tâche est réalisée à l’aide de l’outil de ligne de commande smbpasswd. Considérons, par exemple, qu’un utilisateur nommé demo doit pouvoir accéder au répertoire /sampleshare de notre système Ubuntu depuis un système Windows. Afin de répondre à cette exigence, nous devons ajouter demo en tant qu’utilisateur Samba comme suit :
# smbpasswd -a demoNew SMB password:Retype new SMB password:Added user demo.
Maintenant que nous avons terminé la configuration d’un serveur Samba très basique, il est temps de tester notre fichier de configuration et ensuite de démarrer les services Samba.
1.7 Test du fichier smb.conf
Les paramètres du fichier smb.conf peuvent être vérifiés pour des erreurs en utilisant l’outil de ligne de commande testparm comme suit :
# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)WARNING: The "syslog" option is deprecatedProcessing section ""Processing section ""Processing section ""Loaded services file OK.Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parametersdns proxy = Nolog file = /var/log/samba/log.%mmap to guest = Bad Usermax log size = 1000netbios name = LINUXSERVERobey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %usecurity = USERserver role = standalone serverserver string = %h server (Samba, Ubuntu)syslog = 0unix password sync = Yesusershare allow guests = Yeswins support = Yesidmap config * : backend = tdb browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes comment = Printer Driverspath = /var/lib/samba/printers comment = Example Samba shareguest ok = Yespath = /sampleshareread only = No
1.8 Démarrer les services Samba et NetBIOS Name
Pour qu’un serveur Ubuntu puisse fonctionner dans un réseau Windows, les services Samba (SMB) et NetBIOS nameservice (NMB) doivent être démarrés. En option, activez également les services afin qu’ils démarrent chaque fois que le système démarre :
# systemctl enable smbd# systemctl start smbd# systemctl enable nmbd# systemctl start nmbd
Avant de tenter de se connecter à partir d’un système Windows, utilisez l’utilitaire smbclient pour vérifier que le partage est configuré :
# smbclient -U demo -L localhost Enter WORKGROUP\demo's password: Sharename Type Comment--------- ---- -------print$ Disk Printer Driverssampleshare Disk Example Samba shareIPC$ IPC IPC Service (demo-server2 server (Samba, Ubuntu))Officejet_Pro_8600_C7C718_ Printer Officejet_6600_971B9B_ Printer Reconnecting with SMB1 for workgroup listing. Server Comment--------- ------- Workgroup Master--------- -------WORKGROUP LINUXSERVER
1.9 Accès aux partages Samba
Maintenant que les ressources Samba sont configurées et que les services sont en cours d’exécution, il est temps d’accéder à la ressource partagée depuis un système Windows. Sur un système Windows approprié du même groupe de travail que le système Ubuntu, ouvrez l’explorateur Windows et naviguez jusqu’au panneau Réseau. À ce stade, l’explorateur doit effectuer une recherche sur le réseau et répertorier tous les systèmes utilisant le protocole SMB qu’il trouve. La figure suivante illustre un système Ubuntu nommé LINUXSERVER localisé à l’aide de l’explorateur Windows sur un système Windows 10 :
Figure 23-3
Un double clic sur l’hôte LINUXSERVER demandera le nom et le mot de passe d’un utilisateur ayant des privilèges d’accès. Dans ce cas, il s’agit du compte démo que nous avons configuré à l’aide de l’outil smbpasswd :
Figure 23-4
La saisie du nom d’utilisateur et du mot de passe aura pour effet de faire apparaître dans la fenêtre de l’explorateur les ressources partagées configurées pour cet utilisateur, y compris la ressource /sampleshare configurée précédemment :
Figure 23-5
Un double clic sur la ressource partagée /sampleshare affichera une liste des fichiers et des répertoires qu’elle contient.
Si vous ne pouvez pas voir le système Linux ou si vous avez des problèmes pour accéder au dossier partagé, essayez de mapper le partage Samba sur un lecteur Windows local comme suit :
- Ouvrez l’Explorateur de fichiers de Windows, cliquez avec le bouton droit sur l’entrée Réseau dans le panneau de gauche et sélectionnez Mapper le lecteur réseau… dans le menu résultant.
- Dans la boîte de dialogue Mapper le lecteur réseau, sélectionnez une lettre de lecteur avant d’entrer le chemin d’accès au dossier partagé. Par exemple :
\LinuxServer\sampleshare
Activer la case à cocher à côté de Se connecter en utilisant des informations d’identification différentes. Si vous ne voulez pas que le lecteur soit mappé chaque fois que vous vous connectez au système Windows, désactivez la case à cocher correspondante :
Figure 23-6
Avec les paramètres saisis, cliquez sur le bouton Terminer pour mapper le lecteur, en saisissant le nom d’utilisateur et le mot de passe de l’utilisateur Samba configuré plus tôt dans le chapitre lorsque vous y êtes invité. Après un court délai, le contenu du partage Samba apparaîtra dans une nouvelle fenêtre de l’explorateur de fichiers.
1.10 Accéder aux partages Windows à partir d’Ubuntu
Comme mentionné précédemment, Samba est une rue à double sens, permettant non seulement aux systèmes Windows d’accéder aux fichiers et aux imprimantes hébergés sur un système Ubuntu, mais permettant également au système Ubuntu d’accéder aux ressources partagées sur les systèmes Windows. Ceci est réalisé en utilisant le paquetage smbclient qui a été installé au début de ce chapitre. S’il n’est pas actuellement installé, installez-le à partir d’une fenêtre de terminal comme suit :
# apt install smbclient
Les ressources partagées sur un système Windows sont accessibles soit à partir du bureau Ubuntu en utilisant l’application Files, soit à partir de l’invite de la ligne de commande en utilisant les outils smbclient et mount. Les étapes de cette section supposent que les paramètres de partage réseau appropriés ont été activés sur le système Windows.
Pour accéder à toute ressource partagée sur un système Windows en utilisant le bureau GNOME, commencez par lancer l’application Files et sélectionnez l’option Autres emplacements. Cela affichera l’écran illustré dans la figure 23-7 ci-dessous, y compris une icône pour le réseau Windows (s’il est détecté) :
Figure 23-7
Sélectionner l’option Réseau Windows affichera les systèmes Windows détectés sur le réseau et permettra l’accès à toute ressource partagée.
Figure 23-8
Alternativement, l’option Connecter au serveur peut être utilisée pour se connecter à un système spécifique. Notez que le nom ou l’adresse IP du système distant doit être préfixé par smb:// et peut être suivi du chemin d’accès à une ressource partagée spécifique, par exemple:
smb://WinServer10/Documents
1.11 Résumé
.
Laisser un commentaire