URL: https://linuxfr.org/forums/linux-redhat/posts/mapping-posix-acl-nfsv4-acl-over-nfsv4 Title: Mapping Posix ACL -> NFSv4 ACL over NFSv4 Authors: julienB56 Date: 2014年10月03日T09:34:07+02:00 License: CC By-SA Tags: Score: 0 Bonjour, merci d'avance à ceux qui liront ce post. Il s'agit d'un phénomène étrange, long à expliquer et pas de manière aisée. Je rencontre actuellement un problème de mapping entre des ACL Posix et des ACL NFSv4 over NFSv3. configuration: _*Serveur RH 6,5 *_ NFSv3+4. acl-2.2.49-6 nfs4-acl-tools-0.3.3-6 fichier exports : /nfsshare *(rw,sync,root_squash) arborescence complète : /nfsshare/rep_usergrp1 /nfsshare/rep_usergrp2 ACL Posix misent en place sur /nfsshare group:groupuser1:r-x group:groupuser2:r-x ACL Posix misent en place sur /nfsshare/rep_usergrp1 group:groupuser1:rwx group:groupuser2:r-x default:group:groupuser1:rwx default:group:groupuser2:r-x ACL Posix misent en place sur /nfsshare/rep_usergrp2 group:groupuser1:r-x group:groupuser2:rwx default:group:groupuser1:r-x default:group:groupuser2:rwx id user1 -> groupuser1 id user10 -> groupuser1 id user2 -> groupuser2 _*Client RH 6,5 *_ NFSv3+4. acl-2.2.49-6 nfs4-acl-tools-0.3.3-6 id user1 -> groupuser1 id user10 -> groupuser1 id user2 -> groupuser2 **cas de test 1 :** Depuis le client, avec l'utilisateur "user1" j'effectue une montage NFSv3 dans /mnt. J'obtiens donc /mnt/rep_usergrp1 et /mnt/rep_usergrp2. La commande getfacl sur /mnt/rep_usergrp1 et /mnt/rep_usergrp2 permet de constater que les ACL sont bien présentent et correctes. /mnt group:groupuser1:r-x group:groupuser2:r-x /mnt/rep_usergrp1 group:groupuser1:rwx group:groupuser2:r-x default:group:groupuser1:rwx default:group:groupuser2:r-x /mnt/rep_usergrp2 group:groupuser1:r-x group:groupuser2:rwx default:group:groupuser1:r-x default:group:groupuser2:rwx Dans le répertoire /mnt/rep_usergrp1 je créé un fichier texte.txt et un répertoire rep1. Les droits sur ces deux éléments ont bien été hérités du répertoire parent. /mnt/rep_usergrp1/texte1.txt group:groupuser1:rwx#effective:rw- group:groupuser2:r-x#effective:r-- /mnt/rep_usergrp1/rep1 group:groupuser1:rwx group:groupuser2:r-x default:group:groupuser1:rwx default:group:groupuser2:r-x Je démonte la ressource NFSv3 pour la remonter en NFSv3 mais avec l'utilisateur "user10". Vu que user10 et user1 font partis du même groupe, pas de problème pour modifier ce fichier texte, créer un répertoire dans /mnt/rep_usergrp1/rep1 etc... Je démonte la ressource NFSv3 à nouveau pour la remonter en NFSv4 avec "user10". Vu que c'est un point de montage NFSv4 la commande nfs4_getfacl me permet de lire les ACL qui sont de la forment : /mnt A:g:groupuser1@domainnfs:rxtcy A:g:groupuser2@domainnfs:rxtcy /mnt/rep_usergrp1/rep1 A:g:groupuser1@domainnfs:rwaDxtcy A:g:groupuser1@domainnfs:rxtcy A:fdig:g:groupuser1@domainnfs:rwaDxtcy A:fdig:g:groupuser2@domainnfs:rxtcy Les droits sont bien mappé dans la norme ACL NFSv4. Je n'ai donc pas de problème pour modifier le fichier texte, créer un répertoire dans /mnt/rep_usergrp1/rep1 etc... avec "user10" **cas de test 2 :** Depuis le client, avec l'utilisateur "user1" j'effectue une montage NFSv4 dans /mnt. J'obtiens donc /mnt/rep_usergrp1 et /mnt/rep_usergrp2. La commande nfs4_getfacl sur /mnt/rep_usergrp1 et /mnt/rep_usergrp2 permet de constater que les ACL sont bien présentent et correctes même transposées dans la norme ACL NFsv4. Dans le répertoire /mnt/rep_usergrp1 je créé un fichier texte.txt et un répertoire rep1. A la suite de ces deux actions, je lance la commande nfs4_getfacl. nfs4_getfacl /mnt A:g:groupuser1@domainnfs:**rx**tcy A:g:groupuser2@domainnfs:**rx**tcy -->OK Mapping de droit OK nfs4_getfacl /mnt/rep_usergrp1/texte1.txt /mnt/rep_usergrp1/texte1.txt A:g:groupuser1@domainnfs:**r**tcy A:g:groupuser2@domainnfs:rtcy -->KO Mapping de droit KO. Les personnes du groupes groupuser1 n'ont qu'un droit de lecture sur le fichier. Il devrait être rw (rwaDxtcy en mapping ACL NFSv4). L'héritage du répertoire parent ne s'effectue pas correctement. nfs4_getfacl /mnt/rep_usergrp1/rep1 A:g:groupuser1@domainnfs:**rx**tcy A:g:groupuser1@domainnfs:rxtcy A:fdig:g:groupuser1@domainnfs:rwaDxtcy A:fdig:g:groupuser2@domainnfs:rxtcy -->KO Mapping de droit KO. Les personnes du groupe groupuser1 n'ont pas de droit de créer quoi que ce soit dans le répertoire rep1 (rxtcy). Ca devrait être rwaDxtcy. Effectivement par la suite lorsque que j'effectue un montage NFSv3 ou 4 avec l'utilisateur "user10" ce dernier ne possède ni le droit de modifier le fichier texte et pas non plus le droit de créer un répertoire dans /mnt/rep_usergrp1/rep1 **conclusion** Le mapping ACL Posix over NFSv4 n'est pas consistant. Quelqu'un a t-il déjà rencontré cet étonnant phénomène ? S'agit-il d'un bug ou d'une limite de mapping (best effort)? Comment faites-vous pour utiliser des ACL Posix (sur redhat)en couplant des montage NFSv3 et 4 ? Faut-il oublier le NFSv4 en utilisant des ACL Posix ? Merci