Soluzione 1:
NFS si basa sull'autenticazione RPC. Con NFS versione 3, il meccanismo di autenticazione più comune è AUTH_UNIX. L'ID utente e l'ID gruppo del sistema client vengono inviati in ogni chiamata RPC e le autorizzazioni di questi ID sul file a cui si accede vengono verificate sul server. Perché funzioni, l'UID e il GID devono essere gli stessi sul server e sui client. Tuttavia, puoi forzare tutti gli accessi a un singolo utente e gruppo combinando le opzioni di esportazione all_squash, anonuid e anongid. all_squash mapperà tutti gli UID e GID all'utente anonimo e anonuid e anongid impostare l'UID e il GID dell'utente anonimo. Ad esempio, se il tuo UID e GID sul tuo server di sviluppo sono entrambi 1001, puoi esportare la tua home directory con una riga come
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
Conosco meno NFS versione 4, ma penso che tu possa impostare rpc.idmapd sui client per modificare l'uid e il gid che inviano al server.
Soluzione 2:
Quando monti NFS, le tue autorizzazioni con cui lo stai montando devono corrispondere a quelle che hai sul server. Ad esempio, se il tuo utente ha solo accesso in sola lettura, montarlo con lettura-scrittura ti farà vedere gli stessi errori che hai menzionato nel tuo post quando provi a caricare effettivamente il montaggio. Sfortunatamente, questo verrà visualizzato SOLO quando accedi alla cartella, non quando la monti effettivamente.
Si desidera inoltre assicurarsi che l'utente NFS sia in esecuzione come sul server e che l'utente sul client utilizzi gli stessi UID e GID. Puoi controllare questi valori eseguendo id darren
sia sul server che sul client. Se i valori UID e GID non corrispondono, puoi modificare /etc/passwd
per fare in modo che sia così, ma assicurati di capire cosa stai facendo prima di modificare arbitrariamente i valori!
Alcune buone fonti:
- http://nfs.sourceforge.net/nfs-howto/ar01s07.html#pemission_issues
- http://support.apple.com/kb/TA22243
Spero che questo aiuti!
Soluzione 3:
I tuoi UID e GID corrispondono su entrambi i server? Questo è ciò che sta usando per controllare l'accesso e non il login e il nome del gruppo.