IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index index
suivant: installation d'un serveur NIS monter: Administration Réseaux précédent: installation d'un serveur DHCP   Table des matières   Index


installation de NFS

NFS est un service très utilisé, il permet pour un client d'utiliser un répertoire sur un serveur distant de la même façon que s'il s'agissait d'une partition locale. Les trois fichiers de configuration principaux sont /etc/exports, /etc/hosts.deny et /etc/hosts.allow.
___________________________________________________________________
Installation
Système commande d'installation démarrage du service
RedHat rpm -Uvh nfs-utils-*.rpm service nfs start
Mandrake urpmi nfs-utils /etc/init.d/nfsd start
Debian apt-get install nfs /etc/init.d/nfsd start
OpenBSD par defaut
___________________________________________________________________
Configuration
Le fichier /etc/exports sert de liste de contrôle d'accès pour les systèmes de fichiers à exporter aux clients NFS. Il est utilisé à la fois par le démon de montage NFS mountd(8) et par le démon serveur NFS nfsd(8). Le format de ce fichier est similaire à celui de SunOS, exports, avec plusieurs options supplémentaires. Chaque ligne correspond à un point de montage, et à une liste de machines, ou de noms de sous-réseaux autorisés à monter le système de fichiers situé en ce point. Une liste éventuelle de paramètres est mise entre parenthèses après le nom de machine. Les lignes blanches sont ignorées, et un # indique un commentaire s'étendant jusqu'à la fin de la ligne.
________________________________________________________________
Options générales:
secure Cette option réclame que les requêtes proviennent d'un port Internet de numéro inférieur à IPPORT_RESERVED (1024). Elle est en service par défaut. Pour la désactiver, introduire le mot-clé insecure.
ro N'autorise que des requêtes en lecture-seule sur ce volume NFS. Le comportement par défaut autorise également les requêtes en écriture, ce que l'on peut également mentionner explicitement en utilisant l'option rw.
link_relative Convertit les liens symboliques absolus (dont le contenu commence par un slash) en lien relatifs en ajoutant le nombre nécessaire de "../" pour aller de l'emplacement du lien à la racine du serveur. Cette option a une sémantique assez subtile, parfois surprenante lorsque la hiérarchie n'est pas montée à la racine.
link_absolute Laisse les liens symboliques tels qu'ils sont. C'est l'attitude par défaut.
________________________________________________________________
Correspondance des UID
nfsd effectue les contrôles d'accès aux fichiers du serveur en se basant sur les UID et GID fournis avec chaque requête RPC NFS. L'utilisateur s'attend à pouvoir accéder à ses fichiers sur le serveur NFS exactement comme il y accéderait sur un système de fichiers normal.
Ceci nécessite que les mêmes UID et GID soient utilisés sur le serveur et sur la machine cliente. Ce n'est pas toujours vrai, et même parfois indésirable.
Il est souvent très gênant que le Super-User d'une machine cliente soit traité comme le Super-User lorsqu'il accède aux fichiers du serveur. Pour éviter ceci, l'UID 0 (root) est normalement transformé en un autre UID : par exemple en UID anonyme nobody. Ce mode opératoire s'appelle `root squashing' et est le comportement par défaut. On peut le supprimer avec l'option no_root_squash.
De plus, nfsd vous permet d'indiquer des UIDs ou GIDs arbitraires qui seront transformés en utilisateur anonymes. Enfin, vous pouvez même transformer les requêtes de tous les utilisateurs en UIG et GID anonymes avec l'option all_squash . Pour être utilisé dans des sites où les UIDs varient suivant les machines, nfsd fournit une méthode de conversion dynamique des UIDs du serveur en UIDs du client et inversement. Ceci est mis en service avec l'option map_daemon et utilise le protocole RPC UGID. Il faut que le démon de conversion ugidd(8) soit actif sur le client. Voici une liste complète des options de conversion :
root_squash Transforme les requêtes des UID/GID 0 en UID/GID anonymes. Ceci ne s'applique pas aux autres UID/GID sensibles comme bin.
no_root_squash Ne pas transformer les UID/GID 0. Cette option est particulièrement utiles pour les stations sans disque.
squash_uids Cette option précise une liste d'UIDs ou de GIDs qui sont
et squash_gids convertis en utilisateurs anonymes. Une liste valide d'UIDs se présente ainsi : squash_uids-15,20,25-50 Habituellement la liste à convertir est plus simple, comme dans : squash_uids-100
all_squash Convertit tous les UID/GID en utilisateurs anonymes. Utiles pour exporter avec NFS des répertoires publics de FTP, des répertoires de News, etc... L'option inverse est no_all_squash, qui s'applique par défaut.
map_daemon Cette option active la conversion dynamique des UID/GID. Chaque UID d'une requête NFS sera transformé en UID équivalent sur le serveur, et l'UID des réponses NFS subira la transformation inverse. Ceci nécessite que le démon rpc.ugidd(8) soit en fonctionnement sur le client. La configuration par défaut est map_identity, qui laisse les UIDs intacts. Les options de `squash' s'appliquent que la conversion dynamique soit utilisée ou non.

anonuid Ces options donne explicitement l'UID et le GID du compte
et anongid anonyme. Ceci est surtout utiles pour les clients PC/NFS, où l'on désire que toutes les requêtes semblent provenir d'un utilisateur. C'est le cas de l'entrée /home/joe dans l'exemple ci-dessous, qui transforme toutes les requêtes en UID 150 (probablement celle de l'utilisateur joe).

___________________________________________________________________
Fichiers exemple:
________________________________________________________________
fichier /etc/exports
/ maitre(rw) confiance(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro)
/home/joe pc001(rw,all_squash,anonuid,anongid=100)
/pub (ro,insecure,all_squash)

________________________________________________________________
fichier /etc/hosts.deny
On va interdire toutes les machines qui ne sont pas autorisée explicitement dans le /etc/hosts.allow.
``ALL: ALL'' interdira l'accès a tous les services depuis toutes machines.

________________________________________________________________
fichier /etc/hosts.allow
portmap:192.168.1.34
lockd:192.168.1.34
mountd:192.168.1.34
rquotad:192.168.1.34
statd:192.168.1.34

La première ligne exporte l'ensemble du système de fichiers vers les machines maître et confiance. En plus des droits d'écriture, toutes conversions d'UID est abandonnée pour l'hôte confiance. La deuxième et la troisième lignes montrent des exemples de noms d'hôtes génériques.
La quatrième ligne montre une entrée pour le client PC/NFS présenté plus haut.
La dernière ligne exporte un répertoire public de FTP, à tous les hôtes dans le monde, en effectuant les requêtes sous le compte anonyme. L'option insecure permet l'accès aux clients dont l'implémentation NFS n'utilise pas un port réservé.
___________________________________________________________________
Sous OpenBSD
La philosophie reste la même néanmoins on va observer quelques petits changements dont voici un exemple:
/home -alldirs -mapall=root -network 192.168.0.1 -mask 255.255.255.0
avec ``-alldirs'' pour autoriser les clients à monter n'importe quel sous répertoire. ``-mapall=root'' pour que toutes les modifications soient considérées comme étant faites par root. ``-network 192.168.0.1'' pour n'autoriser que ``192.168.0.1'' comme client. ``-mask 255.255.255.0'' pour spécifier le masque de réseaux.
___________________________________________________________________
Utilisation
En tant que client on peut monter un volume nfs par la commande:
mount -t nfs 192.168.1.217:/home/nfs /nfs
On peut aussi l'inclure directement dans le fichier /etc/fstab:
server:/usr/local/pub /pub nfs rsize,wsize=8192,timeo=14,intr
___________________________________________________________________
Sécurisation
Le problème de NFS est que la seule limitation que l'on peut appliquer au niveau du réseau est basé sur l'adresse IP du client, qui peut être usurpée par la technique du spoofing. Il est donc indispensable de renforcer cette sécurité par des règles afin d'en limiter l'accès aux réseaux dont on peut avoir confiance.
next up previous contents index index
suivant: installation d'un serveur NIS monter: Administration Réseaux précédent: installation d'un serveur DHCP   Table des matières   Index