Eu diria que, no geral, você está correto em entender o NFS. Aqui estão alguns detalhes sobre os pontos que você mencionou:
Um servidor NFSv3 fornece apenas as permissões de propriedade e acesso de arquivos. Cabe ao cliente impor essas permissões para usuários específicos (ou seja, quando um processo com um UID específico está solicitando e operação fs).
Mesmo que você configure o NFSv4 com criptografia, autorização do Kerberos e LDAP (e o Krb e o LDAP servidores estão sendo executados de um host diferente), então a raiz do cliente ainda terá o potencial para pelo menos tanto privilégios fs quanto todos os usuários e grupos permitidos. Mas você pode obter proteção novamente para atividades de usuário não raiz e até mesmo outros hosts na rede privada.
Normalmente, os clientes terão muito sucesso em impor as permissões do usuário. Eu não estou ciente de qualquer método simples para ter a permissão de arquivo ignora para uma montagem NFS. Se você quiser, basta definir as permissões para u=rwx,g=rwx,o=rwx
para todas as pastas e u=rw,g=rw,o=rw
para todos os arquivos.
Off topic:
But be careful not to flip the setuid bit - that can actually end-up giving a root shell to regular users (e.g. www-data) on your client. Setuid can be disable completely with the "-o nosuid" option for NFS and non-NFS mounts.
Existe uma maneira de desabilitar / ativar o rootsquash para o Solaris sever (ele é chamado de algo diferente de rootquash na terminologia do Solaris - eu esqueci o que era).
Você pode fazer com que o servidor Solaris marque todo o compartilhamento como somente leitura, por exemplo:
zfs set sharenfs="[email protected]/16" tank/home/tabriz
Então, não importa o que o cliente faça, o fs não será gravável.
Provavelmente não é possível para um usuário não raiz em seu cliente abrir uma conexão direta com o servidor NFS, mesmo se o programa puder falar o protocolo NFS. Isso ocorre porque o cliente NFS geralmente é forçado a conectar portas privilegiadas de formulário e em clientes íntegros somente o root pode faça isso.