Как запретить ACL монтирование NFS?

Как запретить ACL монтирование NFS?

Я пытаюсь экспортировать/смонтировать том NFS вообще без ACL (POSIX или NFS), но у меня это не получается.

Технический контекст: последний актуальный Debian на обеих сторонах, том ext4.

Цель: Я обеспечиваю строгий доступ с помощью POSIX ACL на сервере, и пользователи могут (будут) получать доступ к тому на другой машине с помощью NFS. Но любой пользователь, владеющий каталогом/файлом, может изменить ACL, что здесь нехорошо. Поэтому я хочу запретить пользователям изменять ACL, и простое удаление команд get/setfacl не является хорошим способом. Удаление поддержки ACL на томе на стороне сервера нехорошо…

Итак, мой вопрос:можно ли запретить ACL от монтирования NFS, не удаляя ACL на томе на стороне сервера? Если да, то как это можно сделать?

Я пробовал использовать no_acl / noacl, но безуспешно: мои экспорты сделаны в версии NFSv3 с опцией "no_acl". В /etc/exports:

/exports ip-of-client-during-tests(rw,sync,no_acl,no_subtree_check,fsid=0)
/exports/data ip-of-client-during-tests(rw,sync,no_acl,no_subtree_check)

Все службы перезагружены/перезапущены. Затем я монтирую его на клиенте с опцией "noacl" (какой угодно):

mount -t nfs -o noacl,vers=3 my-server:/exports/data/ /var/data/

что дает в /proc/mounts:

server-name:/exports/data/ /var/data nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,noacl,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=server-ip,mountvers=3,mountport=53844,mountproto=udp,local_lock=none,addr=server-ip 0 0

И я могу на клиенте получить/установить ACL, используя get/setfacl для dir/files, которыми я владею, и изменения видны на файловой системе сервера. Я также пробовал использовать NFSv4, никаких изменений. Кстати, на сервере я не вижу опции "no_acl" в /proc/fs/nfs/exports:

/exports/data   client-ip(rw,root_squash,sync,wdelay,no_subtree_check,uuid=0bac8439:e7e2488e:817358d2:f2c94b85,sec=1)

даже если он виден с помощью exportfs -v:

/exports/data   client-ip(rw,wdelay,root_squash,no_subtree_check,no_acl,sec=sys,rw,root_squash,no_all_squash)

решение1

Вы можете отключить поддержку на стороне сервера, скомпилировав ядро ​​без этой CONFIG_NFSD_V3_ACLопции.

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