p Note: it is not considered an error to attempt to add permissions that already exist in the permission set.
p For POSIX.1e ACLs, valid values are: l -column -offset 3n "ACL_WRITE_NAMED_ATTRS" t ACL_EXECUTE Execute permission t ACL_WRITE Write permission t ACL_READ Read permission .El
p For NFSv4 ACLs, valid values are: l -column -offset 3n "ACL_WRITE_NAMED_ATTRS" t ACL_READ_DATA Ta "Read permission" t ACL_LIST_DIRECTORY Ta "Same as ACL_READ_DATA" t ACL_WRITE_DATA Ta "Write permission, or permission to create files" t ACL_ADD_FILE Ta "Same as ACL_READ_DATA" t ACL_APPEND_DATA Ta "Permission to create directories. Ignored for files" t ACL_ADD_SUBDIRECTORY Ta "Same as ACL_APPEND_DATA" t ACL_READ_NAMED_ATTRS Ta "Ignored" t ACL_WRITE_NAMED_ATTRS Ta "Ignored" t ACL_EXECUTE Ta "Execute permission" t ACL_DELETE_CHILD Ta "Permission to delete files and subdirectories" t ACL_READ_ATTRIBUTES Ta "Permission to read basic attributes" t ACL_WRITE_ATTRIBUTES Ta "Permission to change basic attributes" t ACL_DELETE Ta "Permission to delete the object this ACL is placed on" t ACL_READ_ACL Ta "Permission to read ACL" t ACL_WRITE_ACL Ta "Permission to change the ACL and file mode" t ACL_SYNCHRONIZE Ta "Ignored" .El
p Calling .Fn acl_add_perm with .Fa 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. .Sh RETURN VALUES .Rv -std acl_add_perm .Sh ERRORS The .Fn acl_add_perm function fails if: l -tag -width Er t Bq Er EINVAL Argument .Fa permset_d is not a valid descriptor for a permission set within an ACL entry. Argument .Fa perm does not contain a valid .Vt acl_perm_t value. ACL is already branded differently. .El .Sh SEE ALSO .Xr acl 3 , .Xr acl_clear_perms 3 , .Xr acl_delete_perm 3 , .Xr acl_get_brand_np 3 , .Xr acl_get_permset 3 , .Xr acl_set_permset 3 , .Xr posix1e 3 .Sh STANDARDS POSIX.1e is described in IEEE POSIX.1e draft 17. .Sh HISTORY POSIX.1e support was introduced in .Fx 4.0 . The .Fn acl_add_perm function was added in .Fx 5.0 . .Sh AUTHORS The .Fn acl_add_perm function was written by .An Chris D. Faulhaber Aq Mt jedgar (at] fxp.org .