Patrick Ohnewein wrote:
Ciao Karl,
Su un export in solo lettura nessuno puo' modificare qualcosa, ne un
utente, ne root. Per quanto riguarda il mount, quello non e' fatto
per un solo utente! Un mount NFS e' definito in /etc/exports e li non
si parla di utenti. Un concetto diverso e' quello del mapping degli
utenti e gruppi per evitare che certi utenti (root!) possono
utilizzare la directory con i propri UID e GID. 'root_squash' fa il
mapping di UID 0 sul UID di nobody. Cosi l'utente root non puo'
utilizzare quel share come root, ma soltanto come nobody.
hai raggione, avevo confuso le due cose. Dopo aver visto gli esempi
nel man, penso di aver capito. Ti chiedo conferma ai miei sospetti.
EXAMPLE
# sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_squash)
E' vero, che se setto il nome della mia macchina su pc100, posso fare
il mount della home directory di joe?
Non pensa che basti???, devi essere pc100 anche per il server NFS. O
nella sua /etc/hosts o nel naming usato dal server.
La combinazione delle opzioni all_squash e anan?id penso che facciano
in modo, che ogni azione venga fatta come utente.gruppo sul server
150.100. In questo caso non riconosco vantaggi nei confronti del'uso
di uno samba share.
Non ci sono se vuoi condividera dati. Forse NFS e' piu' stabile al
momento che il server non e' raggiungibile per qualche tempo. Quando il
server ritorna funziona subito tutto, senza che il client deve rifare il
mount. Questo e' importante se e' un share tra macchine di un sistema
distribuito o cluster.
Se e' vero che cambiando il nome della macchina si possa fare il mount
degli share, ancora peggio sarebbe se nello configurazione sopra
riportata qualcuno settasse il nome su master o magari trusty.
Cambiare il nome, be. Ma chi ha accesso alle rete puo' sempre collegarsi
con l'IP di master o trusty e allora hai il problema!
L'unica via di scampo mi sembra essere la soluzione da te usata, cioe'
usare una rete fisicamente distaccata. O esisterebbero anche altre?
Senza ulteriori servizi no. Poi fare quel che fa Endian per la scuola
professionale Enrico Mattei a Bressanone. Usano i filtri a livello
iptables e danno certi servizi soltano alla macchina con l'indirizzo MAC
giusto. Cosi porti la sicurezza dall'indirizzo IP all'indirizzo MAC. Ma
poi arriva quello che in qualche modo ha rubato gli indirizzi MAC e si
assegna un indirizzo alla propria scheda. La sicurezza con NFS non c'e',
perche' mancha l'autentificazione sul lato server. Soltanto con
filesystem di reti avanzati come AFS, Coda, ... lo puoi evitare. Non so
se Samba o ncpfs possono essere alternative a questi.
Scusa se ti chiedo i buchi nello stomaco (traduzione del detto tedesco
;)), la tematica mi interessa molto, perche' spesso vengo chiesto sul
come fare share in reti. Solo non avvendo altre esperienze al di fuori
che con Samba non mi e' mai stato possibile dare una risposta concreta.
Con Samba hai tutto per fare i share. Non e' un filesystem UNIX e cosi
non puoi (o forsi si, non so) usarlo per installare sistemi per il
diskless per sistemi con terminali o il clustering, per sistemi
distrubuiti o altro. Per scambiarsi dati Samba va benissimo. Oltre Samba
c'e' anche Mars e ncpfs che usano i protocolli e le funzionalita' di un
semplice Novell NetWare Ma questo non ho mai usato, Max lo conosce.
Vista la storia e l'uso massiccio di NFS, mi sembra importante capire
i vantaggi e svantaggi. Poi vorrei anche valutare l'uso dei nuovi FS
con ACL.
Come filesystem locale ACL da dei grandi vantaggi, ma se metti su NFS
hai gli stessi casini. Non capisco perche' un ACL locale possa risolvere
il problema dell'autentificazione remota. OK, con Kerberos. I rawhide
della RedHat di primavera, cioe' le beta prima della Red Hat 9, avevano
l'ACL, ma poi hanno perso il coraggio e lo hanno tolto.
C'e' un bel progetto:
http://www.grsecurity.net/
http://www.grsecurity.net/features.php
http://www.grsecurity.net/papers.php
E su linuxwiki ci sono dei link:
http://linuxwiki.de/ACL
Forse c'e' qualcuno sulla lista che ha piu' esperienza. Sarebbe un bel
workshop: "Network Filesystems"
Ciao
Karl