GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer Samba sur CentOS 7

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.

Dans ce didacticiel, nous montrerons comment installer Samba sur CentOS 7 et le configurer en tant que serveur autonome pour permettre le partage de fichiers entre différents systèmes d'exploitation sur un réseau.

Nous allons créer les partages et 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é.

Partages :

  • 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 le 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.

Prérequis #

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

Installation de Samba sur CentOS #

Samba est disponible à partir des référentiels CentOS standard. Pour l'installer sur votre système CentOS, exécutez la commande suivante :

sudo yum install samba samba-client

Une fois l'installation terminée, démarrez les services Samba et activez-les pour qu'ils démarrent automatiquement au démarrage du système :

sudo systemctl start smb.servicesudo systemctl start nmb.service
sudo systemctl enable smb.servicesudo systemctl enable nmb.service

Le smbd fournit des services de partage et d'impression de fichiers et écoute sur les ports TCP 139 et 445. Le nmbd fournit des services de nommage NetBIOS sur IP aux clients et écoute sur le port UDP 137.

Configuration du pare-feu #

Maintenant que Samba est installé et en cours d'exécution sur votre machine CentOS, vous devez configurer votre pare-feu et ouvrir les ports nécessaires. Pour ce faire, exécutez les commandes suivantes :

firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --zone=public --add-service=samba

Création d'utilisateurs Samba et de la structure de répertoire #

Pour une maintenabilité et une flexibilité plus faciles au lieu d'utiliser les répertoires personnels standard (/home/user ) tous les répertoires et données Samba seront situés dans le /samba répertoire.

Commencez par créer le /samba répertoire :

sudo mkdir /samba

Créez un nouveau groupe nommé sambashare . Plus tard, nous ajouterons tous les utilisateurs de Samba à ce groupe.

sudo groupadd sambashare 

Définissez le /samba propriété du groupe de répertoiresà sambashare :

sudo chgrp sambashare /samba

Samba utilise les utilisateurs Linux et le système d'autorisation de groupe, mais il possède son propre mécanisme d'authentification distinct de l'authentification Linux standard. Nous allons créer les utilisateurs en utilisant le standard Linux useradd tool puis définissez le mot de passe utilisateur avec le smbpasswd utilitaire.

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

Le useradd les options ont les significations suivantes :

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

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/joshsudo chown josh:sambashare /samba/josh

La commande suivante ajoutera le bit setgid au /samba/josh répertoire 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 groupe propriétaire de sambashare . Par exemple, si vous ne définissez pas les autorisations du répertoire sur 2770 et le sadmin l'utilisateur crée un nouveau fichier l'utilisateur josh ne pourra pas lire/écrire dans ce fichier.

sudo chmod 2770 /samba/josh

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

sudo smbpasswd -a josh

Vous serez invité à entrer et à confirmer le mot de passe de l'utilisateur.

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

Une fois le mot de passe défini, activez le compte Samba en tapant :

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 sadmin groupe.

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 ajoutez l'utilisateur à la fois sadmin et sambashare groupes.

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

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Ensuite, créez les Users répertoire de partage :

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 par tous les utilisateurs authentifiés. La commande suivante configure l'accès en écriture/lecture aux membres du sambashare groupe dans le /samba/users répertoire :

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
[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

[josh]
    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 :

  • [users] et [josh] - Les noms des partages que vous utiliserez lors de la connexion.
  • path - Le chemin d'accès au partage.
  • browseable - Si le partage doit être répertorié dans la liste des partages disponibles. En réglant sur no les autres utilisateurs ne pourront pas voir le partage.
  • read only - Si les utilisateurs spécifiés dans le valid users list sont capables d'é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 smb.servicesudo systemctl restart nmb.service

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, en utilisant le gestionnaire de fichiers ou monter le partage Samba.

Utilisation du client smbclient #

smbclient est un outil qui vous permet d'accéder à Samba depuis la ligne de commande. Le smbclient Le package 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 se connecter à un partage nommé josh sur un serveur Samba avec l'adresse IP 192.168.121.118 en tant qu'utilisateur josh vous exécuteriez :

smbclient //192.168.121.118/josh -U josh

Vous serez invité à entrer le mot de passe de l'utilisateur.

Enter WORKGROUP\josh's password:

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

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

Monter le partage Samba #

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

Sur Ubuntu et Debian, exécutez :

sudo apt install cifs-utils

Sur CentOS et Fedora, exécutez :

sudo yum install cifs-utils

Créez ensuite 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 en tant qu'utilisateur josh au /mnt/smbmount point de montage que vous exécuteriez :

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

Vous serez invité à entrer le mot de passe de l'utilisateur.

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

Utilisation de l'interface graphique #

Files, le gestionnaire de fichiers par défaut dans 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.
  2. Dans "Se connecter au serveur", entrez l'adresse du partage Samba au format suivant smb://samba_hostname_or_server_ip/sharename .
  3. Cliquez sur "Connecter" et l'écran suivant apparaît :
  4. Sélectionnez "Utilisateur enregistré", entrez le nom d'utilisateur et le mot de passe Samba et cliquez sur "Se connecter".
  5. Les fichiers sur le serveur Samba seront affichés.

Connexion à un partage Samba depuis macOS #

Sous macOS, vous pouvez accéder aux partages Samba à partir de la ligne de commande ou à l'aide du Finder du gestionnaire de fichiers macOS par défaut. Les étapes suivantes montrent comment accéder au partage à l'aide du Finder.

  1. Ouvrez "Finder", sélectionnez "Aller" et cliquez sur "Se connecter à".
  2. Dans "Se connecter à", entrez l'adresse du partage Samba au format suivant smb://samba_hostname_or_server_ip/sharename .
  3. Cliquez sur "Connecter" et l'écran suivant apparaît :
  4. Sélectionnez "Utilisateur enregistré", entrez le nom d'utilisateur et le mot de passe Samba et cliquez sur "Se connecter".
  5. Les fichiers sur le serveur Samba seront affichés.

Connexion à un partage Samba depuis Windows #

Les utilisateurs Windows ont également la possibilité de se connecter au partage Samba à partir de la ligne de commande et de l'interface graphique. Les étapes ci-dessous montrent comment accéder au partage à l'aide de l'explorateur de fichiers Windows.

  1. Ouvrez l'Explorateur de fichiers et dans le volet de gauche, cliquez avec le bouton droit sur "Ce PC".
  2. Sélectionnez "Choisir un emplacement réseau personnalisé", puis cliquez sur "Suivant".
  3. Dans « Adresse Internet ou réseau », saisissez l'adresse du partage Samba au format suivant \\samba_hostname_or_server_ip\sharename .
  4. Cliquez sur "Suivant" et vous serez invité à entrer les identifiants de connexion comme indiqué ci-dessous :
  5. Dans la fenêtre suivante, vous pouvez saisir un nom personnalisé pour l'emplacement réseau. Celui par défaut sera récupéré par le serveur Samba.
  6. Cliquez sur "Suivant" pour passer au dernier écran de l'assistant de configuration de la connexion.
  7. Cliquez sur "Terminer" et les fichiers sur le serveur Samba seront affichés.

Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer et configurer samba sur RHEL 8 / CentOS 8

  3. Comment installer et configurer Redis sur CentOS 7

  4. Comment installer et configurer CyberPanel sur CentOS 8

  5. Comment installer et configurer Samba dans CentOS / RHEL

Comment installer et configurer ISPConfig CP sur CentOS 7

Comment installer et configurer ownCloud sur CentOS 7

Comment installer et configurer Samba sur CentOS 8

Comment installer et configurer Fail2ban sur CentOS 8

Comment installer et configurer HAproxy sur CentOS 6

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8