# smb.update

Update SMB Service Configuration.

netbiosname defaults to the original hostname of the system.

netbiosalias a list of netbios aliases. If Server is joined to an AD domain, additional Kerberos Service Principal Names will be generated for these aliases.

workgroup specifies the NetBIOS workgroup to which the TrueNAS server belongs. This will be automatically set to the correct value during the process of joining an AD domain. NOTE: workgroup and netbiosname should have different values.

enable_smb1 allows legacy SMB clients to connect to the server when enabled.

aapl_extensions enables support for SMB2 protocol extensions for MacOS clients. This is not a requirement for MacOS support, but is currently a requirement for time machine support.

localmaster when set, determines if the system participates in a browser election.

guest attribute is specified to select the account to be used for guest access. It defaults to “nobody”.

The group specified as the SMB admin_group will be automatically added as a foreign group member of S-1-5-32-544 (builtinadmins). This will afford the group all privileges granted to a local admin. Any SMB group may be selected (including AD groups).

ntlmv1_auth enables a legacy and insecure authentication method, which may be required for legacy or poorly-implemented SMB clients.

encryption set global server behavior with regard to SMB encrpytion. Options are DEFAULT (which follows the upstream defaults – currently identical to NEGOTIATE), NEGOTIATE encrypts SMB transport only if requested by the SMB client, DESIRED encrypts SMB transport if supported by the SMB client, REQUIRED only allows encrypted transport to the SMB server. Mandatory SMB encryption is not compatible with SMB1 server support in TrueNAS.

smb_options smb.conf parameters that are not covered by the above supported configuration options may be added as an smb_option. Not all options are tested or supported, and behavior of smb_options may change between releases. Stability of smb.conf options is not guaranteed.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: smb_update

#### smb_update

Type: object

SMBUpdateArgs parameters.

No Additional Properties

##

#### Netbiosname

Type: string

The NetBIOS name of this server.

##

#### Netbiosalias

Type: array of string

Alternative netbios names of the TrueNAS server. These names are announced through NetBIOS name server and registered in Active Directory when TrueNAS joins the domain.

No Additional Items

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

Type: string

##

#### Workgroup

Type: string

Workgroup name. When TrueNAS joins active directory, it automatically changes this value to match the NetBIOS domain of the Active Directory domain.

##

#### Description

Type: string

Description of the SMB server. SMB clients may see this description during some operations.

##

#### Enable Smb1

Type: boolean

Enable SMB1 support on the server. WARNING: using the SMB1 protocol is not recommended.

##

#### Unixcharset

Type: enum (of string)

Select character set for file names on local filesystem. Use this option only if you know the names are not UTF-8.

##### Must be one of:

- "UTF-8"
- "GB2312"
- "HZ-GB-2312"
- "CP1361"
- "BIG5"
- "BIG5HKSCS"
- "CP037"
- "CP273"
- "CP424"
- "CP437"
- "CP500"
- "CP775"
- "CP850"
- "CP852"
- "CP855"
- "CP857"
- "CP858"
- "CP860"
- "CP861"
- "CP862"
- "CP863"
- "CP864"
- "CP865"
- "CP866"
- "CP869"
- "CP932"
- "CP949"
- "CP950"
- "CP1026"
- "CP1125"
- "CP1140"
- "CP1250"
- "CP1251"
- "CP1252"
- "CP1253"
- "CP1254"
- "CP1255"
- "CP1256"
- "CP1257"
- "CP1258"
- "EUC_JIS_2004"
- "EUC_JISX0213"
- "EUC_JP"
- "EUC_KR"
- "GB18030"
- "GBK"
- "HZ"
- "ISO2022_JP"
- "ISO2022_JP_1"
- "ISO2022_JP_2"
- "ISO2022_JP_2004"
- "ISO2022_JP_3"
- "ISO2022_JP_EXT"
- "ISO2022_KR"
- "ISO8859_1"
- "ISO8859_2"
- "ISO8859_3"
- "ISO8859_4"
- "ISO8859_5"
- "ISO8859_6"
- "ISO8859_7"
- "ISO8859_8"
- "ISO8859_9"
- "ISO8859_10"
- "ISO8859_11"
- "ISO8859_13"
- "ISO8859_14"
- "ISO8859_15"
- "ISO8859_16"
- "JOHAB"
- "KOI8_R"
- "KZ1048"
- "LATIN_1"
- "MAC_CYRILLIC"
- "MAC_GREEK"
- "MAC_ICELAND"
- "MAC_LATIN2"
- "MAC_ROMAN"
- "MAC_TURKISH"
- "PTCP154"
- "SHIFT_JIS"
- "SHIFT_JIS_2004"
- "SHIFT_JISX0213"
- "TIS_620"
- "UTF_16"
- "UTF_16_BE"
- "UTF_16_LE"

##

#### Localmaster

Type: boolean

When set to `true` the NetBIOS name server in TrueNAS participates in elections for the local master browser.
When set to `false` the NetBIOS name server does not attempt to become a local master browser on a subnet and loses all browsing elections.

NOTE: This parameter has no effect if the NetBIOS name server is disabled.

##

#### Syslog

Type: boolean

Send log messages to syslog. Enable this option if you want SMB server error logs to be included in information sent to a remote syslog server. NOTE: This requires that remote syslog is globally configured on TrueNAS.

##

#### Aapl Extensions

Type: boolean

Enable support for SMB2/3 AAPL protocol extensions. This setting makes the TrueNAS server advertise support for Apple protocol extensions as a MacOS server. Enabling this is required for Time Machine support.

##

#### Search Protocols

Type: array of string

List of enabled search protocols for the SMB server. Currently the only support search protocol is SPOTLIGHT for MacOS clients. When SPOTLIGHT search protocol support is enabled, MacOS clients can send spotlight protocol requests to the TrueNAS samba server and receive results from indexed paths.

No Additional Items

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

Type: const
Specific value: `"SPOTLIGHT"`

##

#### Admin Group

The selected group has full administrator privileges on TrueNAS via the SMB protocol.

## Any of

Type: string
Type: null

##

#### Guest

Type: string

SMB guest account username. This username provides access to legacy SMB shares with guest access enabled. It must be a valid, existing local user account.

Must be at least `1` characters long

##

#### Filemask

`smb.conf` create mask. DEFAULT applies current server default which is 664.

## Any of

Type: string
Type: const
Specific value: `"DEFAULT"`

##

#### Dirmask

`smb.conf` directory mask. DEFAULT applies current server default which is 775.

## Any of

Type: string
Type: const
Specific value: `"DEFAULT"`

##

#### Ntlmv1 Auth

Type: boolean

Enable legacy and very insecure NTLMv1 authentication. This should never be done except in extreme edge cases and may be against regulations in non-home environments.

##

#### Multichannel

Type: boolean

Enable SMB3 multi-channel support.

##

#### Encryption

Type: enum (of string)

SMB2/3 transport encryption setting for the TrueNAS SMB server.

- `NEGOTIATE`: Enable negotiation of data encryption. Encrypt data only if the client explicitly requests it.
- `DESIRED`: Enable negotiation of data encryption. Encrypt data on sessions and share connections for clients that support it.
- `REQUIRED`: Require data encryption for sessions and share connections.
  NOTE: Clients that do not support encryption cannot access SMB shares.
- `DEFAULT`: Use the TrueNAS SMB server default encryption settings. Currently, this is the same as `NEGOTIATE`.

##### Must be one of:

- "DEFAULT"
- "NEGOTIATE"
- "DESIRED"
- "REQUIRED"

##

#### Bindip

Type: array of string

List of IP addresses used by the TrueNAS SMB server.

No Additional Items

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

Type: string Format: ipvanyinterface

##

#### Server Sid

The unique identifier for the TrueNAS SMB server. It also serves as the domain SID for all local SMB user and group accounts.

## Any of

Type: string
Type: null

##

#### Smb Options

Type: string

Additional unvalidated and unsupported configuration options for the SMB server.
WARNING: Using `smb_options` may produce unexpected server behavior.

##

#### Debug

Type: boolean

Set SMB log levels to debug. Use this setting only when troubleshooting a specific SMB issue. Do not use it in production environments.

##

#### SMBEntry

Type: object

The updated SMB service configuration.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the SMB service configuration.

##

#### Netbiosname

Type: string

The NetBIOS name of this server.

##

#### Netbiosalias

Type: array of string

Alternative netbios names of the TrueNAS server. These names are announced through NetBIOS name server and registered in Active Directory when TrueNAS joins the domain.

No Additional Items

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

Type: string

##

#### Workgroup

Type: string

Workgroup name. When TrueNAS joins active directory, it automatically changes this value to match the NetBIOS domain of the Active Directory domain.

##

#### Description

Type: string

Description of the SMB server. SMB clients may see this description during some operations.

##

#### Enable Smb1

Type: boolean

Enable SMB1 support on the server. WARNING: using the SMB1 protocol is not recommended.

##

#### Unixcharset

Type: enum (of string)

Select character set for file names on local filesystem. Use this option only if you know the names are not UTF-8.

##### Must be one of:

- "UTF-8"
- "GB2312"
- "HZ-GB-2312"
- "CP1361"
- "BIG5"
- "BIG5HKSCS"
- "CP037"
- "CP273"
- "CP424"
- "CP437"
- "CP500"
- "CP775"
- "CP850"
- "CP852"
- "CP855"
- "CP857"
- "CP858"
- "CP860"
- "CP861"
- "CP862"
- "CP863"
- "CP864"
- "CP865"
- "CP866"
- "CP869"
- "CP932"
- "CP949"
- "CP950"
- "CP1026"
- "CP1125"
- "CP1140"
- "CP1250"
- "CP1251"
- "CP1252"
- "CP1253"
- "CP1254"
- "CP1255"
- "CP1256"
- "CP1257"
- "CP1258"
- "EUC_JIS_2004"
- "EUC_JISX0213"
- "EUC_JP"
- "EUC_KR"
- "GB18030"
- "GBK"
- "HZ"
- "ISO2022_JP"
- "ISO2022_JP_1"
- "ISO2022_JP_2"
- "ISO2022_JP_2004"
- "ISO2022_JP_3"
- "ISO2022_JP_EXT"
- "ISO2022_KR"
- "ISO8859_1"
- "ISO8859_2"
- "ISO8859_3"
- "ISO8859_4"
- "ISO8859_5"
- "ISO8859_6"
- "ISO8859_7"
- "ISO8859_8"
- "ISO8859_9"
- "ISO8859_10"
- "ISO8859_11"
- "ISO8859_13"
- "ISO8859_14"
- "ISO8859_15"
- "ISO8859_16"
- "JOHAB"
- "KOI8_R"
- "KZ1048"
- "LATIN_1"
- "MAC_CYRILLIC"
- "MAC_GREEK"
- "MAC_ICELAND"
- "MAC_LATIN2"
- "MAC_ROMAN"
- "MAC_TURKISH"
- "PTCP154"
- "SHIFT_JIS"
- "SHIFT_JIS_2004"
- "SHIFT_JISX0213"
- "TIS_620"
- "UTF_16"
- "UTF_16_BE"
- "UTF_16_LE"

##

#### Localmaster

Type: boolean

When set to `true` the NetBIOS name server in TrueNAS participates in elections for the local master browser.
When set to `false` the NetBIOS name server does not attempt to become a local master browser on a subnet and loses all browsing elections.

NOTE: This parameter has no effect if the NetBIOS name server is disabled.

##

#### Syslog

Type: boolean

Send log messages to syslog. Enable this option if you want SMB server error logs to be included in information sent to a remote syslog server. NOTE: This requires that remote syslog is globally configured on TrueNAS.

##

#### Aapl Extensions

Type: boolean

Enable support for SMB2/3 AAPL protocol extensions. This setting makes the TrueNAS server advertise support for Apple protocol extensions as a MacOS server. Enabling this is required for Time Machine support.

##

#### Search Protocols

Type: array of string Default: []

List of enabled search protocols for the SMB server. Currently the only support search protocol is SPOTLIGHT for MacOS clients. When SPOTLIGHT search protocol support is enabled, MacOS clients can send spotlight protocol requests to the TrueNAS samba server and receive results from indexed paths.

No Additional Items

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

Type: const
Specific value: `"SPOTLIGHT"`

##

#### Admin Group

The selected group has full administrator privileges on TrueNAS via the SMB protocol.

## Any of

Type: string
Type: null

##

#### Guest

Type: string

SMB guest account username. This username provides access to legacy SMB shares with guest access enabled. It must be a valid, existing local user account.

Must be at least `1` characters long

##

#### Filemask

`smb.conf` create mask. DEFAULT applies current server default which is 664.

## Any of

Type: string
Type: const
Specific value: `"DEFAULT"`

##

#### Dirmask

`smb.conf` directory mask. DEFAULT applies current server default which is 775.

## Any of

Type: string
Type: const
Specific value: `"DEFAULT"`

##

#### Ntlmv1 Auth

Type: boolean

Enable legacy and very insecure NTLMv1 authentication. This should never be done except in extreme edge cases and may be against regulations in non-home environments.

##

#### Multichannel

Type: boolean

Enable SMB3 multi-channel support.

##

#### Encryption

Type: enum (of string)

SMB2/3 transport encryption setting for the TrueNAS SMB server.

- `NEGOTIATE`: Enable negotiation of data encryption. Encrypt data only if the client explicitly requests it.
- `DESIRED`: Enable negotiation of data encryption. Encrypt data on sessions and share connections for clients that support it.
- `REQUIRED`: Require data encryption for sessions and share connections.
  NOTE: Clients that do not support encryption cannot access SMB shares.
- `DEFAULT`: Use the TrueNAS SMB server default encryption settings. Currently, this is the same as `NEGOTIATE`.

##### Must be one of:

- "DEFAULT"
- "NEGOTIATE"
- "DESIRED"
- "REQUIRED"

##

#### Bindip

Type: array of string

List of IP addresses used by the TrueNAS SMB server.

No Additional Items

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

Type: string Format: ipvanyinterface

##

#### Server Sid

The unique identifier for the TrueNAS SMB server. It also serves as the domain SID for all local SMB user and group accounts.

## Any of

Type: string
Type: null

##

#### Smb Options

Type: string

Additional unvalidated and unsupported configuration options for the SMB server.
WARNING: Using `smb_options` may produce unexpected server behavior.

##

#### Debug

Type: boolean

Set SMB log levels to debug. Use this setting only when troubleshooting a specific SMB issue. Do not use it in production environments.

Required roles: SHARING_SMB_WRITE