Details

    • Type: New Feature
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Rank (Obsolete):
      9223372036854775807

      Description

      Lustre currently supports POSIX ACL functionality as provided by the Linux kernel VFS, stored in the system.posix_acl_access and system.posix_acl_default xattrs. However, there are userspace tools such as Samba and Ganesha that would prefer to use NFSv4 ACLs since they are more compatible with both NFSv4 (obviously) and NTFS ACLs.

      The NFS kernel client exposes NFSv4 ACLs in the system.nfs4_acl xattr for remote client usage, but the kernel itself does not provide any VFS semantics/permission control related to those xattrs. Samba has an acl_xattr plugin that will map NFSv4 ACLs to a private system.ntacl xattr, but this is not integrated with the filesystem and only provides functionality for SMB/CIFS clients. Samba can alternately utilize the system.nfs4_acl xattrs if available, and the nfs4-acl-tools can manage these ACLs in userspace. ZFS also has a proposed patch to handle the system.nfs4_acl xattr itself (though it will be mapped internally to the native ZFS ACL structure for on-disk storage).

      It seems possible to also allow Lustre to interpret the system.nfsv4_acl on the client and/or MDS to provide consistent access control in a similar manner. This seems preferable to the RichACL patches, which have been abandoned and are no longer planned for upstream kernel merging, per my discussions with the author.

      The USENIX paper POSIX Access Control Lists on Linux provides a good overview of ACLs in general, though it predates RichACLs.

        Attachments

          Activity

            People

            • Assignee:
              wc-triage WC Triage
              Reporter:
              adilger Andreas Dilger
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: