NFS ignora grupos secundários

2

Meu servidor NFS parece estar ignorando os grupos secundários. Eu tenho menos de 16 grupos por usuário, mas tenho --manage-gids ativado. O compartilhamento NFS não é montado quando esta opção está ausente. Usuários e grupos são gerenciados com o LDAP, e a autenticação é feita via Kerberos. Minhas exportações são configuradas assim:

> cat /etc/exports
/srv/nfs4 *(rw,sync,fsid=root,crossmnt,no_subtree_check,sec=krb5i,insecure)
> grep /srv/nfs4 /etc/fstab
/home   /srv/nfs4/home  none    bind    0   0
/var/backups/home   /srv/nfs4/archive   none    bind    0   0
> hostname -f
nfs.example.com

A montagem do NFS é montada da seguinte maneira, tanto no próprio servidor quanto em algumas outras máquinas clientes:

> grep nfs4 /etc/fstab
nfs.example.com:/ /mnt/nfs nfs rw,exec,nfsvers=4 0 0

Os UIDs estão corretos, já que o sistema de arquivos NFS é montado no próprio servidor. Isso também acontece quando eu o monto em outra máquina.

> id
uid=1027(kai) gid=1027(kai) groups=1027(kai),27(sudo),100(users)
> ls -n /mnt/nfs/home/kai/test
total 0
drwxr-xr-- 1 1001  100 0 Mar 27 11:44 test1/
drwxr-xr-x 1 1001  100 0 Mar 27 11:44 test2/
drwxr-xr-- 1 1001 1027 0 Mar 27 11:44 test3/

No diretório local ( /home/kai/test e /srv/nfs4/home/kai/test ), posso cd para todos os diretórios de teste. Em /mnt/nfs/home/kai/test , não consigo cd to test1/ . Minha conclusão é que a permissão de grupo ( r-x ) no grupo secundário users está sendo ignorada - alguma ideia de por que isso pode ser?

Investigação

Depois de investigar mais sobre o wireshark, parece ser um problema do lado do host. O cliente está emitindo LOOKUP chamadas e obtendo a resposta esperada (o que deve ser, já que as permissões corretas são mostradas com ls ). No entanto, ele não está recebendo a resposta correta para ACCESS chamadas - o cliente envia Check: Read/Lookup/Modify/Extend/Delete e recebe Allowed: Read/Lookup para test2 e test3 , mas apenas Allowed: Read para test1 .

    
por kai 27.03.2018 / 13:09

0 respostas