Eu quero compartilhar uma pasta sobre o NFSv4, disponível para alguns usuários, e estou tendo problemas de permissão.
Eu configurei as permissões de pasta com setGID para que novos arquivos sejam criados com o proprietário do grupo de pastas. Mas os usuários são livres para criar arquivos sem permissões para o grupo (na verdade, os usuários padrão do UMASK são 700, então isso acontece o tempo todo).
Acabei tentando aplicar esta solução usando ACLs para impor umask de diretório . Eu fiz, mas não funcionou como esperado. Eu li no wiki do NFS que as ACLs regulares não funcionam sobre o NFSv4, e que eu preciso para usar ferramentas de ACL específicas do nfs4.
Mas estou tendo alguns problemas. Eu tentei instalar o nfs4-acl-tools no servidor e recebo isso:
# nfs4_getfacl /export/proyectos/
Operation to request attribute not supported.
Sim, a partição é montada com suporte ACL.
/dev/mapper/mpath4-part1 /export/proyectos ocfs2 rw,relatime,_netdev,heartbeat=local,nointr,data=ordered,errors=remount-ro,usrquota,coherency=full,user_xattr,acl 0 0
E as ACLs regulares estão funcionando:
# getfacl /export/proyectos/
getfacl: Eliminando «/» inicial en nombres de ruta absolutos
# file: export/proyectos/
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx
Eu toquei o nfs4_getfacl como sugerido na lista de discussão e recebi o seguinte:
# strace nfs4_getfacl /export/proyectos
<stripped>
getxattr("/export/proyectos", "system.nfs4_acl", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported)
<stripped>
O nfs4_getfacl está pedindo a bandeira certa? Eu pensei que o nfs4_acls não era implementado por nenhum sistema de arquivos, e atualmente o nfs4 estava contando com algum tipo de mapeamento nfs4acl-posixacl. Mas não tenho mais certeza.