Общие папки через NFSv4, доступные только группам пользователей

Общие папки через NFSv4, доступные только группам пользователей

Я хочу предоставить общий доступ к папке по NFSv4, доступной некоторым пользователям, но у меня возникли проблемы с правами доступа.

Я настроил разрешения для папки с помощью setGID, чтобы новые файлы создавались с владельцем группы папки. Но пользователи могут свободно создавать файлы без разрешений для группы (на самом деле, UMASK пользователей по умолчанию равен 700, так что это происходит постоянно).

Я в итоге попытался подать заявкуэто решение использует ACL для принудительного применения umask каталога. Я сделал, но это не сработало так, как ожидалось. Я прочитал наНФС викичто обычные списки ACL не будут работать через NFSv4, и что мне нужно использовать специальные инструменты ACL для nfs4.

Но у меня возникли некоторые проблемы. Я попробовал установить nfs4-acl-tools на сервер и получаю это:

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

Да, раздел смонтирован с поддержкой 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

И обычные списки контроля доступа работают:

# 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

Я проверил nfs4_getfacl, как было предложено насписок рассылкии получил это:

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

nfs4_getfacl запрашивает правильный флаг? Я ​​думал, что nfs4_acls вообще не реализованы ни в одной файловой системе, и в настоящее время nfs4 полагается на какое-то отображение nfs4acl-posixacl. Но теперь я не уверен.

решение1

Вы должны использовать его getfaclна сервере NFS (так как вы запрашиваете локальную файловую систему) и использовать его, nfs4_getfaclкогда вы находитесь на клиенте NFS.

NFSv4 ACL и Linux ACL acl(5) — это совершенно разные стандарты! Сервер Linux NFS будет транслировать ACL туда и обратно.

Прочитать постНет acl при монтировании nfs в linux?.

Связанный контент