Comment configurer un partage Samba pour une petite organisation sur Ubuntu 16.04

L'auteur a sélectionné lesTech Education Fund pour recevoir un don dans le cadre du programmeWrite for DOnations.

introduction

Samba est une implémentation open-source desSMB/CIFS networking protocol utilisés dans les environnements Windows pour les services partagés tels que l'accès aux fichiers et aux imprimantes et Active Directory. Samba peut également être utilisé pour créer des partages de fichiers multiplateformes dans une configuration appeléestandalone server.

Dans ce guide, vous allez installer et configurer un serveur Samba autonome pour fournir des magasins de fichiers en réseau oushares pour une petite organisation hypothétique appeléeExample.com. Cette organisation a plusieurs exigences pour leurs partages de fichiers: 1. Chaque employé a besoin d’un partage de fichiers personnel et privé; 2 Tous les employés doivent avoir un accès en lecture et en écriture à un partage de fichiers commun. 3 Un utilisateur administratif doit avoir un accès en lecture et en écriture à toutes les actions personnelles et à la propriété de l’action ordinaire.

Votre serveur Samba répondra à toutes ces exigences. Vous apprendrez également à accéder aux partages à partir de Windows, Linux et macOS.

Conditions préalables

Avant de commencer ce guide, vous aurez besoin des éléments suivants:

  • Un serveur Ubuntu 16.04 avec un utilisateur sudo non root. Veuillez vous référer au guideUbuntu 16.04 initial server setup pour plus d'informations. Samba a des besoins modestes en RAM et en CPU et fonctionnera bien sur un serveur de 1 Go. Il est plus probable que vous manquiez d’espace de stockage, ce qui devrait donc être votre principale préoccupation lors du choix de la taille de votre serveur.

  • Connexions TCP entrantes autorisées sur le port445. Si vous utilisez le pare-feu deUFW, veuillez vous référer àHow To Set Up a Firewall with UFW on an Ubuntu and Debian Cloud Server pour obtenir des conseils. Si vous utilisez un pare-feu différent ou externe, veuillez vous reporter à la documentation correspondante.

[[step-1 -—- Installing-samba]] == Étape 1 - Installation de Samba

Commençons par installer Samba à l’aide du système de gestion de paquets d’Ubuntu.

Avant d’installer de nouveaux packages, mettons à jour l’index de package local pour inclure les versions les plus récentes des référentiels Ubuntu:

sudo apt-get update

Ensuite, installez Samba:

sudo apt-get install samba

Cette commande installera et démarrera à la fois le serveur Sambasmbd et le serveur Samba NetBIOSnmbd. nmbd n'est pas requis pour ce tutoriel, donc dans l'intérêt de la sécurité, vous pouvez l'arrêter et le désactiver avecsystemctl:

sudo systemctl stop nmbd.service
sudo systemctl disable nmbd.service

La commandesudo systemctl disable nmbd.service produira la sortie suivante lors de son exécution:

Outputnmbd.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable nmbd
insserv: warning: current start runlevel(s) (empty) of script `nmbd' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `nmbd' overrides LSB defaults (0 1 6).

Cette sortie indique que puisquenmbd n'a pas de configuration de gestion native desystemd, il est désactivé par l'ancien système d'initialisation SysV.

Pour éviter les problèmes de sécurité pouvant découler de l’exécution d’un service non configuré et activé sur le réseau, arrêtons le serveur Samba jusqu’à ce que les détails de la configuration soient en place:

sudo systemctl stop smbd.service

Samba est maintenant installé et prêt à être configuré.

[[step-2 -—- setting-samba-39-s-global-options]] == Étape 2 - Définition des options globales de Samba

Définissons comment le serveur Samba se comportera en modifiant son fichier de configuration, situé à/etc/samba/smb.conf. Ce fichier comprend deux parties: une section[global] et une section[shares]. La section[global] configure le comportement du serveur Samba et les sections[shares] configurent les partages de fichiers. Commençons par définir les directives dans la section[global].

Plutôt que de modifier directement/etc/samba/smb.conf, renommez-le ensmb.conf.original et créez un nouveau fichier avec le nomsmb.conf:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

Avant d'éditer/etc/samba/smb.conf, vérifions les interfaces disponibles afin de dire à Samba ce qu'il doit reconnaître. Tapez ce qui suit:

ip link
Output1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:21:2c:03:ef:e2 brd ff:ff:ff:ff:ff:ff

Cette sortie indique quelo est l'interface de bouclage eteth0 est l'interface réseau externe, bien que votre interface externe puisse différer. Prenez note des deux: vous les inclurez avec la directiveinterfaces dans la section[global] du fichiersmb.conf.

Commençons par modifier ce fichier avecnano ou votre éditeur préféré:

sudo nano /etc/samba/smb.conf

La section[global] de ce fichier définira le nom, le rôle et d'autres détails du serveur, y compris les interfaces réseau:

/etc/samba/smb.conf

[global]
        server string = samba_server
        server role = standalone server
        interfaces = lo your_network_interface
        bind interfaces only = yes
        disable netbios = yes
        smb ports = 445
        log file = /var/log/samba/smb.log
        max log size = 10000

Ces directives spécifient ce qui suit:

  • server string - Il s'agit des informations d'identification qui seront fournies aux utilisateurs lors des connexions. Vous pouvez utilisersamba_server ou un autre nom qui identifiera votre serveur. Tout au long de ce didacticiel, vous verrez la chaînesamba.example.com pour désigner le partage Samba pour l'organisationExample.com.

  • server role - Ceci définit le type de serveur Samba qui sera créé. Dans ce cas, il s'agit d'unstandalone server, i.e. un partage de fichiers. Les autres types de serveurs incluent les serveurs membres du domaine et les contrôleurs de domaine.

  • interfaces - Ce sont les interfaces réseau auxquelles Samba se liera. lo est l'interface de bouclage (127.0.0.1) et est obligatoire. Vous devrez également inclure l'interface réseau externe que vous avez fournie précédemment. Il s'agit généralement deeth0.

  • bind interfaces only - Cela garantit que Samba ne se lie qu'aux interfaces listées sur la ligneinterfaces. Par mesure de sécurité, cela amène Samba à ignorer les paquets qui ne correspondent pas auxinterfaces spécifiés.

  • disable netbios - Ceci désactive toutes les fonctions NetBIOS qui ne sont pas nécessaires dans un serveur autonome. Cela simplifie le processus de résolution du nom du serveur et le transport du trafic SMB.

  • smb ports - Ceci définit le port sur lequel Samba écoutera. Le port445 est le port standard de Samba.

  • log file - Ceci définit le nom et l’emplacement du fichier journal de Samba.

  • max log size - Ceci définit une limite de taille sur le fichier journal. Le nombre indiqué est en octets et équivaut à 10 Mo. Quelques points à garder à l'esprit lors de la définition de cette limite de taille: Lorsqu'elle est atteinte, Samba générera un nouveau fichier journal et déplacera l'ancien contenu vers un double avec une extension.old. Si la limite est de nouveau dépassée, le fichier.old existant sera détruit. Cela évite que l’espace disque / partition ne soit submergé par le contenu d’un seul fichier journal. Vous devez donc définir une taille de fichier adaptée à vos ressources système.

Si vous souhaitez une journalisation plus détaillée lors de la configuration du serveur, ajoutez la ligne suivante à la section[global]:

/etc/samba/smb.conf

        log level = 3 passdb:5 auth:5

Cela définit le niveau de journalisation sur 3 (info), ce qui augmente la granularité des informations de journalisation par rapport au paramètre par défaut de 1. Le paramètre supérieur de 5 pour les classes de débogagepassdb etauth fournit plus d'informations relatives à l'authentification des utilisateurs.

Enregistrez et fermez le fichier lorsque vous avez terminé de créer cette section.

Chaque fois que vous éditezsmb.conf, vous devez exécuter l'utilitaire Sambatestparm pour vérifier qu'il n'y a pas d'erreurs de syntaxe:

testparm

L'exécution de la commandetestparm sur le fichiersmb.conf produit la sortie suivante:

OutputLoad smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Appuyer surENTER produit la sortie suivante:

Output# Global parameters
[global]
        server string = samba_server
        interfaces = lo your_network_interface
        bind interfaces only = Yes
        server role = standalone server
        log file = /var/log/samba/smb.log
        max log size = 10000
        smb ports = 445
        disable netbios = Yes
        idmap config * : backend = tdb

Sitestparm signaleLoaded services file OK., alors il n'y a aucune erreur de syntaxe qui empêcherait le serveur Samba de démarrer.

La configuration de la section[global] est tout ce qui est nécessaire pour démarrer le serveur Samba. Cependant, ses fonctionnalités seront limitées sans configurations de partage. Un partage est composé de deux parties, un utilisateur et un répertoire, qui doivent tous deux être créés et configurés pour permettre les connexions et les tests. La section suivante explique comment créer des utilisateurs pouvant accéder aux partages.

[[step-3 -—- creating-users]] == Étape 3 - Création d'utilisateurs

Dans cette étape, nous allons créer des utilisateurs pouvant accéder aux partages. Ils auront besoin d’un accès en tant qu’utilisateur Samba et système pour s’authentifier auprès du serveur Samba lorsqu’ils se connecteront en lecture et en écriture au système de fichiers.

Dans la société hypothétiqueExample.com, il y a quatre employés qui doivent être ajoutés au serveur Samba et créés en tant qu'utilisateurs sur le système Linux:david,mike,jane et lucy. En plus de ces quatre, il y aura un utilisateuradmin qui pourra accéder et administrer les partages personnels. Cet utilisateur sera également propriétaire des actions communes auxquelles tout le monde peut accéder.

La première étape pour ajouter des utilisateurs du système consiste à créer des répertoires de base pour chacun d’entre eux. Plutôt que d'utiliser les répertoires personnels standard à/home/user, les répertoires et données Samba seront situés dans/samba/. Conserver les données Samba dans un emplacement unique et séparé des autres données utilisateur facilitera les tâches de gestion futures telles que les sauvegardes.

[.note] #Note: Les utilisateurs créés dans ce guide ne sont pas destinés à avoir des connexions SSH. Si vos utilisateurs ont déjà des comptes sur le serveur, vous devez créer un utilisateur Samba dédié pour eux afin de suivre ce guide.
#

La section suivante expliquera le processus pour ajouter le premier utilisateur,david, mais vous devrez répéter ce processus pourmike,jane etlucy.

La première étape consiste à créer le répertoire dans lequel les données Samba seront stockées, à la racine du système de fichiers. Ce répertoire sera appelé/samba/, et sa propriété de groupe sera définie sursambashare, un groupe qui a été créé lorsque vous avez installé Samba.

Exécutez les commandes suivantes pour créer le répertoire/samba/ et définir la propriété du groupe sursambashare:

sudo mkdir /samba/
sudo chown :sambashare /samba/

Ensuite, créez le répertoire personnel dedavid sous le répertoire/samba/:

sudo mkdir /samba/david

Maintenant, ajoutezdavid en tant qu'utilisateur système avec la commande suivante:

sudo adduser --home /samba/david --no-create-home --shell /usr/sbin/nologin --ingroup sambashare david

Les options font ce qui suit:

  • --home - Ceci définit l'emplacement du répertoire personnel de l'utilisateur.

  • --no-create-home - Cela empêche la commandeadduser de créer le répertoire personnel dedavid. Si le système créait ce répertoire, il serait rempli de fichiers de configuration tels que.bash_history qui ne sont pas nécessaires pour la configuration actuelle.

  • --shell- Ceci définit quel shelldavid sera alloué lorsqu'il se connectera par SSH. Une connexion SSH n'est pas nécessaire pour accéder à un partage Samba; le paramétrer sur/usr/sbin/nologin désactivera les connexions SSH.

  • --in-group sambashare - Ceci ajoute l'utilisateur au groupesambashare, lui donnant un accès en lecture et en écriture à ses propres actions et à l'action ordinaire.

Vous serez invité à entrer un mot de passe lorsque vous exécuterez cette commande. Choisissez un mot de passe unique, sans dictionnaire, de 10 caractères ou plus.

Maintenant que l'utilisateur systèmedavid existe, vous pouvez définir la propriété et les autorisations sur son répertoire personnel Samba:

sudo chown david:sambashare /samba/david/
sudo chmod 2770 /samba/david/

La définition des autorisations du répertoire sur2770 signifie que les nouveaux fichiers ou répertoires créés sous/samba/david/ hériteront de la propriété de groupe du répertoire parent plutôt que du groupe principal de l'utilisateur qui a créé le fichier ou le répertoire. Cela signifie, par exemple, que si l’utilisateuradmin créait un nouveau répertoire dans le partage dedavid,david serait capable d’y lire et d’écrire.

Ensuite, ajoutezdavid au serveur Samba. Samba conserve sa propre base de données d’utilisateurs et de mots de passe, qu’elle utilise pour authentifier les connexions. Pour vous connecter, tous les utilisateurs doivent être ajoutés au serveur Samba et activés. Exécutez les commandessmbpasswd suivantes pour accomplir ces deux tâches:

sudo smbpasswd -a david
sudo smbpasswd -e david

Les options utilisées ici ont les effets suivants:

  • -a - Ceci ajoute l'utilisateur au serveur Samba sans l'activer.

  • -e - Ceci active un utilisateur précédemment ajouté.

Le mot de passe que vous entrez ici servira à accéder au partage Samba et peut différer du mot de passe système.

L'utilisateurdavid existe désormais en tant qu'utilisateur système sans possibilité de SSH sur le serveur. Il a un répertoire personnel à/samba/david, et est enregistré et activé en tant qu'utilisateur Samba.

Répétez ce processus pour chaque utilisateur Samba (mike,jane etlucy).

Pour créer l'utilisateuradmin, exécutez les commandes suivantes, en changeant le répertoire personnel en/samba/everyone/:

sudo mkdir /samba/everyone
sudo adduser --home /samba/everyone --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
sudo chown admin:sambashare /samba/everyone/
sudo chmod 2770 /samba/everyone/
sudo smbpasswd -a admin
sudo smbpasswd -e admin

En plus de créer l'utilisateuradmin, créons un groupe appeléadmins pour faciliter la gestion du serveur. Avec des autorisations de lecture et d'écriture sur chaque partage, ce groupe peut simplifier le travail d'ajout et de suppression d'utilisateurs. Par exemple, si des utilisateurs individuels fonctionnent comme des utilisateursadmin puis quittent l'organisation, ils doivent être supprimés individuellement de chaque partage. Les nouveaux administrateurs doivent également être ajoutés manuellement à chaque partage. Créer un groupeadmins et donner à ce groupe un accès en lecture-écriture aux partages signifie que l'ajout et la suppression d'utilisateurs ne nécessitent qu'une seule commande.

Exécutez les commandes suivantes pour créer un nouveau groupe appeléadmins et ajoutez l'utilisateuradmin à ce groupe:

sudo groupadd admins
sudo usermod -G admins admin

Des utilisateurs supplémentaires peuvent être ajoutés au groupeadmins en exécutant la deuxième commande,sudo usermod -G admins admin, et en remplaçant un autre utilisateur à la place deadmin.

Les configurations système sont maintenant terminées, les utilisateurs de l'organisationExample.com étant définis comme utilisateurs système et Samba. Passons maintenant à la configuration du serveur Samba afin que ces utilisateurs puissent accéder à leurs répertoires de partage.

[[step-4 -—- configuration-the-samba-partages]] == Étape 4 - Configuration des partages Samba

Chaque partage aura sa propre section dans le fichier de configuration principal de Samba,/etc/samba/smb.conf, suivant les paramètres globaux. Ces sections définiront le fonctionnement de chaque partage.

Utilisez à nouveau l'éditeur de texte denano pour ouvrir et modifier ce fichier:

sudo nano /etc/samba/smb.conf

Le bloc de configuration suivant définira le partage personnel de chaque utilisateur:

/etc/samba/smb.conf

...
[share_name]
        path =
        browseable =
        read only =
        force create mode =
        force directory mode =
        valid users =

Ces options comprennent:

  • share_name - Il s'agit du nom du partage que vous utiliserez lors de la connexion.

  • path - Il s'agit du chemin absolu vers le partage dans le système de fichiers.

  • browsable - Ceci définit si les autres utilisateurs peuvent ou non voir le partage. L'activation de cette option permet uniquement aux autres utilisateurs du serveur Samba de voir l'existence du partage. Il ne confère aucune autorisation de lecture ou d'écriture.

  • read only - Ceci définit si lesvalid users peuvent écrire sur le partage.

  • force create mode - Cela force les autorisations pour tout fichier écrit sur le partage.

  • force directory mode - Cela force les autorisations pour tout répertoire créé dans le partage.

  • valid users - Il s'agit d'une liste des utilisateurs qui ont accès au partage. Ce paramètre peut prendre des noms d'utilisateur ou des groupes système tels queadmins. Les groupes doivent être listés avec un@ devant, par ex. @admins.

Ajoutez le bloc de configuration de partage suivant pourdavid, en définissant son répertoire personnel, les autorisations pour la propriété du groupe de ce répertoire et les utilisateurs devant avoir accès à son partage:

/etc/samba/smb.conf

[david]
        path = /samba/david
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = david @admins

Notez que les autorisations de répertoire définissent la propriété du groupe sur celle du répertoire parent.

Créez un bloc de partage pourmike,jane etlucy. Modifiez uniquement le partage[name],path etvalid users pour refléter chacun des noms d’utilisateur.

Le partage[everyone] différera des autres dans les options[name],path,valid users etbrowsable, et ressemblera à ceci:

/etc/samba/smb.conf

...
[everyone]
        path = /samba/everyone
        browseable = yes
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = @sambashare @admins

Le fait d'accorder au groupesambashare un accès en lecture-écriture au partage permet à tous les utilisateurs d'accéder au partage, car ils ont été ajoutés à ce groupe lors de leur création.

Le fichiersmb.conf complet ressemblera à ceci:

/etc/samba/smb.conf

[global]
        server string = samba_server
        server role = standalone server
        interfaces = lo your_network_interface
        bind interfaces only = yes
        disable netbios = yes
        smb ports = 445
        log file = /var/log/samba/smb.log
        max log size = 10000

[david]
        path = /samba/david
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = david @admins

[mike]
        path = /samba/mike
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = mike @admins

[jane]
        path = /samba/jane
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = jane @admins

[lucy]
        path = /samba/lucy
        browseable = no
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = lucy @admins

[everyone]
        path = /samba/everyone
        browseable = yes
        read only = no
        force create mode = 0660
        force directory mode = 2770
        valid users = @sambashare @admins

Enregistrez et fermez le fichier une fois l’édition terminée.

Testez à nouveau la configuration:

testparm

Cela produira une sortie qui ressemble à ceci:

OutputLoad smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[david]"
Processing section "[jane]"
Processing section "[mike]"
Processing section "[lucy]"
Processing section "[everyone]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Une fois la vérification de la configuration terminée, démarrons le serveur Samba avecsystemctl:

sudo systemctl start smbd.service

Le serveur Samba est maintenant en cours d'exécution et prêt à accepter les connexions. L'étape suivante consiste à vous connecter au serveur Samba pour vérifier qu'il fonctionne comme prévu. La section suivante couvre la connexion au serveur Samba à partir de Windows, Linux et macOS.

[[step-5 -—- logging-into-the-samba-server]] == Étape 5 - Connexion au serveur Samba

Dans cette section, nous verrons comment accéder aux partages Samba que nous avons créés à partir de Linux, Windows et macOS.

[[linux -—- la-ligne-de-commande]] === Linux - La ligne de commande

Vous pouvez utiliser un outil appelésmbclient pour accéder à Samba depuis la ligne de commande. Ce paquet n'est pas inclus par défaut sur la plupart des distributions Linux. Vous devrez donc l'installer avec votre gestionnaire de paquets local.

Sur les serveurs Debian et Ubuntu, installezsmbclient avec la commande suivante:

sudo apt-get update
sudo apt-get install smbclient

Sur les systèmes Fedora, utilisez les éléments suivants:

sudo dnf update
sudo samba-client

Et sur CentOS:

sudo yum update
sudo yum install samba-client

[.Remarque]##

Note: Sur certaines distributions Linux,smbclient échouera avec le message d'erreur suivant:

Outputsmbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

Si vous voyez ce message d'erreur, vérifiez que vous avez créé le fichier à/etc/samba/smb.conf.

smbclient utilise le format suivant pour accéder aux partages Samba:

smbclient //your_samba_hostname_or_server_ip/share -U username

Vous pouvez utiliser l'adresse IP de votre serveur ou le nom d'hôte que vous avez défini dans/etc/samba/smb.conf pour accéder au partage. Cet exemple utilise le nom d’hôtesamba.example.com pour accéder au partage dedavid sur le serveur Samba que vous avez créé aux étapes précédentes:

smbclient //samba.example.com/david -U david

Sidavid souhaite accéder au partage commun (everyone), modifiez la commande en:

smbclient //samba.example.com/everyone -U david

Après avoir exécuté la commandesmbclient, vous serez invité à entrer le mot de passe Samba et connecté à une interface de ligne de commande rappelant l'interface de texte FTP:

smb: \>

Cette interface est particulièrement utile pour tester les noms d'utilisateur et les mots de passe, ainsi que les accès en lecture-écriture. Par exemple, vous pouvez créer un répertoire et répertorier son contenu comme suit:

mkdir test
ls

Vous devriez voir la sortie suivante:

Output  .                                   D        0  Fri Feb  2 14:49:01 2018
  ..                                  D        0  Wed Jan 24 12:11:33 2018
  test                                D        0  Fri Feb  2 14:49:01 2018

Supprimez le répertoire en tapant:

rmdir test

La gestion des données dans un partage est souvent plus facile avec un outil graphique. La prochaine section examinera les outils d'interface graphique intégrés pour KDE.

[[linux -—- kde-with-dolphin]] === Linux - KDE avec Dolphin

Dolphin est le gestionnaire de fichiers par défaut dans KDE et dispose de fonctionnalités intégrées pour accéder aux partages Samba.

Après avoir ouvert Dolphin, suivez les étapes suivantes:

  1. SélectionnezNetwork dans la listePlaces.

  2. Cliquez surAdd Network Folder. Image showing Network highlighted in the Places list

  3. Sélectionnez l'optionMicrosoft Windows network drive.

  4. Cliquez surNext

  5. Entrez les détails du partage Samba:

    • Name - Il s'agit d'un nom mémorable qui sera affiché en tant que signet dans Dolphin pour le partage.

    • Server - Il s'agit du nom d'hôte ou de l'adresse IP du serveur Samba. Dans cet exemple, ce serasamba.example.com.

    • Folder - C'est le nom du partage qui a été défini danssmb.conf.

  6. Cliquez surSave & Connect.

  7. Entrez le nom d'utilisateur et le mot de passe de l'utilisateur avec lequel vous allez accéder au partage Samba.

  8. Cliquez surOK.

Dolphin va maintenant se connecter et ouvrir le partage Samba qui ressemblera à ceci:

Image showing Dolphin connected to a Samba share

Vous pouvez maintenant utiliser le partage Samba comme s'il s'agissait d'un répertoire local pour copier, supprimer et renommer des fichiers et des répertoires. Le partage apparaîtra également comme un signet permanent aux emplacementsNetwork.

[[macos -—- la-ligne de commande]] === MacOS - La ligne de commande

MacOS est livré préinstallé avec des outils de ligne de commande que vous pouvez utiliser pour accéder à un partage Samba. Ouvrez le terminal avec Launchpad en cliquant sur l'icôneTerminal.

Cela ouvrira un terminal en ligne de commande dans votre répertoire personnel. Pour monter le partage Samba, vous pouvez créer un nouveau répertoire qui servira de point de montage pour le partage. Un point de montage est l'emplacement où deux systèmes de fichiers sont joints: dans ce cas, votre système de fichiers local et le système de fichiers Samba distant.

Créez un nouveau répertoire appelésamba:

mkdir samba

Ensuite, montez le partage Samba sous le nouveau répertoiresamba. Cette commande a la forme:

sudo mount_smbfs //username@your_samba_hostname_or_server_ip/share ./mount_point

Remplacer les détails deExample.com par l'utilisateurdavid ressemble à ceci:

sudo mount_smbfs //[email protected]/david ./samba

Le répertoiresamba affichera désormais le contenu du partagedavid sur le serveur SambaExample.com. Les fichiers et répertoires peuvent être manipulés avec les outils normaux tels quels,rm etmkdir; cependant, le répertoiresamba appartiendra à root une fois le partage monté. Vous devrez donc utilisersudo pour accéder au répertoiresamba et à son contenu.

Pour démonter le partage Samba, exécutez la commandeumount à partir du même répertoire où vous avez exécuté la commandemkdir:

umount samba

La section suivante examinera l'accès à un partage Samba à l'aide de l'application graphique de bureau sous macOS.

[[macos -—- bureau]] === MacOS - Bureau

MacOS est également capable d'accéder aux partages Samba à l'aide de l'application Finder.

Suivez les étapes suivantes:

  1. OuvrezFinder et cliquez surGo dans la barre de menus.

  2. Cliquez surConnect to Server dans la liste des options.

  3. Utilisez une URL au formatsmb:// qui comprend votre nom d'utilisateur, votre nom d'hôte ou l'adresse IP du serveur et le nom de votre partage:smb://username@your_samba_hostname_or_server_ip/share. Dans l'exemple montré ici, vous verrez le nom d'utilisateurdavid et le nom d'hôtesamba.example.com.

  4. Marquez le partage Samba en cliquant sur le bouton avec un symbole+.

  5. Cliquez surConnectImage showing samba share connection details

  6. SélectionnezRegistered User

  7. Entrez le nom d'utilisateur et le mot de passe de l'utilisateur du partage Samba.

  8. Décidez si vous souhaitez que macOS stocke le mot de passe.

  9. Cliquez surConnect.

Une fois que vous vous êtes connecté avec succès au partage Samba, il apparaîtra dans le Finder, comme indiqué ici:

Image showing contents of connected share

La section suivante explore comment accéder aux partages Samba à partir de Windows 10.

[[windows-10 -—- la-ligne de commande]] === Windows 10 - La ligne de commande

Monter un partage Samba à partir de la ligne de commande Windows ne nécessite qu'une seule commande:

net use drive_letter \\your_samba_hostname_or_server_ip\share

Remplacez les variables du partage de l'utilisateurdavid et définissez la lettre de lecteur surX::

net use X: \\samba.example.com\david

Lorsque cette commande est entrée, vous serez invité à entrer le nom d’utilisateur et le mot de passe dedavid. Après avoir entré ces éléments, vous recevrez un accusé de réception indiquant que le partage a été monté avec succès:

OutputEnter the user name for 'samba.example.com': david
Enter the password for samba.example.com:
The command completed successfully.

Vous pourrez maintenant parcourir le partage Samba dans l'Explorateur de fichiers et manipuler les fichiers et les répertoires comme s'ils étaient locaux sur votre ordinateur.

La section suivante examinera l'utilisation des outils de l'interface graphique Windows pour accéder à un partage Samba.

[[windows-10 -—- bureau]] === Windows 10 - Bureau

Windows 10 a également la capacité native de se connecter à un partage Samba. Les étapes suivantes vous connecteront à votre partage Samba et le conserveront en tant que signet à l'aide de l'Explorateur de fichiers Windows. Commencez ces étapes en ouvrant l'explorateur de fichiers:

  1. Faites un clic droit surThis PC.

  2. Cliquez surAdd a network location puis surNext sur la page qui suit. Image showing the context menu for This PC

  3. Cliquez surChoose a custom network location.

  4. Cliquez surNext

  5. Entrez l'adresse de style Windows du serveur Samba et le nom du partage. Windows utilise la forme suivante d'une URL Samba:\your_samba_hostname_or_server_ip\share\. Dans l'exemple d'image, le nom du serveur estsamba.example.com et le nom de partage estdavid:\samba.example.com\david.

  6. Cliquez surNext.

  7. Entrez le nom d'utilisateur et le mot de passe de l'utilisateur.

  8. Décidez si vous voulez ou non que Windows garde le mot de passe en mémoire.

  9. Cliquez surOK.

L'explorateur de fichiers va maintenant se connecter au partage Samba. Une fois la connexion établie, un nouvel emplacement sera créé sousThis PC dans l'Explorateur de fichiers:

Image showing Samba share under This PC

Vous pourrez maintenant utiliser ce dossier pour gérer les fichiers et les dossiers du partage Samba comme s'il s'agissait d'un dossier local.

Conclusion

Dans cet article, vous avez créé des partages de fichiers en ligne multiplates-formes à l'aide du serveur Samba. Vous avez également accédé à ces partages à partir de Windows, Linux et macOS.

Les partages Samba sont devenus si courants que de nombreuses applications peuvent accéder aux données qui y sont stockées. Ces applications peuvent étendre les fonctionnalités et l'utilité de vos partages Samba. Par exemple, la version mobile du lecteur multimédiaVLC peut se connecter et diffuser de la musique et des vidéos à partir de votre partage Samba. Pour y accéder, sélectionnezopen MRL et utilisez l'URL Samba standard:smb://username@your_samba_hostname_or_server_ip/share. Vous pouvez également utiliser un partage Samba comme destination de vos sauvegardes avec l'utilitaire de sauvegarde multiplateformeBackupPC.

En plus d'agir comme un simple partage de fichiers, Samba peut fonctionner avec Windows Active Directory en tant que contrôleur de domaine ou membre d'un domaine. Le Wiki SambaUser Documentation contient plus d'informations sur la façon de procéder.