Recherche de site Web

Comment installer Samba4 sur CentOS 7 pour le partage de fichiers sous Windows


Dans notre dernier article, nous avons montré comment installer Samba4 sur Ubuntu pour le partage de fichiers de base entre les systèmes Ubuntu et les machines Windows. Où nous avons examiné la configuration du partage de fichiers anonyme (non sécurisé) et sécurisé.

Ici, nous décrirons comment installer et configurer Samba4 sur CentOS 7 (fonctionne également sur RHEL 7) pour le partage de fichiers de base entre d'autres systèmes Linux et machines Windows.

Important : à partir de la version 4.0, Samba peut s'exécuter en tant que contrôleur de domaine (DC) Active Directory (AD). Nous vous suggérons de lire notre série spéciale sur la configuration du contrôleur de domaine Active Directory Samba4, qui comprend des sujets critiques pour Ubuntu, CentOS et Windows.

Installer Samba4 dans CentOS 7

1. Installez d'abord Samba4 et les packages requis à partir des référentiels CentOS par défaut à l'aide de l'outil de gestion de packages yum, comme indiqué.

yum install samba samba-client samba-common

2. Après avoir installé les packages samba, activez l'autorisation des services samba via le pare-feu du système avec ces commandes.

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

Vérifier les paramètres du groupe de travail de la machine Windows

3. Avant de procéder à la configuration de samba, assurez-vous que la machine Windows se trouve dans le même groupe de travail à configurer sur le serveur CentOS.

Il existe deux manières possibles d'afficher les paramètres du groupe de travail de la machine Windows :

  • Faites un clic droit sur « Ce PC » ou « Poste de travail » → PropriétésParamètres système avancés Nom de l'ordinateur.

  • Vous pouvez également ouvrir l'invite cmd et exécuter la commande suivante, puis rechercher « domaine du poste de travail » dans le résultat, comme indiqué ci-dessous.
>net config workstation

Configuration de Samba4 sur CentOS 7

4. Le fichier de configuration principal de Samba est /etc/samba/smb.conf, le fichier d'origine est livré avec des paramètres de pré-configuration qui expliquent diverses directives de configuration pour vous guider.

Mais avant de configurer samba, je vous suggère de faire une sauvegarde du fichier par défaut comme celui-ci.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Ensuite, procédez à la configuration de samba pour les services anonymes et de partage de fichiers sécurisé comme expliqué ci-dessous.

Partage de fichiers anonyme Samba4

5. Créez d'abord le répertoire partagé où les fichiers seront stockés sur le serveur et définissez les autorisations appropriées sur le répertoire.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Vous devez également modifier le contexte de sécurité SELinux pour le répertoire partagé samba comme suit.

chcon -t samba_share_t /srv/samba/anonymous

6. Ensuite, ouvrez le fichier de configuration samba pour l'éditer, où vous pouvez modifier/ajouter les sections ci-dessous avec les directives correspondantes.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Vérifiez maintenant les paramètres actuels de Samba en exécutant la commande ci-dessous.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Enfin, démarrez et activez les services Samba pour qu'ils démarrent automatiquement au prochain démarrage et appliquez également les modifications ci-dessus pour prendre effet.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Test du partage anonyme de fichiers Samba

9. Maintenant sur la machine Windows, ouvrez « Réseau » depuis une fenêtre de l'Explorateur Windows, puis cliquez sur l'hôte CentOS, ou bien essayez de accédez au serveur en utilisant son adresse IP (utilisez la commande ifconfig pour obtenir l'adresse IP).

e.g. \2.168.43.168.

10. Ensuite, ouvrez le répertoire Anonyme et essayez d'y ajouter des fichiers à partager avec d'autres utilisateurs.

Configurer le partage de fichiers sécurisé Samba4

11. Commencez par créer un groupe système samba, puis ajoutez des utilisateurs au groupe et définissez un mot de passe pour chaque utilisateur comme ceci.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Créez ensuite un répertoire sécurisé dans lequel les fichiers partagés seront conservés et définissez les autorisations appropriées sur le répertoire avec le contexte de sécurité SELinux pour le samba.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Ensuite, ouvrez le fichier de configuration pour l'éditer et modifiez/ajoutez la section ci-dessous avec les directives correspondantes.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Encore une fois, vérifiez les paramètres de configuration de samba en exécutant la commande suivante.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Redémarrez les services Samba pour appliquer les modifications.

systemctl restart smb.service
systemctl restart nmb.service

Test du partage de fichiers Samba sécurisé

16. Accédez à la machine Windows, ouvrez « Réseau » depuis une fenêtre de l'Explorateur Windows, puis cliquez sur l'hôte CentOS, ou bien essayez d'accéder le serveur en utilisant son adresse IP.

e.g. \2.168.43.168.

Il vous sera demandé de fournir votre nom d'utilisateur et votre mot de passe pour vous connecter au serveur CentOS. Une fois que vous avez saisi les informations d'identification, cliquez sur OK.

17. Une fois connecté avec succès, vous verrez tous les répertoires partagés samba. Partagez désormais en toute sécurité certains fichiers avec d'autres utilisateurs autorisés sur le réseau en les déposant dans le répertoire Sécurisé.

Vous pouvez également consulter ces articles utiles concernant le partage de fichiers Samba sur un réseau.

  1. Comment monter/démonter des systèmes de fichiers locaux et réseau (Samba et NFS) sous Linux
  2. Utilisation des ACL (listes de contrôle d'accès) et montage des partages Samba/NFS
  3. Comment réparer la vulnérabilité SambaCry (CVE-2017-7494) dans les systèmes Linux

Dans ce guide, nous vous avons montré comment configurer Samba4 pour un partage de fichiers anonyme et sécurisé entre CentOS et d'autres systèmes Linux ainsi que des machines Windows. Partagez vos réflexions avec nous via la section commentaires ci-dessous.