| Informàtica > ASI crèdit 5 > Unitats Didàctiques > Servidors > Lliçons > Network File System | data última modificaciķ: 25.09.2007 |
| Cicle formatiu: Administraciķ de sistemes informātics.
Crèdit 5: Desenvolupament de funcions en el sistema informātic. Unitat didāctica: Servidors Unitat de continguts: Network File System Convencions durant la lliçó Descripció del servei NFS Configuració del servidor NFS Configuració del client NFS Seguretat en NFS Exercicis i qüestions Per a saber més |
||||||||||||||||||
|
Per als exercicis o pràctiques que venen a continuació, si no es diu el contrari, usarem les següents convencions:
Hi ha dues versions d'NFS actualment en ús. NFSv2 és la més ampliament suportada, però la NFSv3 inclou més característiques. Red Hat Linux suporta ambdúes versions, i utilitza NFSv3 per defecte quan es connecta a un servidor que ho suporta. Aquí ens centrarem en NFSv2, tal i com ho fa el capítol 9. Network File System (NFS) del Manual de referencia de Red Hat Linux 9, tot i que moltes coses que apareixeran aquí s'apliquen també a NFSv3. |
||||||||||||||||||
|
Les màquines UNIX normalment utilitzen l'estàndard NFS (Network File System, sistema de fitxers en xarxa) per poder servir o accedir a directoris via xarxa. Dins una xarxa homogènia amb equips UNIX, aquest mètode permet als usuaris tenir accés a qualsevol directori del servidor, des de les màquines que tinguin permís concedit, aprofitant al màxim els recursos. NFS (Network File System) permet a les màquines remotes muntar particions de la màquina servidor, i utilitzar-les com si estiguessin en el seu sistema d'arxius local. El servidor ha d'haver exportat prèviament aquestes particions, per a posar-les a l'abast dels clients. Per a proporcionar la compartició d'arxius NFS, Linux utilitza una combinació de suport a nivell de kernel i de dimonis. El servei NFS utilitza el servei portmap, i per tant aquest també ha d'estar actiu en el nivell d'execució on es vulgui treballar. Els següents són alguns dels processos que gestionen els diversos aspectes del servei NFS: rpc.mountd — El procés que rep les peticions de muntatge des dels clients NFS, i que controla si aquestes peticions demanaen per un sistema d'arxius exportat. rpc.nfsd — El procés que implementa la part d'usuari del servei NFS. Serveix les demandes dels clients NFS. rpc.statd — Implementa el protocol RPC Network Status Monitor (NSM). La principal funcionalitat és donar notificació de reinici quan un servidor NFS és reiniciat. Útil per al procés nfs.lockd, que en eixe cas ha de recuperar-se de la caiguda de manera ordenada. rpc.lockd — Procés responsable que el NLM (NFS Lock Manager) arranqui en els kernels on no ho fa automàticament. Innecesari en els kernels moderns, que ja s'encarreguen del bloqueig dels arxius. rpc.rquotad — Un servidor RPC que proporciona informació de quotes d'usuaris a usuaris remots. No tots són requerits per al servei NFS. Els únics que han d'estar actius són: rpc.mountd, rpc.nfsd, y portmap. La resta de dimonis proporcionen funcionalitats addicionals que només s'utilitzer si es desitja tenir-les. Pel que fa a aspectes de seguretat (qui pot i qui no pot accedir a un servei), el procés portmap treballa amb embolcalls TCP (envolturas TCP o TCP wrappers). Consisteix en llegir els fitxers /etc/hosts.allow i /etc/hosts.deny per a veure qui pot i qui no pot accedir al servei. Atenció! el contingut dels fitxers /etc.hostsa.allow i /etc/hosts.deny afecten tots els serveis que treballen amb portmap. Per a saber més, veure el capítol 15. Los wrappers TCP y el comando xinetd, en els apartats 15.1. Wrappers TCP i 15.2. Archivos de configuración de Wrappers TCP del Manual de referencia de Red Hat Linux 9. Pràctica (P1): Mirar si al meu sistema (nivell d'arrancada 3) tinc actius els dimonis portmap, rpc.statd, rpc.mountd i nfsd. Si hi falta el nfsd, provar d'arrancar-lo amb /sbin/service nfs start. Configurar el nivell d'arrancada 3 per tal que el servei nfs estigui en marxa per defecte en aquest nivell. Qüestions sobre wrappers TCP: - Què s'aplica primer, hosts.allow o hosts.deny? - Es pot posar restriccions d'accés al hosts.allow? - preparar els fitxers hosts.allow i hosts.deny per a permetre el company de la dreta accedir, i rebutjar el company de l'esquerra amb un missatge de l'estil "no pots fer-ho". - preparar els fitxers hosts.allow i hosts.deny com abans, i a més a més, que quedi constància a un fitxer /var/log/elmeulog.log de cada accés acceptat i denegat. |
||||||||||||||||||
|
Arxius i comandes: exportfs - Utilitat que manté la llista de sistemes de fitxers exportats amb NFS. Per a més informació fer man exportfs. /etc/exports - Fitxer que conté els sistemes de fitxers a exportar amb exportfs. La manera d'escriure els continguts del fitxer /etc/exports es troba en el capítol 9.2.1. /etc/exports del Manual de referencia de Red Hat Linux 9. /etc/lib/nfs/xtab - Fitxer que conté informació que ha de consultar el dimoni rpc.mountd per a permetre o no un muntatge sol.licitat per un client. Configuració del servei NFS: L'arxiu /etc/exports conté una línia per a cada sistema d'arxius exportat, amb els seus drets d'accés i tot. La comanda exportfs llegeix aquest arxiu i n'obté la informació que després oferirà a rpc.mountd i rpc.nfsd per a permetre el muntatge remot d'un dels sistemes d'arxius exportats per part d'una màquina autoritzada. No cal reiniciar nfs quan s'afegeix un canvi al fitxer /etc/exports: amb les opcions adequades, la comanda exportfs inclou el canvi en /var/lib/nfs/xtab. Aquest és el fitxer consultat pel dimoni rpc.mountd per a permetre o no els muntatges, de manera que qualsevol canvi pren efecte de manera immediata. Les opcions disponibles per a la comanda exportfs són:
|
||||||||||||||||||
|
Arxius i comandes: showmount - Comanda que demana informació al dimoni mount d'un host remot sobre l'estat del servidor NFS en ell. Per a més informació fer man showmount. mount - Comanda que permet muntar un sistema de fitxers en un directori. (És més habitual que el sistema munti en arrancar el que troba a /etc/fstab que fer que l'usuari ho faci a mà cada cop que entra.) Per a més informació fer man mount.
umount - comanda que permet desmuntar un sistema de fitxers en un directori. Per a més informació fer man umount. /etc/fstab - fitxer que conté una línia per cada sistema de fitxers que el sistema ha de muntar cada cop que arranca. Aquest arxiu és llegit per l'script /etc/rc.d/init.d/netfs quan arranca el sistema.
Pràctica (P2): Esbrinar quina és actualment, a la vostra màquina, la llista d'exportacions del servidor NFS. |
||||||||||||||||||
|
Veure el capítol 9.4. Asegurar NFS del Manual de referencia de Red Hat Linux 9. Completar-ho si cal amb man exportfs, man exports, man mount per a fer la pràctica. Pràctica (P3): Dir si és cert o fals (i raonar per què):
Què vol dir el terme "squash"? Quina relació té amb l'usuari "nobody" o "nfsnobody"? Per cert, quí és aquest "nobody" o "nfsnobody"? Per qué va bé el "root-squashing"? Per què serveix el "all-squash"? Pràctica (P5): Imaginem la següent situació: L'usuari PEPE té un compte en el servidor, on té assignat l'UID 542, i allí hi té alguns fitxers seus. La seva partició de treball és importada sobre una altra màquina, on l'UID 542 pertany a l'usuari PEPA. PEPE també té compte d'usuari en aquesta segona màquina, però amb l'UID 531. Si PEPE es loga a la màquina client, què pot fer amb els seus fitxers remots? Si PEPA es loga a la màquina client, què pot fer amb els fitxers remots de PEPE? Què es pot fer per a evitar aquesta situació? |
||||||||||||||||||
|
||||||||||||||||||
|
NFS utilitza crides a procediments remots (RPC o Remote Procedure Calls) per a funcionar. Per a saber més sobre el tema, fer man rpc. Presentación de los servicios RPC: http://bulma.net/body.phtml?nIdNoticia=1841 . (Disponible en format PDF.) Es tracta d'una explicació sobre els serveis RPC, un dels quals és la compartició d'arxius amb NFS. Inclou una breu història d'NFS, característiques, avantatges i inconvenients. També incorpora explicacions i exemples de les comandes relatives a NFS tant de client com de servidor. Per assegurar-nos que els serveis NFS basats en RPC es troben actius per al portmap, usar la comanda rpcinfo -p. Es veu un llistat dels programes actius per al portmap, i el número de versió, el protocol emprat per cada programa i el número de port utilitzat en la comunicació. Si no hi trobem tots els dimonis que calen per al servei NFS, rearrancar-lo amb /sbin/service nfs restart. Fer man rpcinfo per a informar-se més sobre aquesta comanda. Podeu mirar-vos la minilliçò MINImount. |
||||||||||||||||||