User Tools

Site Tools


cn:ccr:formazione:centos7:2018-11:nfs-soluzioni

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cn:ccr:formazione:centos7:2018-11:nfs-soluzioni [2018/11/28 10:57] – [1. Export NFS4] dmaselli@infn.itcn:ccr:formazione:centos7:2018-11:nfs-soluzioni [2018/11/28 11:12] (current) – [4. ACL] dmaselli@infn.it
Line 1: Line 1:
 +====== NFSv4 (Soluzioni) ======
 +
 +===== Preparazione =====
 +  * Due macchine virtuali a disposizione
 +  * Configurazione Keberos5
 +  * Creare utenti pippo pluto paperino con UID diversi sui due nodi
 +  * Creare relativi principal sul KDC
 +
 +Su server:
 +<code bash>
 +useradd -KUID_MIN=2001 -KGID_MIN=2001 pippo
 +useradd -KUID_MIN=2001 -KGID_MIN=2001 pluto
 +useradd -KUID_MIN=2001 -KGID_MIN=2001 paperino
 +</code>
 +
 +Su client:
 +<code bash>
 +useradd -KUID_MIN=3001 -KGID_MIN=3001 pippo
 +useradd -KUID_MIN=3001 -KGID_MIN=3001 pluto
 +useradd -KUID_MIN=3001 -KGID_MIN=3001 paperino
 +</code>
 +===== 1. Export NFS4 =====
 +  * Su VM1: configurare un server che esporti la directory /exp01 con NFS4 con sicurezza classica unix
 +  * Su VM1: Impostare un firewall che permetta solo l'uso di NFS4
 +  * Su VM2: fare il mount dalla macchina client
 +  * Verificare che non ci sia mapping tra gli utenti
 +
 +Sul server:
 +<code bash>
 +mkdir /exp01
 +touch /exp01/file-di-pippo
 +chown pippo /exp01/file-di-pippo
 +
 +yum -y install nfs-utils
 +echo '/exp01  *(rw,sync,no_root_squash)' >> /etc/exports
 +systemctl start nfs-server
 +</code>  
 +
 +Sul client:
 +<code bash>
 +yum -y install nfs-utils
 +mount vboxvm01:/exp01 /mnt
 +
 +ls -l /mnt/file-di-pippo
 +# -rw-r--r-- 1 2001 root 0 Nov 28  2018 file-di-pippo
 +
 +</code>  
 +
 +
 +
 +===== 2. Export KRB5 =====
 +  * Su VM1: Configurare l'export /exp01 con autenticazione e cifratura Kerberos5
 +  * Su VM1 e VM2: Verificare il mapping tra gli utenti
 +
 +
 +===== 3. Locking =====
 +  * Verificare il funzionamento del locking facendo partire quasi simultaneamente il seguente script sulle VM:
 +
 +<code python>
 +#!/usr/bin/python
 +
 +import fcntl
 +import time
 +
 +f = open('tolock','w')
 +
 +print( 'Acquisizione lock...' )
 +fcntl.lockf(f,fcntl.LOCK_EX)
 +print( 'Lock acquisito' )
 +
 +print( 'Sleep 10 sec...' )
 +time.sleep(10)
 +
 +print( 'Rilascio il lock...' )
 +fcntl.lockf(f,fcntl.LOCK_UN)
 +print( 'Lock rilasciato' )
 +
 +</code>
 +
 +
 +===== 4. ACL =====
 +  * Su VM1: Impostare ACL per fare in modo che l'utente pippo possa scrivere su /exp01
 +  * Su VM2: Come utente pippo, impostare ACL per fare in modo che pluto possa scrivere nella sottodirectory di-pluto/ del FS montato
 +  * Verificare che pluto possa scrivere in di-pluto/ e paperino invece no
 +
 +Sul client
 +<code bash>
 +yum install nfs4-acl-tools
 +</code>
 +===== 5. Referrals =====
 +  * Creare nuova VM
 +  * Impostare export /subexp su VM3
 +  * Impostare VM1 in modo che /exp01/subexp sia un referral a VM3:/subexp
 +  * Verificare su VM2 che entrando in /exp01/subexp si vada effettivamente su VM3:/subexp
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki