Os grupos suplementares do root se comportam de maneira diferente dos grupos de contas regulares para os compartilhamentos NFS?

2

SO: Linux CentOS 7, NFSv4

Em uma máquina eu exportei um grupo de compartilhamento NFS de propriedade do nfsgroup com 2770 privilégios para colaboração em grupo:

groupadd -g 5000 nfsgroup
chown nobody:nfsgroup /home/groupshare
chmod 2770 /home/groupshare

Em seguida, na outra máquina, adiciono o mesmo grupo e atribuo-o ao usuário root. Em seguida, tento acessar o compartilhamento NFS montado e recebo um erro "Permissão negada":

groupadd -g 5000 nfsgroup
usermod -a -G nfsgroup root
ls -l /mnt/groupshare       # Permission denied!

Nota: Para isso eu tentei logar novamente como root e até mesmo reiniciar a máquina, o resultado é o mesmo: Permissão negada.

Eu então faço a mesma coisa para a conta regular (chamada usuário ) e não tenho problemas de acesso

usermod -a -G nfsgroup user
su - user
ls -l /mnt/groupshare      # Works as expected, no permission errors

A única maneira de acessar o compartilhamento sob a raiz é alterando o grupo efetivo (apesar do nfsgroup suplemento estar lá):

su - root
newgrp nfsgroup
ls -l /mnt/groupshare     # No permission errors

Acho esse comportamento inconsistente e estranho. Alguém pode por favor lançar uma luz sobre por que se comporta dessa maneira?

Uma informação, que talvez de alguma forma relevante, é a seguinte. Tanto a conta id (sob usuário ) como id user retornam a mesma saída, em particular grupos = 1000 (usuário), 5000 (nfsgroup) , enquanto a conta id (sob raiz ) produz grupos = 0 (raiz) e id root saídas, como esperado , grupos = 0 (raiz), 5000 (nfsgroup) .

    
por golem 03.12.2014 / 17:45

1 resposta

3

Acho que encontrei o que causou o problema. Quando o cliente NFS acessa um compartilhamento NFS, o servidor verifica o UID e o GID do usuário de acesso. E, por padrão, o servidor NFS vem com a opção root_squash habilitada, que atribui ao cliente NFS acessando o compartilhamento como root o UID / GID de nfsnobody .

Depois de adicionar a opção no_root_squash à exportação no arquivo /etc/exports , o problema desapareceu.

Aparentemente, quando o servidor NFS 'esmaga' o UID / GID da raiz, ele desconsidera completamente os grupos suplementares (parece errado para mim, mas provavelmente o padrão NFSv4 pensa de forma diferente).

    
por 03.12.2014 / 18:22