filesystem.setacl ================= Set ACL of a given path. Takes the following parameters: `path` full path to directory or file. `dacl` ACL entries. Formatting depends on the underlying `acltype`. NFS4ACL requires NFSv4 entries. POSIX1e requires POSIX1e entries. `uid` the desired UID of the file user. If set to None (the default), then user is not changed. `user` the desired username for the file user. If set to None, then user is not changed. Note about interaction between `uid` and `user`: One and only one of these parameters should be set, and _only_ if the API consumer wishes to change the owner on the file / directory. `gid` the desired GID of the file group. If set to None (the default), then group is not changed. `group` the desired groupname for the file group. If set to None (the default), then group is not changed. Note about interaction between `gid` and `group`: One and only one of these parameters should be set, and _only_ if the API consumer wishes to change the owner on the file / directory. WARNING: if user, uid, group, or gid is specified in a recursive operation then the owning user, group, or both for _all_ files will be changed. `recursive` apply the ACL recursively `traverse` traverse filestem boundaries (ZFS datasets) `strip` convert ACL to trivial. ACL is trivial if it can be expressed as a file mode without losing any access rules. `canonicalize` reorder ACL entries so that they are in concanical form as described in the Microsoft documentation MS-DTYP 2.4.5 (ACL). This only applies to NFSv4 ACLs. The following notes about ACL entries are necessarily terse. If more detail is requried please consult relevant TrueNAS documentation. Notes about NFSv4 ACL entry fields: `tag` refers to the type of principal to whom the ACL entries applies. USER and GROUP have conventional meanings. `owner@` refers to the owning user of the file, `group@` refers to the owning group of the file, and `everyone@` refers to ALL users (including the owning user and group).. `id` refers to the numeric user id or group id associatiated with USER or GROUP entries. `who` a user or group name may be specified in lieu of numeric ID for USER or GROUP entries `type` may be ALLOW or DENY. Deny entries take precedence over allow when the ACL is evaluated. `perms` permissions allowed or denied by the entry. May be set as a simlified BASIC type or more complex type detailing specific permissions. `flags` inheritance flags determine how this entry will be presented (if at all) on newly-created files or directories within the specified path. Only valid for directories. Notes about posix1e ACL entry fields: `default` the ACL entry is in the posix default ACL (will be copied to new files and directories) created within the directory where it is set. These are _NOT_ evaluated when determining access for the file on which they're set. If default is false then the entry applies to the posix access ACL, which is used to determine access to the directory, but is not inherited on new files / directories. `tag` the type of principal to whom the ACL entry apples. USER and GROUP have conventional meanings USER_OBJ refers to the owning user of the file and is also denoted by "user" in conventional POSIX UGO permissions. GROUP_OBJ refers to the owning group of the file and is denoted by "group" in the same. OTHER refers to POSIX other, which applies to all users and groups who are not USER_OBJ or GROUP_OBJ. MASK sets maximum permissions granted to all USER and GROUP entries. A valid POSIX1 ACL entry contains precisely one USER_OBJ, GROUP_OBJ, OTHER, and MASK entry for the default and access list. `id` refers to the numeric user id or group id associatiated with USER or GROUP entries. `who` a user or group name may be specified in lieu of numeric ID for USER or GROUP entries `perms` - object containing posix permissions. This method is a job. .. raw:: html
FilesystemSetaclArgs parameters.
No Additional PropertiesAbsolute filesystem path to set ACL on.
Must be at least 1 characters long
Array of Access Control Entries to apply to the filesystem object.
Subject type for this ACE.
owner@: File/directory ownergroup@: File/directory primary groupeveryone@: All usersUSER: Specific user accountGROUP: Specific groupAccess control type.
ALLOW: Grant the specified permissionsDENY: Explicitly deny the specified permissionsPermissions granted or denied by this ACE.
Permission to read file data or list directory contents.
Permission to write file data or create files in directory.
Permission to append data to files or create subdirectories.
Permission to read named attributes (extended attributes).
Permission to write named attributes (extended attributes).
Permission to execute files or traverse directories.
Permission to delete the file or directory.
Permission to delete child files within a directory.
Permission to read basic file attributes (size, timestamps, etc.).
Permission to write basic file attributes.
Permission to read the Access Control List.
Permission to modify the Access Control List.
Permission to change the file owner.
Permission to use the file/directory as a synchronization primitive.
Basic permission level for NFS4 ACE.
FULL_CONTROL: Full read, write, execute, and administrative permissionsMODIFY: Read, write, and execute permissionsREAD: Read-only permissionsTRAVERSE: Execute/traverse permissions onlyInheritance and other behavioral flags for this ACE.
Apply this ACE to files within directories.
Apply this ACE to subdirectories within directories.
Do not propagate inheritance beyond immediate children.
This ACE only affects inheritance, not the object itself.
This ACE was inherited from a parent directory.
Basic inheritance behavior for NFS4 ACE.
INHERIT: Apply to child files and directoriesNOINHERIT: Do not apply to child objectsUID or GID when tag is "USER" or "GROUP". null for special entries.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Username or group name when tag is "USER" or "GROUP". null for special entries.
Must be at least 1 characters long
Subject type for this POSIX ACE.
USER_OBJ: File/directory ownerGROUP_OBJ: File/directory primary groupOTHER: All other usersMASK: Maximum permissions for named users and groupsUSER: Specific user accountGROUP: Specific groupRead, write, and execute permissions for this ACE.
No Additional PropertiesPermission to read file contents or list directory contents.
Permission to write file contents or create/delete files in directory.
Permission to execute files or traverse directories.
Whether this is a default ACE that applies to newly created child objects.
Numeric user or group ID when tag is USER or GROUP. null for object entries.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Username or group name when tag is USER or GROUP. null for object entries.
Must be at least 1 characters long
Configuration options for ACL setting behavior.
No Additional PropertiesWhether to remove the ACL entirely and revert to basic POSIX permissions.
Whether to apply ACL changes recursively to all child files and directories.
Whether to traverse filesystem boundaries during recursive operations.
Whether to reorder ACL entries in Windows canonical order.
Whether to validate that the users/groups granted access in the ACL can actually access the path or parent path.
NFS4 ACL flags for inheritance and protection behavior.
No Additional PropertiesWhether inheritance is automatically applied from parent directories.
Whether the ACL is protected from inheritance modifications.
Whether this ACL was created by default rules rather than explicit configuration.
Numeric user ID to set as owner or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Username to set as owner or null to preserve existing.
Numeric group ID to set as group or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Group name to set as group or null to preserve existing.
ACL type to use or null to auto-detect from filesystem capabilities.
ACL information for the requested filesystem path.
Absolute filesystem path this ACL information applies to.
Must be at least 1 characters long
Username of the file/directory owner or null if unresolved.
Must be at least 1 characters long
Group name of the file/directory group or null if unresolved.
Must be at least 1 characters long
Numeric user ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Numeric group ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
ACL type identifier for NFS4 access control lists.
Specific value:"NFS4"
    Array of NFS4 Access Control Entries defining permissions.
No Additional ItemsSubject type for this ACE.
owner@: File/directory ownergroup@: File/directory primary groupeveryone@: All usersUSER: Specific user accountGROUP: Specific groupAccess control type.
ALLOW: Grant the specified permissionsDENY: Explicitly deny the specified permissionsPermissions granted or denied by this ACE.
Permission to read file data or list directory contents.
Permission to write file data or create files in directory.
Permission to append data to files or create subdirectories.
Permission to read named attributes (extended attributes).
Permission to write named attributes (extended attributes).
Permission to execute files or traverse directories.
Permission to delete the file or directory.
Permission to delete child files within a directory.
Permission to read basic file attributes (size, timestamps, etc.).
Permission to write basic file attributes.
Permission to read the Access Control List.
Permission to modify the Access Control List.
Permission to change the file owner.
Permission to use the file/directory as a synchronization primitive.
Basic permission level for NFS4 ACE.
FULL_CONTROL: Full read, write, execute, and administrative permissionsMODIFY: Read, write, and execute permissionsREAD: Read-only permissionsTRAVERSE: Execute/traverse permissions onlyInheritance and other behavioral flags for this ACE.
Apply this ACE to files within directories.
Apply this ACE to subdirectories within directories.
Do not propagate inheritance beyond immediate children.
This ACE only affects inheritance, not the object itself.
This ACE was inherited from a parent directory.
Basic inheritance behavior for NFS4 ACE.
INHERIT: Apply to child files and directoriesNOINHERIT: Do not apply to child objectsUID or GID when tag is "USER" or "GROUP". null for special entries.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Username or group name when tag is "USER" or "GROUP". null for special entries.
Must be at least 1 characters long
NFS4 ACL behavioral flags for inheritance and protection.
No Additional PropertiesWhether inheritance is automatically applied from parent directories.
Whether the ACL is protected from inheritance modifications.
Whether this ACL was created by default rules rather than explicit configuration.
Whether this ACL is a simple/trivial ACL equivalent to POSIX permissions.
Absolute filesystem path this ACL information applies to.
Must be at least 1 characters long
Username of the file/directory owner or null if unresolved.
Must be at least 1 characters long
Group name of the file/directory group or null if unresolved.
Must be at least 1 characters long
Numeric user ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Numeric group ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
ACL type identifier for POSIX.1e access control lists.
Specific value:"POSIX1E"
    Array of POSIX Access Control Entries defining permissions.
No Additional ItemsSubject type for this POSIX ACE.
USER_OBJ: File/directory ownerGROUP_OBJ: File/directory primary groupOTHER: All other usersMASK: Maximum permissions for named users and groupsUSER: Specific user accountGROUP: Specific groupRead, write, and execute permissions for this ACE.
No Additional PropertiesPermission to read file contents or list directory contents.
Permission to write file contents or create/delete files in directory.
Permission to execute files or traverse directories.
Whether this is a default ACE that applies to newly created child objects.
Numeric user or group ID when tag is USER or GROUP. null for object entries.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Username or group name when tag is USER or GROUP. null for object entries.
Must be at least 1 characters long
Whether this ACL is a simple/trivial ACL equivalent to standard POSIX permissions.
Absolute filesystem path this ACL information applies to.
Must be at least 1 characters long
Username of the file/directory owner or null if unresolved.
Must be at least 1 characters long
Group name of the file/directory group or null if unresolved.
Must be at least 1 characters long
Numeric user ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
Numeric group ID for file/directory ownership or null to preserve existing.
Value must be greater or equal to -1 and lesser or equal to 2147483647
ACL type identifier indicating access control lists are disabled.
Specific value:"DISABLED"
    Always null when ACLs are disabled on the filesystem.
Always true when ACLs are disabled - only basic POSIX permissions apply.
true