samba-tool — Main Samba administration tool.
samba-tool [-h] [-W myworkgroup] [-U user] [-d debuglevel] [--v]
Samba-tool consists of many sub-commands, each of which have their own set of options. The options listed in this section are common across several sub-commands.
Show a help message and exit.
Set the realm for the domain.
Note that specifying this parameter here will override
the realm parameter in the
${prefix}/etc/smb.conf file.
DN to use for a simple bind.
Specify the password on the commandline.
Be cautious about including passwords in
scripts or passing user-supplied values onto
the command line. For security it is better to
let the Samba client tool ask for the password
if needed, or obtain the password once with
kinit.
If --password is not specified,
the tool will check the PASSWD
environment variable, followed by PASSWD_FD
which is expected to contain an open
file descriptor (FD) number.
Finally it will check PASSWD_FILE (containing
a file path to be opened). The file should only
contain the password. Make certain that the
permissions on the file restrict
access from unwanted users!
While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.
Sets the SMB username or username and password.
If %PASSWORD is not specified, the user will be
prompted. The client will first check the
USER environment variable
(which is also permitted to also contain the
password separated by a %), then the
LOGNAME variable (which is not
permitted to contain a password) and if either exists,
the value is used. If these environmental
variables are not found, the username
found in a Kerberos Credentials cache may be used.
A third option is to use a credentials file which
contains the plaintext of the username and password.
This option is mainly provided for scripts where the
admin does not wish to pass the credentials on the
command line or via environment variables. If this
method is used, make certain that the permissions on
the file restrict access from unwanted users. See the
-A for more details.
Be cautious about including passwords in scripts
or passing user-supplied values onto the command line. For
security it is better to let the Samba client tool ask for the
password if needed, or obtain the password once with kinit.
While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.
Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).
Note that specifying this parameter here will override
the workgroup parameter in the
${prefix}/etc/smb.conf file.
If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.
Unless a password is specified on the command line or this parameter is specified, the client will request a password.
If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.
This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you should use DNS names instead of IP addresses when connecting to a service. By default Samba client tools will try to use the default Kerberos credential cache (ccache). In case the ccache does not exist or -U|--user option was specified, clients will ask to enter a password and will obtain a Kerberos ticket (kinit) for you. If you want to use an alternative Kerberos credentical cache, use the --use-krb5-ccache option.
Note that specifying this parameter here will override
the client use kerberos
parameter in the ${prefix}/etc/smb.conf file.
Specifies the credential cache location for Kerberos authentication.
This will enforce --use-kerberos=required.
This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:
username = <value> password = <value> domain = <value>
Make certain that the permissions on the file restrict access from unwanted users!
LDB URL for database or target server.
The URL can either be a plain file path, or use one of the schemes listed here. If a plain path is used, it is treated as if 'tdb://' was used.
PATH is the location of a TDB database.
PATH is the location of an LMDB database.
PATH is the location of an LDB database, in either LMDB or TDB format. The formats will be tried one after another until one succeeds or all fail. It is safe to use this if you don't know the format of the file.
The LDB backend is the named ldap server. ldaps:// wraps the connection in TLS.
The backend server is a local ldap server using a unix domain socket.
use colour if available (default: auto)
IP address of the server
Use this smb.conf configuration file.
Indicate whether samba-tool should use ANSI colour codes in its output. If 'auto' (the default), samba-tool will use colour when its output is directed toward a terminal, unless the NO_COLOR environment variable is set and non-empty.
The values 'yes' and 'force' are accepted as synonyms for 'always'; 'no' and 'none' for 'never'; and 'tty' and 'if-tty' for 'auto'.
Note that asking for colour doesn't mean samba-tool will necessarily be very colourful. Many commands are very monochrome, particularly when successful.
Display the version number and exit.
level is an integer from 0
to 10. The default value if this parameter is not
specified is 1 for client applications.
The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.
Note that specifying this parameter here will override
the log level parameter in the
${prefix}/etc/smb.conf file.
This will redirect debug output to STDOUT. By default all clients are logging to STDERR.
computername [options]Add a new computer to the Active Directory Domain.
The new computer name specified on the command is the sAMAccountName, with or without the trailing dollar sign.
DN of alternative location (with or without domainDN counterpart) to default CN=Computers in which new computer object will be created. E.g. 'OU=OUname'.
The new computer's description.
IPv4 address for the computer's A record, or IPv6 address for AAAA record, can be provided multiple times.
Computer's Service Principal Name, can be provided multiple times.
Prepare enabled machine account for oldjoin mechanism.
computername [options]Add a new computer. This is a synonym for the
samba-tool computer add command and is available
for compatibility reasons only. Please use
samba-tool computer add instead.
computername [options]Delete an existing computer account.
The computer name specified on the command is the sAMAccountName, with or without the trailing dollar sign.
computernameEdit a computer AD object.
The computer name specified on the command is the sAMAccountName, with or without the trailing dollar sign.
Specifies the editor to use instead of the system default, or 'vi' if no system default is set.
computername new_parent_dn [options]This command moves a computer account into the specified organizational unit or container.
The computername specified on the command is the sAMAccountName, with or without the trailing dollar sign.
The name of the organizational unit or container can be specified as a full DN or without the domainDN component.
computername [options]Display a computer AD object.
The computer name specified on the command is the sAMAccountName, with or without the trailing dollar sign.
Comma separated list of attributes, which will be printed.
contactname] [options]Add a new contact to the Active Directory Domain.
The name of the new contact can be specified by the first argument 'contactname' or the --given-name, --initial and --surname arguments. If no 'contactname' is given, contact's name will be made up of the given arguments by combining the given-name, initials and surname. Each argument is optional. A dot ('.') will be appended to the initials automatically.
DN of alternative location (with or without domainDN counterpart) in which the new contact will be created. E.g. 'OU=OUname'. Default is the domain base.
The new contact's description.
Contact's surname.
Contact's given name.
Contact's initials.
Contact's display name.
Contact's job title.
Contact's department.
Contact's company.
Contact's email address.
Contact's home page.
Contact's phone number.
Contact's mobile phone number.
Contact's office location.
contactname] [options]Add a new contact. This is a synonym for the
samba-tool contact add command and is available
for compatibility reasons only. Please use
samba-tool contact add instead.
contactname [options]Delete an existing contact.
The contactname specified on the command is the common name or the distinguished name of the contact object. The distinguished name of the contact can be specified with or without the domainDN component.
contactnameModify a contact AD object.
The contactname specified on the command is the common name or the distinguished name of the contact object. The distinguished name of the contact can be specified with or without the domainDN component.
Specifies the editor to use instead of the system default, or 'vi' if no system default is set.
contactname new_parent_dn [options]This command moves a contact into the specified organizational unit or container.
The contactname specified on the command is the common name or the distinguished name of the contact object. The distinguished name of the contact can be specified with or without the domainDN component.
contactname [options]Display a contact AD object.
The contactname specified on the command is the common name or the distinguished name of the contact object. The distinguished name of the contact can be specified with or without the domainDN component.
Comma separated list of attributes, which will be printed.
contactname [options]Rename a contact and related attributes.
This command allows to set the contact's name related attributes. The contact's CN will be renamed automatically. The contact's new CN will be made up by combining the given-name, initials and surname. A dot ('.') will be appended to the initials automatically, if required. Use the --force-new-cn option to specify the new CN manually and --reset-cn to reset this change.
Use an empty attribute value to remove the specified attribute.
The contact name specified on the command is the CN.
New surname.
New given name.
New initials.
Specify a new CN (RDN) instead of using a combination of the given name, initials and surname.
Set the CN to the default combination of given name, initials and surname.
New display name.
New email address.
accountname principal [options]Add a principal to msDS-AllowedToActOnBehalfOfOtherIdentity that may delegate to an account.
accountname principal [options]Delete a principal from msDS-AllowedToActOnBehalfOfOtherIdentity so that it may no longer delegate to an account.
accountname principal [options]Add a service principal as msDS-AllowedToDelegateTo.
accountname principal [options]Delete a service principal as msDS-AllowedToDelegateTo.
accountname [(on|off)] [options]Set/unset UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (S4U2Proxy) for an account.
accountname [(on|off)] [options]Set/unset UF_TRUSTED_FOR_DELEGATION for an account.
server zone name A|AAAA|PTR|CNAME|NS|MX|SRV|TXT dataAdd a DNS record.
Do not treat an existing record of this name and type as an error. This has no functional change (the new DNS record is not added) but the message and samba-tool return code will not indicate error.
server name Clean up DNS records for a host, so that DNS queries no longer return results. Usually this works by marking the records as deleted in the database.
Example: samba-tool dns cleanup dc1 computer.samdom.test.site
server zone [options]Manipulate aging options. This is useful in zones using dynamic DNS.
There are options to change records from static to dynamic based on regular expressions or age, which is useful in some cases where the values got mixed up in old versions of Samba.
Do not actually change anything, but show what would happen.
Windows client protocol
version. The default is
longhorn, which is
probably what you want.
Mark records older than the specified date as static.
Mark records that match the given perl-compatible regular expression as static.
Mark records that match the given perl-compatible regular expression as dynamic.
--aging=1 to enable aging for this zone.
--aging=0 to disable aging for this zone.
avoid further refreshes for this long after a dynamic update. Set to zero to use the default.
Dynamic refresh interval in hours (0: use default)
List authentication policies on the domain.
LDB URL for database or target server.
View authentication policies as JSON instead of a list.
View an authentication policy on the domain.
LDB URL for database or target server.
Name of the authentication policy to view (required).
Create authentication policies on the domain.
LDB URL for database or target server.
Name of the authentication policy (required).
Optional description for the authentication policy.
Protect authentication policy from accidental deletion.
Cannot be used together with --unprotect.
Unprotect authentication policy from accidental deletion.
Cannot be used together with --protect.
Only audit authentication policy.
Cannot be used together with --enforce.
Enforce authentication policy.
Cannot be used together with --audit.
Strong NTLM Policy (Disabled, Optional, Required).
Ticket-Granting-Ticket lifetime for user accounts.
Allow NTLM and
Interactive NETLOGON SamLogon
authentication despite the
fact that
allowed-to-authenticate-from
is in use, which would
otherwise restrict the user to selected devices.
Conditions a device must meet for users covered by this policy to be allowed to authenticate. While this is a restriction on the device, any conditional ACE rules are expressed as if the device was a user.
Must be a valid SDDL string without reference to Device keywords.
Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AU)}))
This policy, applying to a user account that is offering a service, eg a web server with a user account, restricts which accounts may access it.
Must be a valid SDDL string. The SDDL can reference both bare (user) and Device conditions.
SDDL Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))
Ticket-Granting-Ticket lifetime for service accounts.
Allow NTLM network authentication when service is restricted to selected devices.
Conditions a device must meet for service accounts covered by this policy to be allowed to authenticate. While this is a restriction on the device, any conditional ACE rules are expressed as if the device was a user.
Must be a valid SDDL string without reference to Device keywords.
SDDL Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AU)}))
This policy, applying to a service account (eg a Managed Service Account, Group Managed Service Account), restricts which accounts may access it.
Must be a valid SDDL string. The SDDL can reference both bare (user) and Device conditions.
SDDL Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))
Ticket-Granting-Ticket lifetime for computer accounts.
This policy, applying to a computer account (eg a server or workstation), restricts which accounts may access it.
Must be a valid SDDL string. The SDDL can reference both bare (user) and Device conditions.
SDDL Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))
Modify authentication policies on the domain. The same
options apply as for domain auth policy create.
Delete authentication policies on the domain.
LDB URL for database or target server.
Name of authentication policy to delete (required).
Force authentication policy delete even if it is protected.
Set the user-allowed-to-authenticate-from property by scenario.
LDB URL for database or target server.
Name of authentication policy.
User is allowed to
authenticate, if the device they
authenticate from is assigned
and granted membership of a
given GROUP.
User is allowed to
authenticate, if the device they
authenticate from is assigned
and granted membership of a
given SILO.
Set the user-allowed-to-authenticate-to property by scenario.
LDB URL for database or target server.
Name of authentication policy.
The user account, offering a
network service, covered by
this policy, will only be allowed
access from other accounts
that are members of the given
GROUP.
The user account, offering a
network service, covered by
this policy, will only be
allowed access from other accounts
that are assigned to,
granted membership of (and
meet any authentication
conditions of) the given SILO.
Set the service-allowed-to-authenticate-from property by scenario.
LDB URL for database or target server.
Name of authentication policy.
The service account (eg a Managed
Service Account, Group Managed
Service Account) is allowed to
authenticate, if the device it
authenticates from is a member
of the given GROUP.
The service account (eg a Managed
Service Account, Group Managed
Service Account) is allowed to
authenticate, if the device it
authenticates from is assigned
and granted membership of a
given SILO.
Set the service-allowed-to-authenticate-to property by scenario.
LDB URL for database or target server.
Name of authentication policy.
The service account (eg a Managed
Service Account, Group Managed
Service Account), will only be
allowed access by other accounts
that are members of the given
GROUP.
The service account (eg a
Managed Service Account, Group
Managed Service Account), will
only be allowed access by other
accounts that are assigned
to, granted membership of (and
meet any authentication
conditions of) the given SILO.
Set the computer-allowed-to-authenticate-to property by scenario.
LDB URL for database or target server.
Name of authentication policy.
The computer account (eg a server
or workstation), will only be
allowed access by other accounts
that are members of the given
GROUP.
The computer account (eg a
server or workstation), will
only be allowed access by
other accounts that are
assigned to, granted
membership of (and meet any
authentication conditions of)
the given SILO.
List authentication silos on the domain.
LDB URL for database or target server.
View authentication silos as JSON instead of a list.
View an authentication silo on the domain.
LDB URL for database or target server.
Name of the authentication silo to view (required).
Create authentication silos on the domain.
LDB URL for database or target server.
Name of the authentication silo (required).
Optional description for the authentication silo.
User account authentication policy.
Managed service account authentication policy.
Computer authentication policy.
Protect authentication silo from accidental deletion.
Cannot be used together with --unprotect.
Unprotect authentication silo from accidental deletion.
Cannot be used together with --protect.
Only audit silo policies.
Cannot be used together with --enforce.
Enforce silo policies.
Cannot be used together with --audit.
Modify authentication silos on the domain.
LDB URL for database or target server.
Name of the authentication silo (required).
Optional description for the authentication silo.
User account authentication policy.
Managed service account authentication policy.
Computer authentication policy.
Protect authentication silo from accidental deletion.
Cannot be used together with --unprotect.
Unprotect authentication silo from accidental deletion.
Cannot be used together with --protect.
Only audit silo policies.
Cannot be used together with --enforce.
Enforce silo policies.
Cannot be used together with --audit.
Delete authentication silos on the domain.
LDB URL for database or target server.
Name of authentication silo to delete (required).
Force authentication silo delete even if it is protected.
Grant a member access to an authentication silo.
LDB URL for database or target server.
Name of authentication silo (required).
Member to grant access to the silo (DN or account name).
List members in an authentication silo.
LDB URL for database or target server.
Name of authentication silo (required).
View members as JSON instead of a list.
Revoke a member from an authentication silo.
LDB URL for database or target server.
Name of authentication silo (required).
Member to revoke from the silo (DN or account name).
List claim types on the domain.
LDB URL for database or target server.
View claim types as JSON instead of a list.
View a single claim type on the domain.
LDB URL for database or target server.
Display name of claim type to view (required).
Create claim types on the domain.
LDB URL for database or target server.
Attribute of claim type to create (required).
Object classes to set claim type to.
Example: --class=user --class=computer
Optional display name or use attribute name.
Optional description or use from attribute.
Enable claim type.
Cannot be used together with --disable.
Disable claim type.
Cannot be used together with --enable.
Protect claim type from accidental deletion.
Cannot be used together with --unprotect.
Unprotect claim type from accidental deletion.
Cannot be used together with --protect.
Modify claim types on the domain.
LDB URL for database or target server.
Display name of claim type to modify (required).
Object classes to set claim type to.
Example: --class=user --class=computer
Set the claim type description.
Enable claim type.
Cannot be used together with --disable.
Disable claim type.
Cannot be used together with --enable.
Protect claim type from accidental deletion.
Cannot be used together with --unprotect.
Unprotect claim type from accidental deletion.
Cannot be used together with --protect.
Delete claim types on the domain.
LDB URL for database or target server.
Display name of claim type to delete (required).
Force claim type delete even if it is protected.
List claim value types on the domain.
LDB URL for database or target server.
View claim value types as JSON instead of a list.
View a single claim value type on the domain.
LDB URL for database or target server.
Display name of claim value type to view (required).
classic_smb_confUpgrade from Samba classic (NT4-like) database to Samba AD DC database.
dnsdomain [DC|RODC] [options]Promote an existing domain member or NT4 PDC to an AD DC.
Prepare a domain for functional level upgrade. If --functional-level is not used, the latest supported version is used (currently 2016).
There are two aspects to this preparation, relating to the forest and the domain. By default both are run.
If either of --forest-prep or --domain-prep are used, only the corresponding preparation is made.
If both arguments are used together, all preparation is done, just as when neither is used.
LDB URL for database or target server.
The functional level to prepare for. The default is 2016.
Run forest preparation only (unless --domain-prep is also used).
Run domain preparation only (unless --forest-prep is also used).
dnsdomain [DC|RODC|MEMBER|SUBDOMAIN] [options]Join a domain as either member or backup domain controller.
Create KDS root keys
LDB URL for database or target server.
The key will be valid from this time.
Valid time format are
the string "now", the LDIF format
YYYYmmddHHMMSS.0Z, or the
ISO format YYYY-mm-dd[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]
where the '*' can be any character, and the optional last
'[+HH:MM[:SS[.ffffff]]]' is a timezone offset (e.g. '+00:00' for
UTC).
Output results in JSON format.
Delete the named KDS root key. Use samba-tool domain kds root-key list to find the name of the key.
LDB URL for database or target server.
The name of the key to delete. It will be a GUID.
Print all attributes (except secret ones, unless --show secrets is used).
Output results in JSON format.
List KDS root keys. The newest keys are listed first.
LDB URL for database or target server.
Print secret or potentially sensitive attributes, namely msKds-RootKeyData and msKds-SecretAgreementParam.
Print more attributes (but not secret ones, unless --show secrets is also used).
Output results in JSON format.
View a KDS root key. The default output is similar to
that of samba-tool domain kds root-key list
--verbose, but with only one key show. The key can
be selected by using --latest for the
most recent key, or --name to select a key
by name.
LDB URL for database or target server.
View the most recent root key.
The name of the key to view. It will be a GUID.
Print all attributes (except secret ones, unless --show secrets is used). This includes attributes that are only useful for LDB bookkeeping.
Output results in JSON format.
Run on a domain member, this will cause it to leave the domain.
To remove a domain server from the domain, you first need samba-tool domain demote.
Disable the machine account instead of deleting it.
options [options]Set password settings, including complexity requirements, lockout policy, history length, minimum password length, and minimum and maximum password age on a Samba AD DC server.
Use against a Windows DC is possible, but group policy will override it.
LDB URL for database or target server
Be quiet
The password complexity (on | off | default). Default is 'on'
Store plaintext passwords where account have 'store passwords with reversible encryption' set (on | off | default). Default is 'off'
The password history length (integer | default). Default is 24.
The minimum password length (integer | default). Default is 7.
The minimum password age (number of days | default). Default is 1.
The maximum password age (number of days | default). Default is 43.
The length of time an account is locked out after exceeding the limit on bad password attempts (number of minutes | default). Default is 30 mins.
The number of bad password attempts allowed before locking out the account (integer | default). Default is 0 (never lock out).
After this time is elapsed, the recorded number of attempts restarts from zero (integer | default). Default is 30.
options [options]Display current password settings for the domain.
LDB URL for database or target server
pso-name user-or-group-name [options]Applies a PSO's password policy to a user or group.
pso-name precedence [options]Creates a new Password Settings Object (PSO).
pso-name [options]Displays the Password Settings that apply to a user.
pso-name user-or-group-name [options]Updates a PSO to no longer apply to a user or group.
Upgrade the schema.
LDB URL for database or target server.
Upgrade to this Windows schema level. The default is 2019.
Apply the schema changes in this LDIF file, rather than updating to a standard schema level.
Specify an alternate location to find schema LDIF files.
LDB URL for database or target server
The current time to evaluate the tombstone lifetime from, expressed as YYYY-MM-DD
Number of days a tombstone should be preserved for
dnsdomain
--targetdir=DIR [options]Replicate an initial clone of domain, but DO NOT JOIN it.
Clone this DC.
where to store provision (required).
Be quiet.
Also replicate secret values.
Specify the database backend to be used (default is tdb).
Specify the size of the backend database, currentlyonly supported by lmdb backends (default is 8 GB).
Show uptodateness status.
LDB URL for database or target server
restrict to this partition
Print data in json format
Print maximum out-of-date-ness only
Print median out-of-date-ness only
Print full out-of-date-ness data
Show replication status. The [--json] option results in JSON output, and with the [--summary] option produces very little output when the replication status seems healthy.
VALUEModify dsheuristics directory_service configuration for the forest.
Create an empty GPO.
Check all GPOs have matching LDAP and DS ACLs.
LDB URL for database or target server
Loads samba admx files to sysvol
LDB URL for database or target server
Directory where admx templates are stored
gpo[options]Backup a GPO.
LDB URL for database or target server
Temporary directory for copying policy files
Generalize XML entities to restore
File to export defining XML entities for the restore
cse_file cse_name [options]Register a Client Side Extension (CSE) on the current host.
This command takes a CSE filename as an argument, and registers it for applying policy on the current host. This is not necessary for CSEs which are distributed with the current version of Samba, but is useful for installing experimental CSEs or custom built CSEs.
The cse_file argument MUST be a permanent
location for the CSE. The register command does not copy the file to
some other directory. The samba-gpupdate command will execute the CSE
from the exact location specified from this command.
Whether to register the CSE as Machine policy
Whether to register the CSE as User policy
GUIDUnregister a Client Side Extension (CSE) from the current host.
This command takes a unique GUID as an argument (representing a registered CSE), and unregisters it for applying policy on the current host. Use the `samba-tool gpo cse list` command to determine the unique GUIDs of CSEs.
gpo [options]Load policies onto a GPO.
Reads json from standard input until EOF, unless a json formatted file is provided via --content.
Example json_input:
[
{
"keyname": "Software\Policies\Mozilla\Firefox\Homepage",
"valuename": "StartPage",
"class": "USER",
"type": "REG_SZ",
"data": "homepage"
},
{
"keyname": "Software\Policies\Mozilla\Firefox\Homepage",
"valuename": "URL",
"class": "USER",
"type": "REG_SZ",
"data": "google.com"
},
{
"keyname": "Software\Microsoft\Internet Explorer\Toolbar",
"valuename": "IEToolbar",
"class": "USER",
"type": "REG_BINARY",
"data": [0]
},
{
"keyname": "Software\Policies\Microsoft\InputPersonalization",
"valuename": "RestrictImplicitTextCollection",
"class": "USER",
"type": "REG_DWORD",
"data": 1
}
]
Valid class attributes: MACHINE|USER|BOTH Data arrays are interpreted as bytes.
The --machine-ext-name and --user-ext-name options are multi-value inputs which respectively set the gPCMachineExtensionNames and gPCUserExtensionNames ldap attributes on the GPO. These attributes must be set to the correct GUID names for Windows Group Policy to work correctly. These GUIDs represent the client side extensions to apply on the machine. Linux Group Policy does not enforce this constraint. {35378EAC-683F-11D2-A89A-00C04FBBCFA2} is provided by default, which enables most Registry policies.
LDB URL for database or target server
JSON file of policy inputs
A machine extension name to add to gPCMachineExtensionNames
A user extension name to add to gPCUserExtensionNames
Replace the existing Group Policies, rather than merging
gpo [options]List Samba Security Group Policy from the sysvol.
This command lists security settings from the sysvol that will be applied to winbind clients. These settings only apply to the AD DC.
Example:
samba-tool gpo manage security list {31B2F340-016D-11D2-945F-00C04FB984F9}
LDB URL for database or target server
gpo [options]Set Samba Security Group Policy to the sysvol.
This command sets a security setting to the sysvol for applying to winbind clients. Not providing a value will unset the policy. These settings only apply to the AD DC.
Example:
samba-tool gpo manage security set {31B2F340-016D-11D2-945F-00C04FB984F9} MaxTicketAge 10
Possible policies:
Maximum lifetime for user ticket (hours).
Maximum lifetime for service ticket in minutes. Defined in minutes
Maximum lifetime for user ticket renewal, in minutes.
Minimum password age, in days.
Maximum password age, in days.
Minimum password length, in characters.
Password must meet complexity requirements. 1 is Enabled, 0 is Disabled.
LDB URL for database or target server
List Samba Security Group Policy from the sysvol.
This command lists security settings from the sysvol that will be applied to winbind clients. These settings only apply to the AD DC.
Example:
samba-tool gpo manage security list {31B2F340-016D-11D2-945F-00C04FB984F9}
LDB URL for database or target server
List smb.conf settings from the sysvol that will be applied to winbind clients.
Example:
samba-tool gpo manage smb_conf list {31B2F340-016D-11D2-945F-00C04FB984F9}
LDB URL for database or target server
gpo [value] [options]Set or unset an smb.conf setting to the sysvol for applying to winbind clients.
If a value is provided, that is the smb.conf value used; if no value is provided, the policy is removed.
Example:
samba-tool gpo manage smb_conf set {31B2F340-016D-11D2-945F-00C04FB984F9} 'apply gpo policies' yes
LDB URL for database or target server
gpo [options]Show information for a GPO.
Remove policies from a GPO.
Reads json from standard input until EOF, unless a json formatted file is provided via --content.
Example json_input:
[
{
"keyname": "Software\Policies\Mozilla\Firefox\Homepage",
"valuename": "StartPage",
"class": "USER",
},
{
"keyname": "Software\Policies\Mozilla\Firefox\Homepage",
"valuename": "URL",
"class": "USER",
},
{
"keyname": "Software\Microsoft\Internet Explorer\Toolbar",
"valuename": "IEToolbar",
"class": "USER"
},
{
"keyname": "Software\Policies\Microsoft\InputPersonalization",
"valuename": "RestrictImplicitTextCollection",
"class": "USER"
}
]
Valid class attributes: MACHINE|USER|BOTH
LDB URL for database or target server
JSON file of policy inputs
A machine extension name to remove from gPCMachineExtensionNames
A user extension name to remove from gPCUserExtensionNames
use colour if available (default: auto)
displayname backup location [options]Restore a GPO to a new container.
LDB URL for database or target server
Temporary directory for copying policy files
File defining XML entities to insert into DOCTYPE header
Keep the old GPT.INI file and associated version number
groupname [options]Add a new AD group. This is a synonym for the
samba-tool group add command and is available
for compatibility reasons only. Please use
samba-tool group add instead.
groupname gidnumber [options]Add RFC2307 Unix attributes to a group account in the Active Directory domain. The groupname specified on the command is the sAMaccountName.
Unix (RFC2307) attributes will be added to the group account.
Add 'idmap_ldb:use rfc2307 = Yes' to smb.conf to use these attributes for UID/GID mapping.
The command may be run from the root userid or another authorized userid. The -H or --URL= option can be used to execute the command against a remote server.
Example1:
samba-tool group addunixattrs Group1 10000
Example1 shows how to add RFC2307 attributes to a domain enabled group account.
The groups Unix ID will be set to '10000', provided this ID isn't already in use.
LDB URL for database or target server
groupnameEdit a group AD object.
Specifies the editor to use instead of the system default, or 'vi' if no system default is set.
groupname [options]List all members of the specified AD group.
By default the sAMAccountNames are listed. If no sAMAccountName is available, the CN will be used instead.
List the distinguished names instead of the sAMAccountNames.
Do not list expired group members.
Do not list disabled group members.
groupname new_parent_dn [options]This command moves a group into the specified organizational unit or container.
The groupname specified on the command is the sAMAccountName.
The name of the organizational unit or container can be specified as a full DN or without the domainDN component.
groupname [options]Rename a group and related attributes.
This command allows to set the group's name related attributes. The group's CN will be renamed automatically. The group's CN will be the sAMAccountName. Use the --force-new-cn option to specify the new CN manually and the --reset-cn to reset this change.
Use an empty attribute value to remove the specified attribute.
The groupname specified on the command is the sAMAccountName.
Specify a new CN (RDN) instead of using the sAMAccountName.
Set the CN to the sAMAccountName.
New mail address
New account name (sAMAccountName/logon name)
URL1 URL2 domain|configuration|schema|dnsdomain|dnsforest [options] Compare two LDAP databases.
original-domain-SID new-domain-SID file [options]Change the domain SID for ACLs. Can be used to change all entries in acl_xattr when the machine's SID has accidentally changed or the data set has been copied to another machine either via backup/restore or rsync.
Set the ACLs directly to the TDB or xattr. The POSIX permissions will NOT be changed, only the NT ACL will be stored.
Specify the name of the smb.conf service to use. This option is required in combination with the --use-s3fs option.
Set the ACLs for use with the default s3fs file server via the VFS layer. This option requires a smb.conf service, specified by the --service=SERVICE option.
Specify the xattr backend type (native fs or tdb).
Name of the tdb file where attributes are stored.
Set the ACLs for directories and their contents recursively.
Follow symlinks when --recursive is specified.
Verbosely list files and ACLs which are being processed.
ou_dn [options]Add a new organizational unit.
The name of the organizational unit can be specified as a full DN or without the domainDN component.
Specify OU's description.
ou_dn [options]Add a new organizational unit. This is a synonym for the
samba-tool ou add command and is available
for compatibility reasons only. Please use
samba-tool ou add instead.
ou_dn [options]Delete an organizational unit.
The name of the organizational unit can be specified as a full DN or without the domainDN component.
Delete organizational unit and all children recursively.
ou_dn [options]List all objects in an organizational unit.
The name of the organizational unit can be specified as a full DN or without the domainDN component.
Display DNs including the base DN.
List objects recursively.
old_ou_dn new_parent_dn [options]Move an organizational unit.
The name of the organizational units can be specified as a full DN or without the domainDN component.
old_ou_dn new_ou_dn [options]Rename an organizational unit.
The name of the organizational units can be specified as a full DN or without the domainDN component.
List samba server processes.
If no processes are show, but Samba is running, it is possible that samba-tool has not found the correct smb.conf, and the use of -s/--configfile is required.
Show processes associated with the given name.
Show names associated with the PID.
attribute [options]Show objectclasses that MAY or MUST contain this attribute.
List service accounts on the domain.
LDB URL for database or target server.
View service accounts as JSON instead of a list.
View a single service account on the domain.
LDB URL for database or target server.
Account name of service account to view (required).
Create a new service account on the domain.
LDB URL for database or target server.
Account name of service account (required).
DNS hostname of this service account (required).
Optional Group MSA Membership SDDL.
Managed password refresh interval in days.
Modify an existing service account on the domain.
LDB URL for database or target server.
Account name of service account (required).
Update DNS hostname of this service account.
Update Group MSA Membership SDDL.
Delete a service accounts on the domain.
LDB URL for database or target server.
Account name of service account to delete.
Display Group MSA Membership for a service account.
LDB URL for database or target server.
Account name of service account (required).
Return as JSON instead of a list.
Add a principal to Group MSA Membership for a service account.
LDB URL for database or target server.
Account name of service account (required).
Name, DN or SID of principal to add.
Remove a principal from Group MSA Membership for a service account.
LDB URL for database or target server.
Account name of service account (required).
Name, DN or SID of principal to remove.
Opens an interactive Python shell for Samba ldb connection.
LDB URL for database or target server.
username uid-number [options]Add RFC2307 attributes to a user.
This command adds Unix attributes to a user account in the Active Directory domain.
The username specified on the command is the sAMaccountName.
You must supply a unique uid.
Unix (RFC2307) attributes will be added to the user account.
If you supply a group id with '--gid-number', this will be used for the users Unix 'gidNumber' attribute.
If '--gid-number' is not supplied, the users Unix gidNumber will be set to the one found in 'Domain Users', this means Domain Users must have a gidNumber attribute.
If '--unix-home' is not supplied, the users Unix home directory will be set to /home/DOMAIN/username.
If '--login-shell' is not supplied, the users Unix login shell will be set to '/bin/sh'
If ---gecos' is not supplied, the users Unix gecos field will be set to the user's 'CN' attribute.
Add 'idmap_ldb:use rfc2307 = Yes' to the smb.conf on DCs to use these attributes for UID/GID mapping.
The command may be run from the root userid or another authorised userid. The -H or --URL= option can be used to execute the command against a remote server.
Example1:
samba-tool user addunixattrs User1 10001
Example1 shows how to add RFC2307 attributes to a domain enabled user account, Domain Users will be set as the users gidNumber.
The users Unix ID will be set to '10001', provided this ID isn't already in use.
Example2:
samba-tool user addunixattrs User2 10002 --gid-number=10001 --unix-home=/home/User2
Example2 shows how to add RFC2307 attributes to a domain enabled user account.
The users Unix ID will be set to '10002', provided this ID isn't already in use.
The users gidNumber attribute will be set to '10001'
The users Unix home directory will be set to '/home/user2'
Example3:
samba-tool user addunixattrs User3 10003 --gid-number=10001 --login-shell=/bin/false --gecos='User3 test'
Example3 shows how to add RFC2307 attributes to a domain enabled user account.
The users Unix ID will be set to '10003', provided this ID isn't already in use. The users gidNumber attribute will be set to '10001'. The users Unix login shell will be set to '/bin/false'. The users gecos field will be set to 'User3 test'.
LDB URL for database or target server
User's Unix/RFC2307 GID
User's Unix/RFC2307 home directory
User's Unix/RFC2307 login shell
User's Unix/RFC2307 GECOS field
User's Unix/RFC2307 user id
username [password]Add a new user. This is a synonym for the
samba-tool user add command and is available
for compatibility reasons only. Please use
samba-tool user add instead.
usernameDisable a user account.
Remove user from all groups, but keep the primary group.
usernameEdit a user account AD object.
Specifies the editor to use instead of the system default, or 'vi' if no system default is set.
List all users.
By default the user's sAMAccountNames are listed.
List user's distinguished names instead of the sAMAccountNames.
Specify base DN to use. Only users under the specified base DN will be listed.
Do not list expired user accounts.
Do not list disabled user accounts.
Only list locked user accounts.
username [options]Display a user AD object.
Comma separated list of attributes, which will be printed.
username new_parent_dn [options]This command moves a user account into the specified organizational unit or container.
The username specified on the command is the sAMAccountName.
The name of the organizational unit or container can be specified as a full DN or without the domainDN component.
username [options]Rename a user and related attributes.
This command allows to set the user's name related attributes. The user's CN will be renamed automatically. The user's new CN will be made up by combining the given-name, initials and surname. A dot ('.') will be appended to the initials automatically, if required. Use the --force-new-cn option to specify the new CN manually and --reset-cn to reset this change.
Use an empty attribute value to remove the specified attribute.
The username specified on the command is the sAMAccountName.
New surname
New given name
New initials
Specify a new CN (RDN) instead of using a combination of the given name, initials and surname.
Set the CN to the default combination of given name, initials and surname.
New display name
New email address
New account name (sAMAccountName/logon name)
New user principal name
accountname [show|on|off] [options]Set/unset or show UF_NOT_DELEGATED for an account.
LDB URL for database or target server
--cache-ldb-initialize [options]Syncs the passwords of all user accounts, using an optional script.
Note that this command should run on a single domain controller only (typically the PDC-emulator).
username [options]Set assigned authentication policy for user.
Name of authentication policy to assign or leave empty to remove.
username [options]Set assigned authentication silo for user.
Name of authentication silo to assign or leave empty to remove.
domainJoin and synchronise a remote AD domain to the local server.
Please note that samba-tool vampire is deprecated,
please use samba-tool domain join instead.
subcommandProduce graphical representations of Samba network state. To work out what is happening in a replication graph, it is sometimes helpful to use visualisations.
There are two subcommands, two graphical modes, and (roughly) two modes of operation with respect to the location of authority.
Looks at NTDS connections.
Looks at repsTo and repsFrom objects.
Looks at replication lag as shown by the uptodateness vectors.
Distances between DCs are shown in a matrix in the terminal.
Generate Graphviz dot output (for ntdsconn and reps modes). When viewed using dot or xdot, this shows the network as a graph with DCs as vertices and connections edges. Certain types of degenerate edges are shown in different colours or line-styles.
Generate Graphviz dot output as with
[--dot] and attempt to view it
immediately using /usr/bin/xdot.
Normally,
samba-tool talks to one database;
with the [-r] option attempts
are made to contact all the DCs known to the first
database. This is necessary for samba-tool
visualize uptodateness and for
samba-tool visualize reps because
the repsFrom/To objects are not replicated, and it can
reveal replication issues in other modes.