Android

Comment installer et configurer Samba sur Ubuntu 18.04

Serveur SAMBA sur Ubuntu

Serveur SAMBA sur Ubuntu

Table des matières:

Anonim

Samba est une réimplémentation gratuite et open-source du protocole de partage de fichiers réseau SMB / CIFS qui permet aux utilisateurs finaux d'accéder aux fichiers, imprimantes et autres ressources partagées.

Ce didacticiel explique comment installer Samba sur Ubuntu 18.04 et le configurer en tant que serveur autonome pour fournir le partage de fichiers sur différents systèmes d'exploitation sur un réseau.

Nous allons créer les partages et les utilisateurs Samba suivants.

Utilisateurs:

  • sadmin - Un utilisateur administratif avec un accès en lecture et en écriture à tous les partages. josh - Un utilisateur régulier avec son propre partage de fichiers privé.

Actions:

  • utilisateurs - Ce partage sera accessible avec des autorisations de lecture / écriture par tous les utilisateurs. josh - Ce partage sera accessible avec des autorisations de lecture / écriture uniquement par les utilisateurs josh et sadmin.

Les partages de fichiers seront accessibles depuis tous les appareils de votre réseau. Plus loin dans ce didacticiel, nous fournirons également des instructions détaillées sur la façon de se connecter au serveur Samba à partir de clients Linux, Windows et macOS.

Conditions préalables

Avant de continuer, assurez-vous que vous êtes connecté à votre système Ubuntu 18.04 en tant qu'utilisateur avec des privilèges sudo.

Installer Samba sur Ubuntu

Samba est disponible dans les référentiels officiels d'Ubuntu. Pour l'installer sur votre système Ubuntu, suivez les étapes ci-dessous:

  1. Commencez par mettre à jour l'index des packages apt:

    sudo apt update

    Installez le package Samba avec la commande suivante:

    sudo apt install samba

    Une fois l'installation terminée, le service Samba démarre automatiquement. Pour vérifier si le serveur Samba fonctionne, tapez:

    sudo systemctl status smbd

    La sortie devrait ressembler à quelque chose comme ci-dessous indiquant que le service Samba est actif et en cours d'exécution:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

À ce stade, Samba est installé et prêt à être configuré.

Configuration du pare-feu

En supposant que vous utilisez UFW pour gérer votre pare-feu, vous pouvez ouvrir les ports en activant le profil 'Samba':

sudo ufw allow 'Samba'

Configuration des options globales de Samba

Avant d'apporter des modifications au fichier de configuration Samba, créez une sauvegarde pour référence future:

sudo cp /etc/samba/smb.conf{,.backup}

Le fichier de configuration par défaut fourni avec le package Samba est configuré pour le serveur Samba autonome. Ouvrez le fichier et assurez-vous que server role est défini sur standalone server

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Par défaut, Samba écoute sur toutes les interfaces. Si vous souhaitez restreindre l'accès au serveur Samba uniquement à partir de votre réseau interne, décommentez les deux lignes suivantes et spécifiez les interfaces à lier:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Une fois cela fait, exécutez l'utilitaire testparm pour rechercher des erreurs dans le fichier de configuration Samba. S'il n'y a pas d'erreurs de syntaxe, vous verrez Loaded services file OK.

Enfin, redémarrez les services Samba avec:

sudo systemctl restart smbd sudo systemctl restart nmbd

Création d'utilisateurs Samba et d'une structure de répertoires

Pour faciliter la maintenance et la flexibilité au lieu d'utiliser les répertoires de base standard ( /home/user ), tous les répertoires et données Samba seront situés dans le répertoire /samba .

Pour créer le répertoire /samba , tapez:

sudo mkdir /samba

Définissez la propriété du groupe sur sambashare . Ce groupe est créé lors de l'installation de Samba, nous ajouterons plus tard tous les utilisateurs Samba à ce groupe.

sudo chgrp sambashare /samba

Samba utilise des utilisateurs Linux et un système d'autorisation de groupe mais possède son propre mécanisme d'authentification distinct de l'authentification Linux standard. Nous allons créer les utilisateurs à l'aide de l'outil Linux useradd standard, puis définir le mot de passe utilisateur avec l'utilitaire smbpasswd .

Comme nous l'avons mentionné dans l'introduction, nous allons créer un utilisateur régulier qui aura accès à son partage de fichiers privé et à un compte administratif avec un accès en lecture et en écriture à tous les partages sur le serveur Samba.

Création d'utilisateurs Samba

Pour créer un nouvel utilisateur nommé josh utilisez la commande suivante:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Les options useradd ont les significations suivantes:

  • -M -ne crée pas le répertoire personnel de l'utilisateur. Nous allons créer manuellement ce répertoire. -d /samba/josh - définit le répertoire de base de l'utilisateur sur /samba/josh . -s /usr/sbin/nologin - désactive l'accès au shell pour cet utilisateur. -G sambashare - ajoute l'utilisateur au groupe sambashare .

Créez le répertoire personnel de l'utilisateur et définissez la propriété du répertoire sur l'utilisateur josh et le groupe sambashare :

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

La commande suivante ajoutera le bit setgid au répertoire /samba/josh afin que les fichiers nouvellement créés dans ce répertoire héritent du groupe du répertoire parent. De cette façon, quel que soit l'utilisateur qui crée un nouveau fichier, le fichier aura le propriétaire du groupe de sambashare . Par exemple, si vous ne définissez pas les autorisations du répertoire sur 2770 et que l'utilisateur sadmin crée un nouveau fichier, l'utilisateur josh ne pourra pas lire / écrire dans ce fichier.

sudo chmod 2770 /samba/josh

Ajoutez le compte utilisateur josh à la base de données Samba en définissant le mot de passe utilisateur:

sudo smbpasswd -a josh

Vous serez invité à saisir et à confirmer le mot de passe utilisateur.

New SMB password: Retype new SMB password: Added user josh.

Une fois le mot de passe défini pour activer l'exécution du compte Samba:

sudo smbpasswd -e josh

Enabled user josh.

Pour créer un autre utilisateur, répétez le même processus que lors de la création de l'utilisateur josh .

Ensuite, créons un utilisateur et un groupe sadmin . Tous les membres de ce groupe auront des autorisations administratives. Plus tard, si vous souhaitez accorder des autorisations administratives à un autre utilisateur, ajoutez simplement cet utilisateur au groupe sadmin .

Créez l'utilisateur administratif en tapant:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

La commande ci-dessus créera également un groupe sadmin et ajoutera l'utilisateur aux groupes sadmin et sambashare .

Définissez un mot de passe et activez l'utilisateur:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Ensuite, créez le répertoire de partage des Users :

sudo mkdir /samba/users

Définissez la propriété du répertoire sur l'utilisateur sadmin et le groupe sambashare :

sudo chown sadmin:sambashare /samba/users

Ce répertoire sera accessible à tous les utilisateurs authentifiés. La commande chmod suivante donne un accès en écriture / lecture aux membres du groupe sambashare dans le répertoire /samba/users :

sudo chmod 2770 /samba/users

Configuration des partages Samba

Ouvrez le fichier de configuration Samba et ajoutez les sections:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Les options ont les significations suivantes:

  • et - Les noms des partages que vous utiliserez lors de la connexion. path - Le chemin vers le partage. browseable - browseable si le partage doit être répertorié dans la liste des partages disponibles. En définissant sur no autre utilisateur ne pourra pas voir le partage. read only - Indique si les utilisateurs spécifiés dans la liste des valid users peuvent écrire sur ce partage. force create mode - Définit les autorisations pour les fichiers nouvellement créés dans ce partage. force directory mode - Définit les autorisations pour les répertoires nouvellement créés dans ce partage. valid users - Une liste d'utilisateurs et de groupes autorisés à accéder au partage. Les groupes sont préfixés par le symbole @ .

Pour plus d'informations sur les options disponibles, consultez la page de documentation du fichier de configuration Samba.

Une fois cela fait, redémarrez les services Samba avec:

sudo systemctl restart smbd sudo systemctl restart nmbd

Dans les sections suivantes, nous vous montrerons comment vous connecter à un partage Samba à partir de clients Linux, macOS et Windows.

Connexion à un partage Samba depuis Linux

Les utilisateurs Linux peuvent accéder au partage samba à partir de la ligne de commande, à l'aide du gestionnaire de fichiers ou monter le partage Samba.

Utilisation du client smbclient

smbclient est un outil qui vous permet d'accéder à Samba à partir de la ligne de commande. Le package smbclient n'est pas pré-installé sur la plupart des distributions Linux, vous devrez donc l'installer avec votre gestionnaire de packages de distribution.

Pour installer smbclient sur Ubuntu et Debian, exécutez:

sudo apt install smbclient

Pour installer smbclient sur CentOS et Fedora, exécutez:

sudo yum install samba-client

La syntaxe pour accéder à un partage Samba est la suivante:

mbclient //samba_hostname_or_server_ip/share_name -U username

Par exemple, pour vous connecter à un partage nommé josh sur un serveur Samba avec l'adresse IP 192.168.121.118 tant qu'utilisateur josh vous devez exécuter:

smbclient //192.168.121.118/josh -U josh

Vous serez invité à saisir le mot de passe utilisateur.

Enter WORKGROUP\josh's password:

Une fois le mot de passe entré, vous serez connecté à l'interface de ligne de commande Samba.

Try "help" to get a list of possible commands. smb: \>

Montage du partage Samba

Pour monter un partage Samba sur Linux, vous devez d'abord installer le cifs-utils .

Sous Ubuntu et Debian, exécutez:

sudo apt install cifs-utils

Sur CentOS et Fedora, exécutez:

sudo yum install cifs-utils

Ensuite, créez un point de montage:

sudo mkdir /mnt/smbmount

Montez le partage à l'aide de la commande suivante:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Par exemple, pour monter un partage nommé josh sur un serveur Samba avec l'adresse IP 192.168.121.118 tant qu'utilisateur josh au point de montage /mnt/smbmount , vous exécuterez:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Vous serez invité à saisir le mot de passe utilisateur.

Password for josh@//192.168.121.118/josh: ********

Utilisation de l'interface graphique

Files, le gestionnaire de fichiers par défaut de Gnome a une option intégrée pour accéder aux partages Samba.

  1. Ouvrez Fichiers et cliquez sur "Autres emplacements" dans la barre latérale. Dans "Se connecter au serveur", entrez l'adresse du partage Samba au format smb://samba_hostname_or_server_ip/sharename sharename.Cliquez sur "Connect" et l'écran suivant apparaîtra:

Conclusion

Dans ce tutoriel, vous avez appris à installer le serveur Samba sur Ubuntu 18.04 et à créer différents types de partage et d'utilisateurs. Nous vous avons également montré comment vous connecter au serveur Samba à partir d'appareils Linux, macOS et Windows.

samba ubuntu