Skip to content

'applyto' fails on Rocky 8 with "Invalid argument" since an ACL with named user/group doesn't have a mask ACE #26

@liorsvast

Description

@liorsvast

Issue

According to posix_acl_valid in the Linux kernel, a mask entry is needed if there are any user or group entries.

posix_acl_valid reference

https://github.com/kernelim/linux/blob/linux-4.18.0-553.30.1.el8_10.tar.xz/fs/posix_acl.c#L209

Reproduction

$ uname -r
4.18.0-553.30.1.el8_10.x86_64
$ python3.11
Python 3.11.5 (main, Nov 15 2023, 18:13:17) [GCC 8.5.0 20210514 (Red Hat 8.5.0-20.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import posix1e
>>> text_access_acl = "u::r,g::r,o::r,u:456:r"
>>> access_acl = posix1e.ACL(text=text_access_acl)
>>> access_acl.applyto("/mnt/nfs3_mount/dir1", posix1e.ACL_TYPE_ACCESS)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument: '/mnt/nfs3_mount/dir1'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions