j'ai testé ACL sur des dossiers locaux et je travaille parfaitement.
Mais sur ma piscine zfs appelée "tank"
root @ datacenter:/mnt # ls test du datatank webmin_1.650_all.deb root @ datacenter:/mnt # setfacl -mu: casper: rwx datatank setfacl: datatank: Opération non supporté
Comment puis-je ajouter un support acl pour mon système zfs?
Qu'est-ce qui ne va pas ?
Utilisation
zfs set acltype=posixacl tank/datatank
Je suis assez nouveau sur zfs, mais je viens d’éprouver ce problème moi-même.
ZFS possède 2 propriétés de liste de contrôle d'accès: "aclinherit" & "aclmode" , bien que je ne sois pas en mesure de faire fonctionner aclmode correctement, mais je pense qu'il a été récemment déconseillé.
De plus, ces 2 propriétés ont plusieurs modes.
aclinherit: détermine le comportement de l'héritage des ACL. Les valeurs comprennent les suivantes:
restricted - Pour les nouveaux objets, les autorisations write_owner et write_acl sont supprimées lorsqu'une entrée d'ACL est héritée.
passthrough - Lorsque la valeur de la propriété est définie sur passthrough, les fichiers sont créés avec un mode déterminé par les ACE pouvant être héritées. S'il n'existe aucune entrée de contrôle d'accès pouvant être héritée affectant le mode, le mode est défini conformément au mode demandé par l'application.
passthrough-x - a la même sémantique que passthrough, sauf que lorsque passthrough-x est activé, les fichiers sont créés avec l’autorisation execute (x), mais uniquement si l’autorisation d’exécution est définie en mode de création de fichier et dans une ACE héritable qui affecte la mode.
aclmode: (encore une fois, je n'ai pas pu obtenir celle-ci pour ma version, alors méfiez-vous!) modifie le comportement de la liste de contrôle d'accès lorsqu'un fichier est initialement créé ou chaque fois que le mode d’un fichier ou d’un répertoire est modifié par la commande chmod. Les valeurs comprennent les suivantes:
discard - Toutes les entrées de la liste de contrôle d'accès sont supprimées à l'exception des entrées nécessaires pour définir le mode du fichier ou du répertoire.
groupmask - Les autorisations ACL d'utilisateur ou de groupe sont réduites afin qu'elles ne soient pas supérieures aux bits d'autorisation de groupe, sauf s'il s'agit d'une entrée d'utilisateur ayant le même UID que le propriétaire du fichier ou du répertoire. Ensuite, les autorisations ACL sont réduites afin qu'elles ne soient pas supérieures aux bits d'autorisation du propriétaire.
passthrough - Pendant une opération chmod, les entrées de contrôle d'accès autres que propriétaire @, groupe @ ou tout le monde @ ne sont modifiées d'aucune façon. Les ACE avec le propriétaire @, le groupe @ ou tout le monde @ sont désactivés pour définir le mode de fichier comme demandé par l'opération chmod.
Par exemple, vous définiriez acl pour "tank/datatank" (pas votre point de montage, mais le pool réel) de cette façon:
zfs set "ACL-PROPERTY"="ACL-MODE" tank/datatank
plus précisement
zfs set aclinherit=passthrough tank/datatank
Sources:
http://docs.Oracle.com/cd/E19120-01/open.solaris/817-2271/gbaaz/index.html