Serveurs de fichiers
Prérequis et objectifs
1. Prérequis
Les connaissances nécessaires à la certification LPIC-1 :
Commandes de suivi des processus.
Édition de fichiers.
Commandes de gestion de répertoires et de fichiers.
Les connaissances acquises dans les précédents chapitres, notamment :
Gestion du réseau local.
Gestion des services.
Gestion de DNS.
2. Objectifs
À la fin de ce chapitre, vous serez en mesure de :
Paramétrer un serveur Samba pour différents types de clients, en serveur autonome ou intégré dans un domaine Active Directory.
Gérer le contrôle d’accès et la sécurité d’un serveur Samba.
Configurer et administrer les ressources partagées d’un serveur Samba.
Configurer un client Linux du serveur Samba.
Paramétrer et administrer un serveur NFS.
Partager des systèmes de fichiers avec NFS.
Configurer et administrer un client Linux NFS.
Serveurs de fichiers
Ce sujet est divisé en deux parties de poids différents.
1. Configuration d’un serveur Samba
Poids |
5 |
Objectifs |
Paramétrer un serveur Samba pour des clients de différents types. Configurer Samba en tant que serveur autonome ou intégré dans un domaine Active Directory. Configurer des partages simples CIFS et des partages d’imprimante. Configurer un client Linux du serveur Samba. Résolution de problèmes d’installation. |
a. Compétences principales
-
Documentation de Samba 4.
-
Fichiers de configuration de Samba 4.
-
Outils et utilitaires Samba 4.
-
Montage des partages CIFS sous Linux.
-
Associer des comptes utilisateur Windows à des comptes utilisateurs Linux.
-
Sécurité de niveau utilisateur, partage et Active Directory.
b. Éléments mis en œuvre
-
smbd, nmbd, winbindd
-
smbcontrol, smbstatus, testparm, smbpasswd, nmblookup
-
samba-tool
-
net
-
smbclient
-
mount.cifs
-
/etc/samba/
-
/var/log/samba/
2. Configuration d’un serveur NFS
Poids |
3 |
Objectifs |
Exporter les systèmes de fichiers avec NFS, gérer les restrictions d’accès, monter un système de fichiers NFS sur un client et sécuriser NFS. |
a. Compétences principales
-
Fichiers de configuration NFS version 3.
-
Outils et utilitaires NFS.
-
Restrictions d’accès à certaines machines et/ou certains sous-réseaux.
-
Options de montage sur le serveur...
Configuration d’un serveur Samba
Samba est un ensemble logiciel open source permettant à des systèmes Linux et Unix de partager des ressources disques et imprimantes avec des systèmes Windows, via le protocole de partage de ressources réseau SMB.
Le nom du logiciel, SaMBa, dérive de celui du protocole SMB (Server Message Block) utilisé par Microsoft pour le partage de ressources.
CIFS (Common Internet File System) est un dérivé du protocole SMB, développé par Microsoft mais abandonné ensuite. Samba est compatible CIFS et SMB.
Sur Linux, Samba est constitué d’un ensemble de logiciels, implémentant un serveur de partage de ressources, un client, ainsi que des outils communs au serveur et au client. Il est fourni par plusieurs paquets logiciels indépendants : samba pour le logiciel serveur, samba-client (ou smbclient) pour le logiciel client et samba-common (et samba-common-tools ou samba-common-bin) pour les utilitaires communs aux deux.
La version principale actuelle de Samba est la version 4, c’est elle qu’il faut étudier pour la certification LPIC-2.
La documentation de Samba est accessible sur le site wiki Samba : https://wiki.samba.org/
Exemples
Installation de Samba (serveur et client) sur une distribution de type Red Hat.
dnf install samba
[...]
Installé:
python3-dns-1.15.0-10.el8.noarch python3-ldb-2.3.0-2.el8.x86_64
python3-samba-4.15.5-8.el8_6.x86_64 python3-talloc-2.3.2-1.el8.x86_64
python3-tdb-1.4.3-1.el8.x86_64 python3-tevent-0.11.0-0.el8.x86_64
samba-4.15.5-8.el8_6.x86_64 samba-common-tools-4.15.5-8.el8_6.x86_64
samba-libs-4.15.5-8.el8_6.x86_64 tdb-tools-1.4.3-1.el8.x86_64
Terminé !
dnf install samba-client
[...]
Installé:
samba-client-4.15.5-8.el8_6.x86_64
Terminé !
Installation de Samba (serveur et client) sur une distribution de type Debian....
Configuration d’un serveur NFS
NFS (Network File System) est un protocole client-serveur de partage de fichiers et répertoires, créé par Sun Microsystems en 1984, et devenu un standard de fait en environnement Unix. Défini par une série de RFC, il a été porté sur Linux ainsi que sur Windows.
La version majeure la plus récente du protocole est la version 4 (RFC 7530), mais la version 3 (RFC 1813) demeure très utilisée et constitue la matière principale de ce sujet de la certification LPIC-2.
NFS est un protocole de niveau applicatif. Il s’appuie sur un protocole de niveau session, les RPC (Remote Procedure Call, appel de procédure distante), également créé initialement par Sun Microsystems.
1. NFS version 4
La version 4 du protocole NFS est le résultat d’une refonte complète. Contrairement aux versions précédentes qui fonctionnent en mode sans état (stateless) et utilisent UDP ou TCP, cette version implémente un serveur avec état, n’utilisant que TCP.
Le protocole ne s’appuie plus sur les RPC, ce qui lui permet de s’affranchir des contraintes liées au daemon rpcbind/portmapper (utilisation possible sur Internet et à travers les firewalls).
Il est beaucoup plus sécurisé (identification via Kerberos, communications chiffrées, etc.).
Cette version n’est pas à étudier en profondeur dans le cadre de la certification LPIC-2, qui se focalise sur la version 3, encore la plus utilisée aujourd’hui.
2. Le service rpcbind/portmapper
Ce service a pour fonction de gérer les demandes RPC, issues des clients, vers les différents serveurs s’appuyant sur ce protocole de niveau session pour communiquer avec leurs clients.
a. Principe de fonctionnement
Le daemon (rpcbind ou portmapper, suivant les versions) démarre et se met à l’écoute sur le port bien connu des RPC, le port 111 en UDP et en TCP.
Chaque serveur voulant utiliser les RPC s’enregistre au démarrage auprès du daemon rpcbind/portmapper (qui doit donc être démarré au préalable), en lui indiquant son identifiant de protocole applicatif RPC et sa version, ainsi que le numéro de port dynamique sur lequel il se met en attente.
Quand...
Validation des acquis : questions/réponses
Répondez à ces questions ouvertes, comparables à celles qui pourront vous être posées lors de la certification, mais ces dernières seront sous forme de QCM ou demandant une réponse courte saisie au clavier.
1. Questions
1 Quels sont les protocoles de partage de ressource gérés par un serveur Samba ?
2 Dans quelle section du fichier de configuration du serveur Samba se trouvent les paramètres généraux du serveur ?
3 Quelle commande permet de valider le contenu du fichier de configuration du serveur Samba ?
4 Que signifie le paramètre de configuration Samba security = ads ?
5 Quelle commande permet de créer un compte utilisateur Samba local ?
6 À quoi sert le paramètre username map ?
7 Sur quel(s) port(s) écoute le daemon rpcbind ?
8 Quels sont les daemons essentiels composant le serveur NFS ?
9 Dans le fichier /etc/exports, que signifie la ligne suivante : /var/divers ?
10 Que signifie l’option de partage NFS root_squash ?
2. Résultat
Référez-vous aux pages suivantes pour contrôler vos réponses. Pour chacune de vos bonnes réponses, comptez un point.
Nombre de points : /10
Pour ce chapitre, votre score minimum doit être de 8/10.
3. Réponses
1 Quels sont les protocoles de partage de ressource gérés par un serveur...
Travaux pratiques
Ces travaux pratiques proposent deux ateliers mettant en œuvre certains des points abordés dans ce chapitre. Pour chaque étape est donné un exemple commenté de réalisation, à adapter suivant la configuration de vos systèmes.
Pour les tests, on désactive temporairement le pare-feu et SELinux côté serveur Samba, pour éviter des interactions difficiles à diagnostiquer :
systemctl stop firewalld
setenforce 0
1. Configuration et utilisation d’un serveur Samba
On installe un serveur Samba sur une distribution RHEL 8.5. Le serveur partagera un répertoire, accessible à tous les utilisateurs ayant un compte utilisateur dans sa base de comptes Samba locale.
Commandes et fichiers utiles
-
yum
-
/etc/samba/smb.conf
-
testparm
-
systemctl
-
smbpasswd
-
smbclient
-
mount
Manipulations
1. |
Vérifiez que le paquet logiciel Samba est installé. |
2. |
Configurez le serveur Samba pour partager un répertoire, accessible en lecture aux utilisateurs de la base de comptes Samba locale. |
3. |
Créez la base de comptes Samba locale. |
4. |
Démarrez ou redémarrez le serveur Samba. |
5. |
Testez l’accès au partage du serveur depuis une machine distante. |
6. |
Sur la machine cliente, montez le partage du serveur sur un répertoire local. |
Résumé des commandes et résultat à l’écran
1. |
Vérifiez que le paquet logiciel Samba est installé. |
On installe le paquet logiciel samba :
[root@srvrh ~]# yum install samba
[...]
Installé:
python3-dns-1.15.0-10.el8.noarch python3-ldb-2.3.0-2.el8.x86_64
python3-samba-4.15.5-8.el8_6.x86_64 python3-talloc-2.3.2-1.el8.x86_64
python3-tdb-1.4.3-1.el8.x86_64 python3-tevent-0.11.0-0.el8.x86_64
samba-4.15.5-8.el8_6.x86_64 samba-common-tools-4.15.5-8.el8_6.x86_64
samba-libs-4.15.5-8.el8_6.x86_64 tdb-tools-1.4.3-1.el8.x86_64
Terminé !
2. |
Configurez le serveur Samba pour partager un répertoire, accessible... |