J'essaie d'exporter / de monter un volume NFS sans ACL (POSIX ou NFS), mais j'échoue à ce sujet.
Contexte technique: dernier fichier debian actuel des deux côtés, volume ext4.
Objectif: J'impose un accès strict à l'aide des ACL POSIX sur le serveur, et les utilisateurs peuvent (vont) accéder au volume sur un autre ordinateur, avec NFS. Mais tout utilisateur possédant un répertoire / fichier peut modifier les ACL, ce qui n’est pas bon ici. Je souhaite donc empêcher les utilisateurs de modifier les listes de contrôle d'accès. Supprimer simplement les commandes get / setfacl n'est pas une bonne solution. Supprimer le support ACL sur un volume côté serveur n'est pas bon…
Ma question est donc la suivante : est-il possible d’empêcher les ACL d’un montage NFS sans supprimer les ACL sur un volume côté serveur? Si oui, comment peut-il être exécuté?
J'ai testé avec no_acl / noacl sans succès: mes exportations sont effectuées dans la version NFSv3, avec l'option "no_acl". Dans / 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)
Tous les services rechargés / redémarrés. Ensuite, je le monte sur le client avec l'option "noacl" (peu importe):
mount -t nfs -o noacl,vers=3 my-server:/exports/data/ /var/data/
qui donne dans / 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
Et je peux sur le client obtenir / définir des ACL à l’aide de get / setfacl sur les répertoires / fichiers que je possède et les modifications sont visibles sur le système de fichiers du serveur. J'ai aussi essayé d'utiliser NFSv4, pas de changement. BTW sur le serveur Je ne vois aucune option "no_acl" dans / proc / fs / nfs / exports:
/exports/data client-ip(rw,root_squash,sync,wdelay,no_subtree_check,uuid=0bac8439:e7e2488e:817358d2:f2c94b85,sec=1)
même s'il est visible avec exportfs -v:
/exports/data client-ip(rw,wdelay,root_squash,no_subtree_check,no_acl,sec=sys,rw,root_squash,no_all_squash)
la source