# filesystem.setperm

Set Unix permissions on the given `path`.

If `mode` is specified then the mode is applied to the path, and to files and subdirectories depending on which `options` are selected.

This method will fail if an extended ACL is present on `path` unless `stripacl` is set. If no `mode` is set and `stripacl` is `true`, then non-trivial ACLs are converted to trivial ACLs. An ACL is trivial if it can be expressed as a file mode without losing any access rules.

Important

`uid`, `gid`, `user`, and `group` should remain unset unless the administrator wishes to change the owner or group of files.

This method is a job.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: filesystem_setperm

#### filesystem_setperm

Type: object

FilesystemSetpermArgs parameters.

No Additional Properties

##

#### Path

Type: string

Filesystem path to modify.

Must be at least `1` characters long

##

#### Uid

Default: null

Numeric user ID to set as owner. `null` to leave unchanged.

## Any of

Type: integer

Value must be greater or equal to `-1` and lesser or equal to `2147483647`

Type: null

##

#### User

Default: null

Username to set as owner. `null` to leave unchanged.

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Gid

Default: null

Numeric group ID to set as group owner. `null` to leave unchanged.

## Any of

Type: integer

Value must be greater or equal to `-1` and lesser or equal to `2147483647`

Type: null

##

#### Group

Default: null

Group name to set as group owner. `null` to leave unchanged.

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Mode

Default: null

Unix permissions to set (octal format). `null` to leave unchanged.

## Any of

Type: string
Type: null

##

#### FilesystemSetpermOptions

Type: object
Default:
{ "recursive": false, "traverse": false, "stripacl": false }

Additional options for the permission change operation.

No Additional Properties

##

#### Recursive

Type: boolean Default: false

Whether to apply the operation recursively to subdirectories.

##

#### Traverse

Type: boolean Default: false

If set do not limit to single dataset / filesystem.

##

#### Stripacl

Type: boolean Default: false

Whether to remove existing Access Control Lists when setting permissions.

##

#### Result

Type: null

Returns `null` when the permission change is successfully completed.

Required roles: FILESYSTEM_ATTRS_WRITE