Carpetas compartidas a través de NFSv4 privadas para grupos de usuarios

Carpetas compartidas a través de NFSv4 privadas para grupos de usuarios

Quiero compartir una carpeta a través de NFSv4, disponible para algunos usuarios, y tengo problemas con los permisos.

Configuré los permisos de la carpeta con setGID para que se creen nuevos archivos con el propietario del grupo de carpetas. Pero los usuarios son libres de crear archivos sin permisos para el grupo (de hecho, el UMASK de usuario predeterminado es 700, por lo que esto sucede todo el tiempo).

Terminé intentando aplicaresta solución utiliza ACL para aplicar la máscara uma de directorio. Lo hice, pero no funcionó como esperaba. leí en elwiki de NFSque las ACL normales no funcionan en NFSv4 y que necesito usar herramientas de ACL específicas de nfs4.

Pero estoy teniendo algunos problemas. Intenté instalar nfs4-acl-tools en el servidor y obtengo esto:

# nfs4_getfacl /export/proyectos/
Operation to request attribute not supported.

Sí, la partición está montada con soporte 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

Y las ACL normales están 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

Seguí el nfs4_getfacl como se sugiere enla lista de correoy obtuve esto:

# strace nfs4_getfacl /export/proyectos
<stripped>
getxattr("/export/proyectos", "system.nfs4_acl", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported)
<stripped>

¿Nfs4_getfacl solicita la bandera correcta? Pensé que nfs4_acls no estaba implementado en absoluto por ningún sistema de archivos, y actualmente nfs4 dependía de algún tipo de mapeo nfs4acl-posixacl. Pero ya no estoy seguro.

Respuesta1

Debe usarlo getfaclen el servidor NFS (porque consulta el sistema de archivos local) y usarlo nfs4_getfaclcuando esté en el cliente NFS.

¡NFSv4 ACL y Linux ACL acl(5) son estándares completamente diferentes! El servidor NFS de Linux traducirá la ACL de un lado a otro.

Leer la publicación¿No hay ACL en el montaje nfs en Linux?.

información relacionada