Назад | Перейти на главную страницу

Совместное использование папок через NFSv4 для частных групп пользователей

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

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

Я закончил тем, что пытался подать заявку это решение с использованием ACL для принудительного использования umask каталога. Я сделал, но это не сработало, как ожидалось. Я читал на NFS вики что обычные 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

И обычные ACL работают:

# 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. Но я больше не уверен.

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

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

Прочитать сообщение Нет acl на монтировании nfs в Linux?.