Android

Comment installer et configurer Samba sur Centos 7

Installation et configuration de SAMBA sous LINUX (partager un dossier entre linux et windows)

Installation et configuration de SAMBA sous LINUX (partager un dossier entre linux et windows)

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.

Dans ce didacticiel, nous allons montrer comment installer Samba sur CentOS 7 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 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.

Conditions préalables

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 dans les 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 démarrer automatiquement au démarrage du système:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

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

Configuration du pare-feu

Maintenant que Samba est installé et fonctionne sur votre machine CentOS, vous devrez 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=samba firewall-cmd --zone=public --add-service=samba

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 .

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

sudo mkdir /samba

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

sudo groupadd sambashare

Définissez la propriété du groupe d'annuaires /samba sur sambashare :

sudo chgrp sambashare /samba

Samba utilise des utilisateurs Linux et un système d'autorisation de groupe mais il a 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, 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 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 suivante configure l'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 smb.service sudo 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, à 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écutez:

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 les 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 didacticiel, vous avez appris à installer un serveur Samba sur CentOS 7 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 centos