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

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