décembre 25, 2021

Comment configurer le serveur Samba sous Redhat Linux

Ce tutoriel explique comment configurer le serveur Samba sous Linux et le client Samba sous Windows et Linux, y compris comment créer des règles IPTABLES et configurer les Booléens SELinux pour autoriser le trafic Samba étape par étape avec des exemples pratiques. Apprenez à partager des ressources et à accéder à des ressources partagées dans Samba network.

  • Microsoft window utilise le protocole commun du système de fichiers Internet (CIFS) pour la mise en réseau.
  • CIFS a été développé à partir du protocole SMB (Server Message Block).
  • Samba est un logiciel open source.
  • Samba utilise le protocole TCP/IP.
  • Samba est une implémentation Linux des protocoles SMB/CIFS.
  • Samba permet l’interopérabilité entre Linux et Window.
  • Samba fournit un service de partage de fichiers et d’impression entre Linux et le système Window.
  • Samba permet à Linux d’interagir avec le client Windows, le serveur, le membre d’Active Directory, le contrôleur de domaine principal ou le serveur membre.
  • Samba prend en charge les listes de contrôle d’accès Microsoft.
  • Le fichier de configuration principal du serveur Samba est /etc/samba/smb.conf
  • Samba Web Administration tool (SWAT) est un outil de configuration de base de l’interface graphique pour le serveur Samba Disponible à partir de RHEL 6
  • Sous Linux SAMBA fournit les services suivants:
    • Authentification et autorisation de l’utilisateur
    • Partage de fichiers et d’imprimantes
    • Résolution de nom
    • Navigation

Sujet d’examen RHCE couvert dans cet article

  • Fournir des partages réseau à des clients spécifiques.
  • Fournissez des partages réseau adaptés à la collaboration de groupe.

Pendant l’examen RHCE, vous n’aurez pas accès à Microsoft window, vous devez donc savoir tester la configuration de Samba avec le système Linux.

Dans ce tutoriel, j’utiliserai deux systèmes Serveur et linuxclient de notre environnement de LABORATOIRE. Je vais configurer le serveur Samba sur le système serveur et le client samba sur le système linuxclient. Si vous souhaitez vérifier la topologie du réseau utilisée dans cet article, veuillez vérifier l’article suivant. Laboratoire installé pour la pratique de RHEL.

RPM requis pour le serveur Samba

RPM Description
samba RPM de base pour serveur Samba
samba-client RPM de base pour le client Samba
samba-common Inclut les commandes requises par le serveur et le client Samba
samba-doc fournit la documentation Samba
samba-swat Interface graphique pour la configuration de Samba
samba-winbind Autoriser interopérabilité entre Linux et Window
samba-domainjoin-gui Permet à l’utilisateur Linux de se connecter aux groupes de travail et domaines Windows.

Tâches de LABORATOIRE

  • Configurer Samba sur le système serveur. Configurez le pare-feu iptables et les booléens SELinux pour autoriser la connexion Samba sur le serveur.
  • Créez 5 utilisateurs sur le système serveur. Créez un groupe de deux utilisateurs. Ajoutez tous les utilisateurs dans la base de données des utilisateurs Samba.
  • Vérifiez la connectivité du système linuxclient et windowclient. Vérifiez par connexion d’un utilisateur.
  • Créez un dossier sharedata sur le serveur. Accordez un accès en lecture et en écriture au dossier public sur sharedata. Partagez publiquement ce dossier. Formulaire de test linux et client windows.

Configurer le serveur Samba

Sur le serveur samba les RPM suivants sont requis

  • samba
  • samba-common
  • samba-winbind

Vérifier le rpm nécessaire

rpm-qa-samba

Vous pouvez installer RPM à partir de plusieurs sources, y compris le référentiel YUM, le vidage de RPM, le FTP, etc. Dans cet article, j’installe le disque RPM form RHEL 6. Montez le disque RHEL 6 dans le dossier multimédia et changez le répertoire en dossier de package

cd-media-package

Installez le RPM nécessaire.

rpm-samba

Démons Samba

Pour Samba, nous avons besoin de trois services à exécuter, un en option et deux requis

Service Démons Description
Requis smb smbd (serveur SMB / CIFS) service samba principal qui fournit l’authentification et l’autorisation des utilisateurs et le partage de fichiers et d’imprimantes
Requis nmb nmbd (serveur de noms NetBIOS) Navigation dans les ressources
Facultatif winbind winbindd Pour la résolution de l’hôte et du nom d’utilisateur

Si vous venez d’installer RPM, ces services seront arrêtés.

smb-nmb-stoped

Démarrer les services nécessaires

smb-nmb-running

Assurez-vous que les services sont en cours d’exécution lors du prochain démarrage de Linux

chkconfig-smb-on

Comment autoriser samba via le pare-feu

Pendant l’examen RHCE 6, nous aurons à la fois un pare-feu (iptables) et une protection SELinux.

Pour que Samba communique en dehors du serveur, nous devons configurer iptables et SELinux.

Comment autoriser Samba dans iptables

SAMBA utilise les ports 137,138,139 et 445

Port 137 Service de nom UDP NetBIOS (GAGNE)
Port 138 Datagramme NetBIOS UDP
Port 139 Session TCP NetBIOS (TCP), Partage de fichiers Windows et d’imprimantes
Port 445 Microsoft-DS Active Directory, partages Windows (TCP)
Port 445 Partage de fichiers Microsoft-DS SMB (UDP)

Pour ouvrir le pare-feu pour Samba ajoute les règles suivantes et redémarre les iptables

 #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

iptables-samba-server

Comment autoriser le serveur Samba à partir du pare-feu SELinux

SELinux en tant que fonctionnalité de sécurité empêche toute visualisation automatique d’un partage. SELinux est les fonctionnalités de sécurité complexes de Linux. Pour l’examen RHCE 6, vous devez savoir les booléens SELinux suivants

samba_enable_home_dirs Permet le partage de répertoires personnels
samba_export_all_ro Activer l’accès en lecture seule à n’importe quel répertoire
samba_export_all_rw Configure l’accès en lecture/écriture à n’importe quel répertoire
samba_share_t Fichier par défaut que Samba peut partager

Vous pouvez activer les booléens samba_export_all_ro ou samba_export_all_rw dans un environnement de laboratoire, mais dans la vraie vie, ce serait un risque pour la sécurité. Sa bonne habitude de définir un type de fichier pour les fichiers et les répertoires qui doivent être partagés via Samba. Vous pouvez le faire avec la commande suivante

# chcon -R -t samba_share_t /sharedata

Dans cet exemple, nous activons le répertoire /sharedata. Maintenant, Samba peut partager ce répertoire.

Pour partager le répertoire personnel par défaut, exécutez la commande suivante:

setsebool -P samba_enable_home_dirs on

– P s’assure que la modification est conservée après le redémarrage.

setbool

Vous pouvez créer un nouvel utilisateur Samba uniquement à partir de comptes valides sur un ordinateur Linux, créez donc 5 utilisateurs

useradd

Définissez un mot de passe pour tous les utilisateurs. Évitez de définir un mot de passe pour le système local si vous créez uniquement ces utilisateurs pour le service Samba et que vous ne souhaitez pas leur accorder un accès au système local.

passwd

passwd1

La commande smbpasswd-a peut être utilisée pour ajouter un utilisateur à la base de données de mots de passe sous /etc/samba/ pour l’authentification SAMBA. Configurez les utilisateurs Samba avec la commande smbpasswd.

smbpasswd

Créez un groupe smb et ajoutez des utilisateurs smbuser3 et smbuser4

group-add

Maintenant, ouvrez le fichier de configuration principal de Samba

vi-smb-conf

La PME.le fichier conf comprend deux types de lignes de commentaires.

  • Le symbole de hachage (#) est utilisé décrit une fonctionnalité
  • Le point-virgule(;), utilisé pour commenter la fonctionnalité (Add; pour désactiver la fonctionnalité, remove ; pour activer la fonctionnalité)

Notez la valeur du répertoire de groupe de travail

workgroup-mygroup

Il en serait de même sur le réseau pour une connectivité transparente

Naviguez maintenant vers la section Partager les définitions Par défaut Samba partage automatiquement le répertoire personnel de l’utilisateur connecté qui est défini dans les quatre premières lignes de cette section.
browseable = utilisateur sans limite à son propre répertoire personnel. Samba lit les informations du répertoire personnel à partir du fichier /etc/passwd, vous n’avez donc pas besoin de spécifier le chemin du répertoire personnel.
share-home

Fermez le smb.conf fichier maintenant et Notez l’adresse IP du serveur

serverip

C’est toutes les configurations dont nous avons besoin en ce moment sur le serveur.

Configurer le client Samba sur le système Linux

Sur le client Samba les RPM suivants sont requis

  • samba-client
  • samba-common
  • samba-winbind-client

rpm-qa-samba-client

Montez le disque RHEL 6 dans le dossier multimédia et déplacez-vous dans le répertoire des paquets

cd-media-ls-package

Installez RPM si nécessaire.

rpm-samba-client

Vérifiez la connectivité du serveur Samba.

ping-server

Essayez de répertorier les partages du serveur Samba avec smbuser1

client-login

Pour vérifier « Partager le répertoire personnel de l’utilisateur », répertoriez le partage à partir de smbuser5 et créez un dossier sambatmp. Connecté depuis smbuser5 et montez son répertoire personnel dans le dossier sambatmp. Pour vous assurer que l’utilisateur dispose d’une autorisation en écriture, créez également un fichier de test.

smbuser5-login

Allez sur le système serveur et connectez-vous à partir de smbuser5 et vérifiez les tests.

ls-smbuser5

Nous avons configuré avec succès le client Samba sur le système client Linux.

Configurer la fenêtre 7 en tant que système client Samba

Ouvrir les propriétés de l’ordinateur

computer-properties

Cliquez sur modifier le paramètre

change-setting

Cliquez sur modifier

change-rename

Changer le nom du groupe de travail en MYGROUP

mshome-workgroup

Le redémarrage du système est requis, confirmez le redémarrage

restart-ok

Après le redémarrage du système, Vérifiez le serveur de formulaire de connectivité

winconnectivity

Ouvrez le réseau et cliquez sur système serveur

win-network

Se connecter depuis smbuser1

smbuerlogin

L’utilisateur sera connecté à son domicile annuaire

smbuser

Nous avons configuré avec succès window 7 en tant que système client de Samba.

Créez un dossier sharedata sur le serveur. Accordez un accès en lecture et en écriture au dossier public sur sharedata. Partagez publiquement ce dossier. Formulaire de test linux et client windows.

Sur le serveur, créez un dossier /sharedata. Ce dossier est créé à partir de l’utilisateur root afin que nos utilisateurs ne puissent pas écrire dans ce dossier. Modifier son autorisation 777. Configurez SELinux Booléen. Maintenant, ouvrez le smb.fichier de configuration

mkdir-sharedata

Ce partage de /sharedata partagera un emplacement commun où l’utilisateur peut télécharger / télécharger / lire les fichiers. Dans cette fin de fichier, ajoutez la strophe suivante et enregistrez le fichier

 # Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes 

smb-conf-sharedata

Redémarrez le service smb

restart-smb

Sur linuxclient, créez un répertoire tmpdata et montez-y le dossier sharedata. Créez des fichiers de test.

mount-sharedata

sharedata est un dossier temporaire et nous l’avons partagé avec l’autorisation complète de tout le monde. Cela signifie que l’autre utilisateur devrait pouvoir lire / écrire le fichier fabriqué à partir de smbuser5. Pour le tester, allez sur le système de fenêtre et ouvrez le système de serveur à partir du réseau. Ouvrez le dossier sharedata et lisez le fichier

read-file-on-window

Maintenant, supprimez ce fichier.

confirm-delete-window

Créer un dossier et y créer un fichier

create-file-window

Vérifiez-les sur le système serveur.

check-on-server

Dans l’exemple ci-dessus, nous avons partagé un dossier de manière sûre où tout utilisateur peut supprimer d’autres fichiers et dossiers. Maintenant, sécurisez-le un peu. Allez sur le serveur et modifiez l’autorisation pour 1777

set-stickybit-sharedata

Sur linuxclient connecté depuis smbuser5 et créer un fichier

linuxclient-exmpale-stickybit

Dans la fenêtre, nous sommes connectés à partir de smbuser1, essayez de lire le fichier.

read-stickybit-file-window

Essayez maintenant de supprimer ce fichier.

try-to-delete-sticky-bit-file

Il sera refusé

sticky-bit-error-delete

Comment refuser des utilisateurs dans Samba

Samba vous permet de refuser des utilisateurs / utilisateurs de ressources partagées. Pour refuser smbuser5 de sharedata, ouvrez /etc/samba/smb.conf et changez la valeur de configuration en suivant et enregistrez le fichier

deny-smbuser5-server

Rechargez le service PME

reload-smb

Sur le système linuxclient, essayez d’abord de monter des données partagées depuis smbuser5 et depuis smbuser1

deny-smbuser5-clinet

Comment limiter samba au groupe

Nous avons créé un groupe smbgroup ci-dessus dans ce tutoriel. Configurez maintenant Samba pour autoriser l’accès uniquement à ce groupe.

Sur le serveur modifiez le groupe de données partagées et mettez à jour l’autorisation à 1770. Ouvrez le smb.fichier de configuration

chgrp-sharedata

Mettez à jour la strophe et enregistrez le fichier

group-samba-share

rechargez le service PME

reload-smb

Sur le client linux, essayez d’abord avec smbuser5 qui n’est pas le membre de smbgroup et essayez plus tard avec smbuser3 qui est le membre de smbgroup

group-samba-linuxclient

Comment limiter samba aux utilisateurs

Maintenant, nous ne partagerons que pour les utilisateurs / utilisateurs. Configurez maintenant Samba pour autoriser uniquement smbuser1 sur le dossier sharedata.

Sur le serveur, faites de smbuser1 le propriétaire du dossier /sharedata et mettez à jour l’autorisation. Ouvrez le smb.conf

samba-user-share

modifiez la strophe et enregistrez le fichier

samba-user-share-config

Recharger le fichier

reload-smb

Sur linuxclient, essayez d’abord avec d’autres utilisateurs et essayez ensuite avec smbuser1

single-user-samba

Jusqu’à présent, dans cet article, nous avons configuré différents niveaux d’accès pour le partage Samba. Pour l’examen RHCE 6, rappelez-vous toujours que les autorisations de fichiers, les options de montage du système de fichiers, les booléens SELinux, l’ACL ne peuvent pas être remplacés par Samba. Cela signifie que si un répertoire n’a pas d’autorisation d’écriture et que vous avez le paramètre Samba writeable =yes, il ne permettra pas d’écrire. C’est la raison pour laquelle nous mettons d’abord à jour l’autorisation du système de fichiers avant de définir les paramètres Samba.

Pendant l’examen RHCE 6, suivre 2 commandes peut être très pratique pour vous.

testparm

la commande testparm vérifiera smb.fichier conf pour les erreurs internes. Si la sortie de ces commandes retourne sans aucune erreur, vous utilisez le fichier de configuration.

testparm

smbstatus

Cette commande répertorie la connexion Samba en cours.

smbstaus

Pour l’examen RHCE 6, vous devez également connaître les directives suivantes de smb.fichier de configuration

Comment changer le nom du serveur samba

Par nom d’hôte Samba par défaut en tant que nom NetBIOS. NetBIOS est le nom que les autres clients voient dans les listes de navigation réseau telles que celles affichées à partir d’une commande Microsoft net view ou d’une commande smbclient Linux ordinaire. Pour changer le nom du serveur Samba, décommentez et modifiez la valeur de la directive suivante.

; netbios name = MYSERVER

Comment changer le nom du groupe de travail samba

Le nom du groupe de travail par défaut de Samba est MYGROUP. Vous pouvez le mettre à jour sous forme de smb.fichier conf. Pour modifier le nom du groupe de travail par défaut, mettez à jour la valeur de la directive suivante.

workgroup = MYGROUP

Comment restreindre samba au réseau local

Pour limiter l’accès au réseau spécifié, décommentez la directive suivante et spécifiez le réseau.

; hosts allow = 127. 192.168.12. 192.168.13.

Si vous décommentez sans modifier la valeur, cela limiterait l’accès aux réseaux avec les adresses IP réseau 192.168.12.0 et 192.168.13.0, ainsi qu’à l’ordinateur local (127.) : Vous pouvez également configurer la directive hosts deny. Configurez les directives host allow/deny ici uniquement si vous souhaitez apporter des modifications globales. Les répertoires partagés individuellement peuvent également être configurés avec les hôtes allow/deny. Donc, si vous recherchez des configurations individuelles, faites-le dans leur propre section.

network-related-opration

C’est tout pour cet article.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.