Serveurs de fichiers
Serveurs de fichiers
Ce chapitre traite de Linux comme serveur Samba et comme serveur NFS.
1. Configuration d’un serveur Samba
L’objectif de cette section est de vous apprendre à :
-
paramétrer un serveur Samba pour des clients de différents type ;
-
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
L’objectif de cette section est de vous apprendre à :
-
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...
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.
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.
apt install samba
[...]
apt install smbclient
[...] ...
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.
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.).
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 le daemon reçoit une demande d’un client RPC sur le port 111 (UDP ou TCP), spécifiant le protocole applicatif et la version du serveur demandé, le daemon lui retourne le numéro de port du serveur associé, pour qu’ils...