Recherche de site Web

Comment configurer le serveur Samba dans RHEL, Rocky Linux et AlmaLinux


Le partage de fichiers est une partie essentielle de l'administration du serveur. Il permet le partage des ressources sur le réseau dont les utilisateurs ont besoin pour effectuer leurs tâches. L'un des logiciels de partage de fichiers les plus utilisés est Samba.

Samba, une réimplémentation du protocole populaire SMB (server message block), est une application stable et gratuite qui permet le partage de fichiers et services d'impression sur un réseau. Le logiciel est installé sur un serveur Linux central à partir duquel les fichiers partagés sont accessibles à partir des systèmes Linux et Windows.

Dans ce guide, nous vous guiderons tout au long de l'installation du serveur Samba sur des distributions basées sur RHEL telles que CentOS Stream, Rocky Linux et AlmaLinux.

Étape 1 : Installer Samba sur Linux

Pour démarrer avec Samba, installez les packages principaux Samba, y compris le package client :

sudo dnf install samba samba-common samba-client 

La commande installe les packages spécifiés ainsi que les dépendances telles qu'affichées sur la sortie. Une fois l'installation terminée, vous obtiendrez un résumé de tous les packages installés.

Étape 2 : Créer et configurer des partages Samba

Une fois tous les packages samba installés, l'étape suivante consiste à configurer les partages samba. Un partage Samba est simplement un répertoire qui va être partagé entre les systèmes clients du réseau.

Ici, nous allons créer un partage samba appelé /data dans le chemin du répertoire /srv/tecmint/.

sudo mkdir -p /srv/tecmint/data

Ensuite, nous attribuerons les autorisations et la propriété comme suit.

sudo chmod -R 755 /srv/tecmint/data
sudo chown -R  nobody:nobody /srv/tecmint/data
sudo chcon -t samba_share_t /srv/tecmint/data

Ensuite, nous allons effectuer quelques configurations dans le fichier de configuration smb.conf qui est le fichier de configuration principal de Samba. Mais avant de le faire, nous allons sauvegarder le fichier en le renommant avec une extension de fichier différente.

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

Ensuite, nous allons créer un nouveau fichier de configuration.

sudo vim /etc/samba/smb.conf

Nous définirons les politiques sur qui peut accéder au partage samba en ajoutant les lignes affichées dans le fichier de configuration.

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = rocky-8
security = user
map to guest = bad user
dns proxy = no
ntlm auth = true



[Public]
path =  /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no

Enregistrez et quittez le fichier de configuration.

Pour vérifier les configurations effectuées, exécutez la commande :

sudo testparm

Ensuite, démarrez et activez les démons Samba comme indiqué.

sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl start nmb
sudo systemctl enable nmb

Assurez-vous de confirmer que les démons smb et nmb sont en cours d'exécution.

sudo systemctl status smb
sudo systemctl status nmb

Pour activer l'accès au partage samba à partir de systèmes Windows distants, vous devez ouvrir le protocole samba sur le pare-feu.

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Étape 3 : Accéder au partage Samba depuis Windows

Jusqu'à présent, nous avons installé samba et configuré notre partage samba. Nous sommes désormais prêts à y accéder à distance. Pour ce faire sur un client Windows, appuyez sur la touche + R du logo Windows pour lancer la boîte de dialogue Exécuter.

Dans le champ de texte fourni, saisissez l'adresse IP du serveur samba comme indiqué :

\\server-ip

La fenêtre suivante intitulée « Public » apparaîtra. N'oubliez pas qu'il s'agit du répertoire qui pointe vers notre partage samba dans le répertoire /srv/tecmint/data.

Actuellement, notre répertoire est vide car nous n'avons créé aucun fichier. Nous allons donc retourner à notre terminal et créer quelques fichiers dans le répertoire de partage samba.

cd /srv/tecmint/data
sudo touch file{1..3}.txt

Maintenant, nous allons naviguer vers le dossier « Public » où les fichiers que nous avons créés précédemment seront affichés.

Parfait. Nous avons réussi à accéder à notre partage samba. Cependant, notre répertoire est accessible à tous et tout le monde peut modifier et supprimer des fichiers à volonté, ce qui n'est pas recommandé surtout si vous envisagez d'héberger des fichiers sensibles.

Dans la prochaine étape, nous montrerons comment créer et configurer un répertoire de partage Samba sécurisé.

Étape 4 : Répertoire de partage Samba sécurisé

Tout d’abord, nous allons créer un nouvel utilisateur Samba.

sudo useradd smbuser

Ensuite, nous configurerons un mot de passe pour l'utilisateur samba. C'est le mot de passe qui sera utilisé lors de l'authentification.

sudo smbpasswd -a smbuser

Ensuite, nous allons créer un nouveau groupe pour notre partage Samba sécurisé et ajouter le nouvel utilisateur Samba.

sudo groupadd smb_group
sudo usermod -g smb_group smbuser

Ensuite, créez encore un autre partage samba auquel vous pourrez accéder en toute sécurité. Dans notre cas, nous avons créé un autre répertoire dans le même chemin que le

sudo mkdir -p  /srv/tecmint/private

Configurez ensuite les autorisations de fichiers pour le partage samba

sudo chmod -R 770 /srv/tecmint/private
sudo chcon -t samba_share_t /srv/tecmint/private
sudo chown -R root:smb_group /srv/tecmint/private

Encore une fois, accédez au fichier de configuration Samba.

sudo vim /etc/samba/smb.conf

Ajoutez ces lignes à définir pour sécuriser le partage samba.

[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes

Enregistrez les modifications et quittez.

Enfin, redémarrez tous les démons samba comme indiqué.

sudo systemctl restart smb
sudo systemctl restart nmb

Lorsque vous accéderez à votre serveur cette fois-ci, vous remarquerez un dossier « Privé » supplémentaire. Pour accéder au dossier, vous devrez vous authentifier avec les informations d'identification de l'utilisateur Samba. Fournissez le nom d'utilisateur et le mot de passe de l'utilisateur que vous avez créé à l'étape précédente et cliquez sur « OK ».

Étape 5 : Accéder au partage Samba à partir du client Linux

Pour accéder au partage à partir d'un client Linux, assurez-vous d'abord que le package client Samba est installé.

sudo dnf install samba-client 

Utilisez ensuite la commande smbclient comme suit

smbclient ‘\2.168.43.121\private’ -U smbuser

Et ceci conclut ce guide sur la configuration de Samba sur RHEL, CentOS Stream, Rocky Linux et AlmaLinux. Vos commentaires sur ce guide seront très appréciés.