Linux - serveur de fichiers
Transcription
Linux - serveur de fichiers
Fichiers réseau Fichiers réseau Partage de ressources NFS... Samba Linux - serveur de fichiers Un peu de recul... Guillaume Allègre SILECS Formation continue INPG 16 au 19 octobre 2006 [email protected] Fichiers réseau Linux serveur Partage de ressources NFS... Samba Le réseau : un peu de recul... I I I Fichiers réseau configuration de l’infrastructure supervision et sécurité prise de contrôle à distance (ssh) sauvegardes, réplication I I I I serveur d’applications (X11, ssh -X) le Web / Internet le web / intranets : des applications client-serveur des ressources partagées : stockage, périphériques I Linux serveur partage de fichiers partage d’imprimantes (et autres ressources) authentification 3. D’autres protocoles encore I I [email protected] Network File System : système de fichiers distribué adossé à NIS : gestion centralisée de l’authentification 2. Samba : interconnexion Unix-Windows I 2. Le réseau pour les utilisateurs I Partage de ressources NFS... Samba 1. NFS : d’Unix à Unix I I Linux serveur Partage de ressources 1. Le réseau pour les ingénieurs réseau I [email protected] WebDAV (sur http) ... [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Fichiers réseau Partage de ressources NFS... Samba NFS : un système de fichiers distribué 1. Les origines I I NFS I protocole initié par Sun Microsystems dans les années 80 repris par tous les constructeurs Unix devenu un standard Unix 2. Les principes I I I I [email protected] Fichiers réseau Linux serveur I base de tous les services RPC (Remote Procedure Call) port 111 (TCP et UDP) économise les ports <1024 2. mountd : gestion des montages (RPC, port variable) 3. nfsd : gestion des accès fichiers (RPC, port variable) I Des démons optionnels 1. statd : auxiliaire utilisé par lockd 2. lockd : gestion des verrous en écriture 3. idmapd : gestion des correspondances utilisateurs [email protected] Partage de ressources NFS... Samba 1. Installation Debian Paquets nfs-user-server et nfs-common. 1. portmapper : I Fichiers réseau Linux serveur NFS : installation et configuration Trois démons principaux I [email protected] Partage de ressources NFS... Samba NFS : l’architecture serveur I architecture client-serveur utilisation du principe de montage des systèmes de fichiers Unix serveur : service nfs-user-server client : noyau Linux (un des systèmes de fichiers) Linux serveur 2. Configuration I I Côté serveur : fichier /etc/exports : man exports Côté client : fichier /etc/fstab : man mount, nfs, fstab Exo 1. Créer un répertoire partagé public sur chaque machine et y copier quelques fichiers 2. Monter sur chaque machine son propre partage 3. Monter des partages croisés par couple de machines. [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba NFS : le modèle de sécurité I I I Applique les permissions standard (ugo, rwx...) de la machine serveur Plusieurs alternatives pour traiter la question 1. Utiliser uniquement des accès anonymes (all_squash) 2. Gérer à la main les utilisateurs pour garantir des UID identiques 3. Maintenir des tables de correspondance des utilisateurs sur le serveur (map_static) 4. Utiliser le service centralisé NIS Fichiers réseau Partage de ressources NFS... Samba NFS : mise en pratique d’un modèle plus sécurisé Modèle initial rudimentaire : basé sur les UID numériques, supposés identiques sur tout le réseau [email protected] Fichiers réseau Exo 1. reprendre la configuration précédente pour des accès réservés en écriture (permissions) 2. utiliser une table de correspondance pour renvoyer l’utilisateur 1000 sur le 501 man exports ; map_static 3. de même : les utilisateurs distants 1001-1050 provenant d’une machine précise sont transformés en nobody. Linux serveur [email protected] Partage de ressources NFS... Samba NIS : l’authentification Unix centralisée Fichiers réseau Linux serveur Partage de ressources NFS... Samba La solution LDAP ? 1. Principe I I I un serveur central pour les fichiers de base (/etc/passwd, /etc/shadow, /etc/hosts...) un domaine NIS rassemblant plusieurs machines (ypdomainname) concaténation de la base locale et de la base réseau + ordre de résolution 2. Des démons : I I I ypserv : le serveur (principal) de domaine NIS éventuellement, des serveurs secondaires (esclaves) ypbind : un démon sur chaque machine cliente I Problème récurrent de l’authentification I LDAP : une base neutre par rapport aux plate-formes I Un annuaire ; pas un système d’authentification I Linux : module pam-ldap I Samba : module samba-ldap I ... 3. Le paquet Debian : nis Configuration longue ; au-delà de notre cadre. [email protected] Linux serveur [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Fichiers réseau Partage de ressources NFS... Samba Le projet Samba I Samba : interconnexion Unix-Windows (bidirectionnelle) 1. partage de fichiers 2. partage d’imprimantes (et autres ressources) 3. authentification et gestion de domaine Samba I Historique : I I I I I [email protected] Fichiers réseau Linux serveur [email protected] Partage de ressources NFS... Samba Samba : ressources projet démarré en 1991 par Andrew Tridgell, étudiant australien au départ : simple client SMB (fichiers partagés) pour une machine Unix besoins d’interopérabilité : le projet grossit septembre 2003 : sortie de la v.3.0.0 actuellement v.3.0.23 Fichiers réseau Disponible sur http://www.samba.org I Un protocole client-serveur I Des paquets pour toutes les distributions (dont Debian) I Côté serveur Linux : 3 démons I Documentation I I The Official Samba-3 HOWTO and Reference Guide Samba-3 by Example http://samba.org/samba/docs/man/ 1. nmbd : serveur de nommage NetBIOS 2. smbd : partage de fichiers (SMB / CIFS) 3. winbindd : domaine et authentification I Des clients diversifiés I I En français : nombreux tutoriels, mais pas de doc de référence [email protected] Partage de ressources NFS... Samba Samba : aperçu de l’architecture I I Linux serveur Linux serveur I Windows : toutes les machines configurées “Réseau Microsoft” Unix : smbclient, smbfs... [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba La pile réseau Samba Fichiers réseau Partage de ressources NFS... Samba Protocole NetBIOS SMB / CIFS 1. Principes ( NetBIOS ) I TCP I UDP I I IP 2. Pris en charge par le démon nmbd Ethernet − MAC I I NetBIOS : Network Basic Input Output System (IBM...) I SMB : Server Message Block (IBM...) I CIFS : Common Internet File System (successeur de SMB) [email protected] Fichiers réseau I I Linux serveur [email protected] Fichiers réseau I partage de ressources : fichiers, imprimantes... IPC (Communication inter-processus) par named pipes I 2. Implémentation I I à l’origine sur NetBIOS : local seulement depuis Win2000 : peut fonctionner sur TCP, sans NetBIOS 1998 : Microsoft l’étend (liens unix...) et le renomme CIFS I samba samba-common Les optionnels : I I Partage de ressources NFS... Samba Les paquets serveur : I 1. Applications de SMB I Linux serveur Samba : installation I I netbios-ns (udp 137) : name service netbios-dgm (udp 138) : communication non connectée netbios-ssn (tcp 139) : session connectée Partage de ressources NFS... Samba Protocole SMB / CIFS I initialement un protocole réseau local, non routable multiples avatars : Ethernet, Token Ring, IPX, puis TCP/IP chaque machine a un nom NetBIOS (max. 15+1 caractères) gestion des noms de groupes (workgroup...) smbclient, smbfs swat Bonus : smbc Exo 1. recenser les ressources installées : binaires, démons, documentation, fichiers de configuration... [email protected] Linux serveur [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Inventaire... I I Configuration de Samba nmbd (8) smbd (8) Commandes I I I I I I net (1) nmblookup (1) smbpasswd (8) testparm (1) smbmount (8) smbclient (1) I un fichier principal : /etc/samba/smb.conf I modification par un éditeur classique... I ou interfaces spécialisées : I I I I I testparm : un validateur de syntaxe /etc/samba/smb.conf (5) /etc/samba/lmhosts (5) [email protected] Fichiers réseau Linux serveur I I I I Fichiers réseau paramétrage des démons smbd et nmbd comportement des commandes d’administration net, smbpasswd... mode d’authentification partages de fichiers partages d’imprimante Partage de ressources NFS... Samba I des commentaires (délimités par ; et #) I des sections I I I I I I Linux serveur introduites par [nom_section] correspondent généralement à un partage [nom_section$] : partage administratif (caché) des directives I Documenté par man smb.conf (5) [email protected] Linux serveur /etc/smb.conf 2 - structure couvre toute la configuration de Samba I [email protected] Partage de ressources NFS... Samba /etc/smb.conf 1 I Webmin SWAT (http://localhost:901)... Fichiers de configuration I I Partage de ressources NFS... Samba Démons I I Fichiers réseau relatives à la section (sauf globale) syntaxe : un attribut = une valeur ex : log level = 1 [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Un exemple miniature [partage] comment = Repertoire partagé (security=share) path = /home/samba/partage read only = No guest ok = Yes Fichiers réseau I I Client Windows XP I I I Redémarrage d’une machine sur deux sous XP Redéfinition du groupe de travail Voisinage réseau I Client Linux smbclient I Client Linux smbmount [email protected] Partage de ressources NFS... Samba Fichiers réseau Linux serveur Partage de ressources NFS... Samba Mise en pratique Client Windows XP I I Linux serveur Mise en pratique I Partage de ressources NFS... Samba Mise en pratique [global] workgroup = cuefa18<N> netbios name = <nom> security = share log level = 2 log file = /var/log/samba/log.%m max log size = 1024 [email protected] Fichiers réseau I Redémarrage d’une machine sur deux sous XP Redéfinition du groupe de travail Voisinage réseau Client Windows XP I I I Redémarrage d’une machine sur deux sous XP Redéfinition du groupe de travail Voisinage réseau I Client Linux smbclient I Client Linux smbclient I smbclient //serveur/partage : mode interactif I smbclient //serveur/partage : mode interactif I smbclient //serveur/partage rien -c ’get fichier.txt’ : mode script I Client Linux smbmount I Client Linux smbmount [email protected] Linux serveur [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Mise en pratique I Fichiers réseau Partage de ressources NFS... Samba /etc/smb.conf 3 - sections spéciales Client Windows XP I I I Redémarrage d’une machine sur deux sous XP Redéfinition du groupe de travail Voisinage réseau I Client Linux smbclient I smbclient //serveur/partage : mode interactif I smbclient //serveur/partage rien -c ’get fichier.txt’ : mode script I Client Linux smbmount I smbmount //serveur/partage /mnt/import/ [email protected] Fichiers réseau I [global] : configuration globale ; première section I [homes] : répertoires perso des utilisateurs ; le nom est remplacé par le nom de l’utilisateur connecté I [printers] : section étendue en autant de partages que d’imprimantes Linux serveur [email protected] Partage de ressources NFS... Samba Ajout : serveur d’impression Samba/CUPS [global] ... # Printing printcap name = cups disable spoolss = yes show add printer wizard = no printing = cups ... [printers] comment = Toutes les imprimantes path = /var/spool/samba guest ok = Yes printable = Yes use client driver = Yes browseable = No [email protected] Trois sections spéciales, différentes des partages standard Linux serveur Fichiers réseau Linux serveur Partage de ressources NFS... Samba /etc/smb.conf 4 - sections standard I I D’autres sections standard usuelles : I [profiles] : profils utilisateurs (applis Windows) I [netlogon] : scripts de connexion utilisateurs I [print$] : pilotes d’imprimantes Deux partages automatiques (optionnels dans smb.conf) I I [IPC$] : pour les appels RPC [ADMIN$] : idem [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba /etc/smb.conf 5 - [global] I workgroup : groupe de travail (ou domaine NT) auquel appartient la machine samba I netbios name : nom netbios de la machine I security : méthode d’authentification utilisée pour les clients. Primordial. Détaillé plus loin I passdb backend : base de noms à utiliser pour l’authentification (smbpasswd, tdbsam, ldapsam, mysql, guest) Fichiers réseau I share : pas d’authentification sur le partage ; uniquement un droit d’accès global I user : le plus fréquent ; authentification user/password par Samba lui-même I domain : idem user, mais authentification déléguée à un contrôleur (primaire ou secondaire) du domaine I server : idem domain, mais indépendamment du domaine : le serveur doit être spécifié ; obsolète I ads : membre d’un domaine Active Directory Server Linux serveur [email protected] Partage de ressources NFS... Samba Des dossiers personnels 1/2 Fichiers réseau Linux serveur Partage de ressources NFS... Samba Des dossiers personnels 2/2 [global] ... SECURITY = USER passdb backend = smbpasswd:/etc/samba/smbpasswd,guest ... [homes] comment = Home sweet home valid users = %S read only = no browseable = no [email protected] Partage de ressources NFS... Samba /etc/smb.conf 6 - directive security Les directives globales les plus importantes : [email protected] Fichiers réseau Linux serveur I Pour chaque utilisateur, sous root : I smbpasswd -a <utilisateur> I s’assurer que l’utilisateur Unix existe ; sinon : adduser <utilisateur> I fichier de référence : /etc/samba/smbpasswd [email protected] Linux serveur Fichiers réseau Partage de ressources NFS... Samba Dualité des comptes : Linux et Samba Fichiers réseau Le browsing NetBIOS I Dans le cas de la sécurité “utilisateur” : Partie visible : I I I Comptes unix obligatoires I I en local (/etc/passwd...) distants : nis, pam-ldap... I Comptes Samba stockés dans un backend I I I I I I Directive [global] passdb backend = ... fichier smbpasswd fichier tdb LDAP ... I I I I [email protected] Fichiers réseau Linux serveur I I I Fichiers réseau Linux serveur Partage de ressources NFS... Samba Le browsing et Samba par broadcast (NetBIOS b-node) par une requête unicast à un serveur WINS (NetBIOS p-node) ou les deux ! Les machines “spéciales” : I I I I Gestion complète par nmbd L’annonce initiale d’une machine peut se faire : I I toutes les machines Windows se déclarent sur le réseau (nom NetBIOS et adresse IP) une ou plusieurs machines collectent les annonces chaque machine cliente détecte la machine collectrice elle peut résoudre les noms NetBIOS en adresses IP elle peut alors se connecter à la machine serveur [email protected] Partage de ressources NFS... Samba Le browsing et les serveurs sous Windows, machines disponibles sous “Voisinage réseau” montage transparent des ressources offertes (répertoires, imprimantes) La face cachée : I I Partage de ressources NFS... Samba un Local Master Browser (LMB) par brin du domaine/groupe, élu par les machines toutes les 15 minutes un Domain Master Browser (DMB) pour tout le domaine/groupe, élu éventuellement un serveur WINS Quelques précisions : I I I Le DMB est nécessairement LMB sur son brin Le serveur WINS est généralement LMB et DMB ; sans obligation Samba peut assurer tous ces rôles [email protected] Linux serveur Des directives spécifiques pour les élections LMB/DMB : [global] ... domain master = yes | no local master = yes | no preferred master = yes | no os level = 65 ... I pour un Samba serveur WINS : wins support = yes I pour un Samba client WINS : wins server = <adresse IP> [email protected] Linux serveur
Documents pareils
Administration réseau Accès aux fichiers distants
Samba : Implémentation de SMB sous UNIX qui permet le partage de ressources entre les mondes UNIX et Windows Samba permet de : F
Plus en détail