Main index | Section 3 | Options |
#include <sys/types.h>
#include <sys/acl.h>
Note: it is not considered an error to attempt to add permissions that already exist in the permission set.
For POSIX.1e ACLs, valid values are:
ACL_EXECUTE | Execute permission |
ACL_WRITE | Write permission |
ACL_READ | Read permission |
For NFSv4 ACLs, valid values are:
ACL_READ_DATA | Read permission |
ACL_LIST_DIRECTORY | Same as ACL_READ_DATA |
ACL_WRITE_DATA | Write permission, or permission to create files |
ACL_ADD_FILE | Same as ACL_READ_DATA |
ACL_APPEND_DATA | Permission to create directories. Ignored for files |
ACL_ADD_SUBDIRECTORY | Same as ACL_APPEND_DATA |
ACL_READ_NAMED_ATTRS | Ignored |
ACL_WRITE_NAMED_ATTRS | Ignored |
ACL_EXECUTE | Execute permission |
ACL_DELETE_CHILD | Permission to delete files and subdirectories |
ACL_READ_ATTRIBUTES | Permission to read basic attributes |
ACL_WRITE_ATTRIBUTES | Permission to change basic attributes |
ACL_DELETE | Permission to delete the object this ACL is placed on |
ACL_READ_ACL | Permission to read ACL |
ACL_WRITE_ACL | Permission to change the ACL and file mode |
ACL_SYNCHRONIZE | Ignored |
Calling acl_add_perm() with perm equal to ACL_WRITE or ACL_READ brands the ACL as POSIX. Calling it with ACL_READ_DATA, ACL_LIST_DIRECTORY, ACL_WRITE_DATA, ACL_ADD_FILE, ACL_APPEND_DATA, ACL_ADD_SUBDIRECTORY, ACL_READ_NAMED_ATTRS, ACL_WRITE_NAMED_ATTRS, ACL_DELETE_CHILD, ACL_READ_ATTRIBUTES, ACL_WRITE_ATTRIBUTES, ACL_DELETE, ACL_READ_ACL, ACL_WRITE_ACL or ACL_SYNCHRONIZE brands the ACL as NFSv4.
[EINVAL] | |
Argument permset_d is not a valid descriptor for a permission set within an ACL entry. Argument perm does not contain a valid acl_perm_t value. ACL is already branded differently. | |
ACL_ADD_PERM (3) | June 25, 2009 |
Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | Like a classics radio station whose play list spans decades, Unix simultaneously exhibits its mixed and dated heritage. There's Clash-era graphics interfaces; Beatles-era two-letter command names; and systems programs (for example, ps) whose terse and obscure output was designed for slow teletypes; Bing Crosby-era command editing (# and @ are still the default line editing commands), and Scott Joplin-era core dumps. | ” |
— The Unix Haters' handbook |