ACL Entry Descriptions
Use the following sample entry as a reference to understand the elements that comprise an ACL entry. These elements apply to both trivial and non-trivial ACLs.
0:user:jan:read_data/write_data:file_inherit:allow
- Index
-
A number at the beginning of the entry, such as the number zero (
0
) in the example. The index identifies a specific entry and distinguishes the entry from others in the ACL. - ACL entry type
-
The user category. In trivial ACLs, only entries for
owner@
,group@
, andeveryone@
are set. In non-trivial ACLs,user
:username andgroup
:groupname are added. In the example, the entry type isuser:jan
. - Access privileges
-
Permissions that are granted or denied to the entry type. In the example, user Jan's permissions are
read_data
andwrite_data
. - Inheritance flags
-
An optional list of ACL flags that control how permissions are propagated in a directory structure, including flags that audit access to files and directories. In the sample entry,
file_inherit
is also granted to user Jan. - Audit flag
-
An optional flag that enables you to audit access and changes that are being made to a file.
- Permission control
-
Determines whether the permissions in an entry are allowed or denied. In the example, the permissions for Jan are allowed.
The following table describes each ACL entry type.
Table 2-1 ACL Entry Types
ACL Entry Type | Format | Description |
---|---|---|
|
Trivial |
Specifies the access granted to the owner of the object. |
|
Trivial |
Specifies the access granted to the owning group of the object. |
|
Trivial |
Specifies the access granted to any user or group that does not match any other ACL entry. |
|
Non-trivial |
With a user name, specifies the access granted to an additional user of the object. Must include the |
|
Non-trivial |
With a group name, specifies the access granted to an additional group of the object. Must include the ACL entry ID, which contains a group name or group ID. If the value is not a valid numeric GID or group name, the ACL entry type is invalid. |
The following table describes ACL access privileges.
Table 2-2 ACL Access Privileges
Access Privilege | Compact Access Privilege | Description |
---|---|---|
|
|
Permission to add a new file to a directory. |
|
|
On a directory, permission to create a subdirectory. |
|
|
On a file, permission to modify from the end of the file (EOF). |
|
|
Permission to delete a file. For more information about specific |
|
|
Permission to delete a file or directory within a directory. For more information about specific |
|
|
Permission to execute a file or search the contents of a directory. |
|
|
Permission to list the contents of a directory. |
|
|
Permission to read the ACL ( |
|
|
Permission to read basic attributes (non-ACLs) of a file, which are equivalent to stat level attributes. Allowing this access mask bit means the entity can execute |
|
|
Permission to read the contents of the file. |
|
|
Permission to read the extended attributes of a file or perform a lookup in the file's extended attributes directory. |
|
|
Permission to access a file locally at the ZFS server with synchronized read and write operations. |
|
|
Permission to create extended attributes or write to the extended attributes directory. Granting this permission to a user means that the user can create an extended attribute directory for a file. The attribute file's permissions control the user's access to the attribute. |
|
|
Permission to modify or replace the contents of a file. |
|
|
Permission to change the times associated with a file or directory to an arbitrary value. |
|
|
Permission to write the ACL or the ability to modify the ACL by using the |
|
|
Permission to change the file's owner or group. Or, the ability to execute the Permission to take ownership of a file or permission to change the group ownership of the file to a group of which the user is a member. If you want to change the file or group ownership to an arbitrary user or group, then the |
The following table provides additional details about ACL delete
and delete_child
behavior.
Table 2-3 ACL delete
and delete_child
Permission Behavior
Parent Directory Permissions | Target Object Permissions | ||
---|---|---|---|
" " (empty) |
ACL allows delete |
ACL denies delete |
Delete permission unspecified |
ACL allows |
Permit |
Permit |
Permit |
ACL denies |
Permit |
Deny |
Deny |
ACL allows only |
Permit |
Permit |
Permit |
ACL denies |
Permit |
Deny |
Deny |