Compartilhamentos de pastas via NFSv4 privados para grupos de usuários

Compartilhamentos de pastas via NFSv4 privados para grupos de usuários

Quero compartilhar uma pasta pelo NFSv4, disponível para alguns usuários, e estou tendo problemas de permissão.

Eu configurei as permissões da 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, o padrão UMASK dos usuários é 700, então isso acontece o tempo todo).

Acabei tentando me inscreveresta solução usando ACLs para impor umask de diretório. Eu fiz, mas não funcionou como esperado. eu li noWiki NFSque ACLs regulares não funcionarão no NFSv4 e que preciso usar ferramentas ACL específicas do nfs4.

Mas estou tendo alguns problemas. Tentei instalar o nfs4-acl-tools no servidor e recebi o seguinte:

# 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

Rastreei o nfs4_getfacl conforme sugerido ema lista de discussãoe consegui isso:

# 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 fosse 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.

Responder1

Você deve usar getfaclno servidor NFS (porque você consulta o sistema de arquivos local) e usar nfs4_getfaclquando estiver no cliente NFS.

NFSv4 ACL e Linux ACL acl(5) são padrões completamente diferentes! O servidor Linux NFS traduzirá a ACL para frente e para trás.

Leia a postagemNão há acl na montagem nfs no Linux?.

informação relacionada