# user.update

Update attributes of an existing user.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: id

#### id

Type: integer

##### Parameter 2: user_update

#### user_update

Type: object
No Additional Properties

##

#### Username

Type: string

String used to uniquely identify the user on the server. In order to be portable across
systems, local user names must be composed of characters from the POSIX portable filename
character set (IEEE Std 1003.1-2024 section 3.265). This means alphanumeric characters,
hyphens, underscores, and periods. Usernames also may not begin with a hyphen or a period.

##

#### Home

Type: string

Must be at least `1` characters long

##

#### Shell

Type: string

Available choices can be retrieved with `user.shell_choices`.

Must be at least `1` characters long

##

#### Full Name

Type: string

Must be at least `1` characters long

##

#### Smb

Type: boolean

##

#### Userns Idmap

Species the subuid mapping for this user. If DIRECT then the UID will be
directly mapped to all containers. Alternatively, the target UID may be
explicitly specified. If None, then the UID will not be mapped.

NOTE: this field will be ignored for users that have been assigned
TrueNAS roles.

## Any of

Type: const
Specific value: `"DIRECT"`
Type: integer

Value must be greater or equal to `1` and lesser or equal to `4294967294`

Type: null

##

#### Group

Required if `group_create` is `false`.

## Any of

Type: integer
Type: null

##

#### Groups

Type: array of integer

Specifies whether the user should be allowed access to SMB shares. User will also automatically be added to
the `builtin_users` group.

No Additional Items

##### Each item of this array must be:

Type: integer

##

#### Password Disabled

Type: boolean

##

#### Ssh Password Enabled

Type: boolean

Required if `password_disabled` is false.

##

#### Sshpubkey

## Any of

Type: string
Type: null

##

#### Locked

Type: boolean

##

#### Sudo Commands

Type: array of string
No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Sudo Commands Nopasswd

Type: array of string
No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Email

## Any of

Type: string Format: email
Type: null

##

#### Home Create

Type: boolean

##

#### Home Mode

Type: string

##

#### Password

## Any of

Type: string
Type: null

##

#### Random Password

Type: boolean

Generate a random 20 character password for the user

##

#### UserCreateUpdateResult

Type: object
No Additional Properties

##

#### Id

Type: integer

##

#### Uid

Type: integer

##

#### Username

## Any of

Type: string
Type: string

Must be at least `1` characters long

##

#### Unixhash

## Any of

Type: string
Type: null

##

#### Smbhash

## Any of

Type: string
Type: null

##

#### Home

Type: string Default: "/var/empty"

Must be at least `1` characters long

##

#### Shell

Type: string Default: "/usr/bin/zsh"

Available choices can be retrieved with `user.shell_choices`.

Must be at least `1` characters long

##

#### Full Name

Type: string

##

#### Builtin

Type: boolean

##

#### Smb

Type: boolean Default: true

##

#### Userns Idmap

Default: null

Species the subuid mapping for this user. If DIRECT then the UID will be
directly mapped to all containers. Alternatively, the target UID may be
explicitly specified. If None, then the UID will not be mapped.

NOTE: this field will be ignored for users that have been assigned
TrueNAS roles.

## Any of

Type: const
Specific value: `"DIRECT"`
Type: integer

Value must be greater or equal to `1` and lesser or equal to `4294967294`

Type: null

##

#### Group

Type: object

##

#### Groups

Type: array of integer

Specifies whether the user should be allowed access to SMB shares. User will also automatically be added to
the `builtin_users` group.

No Additional Items

##### Each item of this array must be:

Type: integer

##

#### Password Disabled

Type: boolean Default: false

##

#### Ssh Password Enabled

Type: boolean Default: false

Required if `password_disabled` is false.

##

#### Sshpubkey

Default: null

## Any of

Type: string
Type: null

##

#### Locked

Type: boolean Default: false

##

#### Sudo Commands

Type: array of string
No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Sudo Commands Nopasswd

Type: array of string
No Additional Items

##### Each item of this array must be:

Type: string

Must be at least `1` characters long

##

#### Email

Default: null

## Any of

Type: string Format: email
Type: null

##

#### Id Type Both

Type: boolean

##

#### Local

Type: boolean

##

#### Immutable

Type: boolean

##

#### Twofactor Auth Configured

Type: boolean

##

#### Sid

## Any of

Type: string
Type: null

##

#### Last Password Change

The date of the last password change for local user accounts.

## Any of

Type: string Format: date-time
Type: null

##

#### Password Age

The age in days of the password for local user accounts.

## Any of

Type: integer
Type: null

##

#### Password History

This contains hashes of the ten most recent passwords used by local user accounts, and is
for enforcing password history requirements as defined in system.security.

## Any of

Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Type: null

##

#### Password Change Required

Type: boolean

Password change for local user account is required on next login.

##

#### Roles

Type: array of string
No Additional Items

##### Each item of this array must be:

Type: string

##

#### Api Keys

Type: array of integer
No Additional Items

##### Each item of this array must be:

Type: integer

##

#### Password

Password if it was specified in create or update payload. If random_password
was specified then this will be a 20 character random string.

## Any of

Type: string

Must be at least `1` characters long

Type: null

Required roles: ACCOUNT_WRITE