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
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
Installez le RPM nécessaire.
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.
Démarrer les services nécessaires
Assurez-vous que les services sont en cours d’exécution lors du prochain démarrage de Linux
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
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.
Vous pouvez créer un nouvel utilisateur Samba uniquement à partir de comptes valides sur un ordinateur Linux, créez donc 5 utilisateurs
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.
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.
Créez un groupe smb et ajoutez des utilisateurs smbuser3 et smbuser4
Maintenant, ouvrez le fichier de configuration principal de Samba
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
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.
Fermez le smb.conf fichier maintenant et Notez l’adresse IP du serveur
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
Montez le disque RHEL 6 dans le dossier multimédia et déplacez-vous dans le répertoire des paquets
Installez RPM si nécessaire.
Vérifiez la connectivité du serveur Samba.
Essayez de répertorier les partages du serveur Samba avec smbuser1
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.
Allez sur le système serveur et connectez-vous à partir de smbuser5 et vérifiez les tests.
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
Cliquez sur modifier le paramètre
Cliquez sur modifier
Changer le nom du groupe de travail en MYGROUP
Le redémarrage du système est requis, confirmez le redémarrage
Après le redémarrage du système, Vérifiez le serveur de formulaire de connectivité
Ouvrez le réseau et cliquez sur système serveur
Se connecter depuis smbuser1
L’utilisateur sera connecté à son domicile annuaire
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
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
Redémarrez le service smb
Sur linuxclient, créez un répertoire tmpdata et montez-y le dossier sharedata. Créez des fichiers de test.
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
Maintenant, supprimez ce fichier.
Créer un dossier et y créer un fichier
Vérifiez-les sur le système serveur.
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
Sur linuxclient connecté depuis smbuser5 et créer un fichier
Dans la fenêtre, nous sommes connectés à partir de smbuser1, essayez de lire le fichier.
Essayez maintenant de supprimer ce fichier.
Il sera refusé
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
Rechargez le service PME
Sur le système linuxclient, essayez d’abord de monter des données partagées depuis smbuser5 et depuis smbuser1
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
Mettez à jour la strophe et enregistrez le fichier
rechargez le service PME
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
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
modifiez la strophe et enregistrez le fichier
Recharger le fichier
Sur linuxclient, essayez d’abord avec d’autres utilisateurs et essayez ensuite avec smbuser1
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.
smbstatus
Cette commande répertorie la connexion Samba en cours.
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.
C’est tout pour cet article.