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és → Paramè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.
- Comment monter/démonter des systèmes de fichiers locaux et réseau (Samba et NFS) sous Linux
- Utilisation des ACL (listes de contrôle d'accès) et montage des partages Samba/NFS
- 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.