Installation et configuration de SAMBA sous LINUX (partager un dossier entre linux et windows)
Table des matières:
- Conditions préalables
- Installation de Samba sur CentOS
- Configuration du pare-feu
- Création d'utilisateurs Samba et d'une structure de répertoires
- Création d'utilisateurs Samba
- Configuration des partages Samba
- Connexion à un partage Samba depuis Linux
- Utilisation du client smbclient
- Montage du partage Samba
- Utilisation de l'interface graphique
- Conclusion
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 groupesambashare
.
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
:
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:
-
path
- Le chemin vers le partage.browseable
-browseable
si le partage doit être répertorié dans la liste des partages disponibles. En définissant surno
autre utilisateur ne pourra pas voir le partage.read only
- Indique si les utilisateurs spécifiés dans la liste desvalid 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.
- 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 centosComment installer et configurer un serveur nfs sur centos 8
Dans ce didacticiel, vous allez suivre les étapes nécessaires pour configurer un serveur NFSv4 sur CentOS 8. Nous vous montrerons également comment monter un système de fichiers NFS sur le client.
Comment installer et configurer redis sur centos 7
Redis est un magasin de structure de données en mémoire libre. Il peut être utilisé comme base de données, cache et courtier de messages et prend en charge diverses structures de données telles que des chaînes, des hachages, des listes, des ensembles, etc.
Comment installer et configurer Samba sur Ubuntu 18.04
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 fournirons également des instructions détaillées sur la façon de se connecter au serveur Samba à partir de clients Linux, Windows et macOS.