• Aucun résultat trouvé

NFS, le systeme de chiers par reseau

11.3 Les demons NFS

Si vous desirez o rir un service NFS a d'autres h^otes, vous devrez lancer les demons nfsd et mountd sur votre machine. En tant que programmes RPC, ils ne sont pas geres par inetd, mais sont executes au demarrage du systeme et enregistres par le portmapper. Par consequent, vous devez vous assurer qu'ils sont bien appeles apres rpc.portmap. Generalement, on rajoute les lignes suivantes dans le script rc.inet2 :

if [ -x /usr/sbin/rpc.mountd ]; then

/usr/sbin/rpc.mountd; echo -n " mountd" fi

if [ -x /usr/sbin/rpc.nfsd ]; then

/usr/sbin/rpc.nfsd; echo -n " nfsd" fi

Les informations sur les proprietaires des chiers qu'un demon NFS fournit a ses clients ne contiennent en principe que les valeurs numeriques d'utilisateur et de groupe. Si le client et le serveur associent les m^emes valeurs aux m^emes personnes et groupes, on dit qu'ils partagent le m^eme espace. C'est par exemple le cas lorsque vous utilisez NIS pour distribuer les informations passwd a toutes les machines de votre reseau.

Toutefois en certaines occasions ces valeurs ne correspondent pas. Plut^ot que de mo- di er la con guration de l'un ou l'autre systeme, vous pouvez employer le demon ugidd, qui s'occupera de parer au probleme. Gr^ace a l'option map daemon expliquee plus loin, vous pouvez demander a nfsd de faire correspondre les valeurs utilisateur et groupe du serveur a celles du client, a condition que ugidd soit en fonctionnement sur ce dernier.

Il s'agit d'un serveur RPC qui est lance depuis rc.inet2, exactement comme nfsd et mountd.

if [ -x /usr/sbin/rpc.ugidd ]; then

/usr/sbin/rpc.ugidd; echo -n " ugidd" fi

11.4 Le chier

exports

Pour chaque client, le serveur determine le type d'acces autorise. Cet acces est speci e dans le chier /etc/exports, qui liste les repertoires partages.

Par defaut, mountd interdira a tout le monde de monter des repertoires de l'h^ote local, ce qui est une attitude plut^ot sensee. Pour autoriser un ou plusieurs h^otes a monter

un repertoire par NFS, ce repertoire doit ^etre exporte, c'est-a-dire indique dans le chier exports. En voici un exemple:

# Fichier exports de kro.bibine.com

/home trappiste(rw) gueuze(rw) leffe(rw) /usr/X11R6 trappiste(ro) gueuze(ro) leffe(ro) /usr/TeX trappiste(ro) gueuze(ro) leffe(ro) / trappiste(rw,no_root_squash) /home/ftp (ro)

Chaque ligne de nit un repertoire et les h^otes autorises a le monter. Les noms de machines sont en general pleinement quali es, mais peuvent egalement contenir les caracteres generiques * et?, qui ont la m^eme signi cation que dans le shell Bourne. Par exemple,

lab*.foo.com

correspondra aussi bien a

lab01.toto.com

qu'a

la-

beur.toto.com

. Si aucun nom de machine n'est precise, comme pour le repertoire /home/ftpdans l'exemple ci-dessus, n'importe quel h^ote pourra monter ce volume. Lorsqu'il veri e les permissions pour un client donne, mountd recherchera son nom par l'appel gethostbyaddr(2). Avec le DNS, cet appel retournera le nom canonique, aussi vous devez faire attention a ne pas utiliser d'alias dans le chier exports. Sans DNS, le nom retourne est le premier trouve dans le chier hosts, qui correspond a l'adresse du client.

Le nom de machine est suivi par une liste facultative de drapeaux, separes par des virgules, entre parentheses. Ils peuvent prendre les valeurs suivantes:

insecure Autorise des acces non authenti es.

unix-rpc Demande l'authenti cation RPC. Cela necessite simplement que la requ^ete provienne d'un port reserve (un port dont le numero est inferieur a 1024). C'est l'option par defaut.

secure-rpc Demande l'authenti cation RPC securisee. Ce n'est pas encore im- plemente; consultez la documentation de Sun pour plus de details. kerberos Demande l'authenti cation Kerberos. Cette option n'est pas encore

implementee; consultez la documentation du MIT pour plus de de- tails sur le systeme Kerberos.

root squash Il s'agit d'une securite interdisant aux superutilisateurs des machines speci ees tout acces special, en transformant les requ^etes de l'utili- sateur 0 sur le client en utilisateur 65534 (-2) sur le serveur, qui correspond en principe a l'utilisateur

nobody

.

no root squash Ne change rien pour les requ^etes de superutilisateurs. C'est l'option par defaut.

ro Monte la hierarchie de chiers en lecture seule. C'est l'option par defaut.

rw Monte la hierarchie de chiers en lecture et ecriture.

link relative Convertit les liens symboliques absolus (dont le contenu commence par un slash) en liens relatifs en ajoutant ../ autant de fois que ne- cessaire pour aller du repertoire contenant le lien a la racine sur le serveur. Cette option n'a de sens que lorsque la totalite d'un systeme de chiers d'un h^ote est monte; autrement certains liens peuvent pointer nulle part, ou pis, vers des chiers vers lesquels ils n'auraient jamais d^u pointer. Cette option est en service par defaut.

link absolute Laisse tous les liens symboliques inchanges (le comportement normal des serveurs NFS fournis par Sun).

map identity Cette option indique au serveur de considerer que le client utilise les m^emes identi cateurs d'utilisateurs et de groupes que le serveur. Cette opion est en service par defaut.

map daemon Indique que les clients et le serveur n'ont pas les m^emes valeurs d'identi cation utilisateurs et groupes. Le demon nfsd construira alors une liste de correspondance entre les deux machines en interro- geant le demon ugidd du client.

Une erreur de syntaxe dans le chier exports sera rapportee via la((facilite))daemon

de syslogd, au niveau notice, chaque fois que nfsd ou mountd sont lances.

Notez que les noms de machines correspondant aux adresses IP des clients sont ob- tenus par recherche inverse, aussi le resolver doit ^etre con gure proprement. Si vous employez BIND et ^etes tres concernes par la securite, vous devez employer l'option nospoofdans votre chier host.conf.