Les systèmes Windows et Linux sont structurés différemment et souvent, une coexistence pacifique entre les deux est souvent un défi. Grâce à Samba, les deux systèmes peuvent désormais partager des fichiers et des dossiers sur le réseau. Alors, qu'est-ce que Samba ? ? Samba est un protocole gratuit et open source qui permet de partager des fichiers sur les deux systèmes de manière simple et transparente. Vous pouvez avoir un serveur Samba sur un serveur Linux hébergeant divers fichiers et dossiers accessibles par les clients Windows. Dans ce didacticiel, vous apprendrez à installer et à configurer la dernière version de Samba sur CentOS 8. Vous apprendrez également à partager un dossier du système CentOS 8 vers le système Windows à l'aide de samba.
Étape 1) Installez Samba et les packages nécessaires
Connectez-vous à votre serveur et exécutez la commande ci-dessous pour installer Samba et ses dépendances.
$ sudo dnf install samba samba-common samba-client
Nous devons également nous assurer que le système Windows et Linux sont dans le même groupe de travail . Alors, allez sur votre PC Windows et lancez l'invite de commande. Tapez la commande :
> poste de travail de configuration réseau
À partir de la sortie, nous pouvons clairement voir que le domaine du poste de travail pointe vers "WORKGROUP '.Ceci sera également configuré plus tard sur la machine Linux.
Étape 2) Configurer Samba
Après avoir installé Samba, il est temps de faire quelques configurations. Mais avant cela, nous devons sauvegarder le fichier de configuration de samba. Exécutez donc la commande ci-dessous :
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.con.bak
Ensuite, nous allons créer un dossier partagé appelé partagé et attribuer les autorisations et la propriété nécessaires, comme indiqué.
$ sudo mkdir -p /srv/samba/shared $ sudo chmod -R 0755 /srv/samba/shared $ sudo chown -R nobody:nobody /srv/samba/shared $ sudo chcon -t samba_share_t /srv/samba/shared
Créez maintenant un nouveau fichier de configuration Samba
$ sudo vim /etc/samba/smb.conf
Ajoutez la configuration ci-dessous :
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = centos-8 security = user map to guest = bad user dns proxy = no [Anonymous] path = /srv/samba/shared browsable =yes writable = yes guest ok = yes read only = no
Enregistrez et fermez le fichier de configuration. Pour vérifier que la configuration est correcte, exécutez testparm commande
$ testparm
Étape 3) Autoriser le service Samba sur le pare-feu
Ensuite, autorisez Samba à traverser le pare-feu afin que les utilisateurs extérieurs puissent accéder aux partages Samba.
$ sudo firewall-cmd --add-service=samba --zone=public --permanent $ sudo firewall-cmd --reload
Étape 4) Démarrer et activer les services Samba
Enfin, démarrez et activez les services Samba &nmb
$ sudo systemctl start smb $ sudo systemctl enable smb
Confirmez ensuite si le service smb est en cours d'exécution :
$ sudo systemctl status smb
$ sudo systemctl start nmb $ sudo systemctl enable nmb
De même, confirmez si le service nmb fonctionne comme nous l'avons fait avec le service smb :
$ sudo systemctl status nmb
Étape 5) Accéder au partage Samba depuis une machine Windows
Depuis votre PC Windows, appuyez sur la touche Windows + R pour lancer la boîte de dialogue Exécuter et tapez
\\nom d'hôte du serveur samba
OU
\\Adresse-IP-du-serveur-samba
Cela ouvre une fenêtre ci-dessous avec un dossier "Anonyme".
Vous pouvez créer des fichiers depuis le serveur Samba ou depuis le client et les partager avec d'autres utilisateurs
Créer des partages sécurisés dans Samba
Le partage de fichiers que nous venons de créer est accessible à tous et n'importe quel utilisateur peut créer et supprimer des fichiers. Cela pose un défi si vous souhaitez partager des documents critiques, car ils peuvent également être écrasés ou supprimés. Pour cette raison, nous devons créer un partage de fichiers sécurisé pour relever ce défi.
Tout d'abord, nous allons créer un nouveau groupe pour les utilisateurs de samba comme indiqué :
$ sudo groupadd secure_group
Ensuite, nous ajouterons un nouvel utilisateur au groupe nouvellement créé
$ sudo useradd -g secure_group linuxuser
Ensuite, nous allons créer un nouveau dossier sécurisé et attribuer ultérieurement les autorisations nécessaires et la propriété du fichier, comme indiqué ci-dessous.
$ sudo mkdir -p /srv/samba/secure_share $ sudo chmod -R 0770 /srv/samba/secure_share $ sudo chcon -t samba_share -p /srv/samba/secure_share $ sudo chown -R root:secure_group /srv/samba/secure_share
Ensuite, nous attribuerons à l'utilisateur samba un mot de passe qui sera utilisé lors de l'accès au partage de fichiers sécurisé. Cela vous demandera de fournir un mot de passe SMP et de le confirmer ultérieurement.
$ sudo smbpasswd -a linuxuser
Revenons maintenant au fichier de configuration de Samba
$ sudo vim /etc/samba/smb.conf
Ajoutez les lignes de configuration ci-dessous :
[secured] path = /srv/samba/secure_share valid users = @secure_group guest ok = no writable = yes browsable = yes
Enregistrez et quittez puis redémarrez le service Samba
$ sudo systemctl restart samba
Accéder au dossier sécurisé Samba à partir d'un système Windows
Encore une fois, pour accéder au partage Samba à partir de votre système Windows, appuyez sur Windows Key + R pour lancer le ‘Exécuter ' dialogue. Tapez \\hostname ou \\ samba-IP et appuyez sur ENTER .
Vous remarquerez maintenant que nous avons un autre dossier appelé sécurisé.
Pour y accéder, double-cliquez dessus et une fenêtre contextuelle de connexion vous demandera votre nom d'utilisateur et votre mot de passe.
Une fois cela fait, cliquez sur le bouton ‘OK ’ ou appuyez simplement sur ENTER pour accéder au contenu du dossier
Accéder au dossier sécurisé Samba depuis une machine Linux
Pour accéder aux répertoires partagés depuis un système Linux, exécutez simplement la commande :
$ smbclient --user=linuxuser -L //192.168.43.13
Fournissez le mot de passe lorsque vous y êtes invité et appuyez sur ENTER
Pour accéder à l'exécution du partage sécurisé
$ smbclient //192.168.43.13/secured -U linuxuser
N'hésitez pas à créer des fichiers et des répertoires à partager avec d'autres utilisateurs de samba.