ACL Formats
ACLs have two basic formats:
-
Trivial ACL – Contains only entries for traditional UNIX user categories that are represented as
owner@
,group@
, andeveryone@
.For a newly created file, the default ACL has the following entries:
0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
For a newly created directory, the default ACL has the following entries:
0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/delete_child /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
-
Non-Trivial ACL – Contains entries for added user categories. The entries might also include inheritance flags, or are ordered in a non-traditional way.
A non-trivial entry might look like the following example, where permissions are specifically granted to user Jan.
0:user:jan:read_data/write_data:file_inherit:allow