next up previous contents
suivant: Coté client monter: Configurer un client/serveur NFS précédent: Configurer un client/serveur NFS   Table des matières

Coté serveur

FIXME Les packages knfsd et portmap doivent être installés sur le serveur.

Vérifier que les programmes portmap , mountd et nfsd tournent :

ps aux | grep portmap
ps aux | grep mountd
ps aux | grep nfsd

Si ces programmes ne tournent pas et qu'ils sont installés, taper /sbin/portmap, /usr/sbin/rpc.mountd ou encore /usr/sbin/rpc.nfsd pour les lancer et modifier les scripts d'initialisation du système pour qu'ils soient lancés lors du prochain démarrage.

Vérifier que tout fonctionne correctement :

rpcinfo -p

Il faut commencer par compiler le noyau avec les bonnes options :

Il faut ensuite s'assurer que on a le droit d'exécuter les démons. Pour cela il faut que le fichier /etc/hosts.deny contienne :

AJOUTER NLLE VERSION

portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

et que le fichier /etc/hosts.allow contienne :

portmap: 192.168.1.2 , 192.168.1.3
lockd: 192.168.1.2 , 192.168.1.3
rquotad: 192.168.1.2 , 192.168.1.3
mountd: 192.168.1.2 , 192.168.1.3
statd: 192.168.1.2 , 192.168.1.3

On peut également mettre une ligne comme 192.168.1.0/255.255.255.0 pour autoriser toutes les machines d'adresse 192.168.1.X.

Enfin, il faut éditer le fichier /etc/exports pour préciser quels machines on le droit de monter quels répertoires de notre serveur, et avec quels droits :

#
# Les machines d'adresse IP 192.168.1.2 et 192.168.1.3 ont le droit de monter
# le repertoire /home en lecture/ecriture (rw) et en lecture seule (ro)
#

/home 192.168.1.2(rw) 192.168.1.3(ro)

Il est plus sécurisé de mettre des adresses IP, pas des noms. Les syntaxes 192.168.1.0/255.255.255.0, *.chez.moi et 192.168. sont reconnues. Par défaut, un répertoire est monté en lecture seule (ro) et l'utilisateur root sur la machine cliente est l'utilisateur nobody (utilisateur au droits restreints) sur le serveur (root_squash). Pour désactiver ces options (trous de sécurité !), mettre respectivement rw et no_root_squash.

FIXME exportfs -a, afin que mountd et nfsd soient relancés, et le fichier /var/lib/nfs/xtab mis à jour.

L'option link_relative convertit les liens symboliques absolus (dont le nom commence par un '/') en lien relatifs ajoutant le nombre nécessaire de ../ pour aller de l'emplacement du lien à la racine du serveur.

Les options squash_uids et squash_gid permettent de préciser une liste d'UID et de GID qui seront convertis en utilisateurs anonymes. Par exemple, pour convertir les UID 0, 15 et 25 à 50 :

squash_uids=0,15,25-50

L'option all_squash permet de convertire tous les UID/GID en utilisateurs anonymes.

Noter que pour qu'un utilisateur puisse avoir les même droits sur son répertoire d'acceuil monté par NFS (répertoire /home en général), il faut qu'il ait le même UID sur le client qui exporte le répertoire via NFS que sur le serveur où se trouve effectivement le répertoire /home.

L'option map_daemon permet d'activer la conversion dynamique des UID/GID (chaque UID d'une requête NFS est transformé en UID équivalent sur le serveur). Cela nécessite le démon ugidd sur le client.

Pour que ces modifications soient prisent en compte, relancer les services :

Vérifier à l'aide de la commande rpcinfo que tous les services sont bien lancés :

# rpcinfo -p
   program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100029    1   udp    940  keyserv
    100029    2   udp    940  keyserv
    100009    1   udp   1015  yppasswdd
    100004    2   udp    607  ypserv
    100004    1   udp    607  ypserv
    100004    2   tcp    610  ypserv
    100004    1   tcp    610  ypserv
 600100069    1   udp    621  fypxfrd
 600100069    1   tcp    623  fypxfrd
    100021    1   udp   1025  nlockmgr
    100021    3   udp   1025  nlockmgr
    100024    1   udp    663  status
    100024    1   tcp    665  status
    100005    1   udp    667  mountd
    100005    1   tcp    669  mountd
    100005    2   udp    672  mountd
    100005    2   tcp    674  mountd
    100003    2   udp   2049  nfs
#

et relanser le serveur NFS :

# killall -HUP nfsd
#


next up previous contents
suivant: Coté client monter: Configurer un client/serveur NFS précédent: Configurer un client/serveur NFS   Table des matières
2004-07-17