Я пытаюсь экспортировать / монтировать том NFS вообще без ACL (POSIX или NFS), но у меня это не получается.
Технический контекст: последний текущий debian с обеих сторон, том ext4.
Цель: я обеспечиваю строгий доступ с помощью списков управления доступом POSIX на сервере, и пользователи могут (будут) получать доступ к тому на другой машине с помощью NFS. Но любой пользователь, владеющий каталогом / файлом, может изменить 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 в принадлежащих мне каталогах / файлах, и изменения видны в файловой системе сервера. Я также пробовал использовать 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)
Вы можете отключить поддержку на стороне сервера, скомпилировав ядро без CONFIG_NFSD_V3_ACL
вариант.