M06: Administració de Sistemes operatius UF1: Administració avançada de sistemes operatius
ASIX-2 Pràctica 2b: Servei NFS (Network File System)
16-11-2021

PRÀCTICA 2b:  SERVEI NFS (NETWORK FILE SYSTEM)

CONDICIONS DEL TREBALL

1- Es comprovarà que funicona correctament a partir del dia 23-11-21.
2- Comprovacions: 
    *  Punt 6
    * Punt 7
    * Qualsevol
dels punts 8 a 11 de la part 2 escollit a l'atzar


PRÀCTICA

INTRODUCCIÓ

a) NFS
(Network File System) és un sistema client/servidor que permet els usuaris d'un equip client accedir a un sistema d'arxius (conjunt de fitxers i carpetes) que es troba al servidor per mitjà d'una xarxa com si aquestes sistema d'arxius  formés part de l'equip client.

b) Amb NFS L'usuari no veurà cap diferència entre carpetes i fitxers locals de l'equip client i carpetes i fitxers que es troben en el servidor. Per l'usuari es com si sempre treballés amb carpetes i fitxers locals.

c) El procés pel qual un servidor NFS permet a un client NFS accedir a un conjunt de les seves carpetes i fitxers s'anomena exportació. El servidor exporta una o diverses carpetes i fitxers a l'equip client, i d'aquesta manera l'equip client pot accedir-hi.

d) El servei NFS és multiplataforma, i això vol dir que també pot ser utilitzat per ordinadors Windows, Mac, etc...

e) El fitxer de configuració del servidor NFS és /etc/exports.

f) Els clients accedeixen als fitxers i carpetes exportats utilitzant l'ordre mount.

g) Documentació: http://recursostic.educacion.es/observatorio/web/gl/software/software-general/733-nfs-sistema-de-archivos-de-red

PART 1: Instal·lant i configurant  el servidor NFS de Debian per exportar el directori /home


0-
Configuració del servidor Debian:
    a) Des de VirtualBox Manager per treballar amb Adaptador Pont.
    b) Configuració de xarxa via DHCP.

1-
Actualitza la llista de software disponible. A continuació, instal·la el paquet nfs-kernel-server.

2- 
Configuració del servidor Debian:
     a) 
Des de VirtualBox Manager per treballar amb Xarxa interna.
     b)  Fes que tingui una configuració estàtica d'IP, amb l'adreça 192.168.1.x, amb màscara 255.255.255.0, IP del Router 192.168.1.1 i IP dels servidors DNS 80.58.0.33 i 80.58.32.97.

3- Comprova que després de la instal·lació, el servidor està funcionant
    * Executat systemctl status nfs-kernel-server i comprova que està actiu
    * Executa netstat -atupn i comprova que el programa rpc.mountd està en execució i escoltant per diversos ports.

4-  Crea:

    a)
Un grup d'usuaris de nom prof amb gid=4000
    b)
Un grup d'usuaris de nom dptinf amb gid=5000
    a)
Un grup d'usuaris de nom prof00 amb gid=6000  
    b)
Un grup d'usuaris de nom prof01 amb gid=6001
    c)
Un usuari (*2) de nom prof00, uid= 6000, group per defecte prof00, directori personal /home/prof00, shell per defecte /bin/bash i contrasenya ClotFje20$.
    d) Un usuari de nom aprof01, uid= 6001, group per defecte prof01, directori personal /home/prof01, shell per defecte /bin/bash i contrasenya FjeClot20#.

5- 
Afegeix els usuaris:
    a) alum00, alum01, prof00 i prof01 al grup dptinf
        NOTA: Recorda que vas crear
alum00 i alum01 a la pràctica de SAMBA
    b)
prof00 i prof01 al grup prof.

6-
Crea les següents carpetes, amb els següent propietaris, grups i permisos:

Nom de la carpeta Propietari Grup Permisos
/srv/nfs root root Propietari: rwx
Grup: r-x
Other: r-x
/srv/nfs/alum root alum
NOTA: Vas crear aquest grup a la pràctica de SAMBA
Propietari: rwx
Grup: rwx
Other: r-x
/srv/nfs/prof root prof Propietari: rwx
Grup: rwx
Other: ---
/srv/nfs/dptinf root dptinf Propietari: rwx
Grup: r-x
Other: ---


7- Obre el fitxer /etc/exports i crea les següents entrades:

/srv/nfs/alum      *(rw,sync,no_subtree_check,wdelay,root_squash)
/srv/nfs/prof       192.168.1.x(rw,async,
no_subtree_check,root_squash)     ---> El valor "x"  serà el que trobeu aquí  192.168.1.x a la columna del client Debian.
/srv/nfs/dptinf    192.168.1.0/24(ro,sync,no_subtree_check,wdelay,no_root_squash)

Aquestes entrades permeten:
    a) Exportar /srv/nfs/alum,
/srv/nfs/prof i /srv/nfs/dptinf
    b) * -->  Qualsevol ordinador pot accedir-hi  sense importar el seu nom o IP
    c) 192.168.1.x --> Només admet connexions des d'aquest ordinador.
    d)
192.168.1.0/24 --> Només admet connexions des d'ordinadors d'aquesta subxarxa IP, o sigui del 192.168.1.1/24 al 192.168.1.254/24
    e) ro --> Accés amb permís de lectura.
S'han de tenir en compte els permisos a nivell de sistema.
    f) rw --> Lectura i escrptura. S'han de tenir en compte els permisos a nivell de sistema.
    g) sync --> Els canvis en fitxers es realitzen immediatament al disc i no passen per la memòria cau del disc. Pitjor rendiment en velocitat d'escriptura. Disminueix la probabilitat de perdre dades.
    h) async --> El contrari de sync.
    i) no_subtree_check --> Evita algunes comprovacions que fa el servidor quan li arriba la petició d'acceś a un fitxer o carpeta.  Permet millorar el rendiment reduint la seguretat.
    j) wdelay --> Serveix per reduir la quantitat d'accesos a disc i millora el rendiment. Treballa juntament amb sync.
    k) root_squash --> Els usuaris amb privilegis administratius sobre una carpeta compartida, si es connecten des d'una màquina remota, no els mantenen.
    l) no_root_squash --> El contrari de root_squash.

Per més informació:
http://somebooks.es/10-3-configurar-el-servidor-nfs/

8-
Executa l'ordre exportfs -a com a root per actualitzar la taula de carpetes i fitxers compartits que serà llegida pel servidor quan és reiniciat. Si hi ha cap error, l'ordre informarà de quin tipus d'error s'ha produït.

9-
Reinicia el servidor executant com a root l'ordre systemctl restart 
nfs-kernel-server, i  a continuacó comprova l'estat del servei per saber si tot ha funcionat correctament.

10- Executa dins de la carpeta  /srv/nfs/dptinf i com usuari root,  les següents ordres:   

    for i in {00..49}; do echo hola$i > fitxer$i; done   
    for i in {00..49}; do mkdir -p dir/dir$i; for j in {00..49}; do mkdir -p dir/dir$i/dir$i$j; done; done

   
Així podem omplir de contingut el directori /srv/nfs/dptinf que és de només lectura des de la xarxa.

PART 2: Instal·lant el programari pel client NFS  dins del client Debian i muntant el sistema d'arxius exportat


0- Configuració del client Debian:
    a)
Des de VirtualBox Manager per treballar amb Adaptador Pont.
    b)
Configuració de xarxa via DHCP.  

1-
Actualitza la llista de software disponible. A continuació, instal·la el paquet nfs-common.

2- 
Configuració
client Debian:
     a) 
Des de VirtualBox Manager per treballar amb Xarxa interna.
     b)
Amnb nm-connection-editor, fes que tingui una configuració estàtica d'IP, amb l'adreça 192.168.1.x, amb màscara 255.255.255.0, IP del Router 192.168.1.1 i IP dels servidors DNS 80.58.0.33 i 80.58.32.97.

3-  Crea:
    a)
Un grup d'usuaris de nom alum amb gid=2000
    b)
Un grup d'usuaris de nom alum00 amb gid=3000
    c) Un grup d'usuaris de nom alum01 amb gid=3001
    d) Un grup d'usuaris de nom prof amb gid=4000
    e)
Un grup d'usuaris de nom dptinf amb gid=5000
    f) 
Un grup d'usuaris de nom prof00 amb gid=6000  
    g)
Un grup d'usuaris de nom prof01 amb gid=6001   

    h)
Un usuari de nom alum00, uid= 3000, group per defecte alum00, directori personal /home/alum00, shell per defecte /bin/bash i contrasenya FjeClot20$
    i)
  Un usuari de nom alum01, uid= 3001, group per defecte alum01, directori personal /home/alum01, shell per defecte /bin/bash i contrasenya ClotFje20#
    j)  Un usuari de nom prof00, uid= 6000, group per defecte prof00, directori personal /home/prof00, shell per defecte /bin/bash i contrasenya ClotFje20$
    k)
Un usuari de nom prof01, uid= 6001, group per defecte prof01, directori personal /home/prof01, shell per defecte /bin/bash i contrasenya FjeClot20#

5-  Afegeix els usuaris:
    a) alum00, alum01, prof00 i prof01 al grup dptinf        

    b)
prof00 i prof01 al grup prof.
    c) alum00 i alum01 al grup alum.

5- Munta les carpetes exportades:
    * Crea les carpetes
/mnt/nfs/alum,
/mnt/nfs/prof i /mnt/nfs/dptinf en el client.
    * Modifica /etc/hosts per tenir associat l'adreça IP del servidor Debian amb el nom del servidor Debian.
    * Executa les ordres com a root:    mount   -t   nfs   xxxyyy-m06.fjeclot.net:/srv/nfs/alum  /mnt/nfs/alum
                                                                 m
ount   -t   nfs   xxxyyy-m06.fjeclot.net:/srv/nfs/prof  /mnt/nfs/prof
                                                                
mount   -t   nfs   xxxyyy-m06.fjeclot.net:/srv/nfs/dptinf  /mnt/nfs/dptinf
    * NOTA:
R
ecorda que xxxyyy-m06 és el nom del teu servidor Debian.                               

6- Comprova amb l'ordre df -Th que s'han muntat el directoris del servidor 
/srv/nfs/alum, /srv/nfs/prof i /srv/nfs/dptinf dins de les carpetes  /mnt/nfs/alum, /mnt/nfs/prof i /mnt/nfs/dptinf del client.

7- Comprova els permisos i propietaris de
/mnt/nfs/alum, /mnt/nfs/prof i /mnt/nfs/dptinf del client.

8- Canvia a usuari prof00:
     a) Accedeix a directori /mnt/nfs/dptinf. Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer. Comprova que pots copiar fitxer02 al directori personal de l'usuari.
     b) Accedeix a directori /mnt/nfs/prof. Comprova que pot visualitzar el seu contingut. Comprova que pots crear una carpeta nom test00. Comprova que en el servidor s'ha creat la carpeta.
     c) Comprova que pot accedir a /mnt/nfs/alum.
Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer.

9-
Canvia a usuari alum00:
     a)
Accedeix a directori /mnt/nfs/dptinf. Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer. Comprova que pots copiar fitxer02 al directori personal de l'usuari.
     b)
Accedeix a directori /mnt/nfs/alum. Comprova que pot visualitzar el seu contingut. Comprova que pots crear una carpeta nom test01. Comprova que en el servidor s'ha creat la carpeta.
     c) Comprova que no pots accedir a /mnt/nfs/prof.

10- Canvia a usuari prof01:
     a) Accedeix a directori /mnt/nfs/dptinf. Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer. Comprova que pots copiar fitxer02 al directori personal de l'usuari.
     b) Accedeix a directori /mnt/nfs/prof. Comprova que pot visualitzar el seu contingut. Comprova que pots crear una carpeta nom test02. Comprova que en el servidor s'ha creat la carpeta.
     c) Comprova que pot accedir a /mnt/nfs/alum.
Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer.

11- Canvia a usuari alum01:
     a)
Accedeix a directori /mnt/nfs/dptinf. Comprova que pot visualitzar el seu contingut. Comprova que no pots crear cap directori o fitxer. Comprova que pots copiar fitxer02 al directori personal de l'usuari.
     b)
Accedeix a directori /mnt/nfs/alum. Comprova que pot visualitzar el seu contingut. Comprova que pots crear una carpeta nom test03. Comprova que en el servidor s'ha creat la carpeta.
     c) Comprova que no pots accedir a /mnt/nfs/prof.