home | help
SMB.CONF(5)		  File Formats and Conventions		     SMB.CONF(5)

NAME
     smb.conf - The configuration file for the Samba suite

SYNOPSIS
     The  smb.conf  file  is a configuration file for the Samba suite.	smb.conf
     contains runtime configuration information for the Samba programs. The com-
     plete description of the file format and possible	parameters  held  within
     are here for reference purposes.

FILE FORMAT
     The  file	consists  of  sections and parameters. A section begins with the
     name of the section in square brackets and continues until the next section
     begins. Sections contain parameters of the form:

	 name = value

     The file is line-based - that is, each newline-terminated	line  represents
     either a comment, a section name or a parameter.

     Section and parameter names are not case sensitive.

     Only the first equals sign in a parameter is significant. Whitespace before
     or after the first equals sign is discarded. Leading, trailing and internal
     whitespace in section and parameter names is irrelevant. Leading and trail-
     ing  whitespace  in  a  parameter	value  is discarded. Internal whitespace
     within a parameter value is retained verbatim.

     Any line beginning with a semicolon (";") or a hash ("#") character is  ig-
     nored, as are lines containing only whitespace.

     Any  line	ending	in  a "\" is continued on the next line in the customary
     UNIX fashion.

     The values following the equals sign in parameters are all either a  string
     (no  quotes  needed)  or  a  boolean,  which may be given as yes/no, 1/0 or
     true/false. Case is not significant in boolean values, but is preserved  in
     string values. Some items such as create masks are numeric.

SECTION DESCRIPTIONS
     Each  section  in	the configuration file (except for the [global] section)
     describes a shared resource (known as a "share"). The section name  is  the
     name  of  the  shared resource and the parameters within the section define
     the shares attributes.

     There are three special sections, [global], [homes] and  [printers],  which
     are described under special sections. The following notes apply to ordinary
     section descriptions.

     A	share  consists of a directory to which access is being given plus a de-
     scription of the access rights which are granted to the user  of  the  ser-
     vice. Some housekeeping options are also specifiable.

     Sections are either file share services (used by the client as an extension
     of  their native file systems) or printable services (used by the client to
     access print services on the host running the server).

     Sections may be designated guest services, in which case no password is re-
     quired to access them. A specified UNIX guest account is used to define ac-
     cess privileges in this case.

     Sections other than guest services will require a password to access  them.
     The  client  provides the username. As older clients only provide passwords
     and not usernames, you may specify a list of usernames to check against the
     password using the user =	option	in  the  share	definition.  For  modern
     clients such as Windows 95/98/ME/NT/2000, this should not be necessary.

     The  access  rights  granted  by the server are masked by the access rights
     granted to the specified or guest UNIX user by the host system. The  server
     does not grant more access than the host system grants.

     The following sample section defines a file space share. The user has write
     access to the path /home/bar. The share is accessed via the share name foo:

	      [foo]
	      path = /home/bar
	      read only = no

     The  following  sample  section  defines  a  printable  share. The share is
     read-only, but printable. That is, the only write access permitted  is  via
     calls  to	open,  write  to  and close a spool file. The guest ok parameter
     means access will be permitted as the default guest user  (specified  else-
     where):

	      [aprinter]
	      path = /usr/spool/public
	      read only = yes
	      printable = yes
	      guest ok = yes

SPECIAL SECTIONS
   The [global] section
     Parameters  in this section apply to the server as a whole, or are defaults
     for sections that do not specifically define certain items. See  the  notes
     under PARAMETERS for more information.

   The [homes] section
     If a section called [homes] is included in the configuration file, services
     connecting  clients  to their home directories can be created on the fly by
     the server.

     When the connection request is made, the existing sections are scanned.  If
     a	match  is found, it is used. If no match is found, the requested section
     name is treated as a username and looked up in the local password file.  If
     the name exists and the correct password has been given, a share is created
     by cloning the [homes] section.

     Some modifications are then made to the newly created share:

     *	 The share name is changed from homes to the located username.

     *	 If no path was given, the path is set to the user's home directory.

     If  you decide to use a path = line in your [homes] section, it may be use-
     ful to use the %S macro. For example:

	 path = /data/pchome/%S

     is useful if you have different home directories for your PCs than for UNIX
     access.

     This is a fast and simple way to give a large number of clients  access  to
     their home directories with a minimum of fuss.

     A	similar  process occurs if the requested section name is "homes", except
     that the share name is not changed to that of  the  requesting  user.  This
     method  of  using the [homes] section works well if different users share a
     client PC.

     The [homes] section can specify all the parameters a normal service section
     can specify, though some make more sense than others. The	following  is  a
     typical and suitable [homes] section:

	 [homes]
	 read only = no

     An important point is that if guest access is specified in the [homes] sec-
     tion,  all  home directories will be visible to all clients without a pass-
     word. In the very unlikely event that this is  actually  desirable,  it  is
     wise to also specify read only access.

     The  browseable  flag  for auto home directories will be inherited from the
     global browseable flag, not the [homes] browseable flag. This is useful  as
     it  means	setting  browseable  =	no  in the [homes] section will hide the
     [homes] share but make any auto home directories visible.

   The [printers] section
     This section works like [homes], but for printers.

     If a [printers] section occurs in the configuration file, users are able to
     connect to any printer specified in the local host's printcap file.

     When a connection request is made, the existing sections are scanned. If  a
     match is found, it is used. If no match is found, but a [homes] section ex-
     ists,  it is used as described above. Otherwise, the requested section name
     is treated as a printer name and the appropriate printcap file  is  scanned
     to  see  if  the requested section name is a valid printer share name. If a
     match is found, a new printer share is created by	cloning  the  [printers]
     section.

     A few modifications are then made to the newly created share:

     *	 The share name is set to the located printer name

     *	 If  no  printer  name was given, the printer name is set to the located
	 printer name

     *	 If the share does not permit guest access and no  username  was  given,
	 the username is set to the located printer name.

     The  [printers]  service  MUST be printable - if you specify otherwise, the
     server will refuse to load the configuration file.

     Typically the path specified is that of a world-writeable	spool  directory
     with the sticky bit set on it. A typical [printers] entry looks like this:

	 [printers]
	 path = /usr/spool/public
	 guest ok = yes
	 printable = yes

     All aliases given for a printer in the printcap file are legitimate printer
     names as far as the server is concerned. If your printing subsystem doesn't
     work  like  that, you will have to set up a pseudo-printcap. This is a file
     consisting of one or more lines like this:

	 alias|alias|alias|alias...

     Each alias should be an acceptable printer name for your  printing  subsys-
     tem.  In  the  [global] section, specify the new file as your printcap. The
     server will only recognize names found in your  pseudo-printcap,  which  of
     course  can  contain whatever aliases you like. The same technique could be
     used simply to limit access to a subset of your local printers.

     An alias, by the way, is defined as any component of the first entry  of  a
     printcap  record.	Records  are separated by newlines, components (if there
     are more than one) are separated by vertical bar symbols (|).

	 Note

	 On SYSV systems which use lpstat to determine what printers are defined
	 on the system you may be able to use printcap name = lpstat to automat-
	 ically obtain a list of printers. See the printcap name option for more
	 details.

USERSHARES
     Starting with Samba version 3.0.23 the capability	for  non-root  users  to
     add,  modify,  and  delete their own share definitions has been added. This
     capability is called usershares and is controlled by a set of parameters in
     the [global] section of the smb.conf. The relevant parameters are :

     usershare allow guests
	 Controls if usershares can permit guest access.

     usershare max shares
	 Maximum number of user defined shares allowed.

     usershare owner only
	 If set only directories owned by the sharing user can be shared.

     usershare path
	 Points to the directory containing the user defined share  definitions.
	 The  filesystem  permissions  on  this directory control who can create
	 user defined shares.

     usershare prefix allow list
	 Comma-separated list of absolute pathnames restricting what directories
	 can be shared. Only directories below the pathnames in  this  list  are
	 permitted.

     usershare prefix deny list
	 Comma-separated list of absolute pathnames restricting what directories
	 can be shared. Directories below the pathnames in this list are prohib-
	 ited.

     usershare template share
	 Names	a  pre-existing  share used as a template for creating new user-
	 shares. All other share parameters not specified in  the  user  defined
	 share definition are copied from this named share.

     To  allow members of the UNIX group foo to create user defined shares, cre-
     ate the directory to contain the share definitions as follows:

     Become root:

	 mkdir /usr/local/samba/lib/usershares
	 chgrp foo /usr/local/samba/lib/usershares
	 chmod 1770 /usr/local/samba/lib/usershares

     Then add the parameters

	      usershare path = /usr/local/samba/lib/usershares
	      usershare max shares = 10 # (or the desired number of shares)

     to the global section of your smb.conf. Members of the group foo  may  then
     manipulate the user defined shares using the following commands.

     net usershare add sharename path [comment] [acl] [guest_ok=[y|n]]
	 To create or modify (overwrite) a user defined share.

     net usershare delete sharename
	 To delete a user defined share.

     net usershare list wildcard-sharename
	 To list user defined shares.

     net usershare info wildcard-sharename
	 To print information about user defined shares.

PARAMETERS
     Parameters define the specific attributes of sections.

     Some parameters are specific to the [global] section (e.g., security). Some
     parameters  are  usable in all sections (e.g., create mask). All others are
     permissible only in normal sections. For the purposes of the following  de-
     scriptions  the  [homes] and [printers] sections will be considered normal.
     The letter G in parentheses indicates that a parameter is specific  to  the
     [global]  section. The letter S indicates that a parameter can be specified
     in a service specific section. All S parameters can also  be  specified  in
     the  [global] section - in which case they will define the default behavior
     for all services.

     Parameters are arranged here in alphabetical order - this	may  not  create
     best  bedfellows, but at least you can find them! Where there are synonyms,
     the preferred synonym is described, others refer to the preferred synonym.

VARIABLE SUBSTITUTIONS
     Many of the strings that are settable in the config file can take substitu-
     tions. For example the option "path = /tmp/%u" is interpreted  as	"path  =
     /tmp/john" if the user connected with the username john.

     These  substitutions  are mostly noted in the descriptions below, but there
     are some general substitutions which apply whenever they might be relevant.
     These are:

     %U
	 session username (the username that the client wanted, not  necessarily
	 the same as the one they got).

     %G
	 primary group name of %U.

     %h
	 the Internet hostname that Samba is running on.

     %m
	 the NetBIOS name of the client machine (very useful).

	 This  parameter  is  not  available  when Samba listens on port 445, as
	 clients no longer send this information. If you use this  macro  in  an
	 include  statement  on  a  domain that has a Samba domain controller be
	 sure to set in the [global] section smb ports = 139.  This  will  cause
	 Samba	to  not listen on port 445 and will permit include functionality
	 to function as it did with Samba 2.x.

     %L
	 the NetBIOS name of the server. This allows you to change  your  config
	 based	on  what the client calls you. Your server can have a "dual per-
	 sonality".

     %M
	 the Internet name of the client machine.

     %R
	 the selected protocol level after protocol negotiation. It can  be  one
	 of  CORE,  COREPLUS,  LANMAN1, LANMAN2, NT1, SMB2_02, SMB2_10, SMB2_22,
	 SMB2_24, SMB3_00, SMB3_02, SMB3_10, SMB3_11 or SMB2_FF.

     %d
	 the process id of the current server process.

     %a
	 The architecture of the remote machine. It currently  recognizes  Samba
	 (Samba),  the	Linux  CIFS  file system (CIFSFS), OS/2, (OS2), Mac OS X
	 (OSX), Windows for Workgroups (WfWg), Windows 9x/ME (Win95), Windows NT
	 (WinNT),  Windows  2000  (Win2K),  Windows  XP  (WinXP),   Windows   XP
	 64-bit(WinXP64),  Windows  2003  including 2003R2 (Win2K3), and Windows
	 Vista (Vista). Anything else will be known as UNKNOWN.

     %I
	 the IP address of the client machine.

	 Before 4.0.0 it could contain IPv4 mapped IPv6 addresses, now	it  only
	 contains IPv4 or IPv6 addresses.

     %i
	 the local IP address to which a client connected.

	 Before  4.0.0	it could contain IPv4 mapped IPv6 addresses, now it only
	 contains IPv4 or IPv6 addresses.

     %T
	 the current date and time.

     %D
	 name of the domain or workgroup of the current user.

     %w
	 the winbind separator.

     %$(envvar)
	 the value of the environment variable envar.

     The following substitutes apply only to some  configuration  options  (only
     those that are used when a connection has been established):

     %S
	 the name of the current service, if any.

     %P
	 the root directory of the current service, if any.

     %u
	 username of the current service, if any.

     %g
	 primary group name of %u.

     %H
	 the home directory of the user given by %u.

     %N
	 the  name of your NIS home directory server. This is obtained from your
	 NIS auto.map entry. If you have not compiled Samba with the  --with-au-
	 tomount option, this value will be the same as %L.

     %p
	 the  path  of	the  service's	home  directory,  obtained from your NIS
	 auto.map entry. The NIS auto.map entry is split up as %N:%p.

     There are some quite creative things that can be done with these  substitu-
     tions and other smb.conf options.

NAME MANGLING
     Samba  supports name mangling so that DOS and Windows clients can use files
     that don't conform to the 8.3 format. It can also be set to adjust the case
     of 8.3 format filenames.

     There are several options that control the way mangling is  performed,  and
     they  are grouped here rather than listed separately. For the defaults look
     at the output of the testparm program.

     These options can be set separately for each service.

     The options are:

     case sensitive = yes/no/auto
	 controls whether filenames are case sensitive. If  they  aren't,  Samba
	 must  do  a filename search and match on passed names. The default set-
	 ting of auto allows  clients  that  support  case  sensitive  filenames
	 (Linux  CIFSVFS  and  smbclient  3.0.5 and above currently) to tell the
	 Samba server on a per-packet basis that they wish to  access  the  file
	 system  in  a case-sensitive manner (to support UNIX case sensitive se-
	 mantics). No Windows or DOS system supports case-sensitive filename  so
	 setting  this option to auto is that same as setting it to no for them.
	 Default auto.

     default case = upper/lower
	 controls what the default case is for new  filenames  (ie.  files  that
	 don't	currently  exist  in  the  filesystem). Default lower. IMPORTANT
	 NOTE: As part of the optimizations  for  directories  containing  large
	 numbers  of  files,  the following special case applies. If the options
	 case sensitive = yes, preserve case = No, and short preserve case =  No
	 are  set,  then the case of all incoming client filenames, not just new
	 filenames, will be modified. See additional notes below.

     preserve case = yes/no
	 controls whether new files (ie. files that don't currently exist in the
	 filesystem) are created with the case that the  client  passes,  or  if
	 they are forced to be the default case. Default yes.

     short preserve case = yes/no
	 controls  if  new  files  (ie.  files that don't currently exist in the
	 filesystem) which conform to 8.3 syntax, that is all in upper case  and
	 of suitable length, are created upper case, or if they are forced to be
	 the  default  case. This option can be used with preserve case = yes to
	 permit long filenames to retain their case, while short names are  low-
	 ercased. Default yes.

     By  default,  Samba  3.0  has the same semantics as a Windows NT server, in
     that it is case insensitive but case preserving. As a special case for  di-
     rectories	with large numbers of files, if the case options are set as fol-
     lows, "case sensitive = yes", "case preserve = no", "short preserve case  =
     no"  then	the  "default  case"  option will be applied and will modify all
     filenames sent from the client when accessing this share.

REGISTRY-BASED CONFIGURATION
     Starting with Samba version 3.2.0, the capability to store Samba configura-
     tion in the registry is available. The configuration is stored in the  reg-
     istry  key  HKLM\Software\Samba\smbconf.  There  are two levels of registry
     configuration:

      1. Share definitions stored in registry are used.  This  is  triggered  by
	 setting the global parameter registry shares to "yes" in smb.conf.

	 The  registry shares are loaded not at startup but on demand at runtime
	 by smbd. Shares defined in smb.conf take priority over  shares  of  the
	 same name defined in registry.

       2. Global smb.conf options stored in registry are used. This can be acti-
	 vated in two different ways:

	 Firstly, a registry only configuration is triggered by  setting  config
	 backend  =  registry  in  the [global] section of smb.conf. This resets
	 everything that has been read from config files to this point and reads
	 the content of the global configuration section from the registry. This
	 is the recommended method of using registry based configuration.

	 Secondly, a mixed configuration can be activated by a special new mean-
	 ing of the parameter include = registry  in  the  [global]  section  of
	 smb.conf.  This  reads  the  global options from registry with the same
	 priorities as for an include of a text file.  This  may  be  especially
	 useful  in cases where an initial configuration is needed to access the
	 registry.

	 Activation of global registry options automatically activates	registry
	 shares. So in the registry only case, shares are loaded on demand only.

     Note: To make registry-based configurations foolproof at least to a certain
     extent,  the  use	of lock directory and config backend inside the registry
     configuration has been disabled: Especially by changing the lock  directory
     inside  the  registry  configuration, one would create a broken setup where
     the daemons do not see the configuration they loaded once it is active.

     The registry configuration can be accessed with tools like regedit  or  net
     (rpc)  registry  in the key HKLM\Software\Samba\smbconf. More conveniently,
     the conf subcommand of the net(8) utility offers a dedicated  interface  to
     read  and write the registry based configuration locally, i.e. directly ac-
     cessing the database file, circumventing the server.

EXPLANATION OF EACH PARAMETER
     abort shutdown script (G)

	 This a full path name to a script called by smbd(8) that should stop  a
	 shutdown procedure issued by the shutdown script.

	 If  the  connected user possesses the SeRemoteShutdownPrivilege, right,
	 this command will be run as root.

	 Default: abort shutdown script = ""

	 Example: abort shutdown script = /sbin/shutdown -c

     access based share enum (S)

	 If this parameter is yes for a service, then the share  hosted  by  the
	 service  will only be visible to users who have read or write access to
	 the share  during  share  enumeration	(for  example  net  view  \\sam-
	 baserver).  The  share ACLs which allow or deny the access to the share
	 can be modified using for example the sharesec command or using the ap-
	 propriate Windows tools. This has parallels to  access  based	enumera-
	 tion,	the main difference being that only share permissions are evalu-
	 ated, and security descriptors on files contained on the share are  not
	 used in computing enumeration access rights.

	 Default: access based share enum = no

     acl allow execute always (S)

	 This boolean parameter controls the behaviour of smbd(8) when receiving
	 a  protocol request of "open for execution" from a Windows client. With
	 Samba 3.6 and older, the execution right in the ACL was not checked, so
	 a client could execute a file even if it did not have execute rights on
	 the file. In Samba 4.0, this has been fixed, so that by  default,  i.e.
	 when  this parameter is set to "False", "open for execution" is now de-
	 nied when execution permissions are not present.

	 If this parameter is set to "True", Samba does not check  execute  per-
	 missions on "open for execution", thus re-establishing the behaviour of
	 Samba	3.6.  This  can  be useful to smoothen upgrades from older Samba
	 versions to 4.0 and newer. This setting is not meant to be  used  as  a
	 permanent  setting, but as a temporary relief: It is recommended to fix
	 the permissions in the ACLs and reset this parameter to the default af-
	 ter a certain transition period.

	 Default: acl allow execute always = no

     acl check permissions (S)

	 Please note this parameter is now deprecated in Samba 3.6.2 and will be
	 removed in a future version of Samba.

	 This boolean parameter controls what smbd(8) does on receiving a proto-
	 col request of "open for delete" from a Windows client.  If  a  Windows
	 client  doesn't have permissions to delete a file then they expect this
	 to be denied at open time. POSIX systems normally only detect	restric-
	 tions on delete by actually attempting to delete the file or directory.
	 As  Windows  clients can (and do) "back out" a delete request by unset-
	 ting the "delete on close" bit Samba cannot delete the file immediately
	 on "open for delete" request as we cannot restore such a deleted  file.
	 With this parameter set to true (the default) then smbd checks the file
	 system permissions directly on "open for delete" and denies the request
	 without actually deleting the file if the file system permissions would
	 seem  to  deny  it.  This is not perfect, as it's possible a user could
	 have deleted a file without Samba being able to check	the  permissions
	 correctly,  but it is close enough to Windows semantics for mostly cor-
	 rect behaviour. Samba will correctly check POSIX ACL semantics in  this
	 case.

	 If  this parameter is set to "false" Samba doesn't check permissions on
	 "open for delete" and allows the open. If the user doesn't have permis-
	 sion to delete the file this will only be  discovered	at  close  time,
	 which	is  too late for the Windows user tools to display an error mes-
	 sage to the user. The symptom of this is files that appear to have been
	 deleted "magically" re-appearing on a Windows explorer refresh. This is
	 an extremely advanced protocol option	which  should  not  need  to  be
	 changed.  This parameter was introduced in its final form in 3.0.21, an
	 earlier version with slightly different  semantics  was  introduced  in
	 3.0.20. That older version is not documented here.

	 Default: acl check permissions = yes

     acl group control (S)

	 In  a	POSIX  filesystem, only the owner of a file or directory and the
	 superuser can modify the permissions and ACLs on a file. If this  para-
	 meter	is  set,  then Samba overrides this restriction, and also allows
	 the primary group owner of a file or directory to  modify  the  permis-
	 sions and ACLs on that file.

	 On  a	Windows server, groups may be the owner of a file or directory -
	 thus allowing anyone in that group to modify  the  permissions  on  it.
	 This  allows  the  delegation	of  security  controls on a point in the
	 filesystem to the group owner of a directory and anything below it also
	 owned by that group. This means there are multiple people with  permis-
	 sions to modify ACLs on a file or directory, easing manageability.

	 This  parameter  allows  Samba to also permit delegation of the control
	 over a point in the exported directory hierarchy in much the  same  way
	 as Windows. This allows all members of a UNIX group to control the per-
	 missions on a file or directory they have group ownership on.

	 This parameter is best used with the inherit owner option and also on a
	 share	containing  directories  with  the  UNIX setgid bit set on them,
	 which causes new files and directories created within it to inherit the
	 group ownership from the containing directory.

	 This parameter was deprecated in  Samba  3.0.23,  but	re-activated  in
	 Samba	3.0.31	and above, as it now only controls permission changes if
	 the user is in the owning primary group. It is now no longer equivalent
	 to the dos filemode option.

	 Default: acl group control = no

     acl map full control (S)

	 This boolean parameter controls whether smbd(8) maps a POSIX ACE  entry
	 of  "rwx"  (read/write/execute),  the	maximum allowed POSIX permission
	 set, into a Windows ACL of "FULL CONTROL". If this parameter is set  to
	 true  any POSIX ACE entry of "rwx" will be returned in a Windows ACL as
	 "FULL CONTROL", is this parameter is set to false any POSIX  ACE  entry
	 of "rwx" will be returned as the specific Windows ACL bits representing
	 read, write and execute.

	 Default: acl map full control = yes

     add group script (G)

	 This  is  the	full  pathname	to  a script that will be run AS ROOT by
	 smbd(8) when a new group is requested. It will expand	any  %g  to  the
	 group	name  passed. This script is only useful for installations using
	 the Windows NT domain administration tools. The script is free to  cre-
	 ate  a  group	with an arbitrary name to circumvent unix group name re-
	 strictions. In that case the script must print the numeric gid  of  the
	 created group on stdout.

	 Default: add group script =

	 Example: add group script = /usr/sbin/groupadd %g

     add machine script (G)

	 This  is the full pathname to a script that will be run by smbd(8) when
	 a machine is added to Samba's domain and a Unix  account  matching  the
	 machine's name appended with a "$" does not already exist.

	 This  option  is very similar to the add user script, and likewise uses
	 the %u substitution for the account name. Do not use the  %m  substitu-
	 tion.

	 Default: add machine script =

	 Example:  add	machine script = /usr/sbin/adduser -n -g machines -c Ma-
	 chine -d /var/lib/nobody -s /bin/false %u

     addport command (G)

	 Samba 3.0.23 introduced support for adding printer ports remotely using
	 the Windows "Add Standard TCP/IP Port Wizard". This option  defines  an
	 external  program  to be executed when smbd receives a request to add a
	 new Port to the system. The script is passed two parameters:

	 *   port name

	 *   device URI

     The deviceURI is in the  format  of  socket://<hostname>[:<portnumber>]  or
     lpd://<hostname>/<queuename>.

     Default: addport command =

     Example: addport command = /etc/samba/scripts/addport.sh

     addprinter command (G)

	 With  the  introduction  of  MS-RPC  based printing support for Windows
	 NT/2000 clients in Samba 2.2, The MS Add Printer Wizard (APW)	icon  is
	 now  also available in the "Printers..." folder displayed a share list-
	 ing. The APW allows for printers to be add remotely to a Samba or  Win-
	 dows NT/2000 print server.

	 For  a  Samba host this means that the printer must be physically added
	 to the underlying printing system. The  addprinter  command  defines  a
	 script to be run which will perform the necessary operations for adding
	 the printer to the print system and to add the appropriate service def-
	 inition to the smb.conf file in order that it can be shared by smbd(8).

	 The  addprinter command is automatically invoked with the following pa-
	 rameter (in order):

	 *   printer name

	 *   share name

	 *   port name

	 *   driver name

	 *   location

	 *   Windows 9x driver location

     All parameters are filled in from the PRINTER_INFO_2 structure sent by  the
     Windows NT/2000 client with one exception. The "Windows 9x driver location"
     parameter	is  included  for  backwards  compatibility  only. The remaining
     fields in the structure are generated from answers to the APW questions.

     Once the addprinter command  has  been  executed,	smbd  will  reparse  the
     smb.conf to determine if the share defined by the APW exists. If the share-
     name  is still invalid, then smbd will return an ACCESS_DENIED error to the
     client.

     The addprinter command program can output a  single  line	of  text,  which
     Samba  will  set  as the port the new printer is connected to. If this line
     isn't output, Samba won't reload its printer shares.

     Default: addprinter command =

     Example: addprinter command = /usr/bin/addprinter

     add share command (G)

	 Samba 2.2.0 introduced the ability to dynamically add and delete shares
	 via the Windows NT 4.0 Server Manager. The add share command is used to
	 define an external program or script which will add a new service defi-
	 nition to smb.conf.

	 In order to successfully execute the add share command,  smbd	requires
	 that the administrator connects using a root account (i.e. uid == 0) or
	 has  the SeDiskOperatorPrivilege. Scripts defined in the add share com-
	 mand parameter are executed as root.

	 When executed, smbd will automatically invoke	the  add  share  command
	 with five parameters.

	 *   configFile - the location of the global smb.conf file.

	 *   shareName - the name of the new share.

	 *   pathName - path to an **existing** directory on disk.

	 *   comment - comment string to associate with the new share.

	 *   max  connections Number of maximum simultaneous connections to this
	     share.

     This parameter is only used to add file shares. To add printer shares,  see
     the addprinter command.

     Default: add share command =

     Example: add share command = /usr/local/bin/addshare

     add user script (G)

	 This  is  the	full  pathname	to  a script that will be run AS ROOT by
	 smbd(8) under special circumstances described below.

	 Normally, a Samba server requires that UNIX users are created	for  all
	 users accessing files on this server. For sites that use Windows NT ac-
	 count databases as their primary user database creating these users and
	 keeping  the  user  list  in sync with the Windows NT PDC is an onerous
	 task. This option allows smbd to create the required UNIX users ON  DE-
	 MAND when a user accesses the Samba server.

	 When  the  Windows  user  attempts to access the Samba server, at login
	 (session setup in the SMB protocol) time, smbd(8) contacts the password
	 server and attempts to authenticate the given user with the given pass-
	 word. If the authentication succeeds then smbd attempts to find a  UNIX
	 user  in  the	UNIX  password database to map the Windows user into. If
	 this lookup fails, and add user script is set then smbd will  call  the
	 specified script AS ROOT, expanding any %u argument to be the user name
	 to create.

	 If this script successfully creates the user then smbd will continue on
	 as  though  the  UNIX user already existed. In this way, UNIX users are
	 dynamically created to match existing Windows NT accounts.

	 See also security, password server, delete user script.

	 Default: add user script =

	 Example: add user script = /usr/local/samba/bin/add_user %u

     add user to group script (G)

	 Full path to the script that will be called when a user is added  to  a
	 group	using the Windows NT domain administration tools. It will be run
	 by smbd(8)AS ROOT. Any %g will be replaced with the group name and  any
	 %u will be replaced with the user name.

	 Note  that  the adduser command used in the example below does not sup-
	 port the used syntax on all systems.

	 Default: add user to group script =

	 Example: add user to group script = /usr/sbin/adduser %u %g

     administrative share (S)

	 If this parameter is set to yes for a share, then the share will be  an
	 administrative share. The Administrative Shares are the default network
	 shares  created  by  all  Windows NT-based operating systems. These are
	 shares like C$, D$ or ADMIN$. The type of these shares  is  STYPE_DISK-
	 TREE_HIDDEN.

	 See  the  section below on security for more information about this op-
	 tion.

	 Default: administrative share = no

     admin users (S)

	 This is a list of users who will be granted  administrative  privileges
	 on  the  share. This means that they will do all file operations as the
	 super-user (root).

	 You should use this option very carefully, as any  user  in  this  list
	 will  be  able  to  do anything they like on the share, irrespective of
	 file permissions.

	 Default: admin users =

	 Example: admin users = jason

     afs share (S)

	 This parameter controls whether special AFS features  are  enabled  for
	 this  share. If enabled, it assumes that the directory exported via the
	 path parameter is a local AFS import. The special AFS features  include
	 the   attempt	 to   hand-craft   an	AFS   token   if   you	 enabled
	 --with-fake-kaserver in configure.

	 Default: afs share = no

     afs token lifetime (G)

	 This  parameter  controls  the  lifetime  of  tokens	that   the   AFS
	 fake-kaserver	claims.  In reality these never expire but this lifetime
	 controls when the afs client will forget the token.

	 Set this parameter to 0 to get NEVERDATE.

	 Default: afs token lifetime = 604800

     afs username map (G)

	 If you are using the fake kaserver  AFS  feature,  you  might	want  to
	 hand-craft  the usernames you are creating tokens for. For example this
	 is necessary if you have users from several domain in your AFS  Protec-
	 tion  Database.  One possible scheme to code users as DOMAIN+User as it
	 is done by winbind with the + as a separator.

	 The mapped user name must contain the cell name to log into, so without
	 setting this parameter there will be no token.

	 Default: afs username map =

	 Example: afs username map = %u@afs.samba.org

     aio read size (S)

	 If Samba has been built with asynchronous I/O support and this  integer
	 parameter is set to non-zero value, Samba will read from file asynchro-
	 nously  when  size  of  request is bigger than this value. Note that it
	 happens only for non-chained and non-chaining reads and when not  using
	 write cache.

	 Current  implementation  of  asynchronous I/O in Samba 3.0 does support
	 only up to 10 outstanding asynchronous requests, read	and  write  com-
	 bined.

	 Related command: write cache size

	 Related command: aio write size

	 Default: aio read size = 0

	 Example:  aio read size = 16384 # Use asynchronous I/O for reads bigger
	 than 16KB request size

     aio write behind (S)

	 If Samba has been built with asynchronous I/O support, Samba  will  not
	 wait  until  write requests are finished before returning the result to
	 the client for files listed in this parameter. Instead, Samba will  im-
	 mediately return that the write request has been finished successfully,
	 no  matter  if  the  operation will succeed or not. This might speed up
	 clients without aio support, but  is  really  dangerous,  because  data
	 could be lost and files could be damaged.

	 The syntax is identical to the veto files parameter.

	 Default: aio write behind =

	 Example: aio write behind = /*.tmp/

     aio write size (S)

	 If  Samba has been built with asynchronous I/O support and this integer
	 parameter is set to non-zero value, Samba will write to file  asynchro-
	 nously  when  size  of  request is bigger than this value. Note that it
	 happens only for non-chained and non-chaining reads and when not  using
	 write cache.

	 Current  implementation  of  asynchronous I/O in Samba 3.0 does support
	 only up to 10 outstanding asynchronous requests, read	and  write  com-
	 bined.

	 Related command: write cache size

	 Related command: aio read size

	 Default: aio write size = 0

	 Example:  aio write size = 16384 # Use asynchronous I/O for writes big-
	 ger than 16KB request size

     algorithmic rid base (G)

	 This determines  how  Samba  will  use  its  algorithmic  mapping  from
	 uids/gid to the RIDs needed to construct NT Security Identifiers.

	 Setting  this option to a larger value could be useful to sites transi-
	 tioning from WinNT and Win2k, as existing user  and  group  rids  would
	 otherwise clash with system users etc.

	 All UIDs and GIDs must be able to be resolved into SIDs for the correct
	 operation  of ACLs on the server. As such the algorithmic mapping can't
	 be 'turned off', but pushing it 'out of the way' should resolve the is-
	 sues. Users and groups can then be assigned 'low' RIDs in arbitrary-rid
	 supporting backends.

	 Default: algorithmic rid base = 1000

	 Example: algorithmic rid base = 100000

     allocation roundup size (S)

	 This parameter allows an administrator to tune the allocation size  re-
	 ported to Windows clients. The default size of 1Mb generally results in
	 improved  Windows  client performance. However, rounding the allocation
	 size may cause difficulties for some applications, e.g. MS Visual  Stu-
	 dio.  If the MS Visual Studio compiler starts to crash with an internal
	 error, set this parameter to zero for this share.

	 The integer parameter specifies the roundup size in bytes.

	 Default: allocation roundup size = 1048576

	 Example: allocation roundup size = 0 # (to disable roundups)

     allow dns updates (G)

	 This option determines what kind of updates to the DNS are allowed.

	 DNS updates can either be disallowed completely by setting it	to  dis-
	 abled,  enabled  over	secure	connections only by setting it to secure
	 only or allowed in all cases by setting it to nonsecure.

	 Default: allow dns updates = secure only

	 Example: allow dns updates = disabled

     allow insecure wide links (G)

	 In normal operation the option wide links which allows  the  server  to
	 follow  symlinks outside of a share path is automatically disabled when
	 unix extensions are enabled on a Samba server. This is done  for  secu-
	 rity purposes to prevent UNIX clients creating symlinks to areas of the
	 server file system that the administrator does not wish to export.

	 Setting  allow  insecure  wide  links to true disables the link between
	 these two parameters, removing this protection and allowing a	site  to
	 configure  the  server  to  follow  symlinks  (by setting wide links to
	 "true") even when unix extensions is turned on.

	 If is not recommended to enable this option unless you fully understand
	 the implications of allowing the server to follow symbolic  links  cre-
	 ated  by  UNIX clients. For most normal Samba configurations this would
	 be considered a security hole and setting this parameter is not  recom-
	 mended.

	 This  option was added at the request of sites who had deliberately set
	 Samba up in this way and needed to continue supporting this functional-
	 ity without having to patch the Samba code.

	 Default: allow insecure wide links = no

     allow nt4 crypto (G)

	 This option controls whether the netlogon  server  (currently	only  in
	 'active  directory  domain controller' mode), will reject clients which
	 does  not  support   NETLOGON_NEG_STRONG_KEYS	 nor   NETLOGON_NEG_SUP-
	 PORTS_AES.

	 This  option  was added with Samba 4.2.0. It may lock out clients which
	 worked fine with Samba versions up to 4.1.x. as the  effective  default
	 was "yes" there, while it is "no" now.

	 If  you  have clients without RequireStrongKey = 1 in the registry, you
	 may need to set "allow nt4 crypto = yes",  until  you	have  fixed  all
	 clients.

	 "allow nt4 crypto = yes" allows weak crypto to be negotiated, maybe via
	 downgrade attacks.

	 This option yields precedence to the 'reject md5 clients' option.

	 Default: allow nt4 crypto = no

     allow trusted domains (G)

	 This  option  only  takes  effect  when  the  security option is set to
	 server, domain or ads. If it is set to no, then attempts to connect  to
	 a  resource from a domain or workgroup other than the one which smbd is
	 running in will fail, even if that domain  is	trusted  by  the  remote
	 server doing the authentication.

	 This is useful if you only want your Samba server to serve resources to
	 users	in  the  domain  it  is a member of. As an example, suppose that
	 there are two domains DOMA and DOMB. DOMB is  trusted	by  DOMA,  which
	 contains  the	Samba server. Under normal circumstances, a user with an
	 account in DOMB can then access the resources of a  UNIX  account  with
	 the  same  account name on the Samba server even if they do not have an
	 account in DOMA. This can make implementing a security boundary  diffi-
	 cult.

	 Default: allow trusted domains = yes

     async smb echo handler (G)

	 This  parameter  specifies whether Samba should fork the async smb echo
	 handler. It can be beneficial if your file system  can  block	syscalls
	 for  a  very  long time. In some circumstances, it prolongs the timeout
	 that Windows uses to determine whether a connection is dead.

	 Default: async smb echo handler = no

     auth methods (G)

	 This option allows the administrator to chose what authentication meth-
	 ods smbd will use when authenticating a user. This option  defaults  to
	 sensible  values  based on security. This should be considered a devel-
	 oper option and used only in rare circumstances. In  the  majority  (if
	 not all) of production servers, the default setting should be adequate.

	 Each entry in the list attempts to authenticate the user in turn, until
	 the  user authenticates. In practice only one method will ever actually
	 be able to complete the authentication.

	 Possible options include guest (anonymous access), sam (lookups in  lo-
	 cal  list  of	accounts  based on netbios name or domain name), winbind
	 (relay authentication requests for remote users through winbindd),  nt-
	 domain  (pre-winbindd method of authentication for remote domain users;
	 deprecated in favour  of  winbind  method),  trustdomain  (authenticate
	 trusted  users  by  contacting the remote DC directly from smbd; depre-
	 cated in favour of winbind method).

	 Default: auth methods =

	 Example: auth methods = guest sam winbind

     available (S)

	 This parameter lets you "turn off" a service. If available =  no,  then
	 ALL  attempts	to  connect  to the service will fail. Such failures are
	 logged.

	 Default: available = yes

     bind interfaces only (G)

	 This global parameter allows the Samba admin to limit	what  interfaces
	 on  a	machine will serve SMB requests. It affects file service smbd(8)
	 and name service nmbd(8) in a slightly different ways.

	 For name service it causes nmbd to bind to ports 137 and 138 on the in-
	 terfaces listed in the interfaces parameter.  nmbd also  binds  to  the
	 "all  addresses"  interface (0.0.0.0) on ports 137 and 138 for the pur-
	 poses of reading broadcast messages. If this option  is  not  set  then
	 nmbd will service name requests on all of these sockets. If bind inter-
	 faces	only is set then nmbd will check the source address of any pack-
	 ets coming in on the broadcast sockets and discard any that don't match
	 the broadcast addresses of the interfaces in the  interfaces  parameter
	 list.	As  unicast  packets are received on the other sockets it allows
	 nmbd to refuse to serve names to machines that send packets that arrive
	 through any interfaces not listed in the interfaces list. IP Source ad-
	 dress spoofing does defeat this simple check, however, so it  must  not
	 be used seriously as a security feature for nmbd.

	 For  file  service it causes smbd(8) to bind only to the interface list
	 given in the interfaces parameter. This  restricts  the  networks  that
	 smbd  will  serve,  to packets coming in on those interfaces. Note that
	 you should not use this parameter for machines that are serving PPP  or
	 other	intermittent  or non-broadcast network interfaces as it will not
	 cope with non-permanent interfaces.

	 If bind interfaces only is set and the network address 127.0.0.1 is not
	 added to the interfaces parameter list smbpasswd(8) may not work as ex-
	 pected due to the reasons covered below.

	 To change a users SMB password, the smbpasswd by  default  connects  to
	 the  localhost  - 127.0.0.1 address as an SMB client to issue the pass-
	 word change request. If bind interfaces only is  set  then  unless  the
	 network  address  127.0.0.1  is  added to the interfaces parameter list
	 then smbpasswd will fail to connect in it's  default  mode.   smbpasswd
	 can  be forced to use the primary IP interface of the local host by us-
	 ing its smbpasswd(8)-r remote machine parameter,  with  remote  machine
	 set to the IP name of the primary interface of the local host.

	 Default: bind interfaces only = no

     blocking locks (S)

	 This parameter controls the behavior of smbd(8) when given a request by
	 a  client  to obtain a byte range lock on a region of an open file, and
	 the request has a time limit associated with it.

	 If this parameter is set and the lock range requested cannot be immedi-
	 ately satisfied, samba will internally queue the lock request, and  pe-
	 riodically attempt to obtain the lock until the timeout period expires.

	 If this parameter is set to no, then samba will behave as previous ver-
	 sions	of Samba would and will fail the lock request immediately if the
	 lock range cannot be obtained.

	 Default: blocking locks = yes

     block size (S)

	 This parameter controls the behavior of  smbd(8)  when  reporting  disk
	 free sizes. By default, this reports a disk block size of 1024 bytes.

	 Changing  this  parameter  may  have  some  effect on the efficiency of
	 client writes, this is not yet confirmed. This parameter was  added  to
	 allow	advanced administrators to change it (usually to a higher value)
	 and test the effect it has on client write performance without  re-com-
	 piling the code. As this is an experimental option it may be removed in
	 a future release.

	 Changing this option does not change the disk free reporting size, just
	 the block size unit reported to the client.

	 Default: block size = 1024

	 Example: block size = 4096

     browsable

	 This parameter is a synonym for browseable.

     browseable (S)

	 This  controls  whether  this	share  is  seen in the list of available
	 shares in a net view and in the browse list.

	 Default: browseable = yes

     browse list (G)

	 This controls whether smbd(8) will serve a browse list to a client  do-
	 ing a NetServerEnum call. Normally set to yes. You should never need to
	 change this.

	 Default: browse list = yes

     cache directory (G)

	 Usually,  most of the TDB files are stored in the lock directory. Since
	 Samba 3.4.0, it is possible to differentiate  between	TDB  files  with
	 persistent  data and TDB files with non-persistent data using the state
	 directory and the cache directory options.

	 This option specifies the directory where TDB files containing non-per-
	 sistent data will be stored.

	 Default: cache directory = ${prefix}/var/cache

	 Example: cache directory = /var/run/samba/locks/cache

     casesignames

	 This parameter is a synonym for case sensitive.

     case sensitive (S)

	 See the discussion in the section name mangling.

	 Default: case sensitive = auto

     change notify (G)

	 This parameter specifies whether Samba should reply to a client's  file
	 change notify requests.

	 You should never need to change this parameter

	 Default: change notify = yes

     change share command (G)

	 Samba 2.2.0 introduced the ability to dynamically add and delete shares
	 via the Windows NT 4.0 Server Manager. The change share command is used
	 to  define  an external program or script which will modify an existing
	 service definition in smb.conf.

	 In order to successfully execute the change  share  command,  smbd  re-
	 quires  that  the administrator connects using a root account (i.e. uid
	 == 0) or has the SeDiskOperatorPrivilege. Scripts defined in the change
	 share command parameter are executed as root.

	 When executed, smbd will automatically invoke the change share  command
	 with six parameters.

	 *   configFile - the location of the global smb.conf file.

	 *   shareName - the name of the new share.

	 *   pathName - path to an **existing** directory on disk.

	 *   comment - comment string to associate with the new share.

	 *   max  connections Number of maximum simultaneous connections to this
	     share.

	 *   CSC policy - client side caching policy in string form. Valid  val-
	     ues are: manual, documents, programs, disable.

     This  parameter  is only used to modify existing file share definitions. To
     modify printer shares, use the "Printers..." folder as seen  when	browsing
     the Samba host.

     Default: change share command =

     Example: change share command = /usr/local/bin/changeshare

     check password script (G)

	 The  name  of	a program that can be used to check password complexity.
	 The password is sent to the program's standard input.

	 The program must return 0 on a good password, or any other value if the
	 password is bad. In case the password is considered weak  (the  program
	 does  not  return  0) the user will be notified and the password change
	 will fail.

	 Note: In the example directory is a sample  program  called  crackcheck
	 that uses cracklib to check the password quality.

	 Default: check password script =  # Disabled

	 Example: check password script = /usr/local/sbin/crackcheck

     cldap port (G)

	 This option controls the port used by the CLDAP protocol.

	 Default: cldap port = 389

	 Example: cldap port = 3389

     client lanman auth (G)

	 This  parameter  determines whether or not smbclient(8) and other samba
	 client tools will attempt to authenticate itself to servers  using  the
	 weaker  LANMAN password hash. If disabled, only server which support NT
	 password hashes (e.g. Windows NT/2000, Samba, etc...  but  not  Windows
	 95/98) will be able to be connected from the Samba client.

	 The  LANMAN encrypted response is easily broken, due to its case-insen-
	 sitive nature, and the choice of  algorithm.  Clients	without  Windows
	 95/98 servers are advised to disable this option.

	 Disabling  this  option will also disable the client plaintext auth op-
	 tion.

	 Likewise, if the client ntlmv2 auth parameter	is  enabled,  then  only
	 NTLMv2 logins will be attempted.

	 Default: client lanman auth = no

     client ldap sasl wrapping (G)

	 The  client  ldap  sasl  wrapping  defines whether ldap traffic will be
	 signed or signed and encrypted (sealed).  Possible  values  are  plain,
	 sign and seal.

	 The  values sign and seal are only available if Samba has been compiled
	 against a modern OpenLDAP version (2.3.x or higher).

	 This option is needed in the case of Domain Controllers  enforcing  the
	 usage	of  signed  LDAP  connections (e.g. Windows 2000 SP3 or higher).
	 LDAP sign and seal can be controlled with the registry  key  "HKLM\Sys-
	 tem\CurrentControlSet\Services\NTDS\Parameters\LDAPServerIntegrity"  on
	 the Windows server side.

	 Depending on the used KRB5 library (MIT and older Heimdal versions)  it
	 is possible that the message "integrity only" is not supported. In this
	 case, sign is just an alias for seal.

	 The default value is sign. That implies synchronizing the time with the
	 KDC in the case of using Kerberos.

	 Default: client ldap sasl wrapping = sign

     client max protocol (G)

	 The  value  of  the  parameter (a string) is the highest protocol level
	 that will be supported by the client.

	 Possible values are :

	 *   CORE: Earliest version. No concept of user names.

	 *   COREPLUS: Slight improvements on CORE for efficiency.

	 *   LANMAN1: First modern version of the protocol. Long  filename  sup-
	     port.

	 *   LANMAN2: Updates to Lanman1 protocol.

	 *   NT1:  Current  up	to date version of the protocol. Used by Windows
	     NT. Known as CIFS.

	 *   SMB2: Re-implementation of the SMB protocol. Used by Windows  Vista
	     and later versions of Windows. SMB2 has sub protocols available.

	     *	 SMB2_02: The earliest SMB2 version.

	     *	 SMB2_10: Windows 7 SMB2 version.

	     *	 SMB2_22: Early Windows 8 SMB2 version.

	     *	 SMB2_24: Windows 8 beta SMB2 version.

	 By default SMB2 selects the SMB2_10 variant.

     *	 SMB3:	The  same  as  SMB2.  Used  by Windows 8. SMB3 has sub protocols
	 available.

	 *   SMB3_00: Windows 8 SMB3 version. (mostly the same as SMB2_24)

	 *   SMB3_02: Windows 8.1 SMB3 version.

	 *   SMB3_10: early Windows 10 technical preview SMB3 version.

	 *   SMB3_11: Windows 10 technical preview SMB3 version (maybe final).

     By default SMB3 selects the SMB3_11 variant.

     Normally this option should not be set as the automatic  negotiation  phase
     in the SMB protocol takes care of choosing the appropriate protocol.

     The  value default refers to the default protocol in each part of the code,
     currently NT1 in the client tools and SMB3_02 in winbindd.

     Default: client max protocol = default

     Example: client max protocol = LANMAN1

     client min protocol (G)

	 This setting controls the minimum protocol version that the client will
	 attempt to use.

	 Normally this option should not be set  as  the  automatic  negotiation
	 phase in the SMB protocol takes care of choosing the appropriate proto-
	 col.

	 See  Related  command: client max protocol for a full list of available
	 protocols.

	 Default: client min protocol = CORE

	 Example: client min protocol = NT1

     client NTLMv2 auth (G)

	 This parameter determines whether or not smbclient(8) will  attempt  to
	 authenticate  itself to servers using the NTLMv2 encrypted password re-
	 sponse.

	 If enabled, only an NTLMv2 and LMv2 response  (both  much  more  secure
	 than  earlier	versions)  will  be sent. Older servers (including NT4 <
	 SP4, Win9x and Samba 2.2) are not compatible with NTLMv2 when not in an
	 NTLMv2 supporting domain

	 Similarly, if enabled, NTLMv1, client lanman auth and client  plaintext
	 auth  authentication  will  be disabled. This also disables share-level
	 authentication.

	 If disabled, an NTLM response (and possibly a LANMAN response) will  be
	 sent by the client, depending on the value of client lanman auth.

	 Note  that  Windows  Vista and later versions already use NTLMv2 by de-
	 fault, and some sites (particularly those following 'best practice' se-
	 curity polices) only allow NTLMv2 responses, and not the weaker  LM  or
	 NTLM.

	 Default: client NTLMv2 auth = yes

     client plaintext auth (G)

	 Specifies  whether  a	client	should	send a plaintext password if the
	 server does not support encrypted passwords.

	 Default: client plaintext auth = no

     client schannel (G)

	 This controls whether the client offers or even demands the use of  the
	 netlogon  schannel.   client schannel = no does not offer the schannel,
	 client schannel = auto offers the schannel but does not enforce it, and
	 client schannel = yes denies access if the server is not able to  speak
	 netlogon schannel.

	 Note  that  for  active  directory  domains this is hardcoded to client
	 schannel = yes.

	 This option yields precedence to the require strong key option.

	 Default: client schannel = auto

	 Example: client schannel = yes

     client signing (G)

	 This controls whether the client is allowed  or  required  to	use  SMB
	 signing. Possible values are auto, mandatory and disabled.

	 When  set to auto or default, SMB signing is offered, but not enforced,
	 except in winbindd, where it is enforced  to  Active  Directory  Domain
	 Controllers.

	 When  set to mandatory, SMB signing is required and if set to disabled,
	 SMB signing is not offered either.

	 Default: client signing = default

     client use spnego principal (G)

	 This parameter determines whether or not smbclient(8) and  other  samba
	 components  acting  as a client will attempt to use the server-supplied
	 principal sometimes given in the SPNEGO exchange.

	 If enabled, Samba can attempt to use Kerberos to contact servers  known
	 only  by  IP  address.  Kerberos  relies on names, so ordinarily cannot
	 function in this situation.

	 This is a VERY BAD IDEA for security reasons,	and  so  this  parameter
	 SHOULD NOT BE USED. It will be removed in a future version of Samba.

	 If  disabled,	Samba  will use the name used to look up the server when
	 asking the KDC for a ticket. This avoids situations where a server  may
	 impersonate  another,	soliciting authentication as one principal while
	 being known on the network as another.

	 Note that Windows XP SP2 and later versions already follow this  behav-
	 iour,	and  Windows  Vista  and  later  servers  no  longer supply this
	 'rfc4178 hint' principal on the server side.

	 This parameter is deprecated in Samba 4.2.1 and will be removed  (along
	 with the functionality) in a later release of Samba.

	 Default: client use spnego principal = no

     client use spnego (G)

	 This variable controls whether Samba clients will try to use Simple and
	 Protected NEGOciation (as specified by rfc2478) with supporting servers
	 (including  WindowsXP,  Windows2000 and Samba 3.0) to agree upon an au-
	 thentication mechanism. This enables Kerberos authentication in partic-
	 ular.

	 Default: client use spnego = yes

     cluster addresses (G)

	 With this parameter you can add additional addresses nmbd will register
	 with a WINS server. These addresses are not necessarily present on  all
	 nodes	simultaneously, but they will be registered with the WINS server
	 so that clients can contact any of the nodes.

	 Default: cluster addresses =

	 Example: cluster addresses = 10.0.0.1 10.0.0.2 10.0.0.3

     clustering (G)

	 This parameter specifies whether Samba should contact ctdb for  access-
	 ing its tdb files and use ctdb as a backend for its messaging backend.

	 Set  this  parameter  to yes only if you have a cluster setup with ctdb
	 running.

	 Default: clustering = no

     comment (S)

	 This is a text field that is seen next to a share when a client does  a
	 queries the server, either via the network neighborhood or via net view
	 to list what shares are available.

	 If  you  want	to  set the string that is displayed next to the machine
	 name then see the server string parameter.

	 Default: comment =  # No comment

	 Example: comment = Fred's Files

     config backend (G)

	 This controls the backend for storing the configuration. Possible  val-
	 ues are file (the default) and registry. When config backend = registry
	 is encountered while loading smb.conf, the configuration read so far is
	 dropped  and the global options are read from registry instead. So this
	 triggers a registry only configuration. Share definitions are not  read
	 immediately but instead registry shares is set to yes.

	 Note:	This option can not be set inside the registry configuration it-
	 self.

	 Default: config backend = file

	 Example: config backend = registry

     config file (G)

	 This allows you to override the config file to use, instead of the  de-
	 fault	(usually  smb.conf).  There is a chicken and egg problem here as
	 this option is set in the config file!

	 For this reason, if the name of the config file has  changed  when  the
	 parameters  are  loaded  then	it  will reload them from the new config
	 file.

	 This option takes the usual substitutions, which can be very useful.

	 If the config file doesn't exist then it won't be loaded (allowing  you
	 to special case the config files of just a few clients).

	 No default

	 Example: config file = /usr/local/samba/lib/smb.conf.%m

     copy (S)

	 This  parameter  allows  you  to "clone" service entries. The specified
	 service is simply duplicated under the current service's name. Any  pa-
	 rameters  specified  in  the current section will override those in the
	 section being copied.

	 This feature lets you set up a 'template' service  and  create  similar
	 services  easily. Note that the service being copied must occur earlier
	 in the configuration file than the service doing the copying.

	 Default: copy =

	 Example: copy = otherservice

     create krb5 conf (G)

	 Setting this parameter to no  prevents  winbind  from	creating  custom
	 krb5.conf  files. Winbind normally does this because the krb5 libraries
	 are not AD-site-aware and thus would pick any domain controller out  of
	 potentially  very  many.  Winbind  is site-aware and makes the krb5 li-
	 braries use a local DC by creating its own krb5.conf files.

	 Preventing winbind from doing this might become necessary if  you  have
	 to add special options into your system-krb5.conf that winbind does not
	 see.

	 Default: create krb5 conf = yes

     create mode

	 This parameter is a synonym for create mask.

     create mask (S)

	 When  a  file	is created, the necessary permissions are calculated ac-
	 cording to the mapping from DOS modes to UNIX permissions, and the  re-
	 sulting  UNIX	mode  is then bit-wise 'AND'ed with this parameter. This
	 parameter may be thought of as a bit-wise MASK for the UNIX modes of  a
	 file. Any bit not set here will be removed from the modes set on a file
	 when it is created.

	 The  default  value of this parameter removes the group and other write
	 and execute bits from the UNIX modes.

	 Following this Samba will bit-wise 'OR' the UNIX mode created from this
	 parameter with the value of the force create mode  parameter  which  is
	 set to 000 by default.

	 This  parameter  does not affect directory masks. See the parameter di-
	 rectory mask for details.

	 Default: create mask = 0744

	 Example: create mask = 0775

     csc policy (S)

	 This stands for client-side caching policy, and specifies  how  clients
	 capable of offline caching will cache the files in the share. The valid
	 values are: manual, documents, programs, disable.

	 These values correspond to those used on Windows servers.

	 For  example,	shares	containing  roaming  profiles  can  have offline
	 caching disabled using csc policy = disable.

	 Default: csc policy = manual

	 Example: csc policy = programs

     ctdbd socket (G)

	 If you set clustering=yes, you need to tell Samba where  ctdbd  listens
	 on  its  unix	domain	socket.  The  default  path  as  of  ctdb 1.0 is
	 /tmp/ctdb.socket  which  you  have  to  explicitly  set  for  Samba  in
	 smb.conf.

	 Default: ctdbd socket =

	 Example: ctdbd socket = /tmp/ctdb.socket

     ctdb locktime warn threshold (G)

	 In a cluster environment using Samba and ctdb it is critical that locks
	 on  central  ctdb-hosted  databases  like  locking.tdb are not held for
	 long. With the current Samba architecture it happens that Samba takes a
	 lock and while holding that lock  makes  file	system	calls  into  the
	 shared  cluster file system. This option makes Samba warn if it detects
	 that it has held locks for the specified  number  of  milliseconds.  If
	 this  happens, smbd will emit a debug level 0 message into its logs and
	 potentially into syslog. The most likely reason for such a log  message
	 is that an operation of the cluster file system Samba exports is taking
	 longer than expected. The messages are meant as a debugging aid for po-
	 tential cluster problems.

	 The default value of 0 disables this logging.

	 Default: ctdb locktime warn threshold = 0

     ctdb timeout (G)

	 This  parameter  specifies a timeout in milliseconds for the connection
	 between Samba and ctdb. It is only valid if  you  have  compiled  Samba
	 with clustering and if you have set clustering=yes.

	 When something in the cluster blocks, it can happen that we wait indef-
	 initely  long	for  ctdb,  just  adding to the blocking condition. In a
	 well-running cluster this should never happen, but there are  too  many
	 components  in  a  cluster  that might have hickups. Choosing the right
	 balance for this value is very tricky, because on a busy  cluster  long
	 service  times to transfer something across the cluster might be valid.
	 Setting it too short will degrade the service	your  cluster  presents,
	 setting  it  too  long  might	make the cluster itself not recover from
	 something severely broken for too long.

	 Be aware that if you set this parameter, this needs to be in  the  file
	 smb.conf, it is not really helpful to put this into a registry configu-
	 ration  (typical  on a cluster), because to access the registry contact
	 to ctdb is required.

	 Setting ctdb timeout to n makes any process waiting longer than n  mil-
	 liseconds  for  a  reply by the cluster panic. Setting it to 0 (the de-
	 fault) makes Samba block forever, which is the highly	recommended  de-
	 fault.

	 Default: ctdb timeout = 0

     cups connection timeout (G)

	 This parameter is only applicable if printing is set to cups.

	 If set, this option specifies the number of seconds that smbd will wait
	 whilst  trying  to contact to the CUPS server. The connection will fail
	 if it takes longer than this number of seconds.

	 Default: cups connection timeout = 30

	 Example: cups connection timeout = 60

     cups encrypt (G)

	 This parameter is only applicable if printing is set to cups and if you
	 use CUPS newer than 1.0.x.It is used to define  whether  or  not  Samba
	 should  use encryption when talking to the CUPS server. Possible values
	 are auto, yes and no

	 When set to auto we will try to do a TLS handshake on each CUPS connec-
	 tion setup. If that fails, we will fall back to unencrypted operation.

	 Default: cups encrypt = no

     cups options (S)

	 This parameter is only applicable if printing is set to cups. Its value
	 is a free form string of options passed directly to the cups library.

	 You can pass any generic print option known to CUPS (as listed  in  the
	 CUPS  "Software Users' Manual"). You can also pass any printer specific
	 option (as listed in "lpoptions -d printername -l") valid for the  tar-
	 get  queue.  Multiple	parameters  should be space-delimited name/value
	 pairs according to the PAPI text option ABNF specification.  Collection
	 values ("name={a=... b=... c=...}") are stored with the curley brackets
	 intact.

	 You should set this parameter to raw if your CUPS server error_log file
	 contains    messages	 such	 as    "Unsupported   format   'applica-
	 tion/octet-stream'" when printing from a Windows client through  Samba.
	 It  is  no  longer  necessary	to  enable  system  wide raw printing in
	 /etc/cups/mime.{convs,types}.

	 Default: cups options = ""

	 Example: cups options = "raw media=a4"

     cups server (G)

	 This parameter is only applicable if printing is set to cups.

	 If set, this  option  overrides  the  ServerName  option  in  the  CUPS
	 client.conf.  This  is necessary if you have virtual samba servers that
	 connect to different CUPS daemons.

	 Optionally, a port can be specified by separating the server  name  and
	 port  number  with  a colon. If no port was specified, the default port
	 for IPP (631) will be used.

	 Default: cups server = ""

	 Example: cups server = mycupsserver

	 Example: cups server = mycupsserver:1631

     dcerpc endpoint servers (G)

	 Specifies which DCE/RPC endpoint servers should be run.

	 Default: dcerpc endpoint servers =  epmapper,	wkssvc,  rpcecho,  samr,
	 netlogon,  lsarpc, spoolss, drsuapi, dssetup, unixinfo, browser, event-
	 log6, backupkey, dnsserver

	 Example: dcerpc endpoint servers = rpcecho

     deadtime (G)

	 The value of the parameter (a decimal integer) represents the number of
	 minutes of inactivity before a connection is considered dead, and it is
	 disconnected. The deadtime only takes effect  if  the	number	of  open
	 files is zero.

	 This  is useful to stop a server's resources being exhausted by a large
	 number of inactive connections.

	 Most clients have an auto-reconnect feature when a connection is broken
	 so in most cases this parameter should be transparent to users.

	 Using this parameter with a timeout of a few minutes is recommended for
	 most systems.

	 A deadtime of zero indicates that no auto-disconnection should be  per-
	 formed.

	 Default: deadtime = 0

	 Example: deadtime = 15

     debug class (G)

	 With  this boolean parameter enabled, the debug class (DBGC_CLASS) will
	 be displayed in the debug header.

	 For more information about currently available debug classes, see  sec-
	 tion about log level.

	 Default: debug class = no

     debug hires timestamp (G)

	 Sometimes  the timestamps in the log messages are needed with a resolu-
	 tion of higher that seconds, this boolean  parameter  adds  microsecond
	 resolution to the timestamp message header when turned on.

	 Note  that the parameter debug timestamp must be on for this to have an
	 effect.

	 Default: debug hires timestamp = yes

     debug pid (G)

	 When using only one log file for more then one  forked  smbd(8)-process
	 there	may  be hard to follow which process outputs which message. This
	 boolean parameter is adds the process-id to the timestamp message head-
	 ers in the logfile when turned on.

	 Note that the parameter debug timestamp must be on for this to have  an
	 effect.

	 Default: debug pid = no

     debug prefix timestamp (G)

	 With  this  option enabled, the timestamp message header is prefixed to
	 the debug message without the filename and function information that is
	 included with the debug timestamp parameter. This gives  timestamps  to
	 the messages without adding an additional line.

	 Note that this parameter overrides the debug timestamp parameter.

	 Default: debug prefix timestamp = no

     timestamp logs

	 This parameter is a synonym for debug timestamp.

     debug timestamp (G)

	 Samba debug log messages are timestamped by default. If you are running
	 at a high debug level these timestamps can be distracting. This boolean
	 parameter allows timestamping to be turned off.

	 Default: debug timestamp = yes

     debug uid (G)

	 Samba	is sometimes run as root and sometime run as the connected user,
	 this boolean parameter inserts the current euid, egid, uid and  gid  to
	 the timestamp message headers in the log file if turned on.

	 Note  that the parameter debug timestamp must be on for this to have an
	 effect.

	 Default: debug uid = no

     dedicated keytab file (G)

	 Specifies the path to the kerberos keytab file when kerberos method  is
	 set to "dedicated keytab".

	 Default: dedicated keytab file =

	 Example: dedicated keytab file = /usr/local/etc/krb5.keytab

     default case (S)

	 See the section on name mangling. Also note the short preserve case pa-
	 rameter.

	 Default: default case = lower

     default devmode (S)

	 This  parameter  is only applicable to printable services. When smbd is
	 serving Printer Drivers to Windows NT/2k/XP clients,  each  printer  on
	 the  Samba  server has a Device Mode which defines things such as paper
	 size and orientation and duplex settings. The device mode can only cor-
	 rectly be generated by the printer driver itself (which can only be ex-
	 ecuted on a Win32 platform). Because smbd is unable to execute the dri-
	 ver code to generate the device mode, the default behavior  is  to  set
	 this field to NULL.

	 Most  problems with serving printer drivers to Windows NT/2k/XP clients
	 can be traced to a problem with the generated device mode. Certain dri-
	 vers will do things such as crashing the client's Explorer.exe  with  a
	 NULL  devmode.  However,  other  printer drivers can cause the client's
	 spooler service (spoolsv.exe) to die if the devmode was not created  by
	 the driver itself (i.e. smbd generates a default devmode).

	 This  parameter  should  be  used with care and tested with the printer
	 driver in question. It is better to leave the device mode to  NULL  and
	 let  the  Windows client set the correct values. Because drivers do not
	 do this all the time, setting default devmode = yes will instruct  smbd
	 to generate a default one.

	 For  more  information  on Windows NT/2k printing and Device Modes, see
	 the MSDN documentation.

	 Default: default devmode = yes

     default

	 This parameter is a synonym for default service.

     default service (G)

	 This parameter specifies the name of a service which will be  connected
	 to  if  the  service  actually requested cannot be found. Note that the
	 square brackets are NOT given in the parameter value (see  example  be-
	 low).

	 There	is no default value for this parameter. If this parameter is not
	 given, attempting to connect to a nonexistent service results in an er-
	 ror.

	 Typically the default service would be a guest ok, read-only service.

	 Also note that the apparent service name will be changed to equal  that
	 of  the  requested service, this is very useful as it allows you to use
	 macros like %S to make a wildcard service.

	 Note also that any "_" characters in the name of the  service	used  in
	 the default service will get mapped to a "/". This allows for interest-
	 ing things.

	 Default: default service =

	 Example: default service = pub

     defer sharing violations (G)

	 Windows  allows  specifying  how  a  file  will  be  shared  with other
	 processes when it is opened. Sharing violations occur when  a	file  is
	 opened by a different process using options that violate the share set-
	 tings	specified  by other processes. This parameter causes smbd to act
	 as a Windows server does, and defer returning a "sharing violation" er-
	 ror message for up to one second, allowing the client to close the file
	 causing the violation in the meantime.

	 UNIX by default does not have this behaviour.

	 There should be no reason to turn off this parameter, as it is designed
	 to enable Samba to more correctly emulate Windows.

	 Default: defer sharing violations = yes

     delete group script (G)

	 This is the full pathname to a script that will be run  AS  ROOTsmbd(8)
	 when  a  group is requested to be deleted. It will expand any %g to the
	 group name passed. This script is only useful for  installations  using
	 the Windows NT domain administration tools.

	 Default: delete group script =

     deleteprinter command (G)

	 With  the  introduction  of  MS-RPC  based  printer support for Windows
	 NT/2000 clients in Samba 2.2, it is now possible to delete a printer at
	 run time by issuing the DeletePrinter() RPC call.

	 For a Samba host this means that the printer must be physically deleted
	 from the underlying printing system. The deleteprinter command  defines
	 a  script to be run which will perform the necessary operations for re-
	 moving the printer from the print system and from smb.conf.

	 The deleteprinter command is automatically called with only one parame-
	 ter: printer name.

	 Once the deleteprinter command has been executed, smbd will reparse the
	 smb.conf to check that the associated printer no longer exists. If  the
	 sharename  is still valid, then smbd will return an ACCESS_DENIED error
	 to the client.

	 Default: deleteprinter command =

	 Example: deleteprinter command = /usr/bin/removeprinter

     delete readonly (S)

	 This parameter allows readonly files to be deleted. This is not  normal
	 DOS semantics, but is allowed by UNIX.

	 This  option  may be useful for running applications such as rcs, where
	 UNIX file ownership prevents changing file permissions, and DOS  seman-
	 tics prevent deletion of a read only file.

	 Default: delete readonly = no

     delete share command (G)

	 Samba 2.2.0 introduced the ability to dynamically add and delete shares
	 via the Windows NT 4.0 Server Manager. The delete share command is used
	 to  define  an external program or script which will remove an existing
	 service definition from smb.conf.

	 In order to successfully execute the delete  share  command,  smbd  re-
	 quires  that  the administrator connects using a root account (i.e. uid
	 == 0) or has the SeDiskOperatorPrivilege. Scripts defined in the delete
	 share command parameter are executed as root.

	 When executed, smbd will automatically invoke the delete share  command
	 with two parameters.

	 *   configFile - the location of the global smb.conf file.

	 *   shareName - the name of the existing service.

     This  parameter  is  only	used  to  remove  file shares. To delete printer
     shares, see the deleteprinter command.

     Default: delete share command =

     Example: delete share command = /usr/local/bin/delshare

     delete user from group script (G)

	 Full path to the script that will be called when a user is removed from
	 a group using the Windows NT domain administration tools.  It	will  be
	 run  by smbd(8)AS ROOT. Any %g will be replaced with the group name and
	 any %u will be replaced with the user name.

	 Default: delete user from group script =

	 Example: delete user from group script = /usr/sbin/deluser %u %g

     delete user script (G)

	 This is the full pathname to a script that will be run by smbd(8)  when
	 managing users with remote RPC (NT) tools.

	 This  script  is  called  when  a remote client removes a user from the
	 server, normally using 'User Manager for Domains' or rpcclient.

	 This script should delete the given UNIX username.

	 Default: delete user script =

	 Example: delete user script = /usr/local/samba/bin/del_user %u

     delete veto files (S)

	 This option is used when Samba is attempting to delete a directory that
	 contains one or more vetoed directories (see the veto files option). If
	 this option is set to no (the default) then if a vetoed directory  con-
	 tains	any  non-vetoed  files	or directories then the directory delete
	 will fail. This is usually what you want.

	 If this option is set to yes, then Samba will	attempt  to  recursively
	 delete  any files and directories within the vetoed directory. This can
	 be useful for integration with file serving systems  such  as	NetAtalk
	 which	create	meta-files  within  directories  you might normally veto
	 DOS/Windows users from seeing (e.g.  .AppleDouble)

	 Setting delete veto files = yes allows these directories to  be  trans-
	 parently  deleted  when the parent directory is deleted (so long as the
	 user has permissions to do so).

	 Default: delete veto files = no

     dfree cache time (S)

	 The dfree cache time should only be used on systems where a problem oc-
	 curs with the internal disk space calculations. This has been known  to
	 happen  with  Ultrix,	but  may occur with other operating systems. The
	 symptom that was seen was an error of "Abort Retry Ignore" at	the  end
	 of each directory listing.

	 This  is  a new parameter introduced in Samba version 3.0.21. It speci-
	 fies in seconds the time that smbd will cache the output of a disk free
	 query. If set to zero (the default) no caching is done. This  allows  a
	 heavily  loaded  server  to  prevent  rapid  spawning	of dfree command
	 scripts increasing the load.

	 By default this parameter is zero, meaning no caching will be done.

	 No default

	 Example: dfree cache time = 60

     dfree command (S)

	 The dfree command setting should only be used on systems where a  prob-
	 lem  occurs  with  the  internal disk space calculations. This has been
	 known to happen with Ultrix, but may occur with  other  operating  sys-
	 tems. The symptom that was seen was an error of "Abort Retry Ignore" at
	 the end of each directory listing.

	 This  setting allows the replacement of the internal routines to calcu-
	 late the total disk space and amount available with  an  external  rou-
	 tine. The example below gives a possible script that might fulfill this
	 function.

	 In  Samba  version  3.0.21  this  parameter  has  been  changed to be a
	 per-share parameter, and in addition the parameter dfree cache time was
	 added to allow the output of this script to be cached for systems under
	 heavy load.

	 The external program will be passed a single parameter indicating a di-
	 rectory in the filesystem being queried. This will typically consist of
	 the string ./. The script should return  two  integers  in  ASCII.  The
	 first	should	be the total disk space in blocks, and the second should
	 be the number of available blocks. An optional third return  value  can
	 give the block size in bytes. The default blocksize is 1024 bytes.

	 Note: Your script should NOT be setuid or setgid and should be owned by
	 (and writeable only by) root!

	 Where the script dfree (which must be made executable) could be:

	     #!/bin/sh
	     df $1 | tail -1 | awk '{print $(NF-4),$(NF-2)}'

	 or perhaps (on Sys V based systems):

	     #!/bin/sh
	     /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'

	 Note  that  you  may  have  to replace the command names with full path
	 names on some systems.

	 By default internal routines for determining the disk capacity and  re-
	 maining space will be used.

	 No default

	 Example: dfree command = /usr/local/samba/bin/dfree

     dgram port (G)

	 Specifies  which ports the server should listen on for NetBIOS datagram
	 traffic.

	 Default: dgram port = 138

     directory mode

	 This parameter is a synonym for directory mask.

     directory mask (S)

	 This parameter is the octal modes which are used  when  converting  DOS
	 modes to UNIX modes when creating UNIX directories.

	 When  a  directory is created, the necessary permissions are calculated
	 according to the mapping from DOS modes to UNIX  permissions,	and  the
	 resulting  UNIX mode is then bit-wise 'AND'ed with this parameter. This
	 parameter may be thought of as a bit-wise MASK for the UNIX modes of  a
	 directory. Any bit not set here will be removed from the modes set on a
	 directory when it is created.

	 The  default  value  of  this parameter removes the 'group' and 'other'
	 write bits from the UNIX mode, allowing only the user who owns the  di-
	 rectory to modify it.

	 Following this Samba will bit-wise 'OR' the UNIX mode created from this
	 parameter  with  the  value of the force directory mode parameter. This
	 parameter is set to 000 by default (i.e. no extra mode bits are added).

	 Default: directory mask = 0755

	 Example: directory mask = 0775

     directory name cache size (S)

	 This parameter specifies the size of the directory name cache. It  will
	 be needed to turn this off for *BSD systems.

	 Default: directory name cache size = 100

     directory security mask (S)

	 This parameter has been removed for Samba 4.0.0.

	 No default

     disable netbios (G)

	 Enabling  this parameter will disable netbios support in Samba. Netbios
	 is the only available form of browsing in all windows	versions  except
	 for 2000 and XP.

	     Note
	     Clients  that  only support netbios won't be able to see your samba
	     server when netbios support is disabled.
	 Default: disable netbios = no

     disable spoolss (G)

	 Enabling this parameter will disable Samba's support  for  the  SPOOLSS
	 set  of MS-RPC's and will yield identical behavior as Samba 2.0.x. Win-
	 dows NT/2000 clients will downgrade to using Lanman style printing com-
	 mands. Windows 9x/ME will be unaffected by the parameter. However, this
	 will also disable the ability to upload  printer  drivers  to	a  Samba
	 server via the Windows NT Add Printer Wizard or by using the NT printer
	 properties  dialog  window. It will also disable the capability of Win-
	 dows NT/2000 clients to download print drivers from the Samba host upon
	 demand.  Be very careful about enabling this parameter.

	 Default: disable spoolss = no

     dmapi support (S)

	 This parameter specifies whether Samba should use  DMAPI  to  determine
	 whether  a file is offline or not. This would typically be used in con-
	 junction with a hierarchical storage system that automatically migrates
	 files to tape.

	 Note that Samba infers the status of a file  by  examining  the  events
	 that  a DMAPI application has registered interest in. This heuristic is
	 satisfactory for a number of hierarchical storage  systems,  but  there
	 may  be  system  for  which it will fail. In this case, Samba may erro-
	 neously report files to be offline.

	 This parameter is only available if a	supported  DMAPI  implementation
	 was  found  at compilation time. It will only be used if DMAPI is found
	 to enabled on the system at run time.

	 Default: dmapi support = no

     dns forwarder (G)

	 This option specifies the DNS server that DNS	requests  will	be  for-
	 warded to if they can not be handled by Samba itself.

	 The  DNS  forwarder is only used if the internal DNS server in Samba is
	 used.

	 Default: dns forwarder =

	 Example: dns forwarder = 192.168.0.1

     dns proxy (G)

	 Specifies that nmbd(8) when acting as a WINS server and finding that  a
	 NetBIOS  name	has  not  been registered, should treat the NetBIOS name
	 word-for-word as a DNS name and do a lookup with  the	DNS  server  for
	 that name on behalf of the name-querying client.

	 Note  that  the  maximum length for a NetBIOS name is 15 characters, so
	 the DNS name (or DNS alias) can likewise only be 15  characters,  maxi-
	 mum.

	 nmbd spawns a second copy of itself to do the DNS name lookup requests,
	 as doing a name lookup is a blocking action.

	 Default: dns proxy = yes

     dns update command (G)

	 This option sets the command that is called when there are DNS updates.
	 It should update the local machines DNS names using TSIG-GSS.

	 Default: dns update command = ${prefix}/sbin/samba_dnsupdate

	 Example: dns update command = /usr/local/sbin/dnsupdate

     domain logons (G)

	 If  set  to yes, the Samba server will provide the netlogon service for
	 Windows 9X network logons for the workgroup it is in.	This  will  also
	 cause	the Samba server to act as a domain controller for NT4 style do-
	 main services. For more details on setting up this feature see the  Do-
	 main Control chapter of the Samba HOWTO Collection.

	 Default: domain logons = no

     domain master (G)

	 Tell smbd(8) to enable WAN-wide browse list collation. Setting this op-
	 tion  causes  nmbd to claim a special domain specific NetBIOS name that
	 identifies it as a domain master browser for its given workgroup. Local
	 master browsers in the same  workgroup  on  broadcast-isolated  subnets
	 will  give this nmbd their local browse lists, and then ask smbd(8) for
	 a complete copy of the browse list for the  whole  wide  area	network.
	 Browser  clients will then contact their local master browser, and will
	 receive the domain-wide browse list, instead of just the list for their
	 broadcast-isolated subnet.

	 Note that Windows NT Primary Domain Controllers expect to  be	able  to
	 claim this workgroup specific special NetBIOS name that identifies them
	 as  domain master browsers for that workgroup by default (i.e. there is
	 no way to prevent a Windows NT PDC from attempting to	do  this).  This
	 means	that  if  this parameter is set and nmbd claims the special name
	 for a workgroup before a Windows NT PDC is able to  do  so  then  cross
	 subnet browsing will behave strangely and may fail.

	 If  domain logons = yes, then the default behavior is to enable the do-
	 main master parameter. If domain logons is  not  enabled  (the  default
	 setting), then neither will domain master be enabled by default.

	 When domain logons = Yes the default setting for this parameter is Yes,
	 with  the result that Samba will be a PDC. If domain master = No, Samba
	 will function as a BDC. In general, this parameter  should  be  set  to
	 'No' only on a BDC.

	 Default: domain master = auto

     dont descend (S)

	 There are certain directories on some systems (e.g., the /proc tree un-
	 der Linux) that are either not of interest to clients or are infinitely
	 deep  (recursive).  This parameter allows you to specify a comma-delim-
	 ited list of directories that the server should always show as empty.

	 Note that Samba can be very fussy about the exact format of  the  "dont
	 descend"  entries.  For  example  you	may  need ./proc instead of just
	 /proc. Experimentation is the best policy :-)

	 Default: dont descend =

	 Example: dont descend = /proc,/dev

     dos charset (G)

	 DOS SMB clients assume the server has the same charset as they do. This
	 option specifies which charset Samba should talk to DOS clients.

	 The default depends on which charsets you have installed.  Samba  tries
	 to use charset 850 but falls back to ASCII in case it is not available.
	 Run testparm(1) to check the default on your system.

	 No default

     dos filemode (S)

	 The  default  behavior  in Samba is to provide UNIX-like behavior where
	 only the owner of a file/directory is able to change the permissions on
	 it. However, this behavior is often confusing to DOS/Windows users. En-
	 abling this parameter allows a user who has write access  to  the  file
	 (by  whatever means, including an ACL permission) to modify the permis-
	 sions (including ACL) on it. Note that a user belonging  to  the  group
	 owning  the file will not be allowed to change permissions if the group
	 is only granted read access. Ownership of the file/directory  may  also
	 be  changed. Note that using the VFS modules acl_xattr or acl_tdb which
	 store native Windows as meta-data will automatically turn  this  option
	 on for any share for which they are loaded, as they require this option
	 to emulate Windows ACLs correctly.

	 Default: dos filemode = no

     dos filetime resolution (S)

	 Under	the  DOS  and  Windows FAT filesystem, the finest granularity on
	 time resolution is two seconds. Setting  this	parameter  for	a  share
	 causes  Samba to round the reported time down to the nearest two second
	 boundary when a query call that requires one second resolution is  made
	 to smbd(8).

	 This  option  is  mainly  used as a compatibility option for Visual C++
	 when used against Samba shares. If oplocks are enabled on a share,  Vi-
	 sual  C++  uses two different time reading calls to check if a file has
	 changed since it was last read. One of these calls  uses  a  one-second
	 granularity, the other uses a two second granularity. As the two second
	 call rounds any odd second down, then if the file has a timestamp of an
	 odd number of seconds then the two timestamps will not match and Visual
	 C++  will  keep  reporting  the  file	has changed. Setting this option
	 causes the two timestamps to match, and Visual C++ is happy.

	 Default: dos filetime resolution = no

     dos filetimes (S)

	 Under DOS and Windows, if a user can write to a file  they  can  change
	 the  timestamp on it. Under POSIX semantics, only the owner of the file
	 or root may change the timestamp. By default, Samba  emulates	the  DOS
	 semantics and allows to change the timestamp on a file if the user smbd
	 is  acting on behalf has write permissions. Due to changes in Microsoft
	 Office 2000 and beyond, the default for this parameter has been changed
	 from "no" to "yes" in Samba 3.0.14 and above. Microsoft Excel will dis-
	 play dialog box warnings about the file being changed by  another  user
	 if  this  parameter  is not set to "yes" and files are being shared be-
	 tween users.

	 Default: dos filetimes = yes

     durable handles (S)

	 This boolean parameter controls whether Samba can  grant  SMB2  durable
	 file handles on a share.

	 Note that durable handles are only enabled if kernel oplocks = no, ker-
	 nel share modes = no, and posix locking = no, i.e. if the share is con-
	 figured for CIFS/SMB2 only access, not supporting interoperability fea-
	 tures with local UNIX processes or NFS operations.

	 Also  note  that,  for  the time being, durability is not granted for a
	 handle that has the delete on close flag set.

	 Default: durable handles = yes

     ea support (S)

	 This boolean parameter controls whether smbd(8) will allow  clients  to
	 attempt to store OS/2 style Extended attributes on a share. In order to
	 enable  this  parameter the underlying filesystem exported by the share
	 must support extended attributes (such as provided on XFS and	EXT3  on
	 Linux,  with  the correct kernel patches). On Linux the filesystem must
	 have been mounted with the mount option user_xattr  in  order	for  ex-
	 tended  attributes  to  work, also extended attributes must be compiled
	 into the Linux kernel.

	 Default: ea support = no

     enable asu support (G)

	 Hosts running the "Advanced Server for Unix (ASU)" product require some
	 special accomodations such as creating a builtin  [ADMIN$]  share  that
	 only  supports  IPC  connections.  The has been the default behavior in
	 smbd for many years. However, certain Microsoft  applications	such  as
	 the  Print Migrator tool require that the remote server support an [AD-
	 MIN$] file share. Disabling this parameter allows for creating an  [AD-
	 MIN$] file share in smb.conf.

	 Default: enable asu support = no

     enable core files (G)

	 This parameter specifies whether core dumps should be written on inter-
	 nal exits. Normally set to yes. You should never need to change this.

	 Default: enable core files = yes

	 Example: enable core files = no

     enable privileges (G)

	 This deprecated parameter controls whether or not smbd will honor priv-
	 ileges  assigned  to  specific SIDs via either net rpc rights or one of
	 the Windows user and group manager tools. This parameter is enabled  by
	 default.  It  can  be	disabled to prevent members of the Domain Admins
	 group from being able to assign privileges to users or groups which can
	 then result in certain smbd operations running as root that would  nor-
	 mally run under the context of the connected user.

	 An example of how privileges can be used is to assign the right to join
	 clients  to  a Samba controlled domain without providing root access to
	 the server via smbd.

	 Please read the extended description provided in the Samba HOWTO  docu-
	 mentation.

	 Default: enable privileges = yes

     enable spoolss (G)

	 Inverted synonym for disable spoolss.

	 Default: enable spoolss = yes

     encrypt passwords (G)

	 This  boolean	controls  whether encrypted passwords will be negotiated
	 with the client. Note that Windows NT 4.0 SP3 and above and  also  Win-
	 dows  98  will  by default expect encrypted passwords unless a registry
	 entry is changed. To use encrypted passwords in Samba see  the  chapter
	 "User Database" in the Samba HOWTO Collection.

	 MS  Windows  clients that expect Microsoft encrypted passwords and that
	 do not have plain text password support enabled will be able to connect
	 only to a Samba server that has encrypted password support enabled  and
	 for  which  the user accounts have a valid encrypted password. Refer to
	 the smbpasswd command man page for information regarding  the	creation
	 of encrypted passwords for user accounts.

	 The use of plain text passwords is NOT advised as support for this fea-
	 ture is no longer maintained in Microsoft Windows products. If you want
	 to use plain text passwords you must set this parameter to no.

	 In  order for encrypted passwords to work correctly smbd(8) must either
	 have access to a local smbpasswd(5) file (see the smbpasswd(8)  program
	 for  information  on  how to set up and maintain this file), or set the
	 security = [domain|ads] parameter which  causes  smbd	to  authenticate
	 against another server.

	 Default: encrypt passwords = yes

     enhanced browsing (G)

	 This  option  enables	a  couple of enhancements to cross-subnet browse
	 propagation that have been added in Samba but which are not standard in
	 Microsoft implementations.

	 The first enhancement to browse propagation consists of a regular wild-
	 card query to a Samba WINS server for all Domain Master Browsers,  fol-
	 lowed	by  a browse synchronization with each of the returned DMBs. The
	 second enhancement consists of a regular randomised browse synchroniza-
	 tion with all currently known DMBs.

	 You may wish to disable this option if you have a  problem  with  empty
	 workgroups  not disappearing from browse lists. Due to the restrictions
	 of the browse protocols, these enhancements can cause a empty workgroup
	 to stay around forever which can be annoying.

	 In general you should leave this option enabled as it makes  cross-sub-
	 net browse propagation much more reliable.

	 Default: enhanced browsing = yes

     enumports command (G)

	 The  concept of a "port" is fairly foreign to UNIX hosts. Under Windows
	 NT/2000 print servers, a port is associated with  a  port  monitor  and
	 generally  takes the form of a local port (i.e. LPT1:, COM1:, FILE:) or
	 a remote port (i.e. LPD Port Monitor, etc...). By  default,  Samba  has
	 only one port defined--"Samba Printer Port". Under Windows NT/2000, all
	 printers  must  have  a  valid port name. If you wish to have a list of
	 ports displayed (smbd does not use a port name for anything) other than
	 the default "Samba Printer Port", you can define enumports  command  to
	 point to a program which should generate a list of ports, one per line,
	 to  standard  output. This listing will then be used in response to the
	 level 1 and 2 EnumPorts() RPC.

	 Default: enumports command =

	 Example: enumports command = /usr/bin/listports

     eventlog list (G)

	 This option defines a list of log names that Samba will report  to  the
	 Microsoft  EventViewer utility. The listed eventlogs will be associated
	 with tdb file on disk in the $(statedir)/eventlog.

	 The administrator must use an external process to parse the normal Unix
	 logs such as /var/log/messages and write then entries to  the	eventlog
	 tdb  files. Refer to the eventlogadm(8) utility for how to write event-
	 log entries.

	 Default: eventlog list =

	 Example: eventlog list = Security Application Syslog Apache

     fake directory create times (S)

	 NTFS and Windows VFAT file systems keep a create time for all files and
	 directories. This is not the same as the ctime - status change  time  -
	 that  Unix keeps, so Samba by default reports the earliest of the vari-
	 ous times Unix does keep. Setting this parameter  for	a  share  causes
	 Samba	to always report midnight 1-1-1980 as the create time for direc-
	 tories.

	 This option is mainly used as a compatibility	option	for  Visual  C++
	 when used against Samba shares. Visual C++ generated makefiles have the
	 object  directory as a dependency for each object file, and a make rule
	 to create the directory. Also, when NMAKE compares timestamps	it  uses
	 the creation time when examining a directory. Thus the object directory
	 will  be  created  if it does not exist, but once it does exist it will
	 always have an earlier timestamp than the object files it contains.

	 However, Unix time semantics mean that  the  create  time  reported  by
	 Samba	will be updated whenever a file is created or deleted in the di-
	 rectory. NMAKE finds all object files	in  the  object  directory.  The
	 timestamp  of	the  last one built is then compared to the timestamp of
	 the object directory. If the directory's timestamp if newer,  then  all
	 object  files will be rebuilt. Enabling this option ensures directories
	 always predate their contents and an NMAKE build will	proceed  as  ex-
	 pected.

	 Default: fake directory create times = no

     fake oplocks (S)

	 Oplocks  are  the  way that SMB clients get permission from a server to
	 locally cache file operations. If a server  grants  an  oplock  (oppor-
	 tunistic  lock)  then	the client is free to assume that it is the only
	 one accessing the file and it will aggressively cache file  data.  With
	 some oplock types the client may even cache file open/close operations.
	 This can give enormous performance benefits.

	 When  you  set fake oplocks = yes, smbd(8) will always grant oplock re-
	 quests no matter how many clients are using the file.

	 It is generally much better to use the real oplocks support rather than
	 this parameter.

	 If you enable this option on all read-only shares or  shares  that  you
	 know will only be accessed from one client at a time such as physically
	 read-only media like CDROMs, you will see a big performance improvement
	 on  many operations. If you enable this option on shares where multiple
	 clients may be accessing the files read-write at the same time you  can
	 get data corruption. Use this option carefully!

	 Default: fake oplocks = no

     follow symlinks (S)

	 This parameter allows the Samba administrator to stop smbd(8) from fol-
	 lowing  symbolic links in a particular share. Setting this parameter to
	 no prevents any file or directory that is a symbolic  link  from  being
	 followed  (the  user  will get an error). This option is very useful to
	 stop users from adding a symbolic link to /etc/passwd in their home di-
	 rectory for instance.	However  it  will  slow  filename  lookups  down
	 slightly.

	 This  option  is enabled (i.e.  smbd will follow symbolic links) by de-
	 fault.

	 Default: follow symlinks = yes

     force create mode (S)

	 This parameter specifies a set of UNIX mode bit permissions  that  will
	 always  be  set  on  a  file  created by Samba. This is done by bitwise
	 'OR'ing these bits onto the mode bits of a file that is being	created.
	 The default for this parameter is (in octal) 000. The modes in this pa-
	 rameter are bitwise 'OR'ed onto the file mode after the mask set in the
	 create mask parameter is applied.

	 The  example below would force all newly created files to have read and
	 execute permissions  set  for	'group'  and  'other'  as  well  as  the
	 read/write/execute bits set for the 'user'.

	 Default: force create mode = 0000

	 Example: force create mode = 0755

     force directory mode (S)

	 This  parameter  specifies a set of UNIX mode bit permissions that will
	 always be set on a directory created by Samba. This is done by  bitwise
	 'OR'ing these bits onto the mode bits of a directory that is being cre-
	 ated.	The default for this parameter is (in octal) 0000 which will not
	 add any extra permission bits to a created directory. This operation is
	 done after the mode mask in the parameter directory mask is applied.

	 The example below would force all created directories to have read  and
	 execute  permissions  set  for  'group'  and  'other'	as  well  as the
	 read/write/execute bits set for the 'user'.

	 Default: force directory mode = 0000

	 Example: force directory mode = 0755

     force directory security mode (S)

	 This parameter has been removed for Samba 4.0.0.

	 No default

     group

	 This parameter is a synonym for force group.

     force group (S)

	 This specifies a UNIX group name that will be assigned as  the  default
	 primary  group for all users connecting to this service. This is useful
	 for sharing files by ensuring that all access to files on service  will
	 use  the named group for their permissions checking. Thus, by assigning
	 permissions for this group to the files  and  directories  within  this
	 service  the Samba administrator can restrict or allow sharing of these
	 files.

	 In Samba 2.0.5 and above this parameter has extended  functionality  in
	 the  following  way.  If the group name listed here has a '+' character
	 prepended to it then the current user accessing the share only has  the
	 primary  group  default  assigned to this group if they are already as-
	 signed as a member of that group. This allows an administrator  to  de-
	 cide  that only users who are already in a particular group will create
	 files with group ownership set to that group. This gives a finer granu-
	 larity of ownership assignment. For example, the setting force group  =
	 +sys means that only users who are already in group sys will have their
	 default  primary group assigned to sys when accessing this Samba share.
	 All other users will retain their ordinary primary group.

	 If the force user parameter is also set the group  specified  in  force
	 group will override the primary group set in force user.

	 Default: force group =

	 Example: force group = agroup

     force printername (S)

	 When  printing from Windows NT (or later), each printer in smb.conf has
	 two associated names which can be used by the client. The first is  the
	 sharename (or shortname) defined in smb.conf. This is the only printer-
	 name  available  for use by Windows 9x clients. The second name associ-
	 ated with a printer can be seen when browsing	to  the  "Printers"  (or
	 "Printers  and  Faxes") folder on the Samba server. This is referred to
	 simply as the printername (not to be confused with the printer name op-
	 tion).

	 When assigning a new driver to a printer on a remote Windows compatible
	 print server such as Samba, the Windows client will rename the  printer
	 to  match  the  driver name just uploaded. This can result in confusion
	 for users when multiple printers are bound to the same driver. To  pre-
	 vent  Samba  from allowing the printer's printername to differ from the
	 sharename defined in smb.conf, set force printername = yes.

	 Be aware that enabling this parameter	may  affect  migrating	printers
	 from  a  Windows  server to Samba since Windows has no way to force the
	 sharename and printername to match.

	 It is recommended that this parameter's value not be changed  once  the
	 printer  is in use by clients as this could cause a user not be able to
	 delete printer connections from their local Printers folder.

	 Default: force printername = no

     force security mode (S)

	 This parameter has been removed for Samba 4.0.0.

	 No default

     force unknown acl user (S)

	 If this parameter is set, a Windows NT ACL that contains an unknown SID
	 (security descriptor, or representation of a user or group id)  as  the
	 owner	or group owner of the file will be silently mapped into the cur-
	 rent UNIX uid or gid of the currently connected user.

	 This is designed to allow Windows NT clients to copy files and  folders
	 containing  ACLs  that  were  created locally on the client machine and
	 contain users local to that machine only (no domain users) to be copied
	 to a Samba server (usually with XCOPY /O) and have the  unknown  userid
	 and  groupid  of the file owner map to the current connected user. This
	 can only be fixed correctly when winbindd allows arbitrary mapping from
	 any Windows NT SID to a UNIX uid or gid.

	 Try using this parameter when XCOPY /O gives an ACCESS_DENIED error.

	 Default: force unknown acl user = no

     force user (S)

	 This specifies a UNIX user name that will be assigned	as  the  default
	 user for all users connecting to this service. This is useful for shar-
	 ing files. You should also use it carefully as using it incorrectly can
	 cause security problems.

	 This  user  name  only gets used once a connection is established. Thus
	 clients still need to connect as a valid user and supply a valid  pass-
	 word.	Once  connected,  all  file  operations will be performed as the
	 "forced user", no matter what username the client  connected  as.  This
	 can be very useful.

	 In  Samba  2.0.5 and above this parameter also causes the primary group
	 of the forced user to be used as the primary group for all file  activ-
	 ity.  Prior to 2.0.5 the primary group was left as the primary group of
	 the connecting user (this was a bug).

	 Default: force user =

	 Example: force user = auser

     fss: prune stale (G)

	 When enabled, Samba's File Server Remove VSS  Protocol  (FSRVP)  server
	 checks all FSRVP initiated snapshots on startup, and removes any corre-
	 sponding  state  (including share definitions) for nonexistent snapshot
	 paths.

	 Default: fss: prune stale = no

	 Example: fss: prune stale = yes

     fss: sequence timeout (G)

	 The File Server Remove VSS Protocol (FSRVP) server includes  a  message
	 sequence  timer to ensure cleanup on unexpected client disconnect. This
	 parameter overrides the default timeout between FSRVP operations. FSRVP
	 timeouts can be completely disabled via a value of 0.

	 Default: fss: sequence timeout = 180 or 1800, depending on operation

	 Example: fss: sequence timeout = 0

     fstype (S)

	 This parameter allows the administrator to configure  the  string  that
	 specifies  the  type of filesystem a share is using that is reported by
	 smbd(8) when a client queries the filesystem type for a share. The  de-
	 fault	type  is  NTFS for compatibility with Windows NT but this can be
	 changed to other strings such as Samba or FAT if required.

	 Default: fstype = NTFS

	 Example: fstype = Samba

     get quota command (G)

	 The get quota command should only be used whenever there is no  operat-
	 ing system API available from the OS that samba can use.

	 This option is only available Samba was compiled with quotas support.

	 This  parameter  should  specify  the path to a script that queries the
	 quota information for the specified user/group for the  partition  that
	 the specified directory is on.

	 Such a script is being given 3 arguments:

	 *   directory

	 *   type of query

	 *   uid of user or gid of group

     The  directory  is  actually mostly just "." - It needs to be treated rela-
     tively to the current working directory that the script can also query.

     The type of query can be one of:

     *	 1 - user quotas

     *	 2 - user default quotas (uid = -1)

     *	 3 - group quotas

     *	 4 - group default quotas (gid = -1)

     This script should print  one  line  as  output  with  spaces  between  the
     columns. The printed columns should be:

     *	 1  - quota flags (0 = no quotas, 1 = quotas enabled, 2 = quotas enabled
	 and enforced)

     *	 2 - number of currently used blocks

     *	 3 - the softlimit number of blocks

     *	 4 - the hardlimit number of blocks

     *	 5 - currently used number of inodes

     *	 6 - the softlimit number of inodes

     *	 7 - the hardlimit number of inodes

     *	 8 (optional) - the number of bytes in a block(default is 1024)

     Default: get quota command =

     Example: get quota command = /usr/local/sbin/query_quota

     getwd cache (G)

	 This is a tuning option. When this is enabled a caching algorithm  will
	 be  used  to  reduce  the time taken for getwd() calls. This can have a
	 significant impact on performance, especially when the wide  smbconfop-
	 tions parameter is set to no.

	 Default: getwd cache = yes

     guest account (G)

	 This  is a username which will be used for access to services which are
	 specified as guest ok (see below). Whatever privileges  this  user  has
	 will  be  available to any client connecting to the guest service. This
	 user must exist in the password file, but does not require a valid  lo-
	 gin. The user account "ftp" is often a good choice for this parameter.

	 On  some  systems the default guest account "nobody" may not be able to
	 print. Use another account in this case. You should test this by trying
	 to log in as your guest user (perhaps by using the su	-  command)  and
	 trying to print using the system print command such as lpr(1) or lp(1).

	 This parameter does not accept % macros, because many parts of the sys-
	 tem require this value to be constant for correct operation.

	 Default:  guest  account  =  nobody  #  default  can be changed at com-
	 pile-time

	 Example: guest account = ftp

     public

	 This parameter is a synonym for guest ok.

     guest ok (S)

	 If this parameter is yes for a service, then no password is required to
	 connect to the service. Privileges will be those of the guest account.

	 This parameter nullifies the benefits of setting restrict anonymous = 2

	 See the section below on security for more information about  this  op-
	 tion.

	 Default: guest ok = no

     only guest

	 This parameter is a synonym for guest only.

     guest only (S)

	 If  this parameter is yes for a service, then only guest connections to
	 the service are permitted. This parameter will have no effect if  guest
	 ok is not set for the service.

	 See  the  section below on security for more information about this op-
	 tion.

	 Default: guest only = no

     hide dot files (S)

	 This is a boolean parameter that controls whether files starting with a
	 dot appear as hidden files.

	 Default: hide dot files = yes

     hide files (S)

	 This is a list of files or directories that are not visible but are ac-
	 cessible. The DOS 'hidden' attribute is applied to any files or  direc-
	 tories that match.

	 Each  entry in the list must be separated by a '/', which allows spaces
	 to be included in the entry. '*' and '?' can be used to specify  multi-
	 ple files or directories as in DOS wildcards.

	 Each entry must be a Unix path, not a DOS path and must not include the
	 Unix directory separator '/'.

	 Note that the case sensitivity option is applicable in hiding files.

	 Setting this parameter will affect the performance of Samba, as it will
	 be  forced  to  check all files and directories for a match as they are
	 scanned.

	 The example shown above is based on files that the Macintosh SMB client
	 (DAVE) available from Thursby creates for internal use, and also  still
	 hides all files beginning with a dot.

	 An example of us of this parameter is:

	     hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/

	 Default: hide files =	# no file are hidden

     hide special files (S)

	 This parameter prevents clients from seeing special files such as sock-
	 ets, devices and fifo's in directory listings.

	 Default: hide special files = no

     hide unreadable (S)

	 This parameter prevents clients from seeing the existance of files that
	 cannot be read. Defaults to off.

	 Please  note that enabling this can slow down listing large directories
	 significantly. Samba has to evaluate the ACLs of all directory members,
	 which can be a lot of effort.

	 Default: hide unreadable = no

     hide unwriteable files (S)

	 This parameter prevents clients from seeing the existance of files that
	 cannot be written to. Defaults to off. Note that  unwriteable	directo-
	 ries are shown as usual.

	 Please  note that enabling this can slow down listing large directories
	 significantly. Samba has to evaluate the ACLs of all directory members,
	 which can be a lot of effort.

	 Default: hide unwriteable files = no

     homedir map (G)

	 If nis homedir is yes, and smbd(8) is also acting as a  Win95/98  logon
	 server then this parameter specifies the NIS (or YP) map from which the
	 server  for  the user's home directory should be extracted. At present,
	 only the Sun auto.home map format is understood. The form  of	the  map
	 is:

	     username server:/some/file/system

	 and  the program will extract the servername from before the first ':'.
	 There should probably be a better parsing system that copes  with  dif-
	 ferent map formats and also Amd (another automounter) maps.

	     Note
	     A	working  NIS client is required on the system for this option to
	     work.
	 Default: homedir map =

	 Example: homedir map = amd.homedir

     host msdfs (G)

	 If set to yes, Samba will act as a  Dfs  server,  and	allow  Dfs-aware
	 clients to browse Dfs trees hosted on the server.

	 See  also the msdfs root share level parameter. For more information on
	 setting up a Dfs tree on Samba, refer to the MSFDS chapter in the  book
	 Samba3-HOWTO.

	 Default: host msdfs = yes

     hostname lookups (G)

	 Specifies  whether samba should use (expensive) hostname lookups or use
	 the ip addresses instead. An example place where hostname  lookups  are
	 currently used is when checking the hosts deny and hosts allow.

	 Default: hostname lookups = no

	 Example: hostname lookups = yes

     allow hosts

	 This parameter is a synonym for hosts allow.

     hosts allow (S)

	 A synonym for this parameter is allow hosts.

	 This  parameter  is a comma, space, or tab delimited set of hosts which
	 are permitted to access a service.

	 If specified in the [global] section then it will  apply  to  all  ser-
	 vices,  regardless  of  whether  the individual service has a different
	 setting.

	 You can specify the hosts by name or IP number. For example, you  could
	 restrict  access  to  only the hosts on a Class C subnet with something
	 like allow hosts = 150.203.5.. The full syntax of the list is described
	 in the man page hosts_access(5). Note that this man  page  may  not  be
	 present on your system, so a brief description will be given here also.

	 Note that the localhost address 127.0.0.1 will always be allowed access
	 unless specifically denied by a hosts deny option.

	 You  can  also  specify  hosts by network/netmask pairs and by netgroup
	 names if your system supports netgroups. The EXCEPT keyword can also be
	 used to limit a wildcard list. The following examples may provide  some
	 help:

	 Example 1: allow all IPs in 150.203.*.*; except one

	 hosts allow = 150.203. EXCEPT 150.203.6.66

	 Example 2: allow hosts that match the given network/netmask

	 hosts allow = 150.203.15.0/255.255.255.0

	 Example 3: allow a couple of hosts

	 hosts allow = lapland, arvidsjaur

	 Example  4:  allow only hosts in NIS netgroup "foonet", but deny access
	 from one particular host

	 hosts allow = @foonet

	 hosts deny = pirate

	     Note
	     Note that access still requires suitable user-level passwords.
	 See testparm(1) for a way of testing your host access to see if it does
	 what you expect.

	 Default: hosts allow =  # none (i.e., all hosts permitted access)

	 Example: hosts allow = 150.203.5. myhost.mynet.edu.au

     deny hosts

	 This parameter is a synonym for hosts deny.

     hosts deny (S)

	 The opposite of hosts allow - hosts listed here are NOT  permitted  ac-
	 cess  to  services unless the specific services have their own lists to
	 override this one. Where the  lists  conflict,  the  allow  list  takes
	 precedence.

	 In  the event that it is necessary to deny all by default, use the key-
	 word ALL (or the netmask 0.0.0.0/0) and then explicitly specify to  the
	 hosts	allow = hosts allow parameter those hosts that should be permit-
	 ted access.

	 Default: hosts deny =	# none (i.e., no hosts specifically excluded)

	 Example: hosts deny = 150.203.4. badhost.mynet.edu.au

     idmap backend (G)

	 The idmap backend provides a plugin interface for Winbind to use  vary-
	 ing backends to store SID/uid/gid mapping tables.

	 This  option specifies the default backend that is used when no special
	 configuration set, but it is  now  deprecated	in  favour  of	the  new
	 spelling idmap config * : backend.

	 Default: idmap backend = tdb

     idmap cache time (G)

	 This parameter specifies the number of seconds that Winbind's idmap in-
	 terface  will	cache  positive  SID/uid/gid  query results. By default,
	 Samba will cache these results for one week.

	 Default: idmap cache time = 604800

     idmap config:OPTION (G)

	 ID mapping in Samba is the mapping between Windows SIDs and  Unix  user
	 and group IDs. This is performed by Winbindd with a configurable plugin
	 interface.  Samba's  ID  mapping is configured by options starting with
	 the idmap config prefix. An idmap option consists of the  idmap  config
	 prefix,  followed  by	a  domain  name or the asterisk character (*), a
	 colon, and the name of an idmap setting for the chosen domain.

	 The idmap configuration is hence divided into	groups,  one  group  for
	 each  domain  to be configured, and one group with the asterisk instead
	 of a proper domain name, which specifies the default configuration that
	 is used to catch all domains that do not have an explicit idmap config-
	 uration of their own.

	 There are three general options available:

	 backend = backend_name
	     This specifies  the  name	of  the  idmap	plugin	to  use  as  the
	     SID/uid/gid  backend for this domain. The standard backends are tdb
	     (idmap_tdb(8)), tdb2 (idmap_tdb2(8)), ldap (idmap_ldap(8)),  ,  rid
	     (idmap_rid(8)),   ,  hash	(idmap_hash(8)),  ,  autorid  (idmap_au-
	     torid(8)), , ad (idmap_ad(8)), , and nss. (idmap_nss(8)), The  cor-
	     responding manual pages contain the details, but here is a summary.

	     The  first three of these create mappings of their own using inter-
	     nal unixid counters and store the mappings in a database. These are
	     suitable for use in the default idmap configuration.  The	rid  and
	     hash  backends  use a pure algorithmic calculation to determine the
	     unixid for a SID. The autorid module is a mixture of  the	tdb  and
	     rid backend. It creates ranges for each domain encountered and then
	     uses  the	rid algorithm for each of these automatically configured
	     domains individually. The ad backend usees unix IDs stored  in  Ac-
	     tive  Directory via the standard schema extensions. The nss backend
	     reverses the standard winbindd setup and gets the unixids via names
	     from nsswitch which can be useful in an ldap setup.

	 range = low - high
	     Defines the available matching uid and  gid  range  for  which  the
	     backend  is  authoritative.  For allocating backends, this also de-
	     fines the start and the end of the range for allocating new  unique
	     IDs.

	     winbind  uses this parameter to find the backend that is authorita-
	     tive for a unix ID to SID mapping, so it must be set for each indi-
	     vidually configured domain and for the default  configuration.  The
	     configured ranges must be mutually disjoint.

	 read only = yes|no
	     This option can be used to turn the writing backends tdb, tdb2, and
	     ldap  into read only mode. This can be useful e.g. in cases where a
	     pre-filled database exists that should not  be  extended  automati-
	     cally.

	 The  following  example  illustrates  how  to configure the idmap_ad(8)
	 backend for the CORP domain and the idmap_tdb(8) backend for all  other
	 domains. This configuration assumes that the admin of CORP assigns unix
	 ids  below  1000000  via the SFU extensions, and winbind is supposed to
	 use the next million entries for its own mappings from trusted  domains
	 and for local groups for example.

		  idmap config * : backend = tdb
		  idmap config * : range = 1000000-1999999

		  idmap config CORP : backend  = ad
		  idmap config CORP : range = 1000-999999

	 No default

     winbind gid

	 This parameter is a synonym for idmap gid.

     idmap gid (G)

	 The  idmap  gid  parameter specifies the range of group ids for the de-
	 fault idmap configuration. It is now deprecated in favour of idmap con-
	 fig * : range.

	 See the idmap config option.

	 Default: idmap gid =

	 Example: idmap gid = 10000-20000

     idmap negative cache time (G)

	 This parameter specifies the number of seconds that Winbind's idmap in-
	 terface will cache negative SID/uid/gid query results.

	 Default: idmap negative cache time = 120

     winbind uid

	 This parameter is a synonym for idmap uid.

     idmap uid (G)

	 The idmap uid parameter specifies the range of user ids for the default
	 idmap configuration. It is now deprecated in favour of idmap config * :
	 range.

	 See the idmap config option.

	 Default: idmap uid =

	 Example: idmap uid = 10000-20000

     include (G)

	 This allows you to include one config file inside another. The file  is
	 included literally, as though typed in place.

	 It takes the standard substitutions, except %u, %P and %S.

	 The parameter include = registry has a special meaning: It does not in-
	 clude a file named registry from the current working directory, but in-
	 stead reads the global configuration options from the registry. See the
	 section on registry-based configuration for details. Note that this op-
	 tion automatically activates registry shares.

	 Default: include =

	 Example: include = /usr/local/samba/lib/admin_smb.conf

     inherit acls (S)

	 This parameter can be used to ensure that if default acls exist on par-
	 ent  directories,  they  are always honored when creating a new file or
	 subdirectory in these parent directories. The default	behavior  is  to
	 use  the unix mode specified when creating the directory. Enabling this
	 option sets the unix mode to 0777, thus guaranteeing that  default  di-
	 rectory  acls are propagated. Note that using the VFS modules acl_xattr
	 or acl_tdb which store native Windows as meta-data  will  automatically
	 turn  this  option  on for any share for which they are loaded, as they
	 require this option to emulate Windows ACLs correctly.

	 Default: inherit acls = no

     inherit owner (S)

	 The ownership of new files and directories is normally governed by  ef-
	 fective  uid of the connected user. This option allows the Samba admin-
	 istrator to specify that the ownership for new  files	and  directories
	 should be controlled by the ownership of the parent directory.

	 Common  scenarios  where  this  behavior  is  useful is in implementing
	 drop-boxes, where users can create and edit files but not  delete  them
	 and  ensuring	that newly created files in a user's roaming profile di-
	 rectory are actually owned by the user.

	 Default: inherit owner = no

     inherit permissions (S)

	 The permissions on new files and directories are normally  governed  by
	 create mask, directory mask, force create mode and force directory mode
	 but the boolean inherit permissions parameter overrides this.

	 New  directories  inherit  the  mode of the parent directory, including
	 bits such as setgid.

	 New files inherit their read/write  bits  from  the  parent  directory.
	 Their execute bits continue to be determined by map archive, map hidden
	 and map system as usual.

	 Note that the setuid bit is never set via inheritance (the code explic-
	 itly prohibits this).

	 This  can be particularly useful on large systems with many users, per-
	 haps several thousand, to allow a single [homes] share to be used flex-
	 ibly by each user.

	 Default: inherit permissions = no

     init logon delay (G)

	 This parameter specifies a delay in milliseconds for the hosts  config-
	 ured for delayed initial samlogon with init logon delayed hosts.

	 Default: init logon delay = 100

     init logon delayed hosts (G)

	 This  parameter  takes  a list of host names, addresses or networks for
	 which the initial samlogon reply should be delayed (so  other	DCs  get
	 preferred by XP workstations if there are any).

	 The  length of the delay can be specified with the init logon delay pa-
	 rameter.

	 Default: init logon delayed hosts =

	 Example: init logon delayed hosts = 150.203.5. myhost.mynet.de

     interfaces (G)

	 This option allows you to override the default network interfaces  list
	 that  Samba  will use for browsing, name registration and other NetBIOS
	 over TCP/IP (NBT) traffic. By default Samba will query the  kernel  for
	 the  list  of	all  active  interfaces  and  use  any interfaces except
	 127.0.0.1 that are broadcast capable.

	 The option takes a list of interface strings. Each string can be in any
	 of the following forms:

	 *   a	network  interface  name  (such  as  eth0).  This  may	 include
	     shell-like wildcards so eth* will match any interface starting with
	     the substring "eth"

	 *   an IP address. In this case the netmask is determined from the list
	     of interfaces obtained from the kernel

	 *   an IP/mask pair.

	 *   a broadcast/mask pair.

     The  "mask" parameters can either be a bit length (such as 24 for a C class
     network) or a full netmask in dotted decimal form.

     The "IP" parameters above can either be a full dotted decimal IP address or
     a hostname which will be looked up via the OS's normal hostname  resolution
     mechanisms.

     By  default  Samba enables all active interfaces that are broadcast capable
     except the loopback adaptor (IP address 127.0.0.1).

     The example below configures three network interfaces corresponding to  the
     eth0 device and IP addresses 192.168.2.10 and 192.168.3.10. The netmasks of
     the latter two interfaces would be set to 255.255.255.0.

     Default: interfaces =

     Example: interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0

     invalid users (S)

	 This  is  a  list  of users that should not be allowed to login to this
	 service. This is really a paranoid check to absolutely  ensure  an  im-
	 proper setting does not breach your security.

	 A  name starting with a '@' is interpreted as an NIS netgroup first (if
	 your system supports NIS), and then as a UNIX group if the name was not
	 found in the NIS netgroup database.

	 A name starting with '+' is interpreted only by  looking  in  the  UNIX
	 group	database  via the NSS getgrnam() interface. A name starting with
	 '&' is interpreted only by looking in the NIS netgroup  database  (this
	 requires  NIS to be working on your system). The characters '+' and '&'
	 may be used at the start of the name  in  either  order  so  the  value
	 +&group  means  check the UNIX group database, followed by the NIS net-
	 group database, and the value &+group	means  check  the  NIS	netgroup
	 database, followed by the UNIX group database (the same as the '@' pre-
	 fix).

	 The  current  servicename  is substituted for %S. This is useful in the
	 [homes] section.

	 Default: invalid users =  # no invalid users

	 Example: invalid users = root fred admin @wheel

     iprint server (G)

	 This parameter is only applicable if printing is set to iprint.

	 If set, this  option  overrides  the  ServerName  option  in  the  CUPS
	 client.conf.  This  is necessary if you have virtual samba servers that
	 connect to different CUPS daemons.

	 Default: iprint server = ""

	 Example: iprint server = MYCUPSSERVER

     keepalive (G)

	 The value of the parameter (an integer) represents the number	of  sec-
	 onds between keepalive packets. If this parameter is zero, no keepalive
	 packets  will	be sent. Keepalive packets, if sent, allow the server to
	 tell whether a client is still present and responding.

	 Keepalives should, in general, not be needed  if  the	socket	has  the
	 SO_KEEPALIVE  attribute set on it by default. (see socket options). Ba-
	 sically you should only use this option if you strike difficulties.

	 Please note this option only applies to SMB1  client  connections,  and
	 has no effect on SMB2 clients.

	 Default: keepalive = 300

	 Example: keepalive = 600

     kerberos method (G)

	 Controls how kerberos tickets are verified.

	 Valid options are:

	 *   secrets  only  -  use  only the secrets.tdb for ticket verification
	     (default)

	 *   system keytab - use only the system keytab for ticket verification

	 *   dedicated keytab - use a dedicated keytab for ticket verification

	 *   secrets and keytab - use the secrets.tdb  first,  then  the  system
	     keytab

     The major difference between "system keytab" and "dedicated keytab" is that
     the  latter  method relies on kerberos to find the correct keytab entry in-
     stead of filtering based on expected principals.

     When the kerberos method is in "dedicated keytab"	mode,  dedicated  keytab
     file must be set to specify the location of the keytab file.

     Default: kerberos method = default

     kernel change notify (G)

	 This parameter specifies whether Samba should ask the kernel for change
	 notifications	in  directories so that SMB clients can refresh whenever
	 the data on the server changes.

	 This parameter is only used when your kernel supports change  notifica-
	 tion to user programs using the inotify interface.

	 Default: kernel change notify = yes

     kernel oplocks (S)

	 For  UNIXes  that support kernel based oplocks (currently only IRIX and
	 the Linux 2.4 kernel), this parameter allows the  use	of  them  to  be
	 turned  on  or off. However, this disables Level II oplocks for clients
	 as the Linux and IRIX kernels do not support them properly.

	 Kernel oplocks support allows Samba oplocks to be broken whenever a lo-
	 cal UNIX process or NFS operation accesses  a	file  that  smbd(8)  has
	 oplocked.  This  allows complete data consistency between SMB/CIFS, NFS
	 and local file access (and is a very cool feature :-).

	 If you do not need this interaction, you should disable  the  parameter
	 on  Linux  and  IRIX to get Level II oplocks and the associated perfor-
	 mance benefit.

	 This parameter defaults to no and is translated to a no-op  on  systems
	 that do not have the necessary kernel support.

	 Default: kernel oplocks = no

     kernel share modes (S)

	 This  parameter  controls  whether  SMB share modes are translated into
	 UNIX flocks.

	 Kernel share modes provide a minimal level of interoperability with lo-
	 cal UNIX processes and NFS operations by preventing access with  flocks
	 corresponding	to  the SMB share modes. Generally, it is very desirable
	 to leave this enabled.

	 Note that in order to use SMB2 durable file handles  on  a  share,  you
	 have to turn kernel share modes off.

	 This  parameter defaults to yes and is translated to a no-op on systems
	 that do not have the necessary kernel flock support.

	 Default: kernel share modes = yes

     kpasswd port (G)

	 Specifies which ports the Kerberos server should listen on for password
	 changes.

	 Default: kpasswd port = 464

     krb5 port (G)

	 Specifies which port the KDC should listen on for Kerberos traffic.

	 Default: krb5 port = 88

     lanman auth (G)

	 This parameter determines whether or not smbd(8) will	attempt  to  au-
	 thenticate  users  or permit password changes using the LANMAN password
	 hash. If disabled, only clients which support NT password hashes  (e.g.
	 Windows NT/2000 clients, smbclient, but not Windows 95/98 or the MS DOS
	 network client) will be able to connect to the Samba host.

	 The  LANMAN encrypted response is easily broken, due to its case-insen-
	 sitive nature, and the choice of  algorithm.  Servers	without  Windows
	 95/98/ME or MS DOS clients are advised to disable this option.

	 When  this parameter is set to no this will also result in sambaLMPass-
	 word in Samba's passdb being blanked after the next password change. As
	 a result of that lanman clients won't be able to authenticate, even  if
	 lanman auth is reenabled later on.

	 Unlike the encrypt passwords option, this parameter cannot alter client
	 behaviour, and the LANMAN response will still be sent over the network.
	 See the client lanman auth to disable this for Samba's clients (such as
	 smbclient)

	 If  this  option, and ntlm auth are both disabled, then only NTLMv2 lo-
	 gins will be permited. Not all clients support NTLMv2,  and  most  will
	 require special configuration to use it.

	 Default: lanman auth = no

     large readwrite (G)

	 This  parameter  determines whether or not smbd(8) supports the new 64k
	 streaming read and write variant SMB requests introduced  with  Windows
	 2000.	Note  that  due  to Windows 2000 client redirector bugs this re-
	 quires Samba to be running on a 64-bit capable operating system such as
	 IRIX, Solaris or a Linux 2.4 kernel. Can  improve  performance  by  10%
	 with  Windows 2000 clients. Defaults to on. Not as tested as some other
	 Samba code paths.

	 Default: large readwrite = yes

     ldap admin dn (G)

	 The ldap admin dn defines the Distinguished  Name  (DN)  name	used  by
	 Samba	to contact the ldap server when retreiving user account informa-
	 tion. The ldap admin dn is used in conjunction with the admin dn  pass-
	 word  stored  in the private/secrets.tdb file. See the smbpasswd(8) man
	 page for more information on how to accomplish this.

	 The ldap admin dn requires a fully specified DN. The ldap suffix is not
	 appended to the ldap admin dn.

	 No default

     ldap connection timeout (G)

	 This parameter tells the LDAP library calls which  timeout  in  seconds
	 they  should  honor  during  initial  connection establishments to LDAP
	 servers. It is very useful in failover scenarios in particular. If  one
	 or  more  LDAP servers are not reachable at all, we do not have to wait
	 until TCP timeouts are over. This feature must  be  supported	by  your
	 LDAP library.

	 This  parameter is different from ldap timeout which affects operations
	 on LDAP servers using an existing connection and  not	establishing  an
	 initial connection.

	 Default: ldap connection timeout = 2

     ldap debug level (G)

	 This  parameter  controls the debug level of the LDAP library calls. In
	 the case of OpenLDAP, it is the same bit-field  as  understood  by  the
	 server  and  documented  in the slapd.conf(5) manpage. A typical useful
	 value will be 1 for tracing function calls.

	 The debug output from the LDAP libraries appears with the prefix [LDAP]
	 in Samba's logging output. The level at which LDAP logging  is  printed
	 is controlled by the parameter ldap debug threshold.

	 Default: ldap debug level = 0

	 Example: ldap debug level = 1

     ldap debug threshold (G)

	 This parameter controls the Samba debug level at which the ldap library
	 debug	output is printed in the Samba logs. See the description of ldap
	 debug level for details.

	 Default: ldap debug threshold = 10

	 Example: ldap debug threshold = 5

     ldap delete dn (G)

	 This parameter specifies whether a  delete  operation	in  the  ldapsam
	 deletes the complete entry or only the attributes specific to Samba.

	 Default: ldap delete dn = no

     ldap deref (G)

	 This  option controls whether Samba should tell the LDAP library to use
	 a certain alias dereferencing method. The default is auto, which  means
	 that the default setting of the ldap client library will be kept. Other
	 possible  values  are	never,	finding, searching and always. Grab your
	 LDAP manual for more information.

	 Default: ldap deref = auto

	 Example: ldap deref = searching

     ldap follow referral (G)

	 This option controls whether to  follow  LDAP	referrals  or  not  when
	 searching  for  entries in the LDAP database. Possible values are on to
	 enable following referrals, off to disable this, and auto, to	use  the
	 libldap  default  settings.  libldap's choice of following referrals or
	 not is set in /etc/openldap/ldap.conf with the REFERRALS  parameter  as
	 documented in ldap.conf(5).

	 Default: ldap follow referral = auto

	 Example: ldap follow referral = off

     ldap group suffix (G)

	 This  parameter specifies the suffix that is used for groups when these
	 are added to the LDAP directory. If this parameter is unset, the  value
	 of ldap suffix will be used instead. The suffix string is pre-pended to
	 the ldap suffix string so use a partial DN.

	 Default: ldap group suffix =

	 Example: ldap group suffix = ou=Groups

     ldap idmap suffix (G)

	 This  parameters  specifies  the suffix that is used when storing idmap
	 mappings. If this parameter is unset, the value of ldap suffix will  be
	 used instead. The suffix string is pre-pended to the ldap suffix string
	 so use a partial DN.

	 Default: ldap idmap suffix =

	 Example: ldap idmap suffix = ou=Idmap

     ldap machine suffix (G)

	 It  specifies	where machines should be added to the ldap tree. If this
	 parameter is unset, the value of ldap suffix will be used instead.  The
	 suffix  string is pre-pended to the ldap suffix string so use a partial
	 DN.

	 Default: ldap machine suffix =

	 Example: ldap machine suffix = ou=Computers

     ldap page size (G)

	 This parameter specifies the number of entries per page.

	 If the LDAP server supports paged results, clients can request  subsets
	 of  search  results  (pages) instead of the entire list. This parameter
	 specifies the size of these pages.

	 Default: ldap page size = 1024

	 Example: ldap page size = 512

     ldap password sync

	 This parameter is a synonym for ldap passwd sync.

     ldap passwd sync (G)

	 This option is used to define whether or not Samba should sync the LDAP
	 password with the NT and LM hashes for normal accounts (NOT  for  work-
	 station, server or domain trusts) on a password change via SAMBA.

	 The ldap passwd sync can be set to one of three values:

	 *   Yes  =  Try  to update the LDAP, NT and LM passwords and update the
	     pwdLastSet time.

	 *   No = Update NT and LM passwords and update the pwdLastSet time.

	 *   Only = Only update the LDAP password and let the LDAP server do the
	     rest.

     Default: ldap passwd sync = no

     ldap replication sleep (G)

	 When Samba is asked to write to a read-only LDAP replica, we are  redi-
	 rected to talk to the read-write master server. This server then repli-
	 cates	our  changes back to the 'local' server, however the replication
	 might take some seconds, especially over slow links. Certain client ac-
	 tivities, particularly domain joins, can become confused by  the  'suc-
	 cess' that does not immediately change the LDAP back-end's data.

	 This option simply causes Samba to wait a short time, to allow the LDAP
	 server  to  catch  up. If you have a particularly high-latency network,
	 you may wish to time the LDAP replication with a network  sniffer,  and
	 increase this value accordingly. Be aware that no checking is performed
	 that the data has actually replicated.

	 The  value  is  specified in milliseconds, the maximum value is 5000 (5
	 seconds).

	 Default: ldap replication sleep = 1000

     ldapsam:editposix (G)

	 Editposix is an option that leverages ldapsam:trusted to make	it  sim-
	 pler  to manage a domain controller eliminating the need to set up cus-
	 tom scripts to add and manage the posix users and groups.  This  option
	 will  instead	directly  manipulate the ldap tree to create, remove and
	 modify user and group entries. This option also requires a running win-
	 bindd as it is used to allocate new uids/gids on  user/group  creation.
	 The allocation range must be therefore configured.

	 To  use  this	option,  a basic ldap tree must be provided and the ldap
	 suffix parameters must be properly configured. On  virgin  servers  the
	 default  users  and  groups (Administrator, Guest, Domain Users, Domain
	 Admins, Domain Guests) can be precreated with the command net sam  pro-
	 vision.  To  run this command the ldap server must be running, Winbindd
	 must be running and the smb.conf ldap options must be properly  config-
	 ured. The typical ldap setup used with the ldapsam:trusted = yes option
	 is usually sufficient to use ldapsam:editposix = yes as well.

	 An example configuration can be the following:

		  encrypt passwords = true
		  passdb backend = ldapsam

		  ldapsam:trusted=yes
		  ldapsam:editposix=yes

		  ldap admin dn = cn=admin,dc=samba,dc=org
		  ldap delete dn = yes
		  ldap group suffix = ou=groups
		  ldap idmap suffix = ou=idmap
		  ldap machine suffix = ou=computers
		  ldap user suffix = ou=users
		  ldap suffix = dc=samba,dc=org

		  idmap backend = ldap:"ldap://localhost"

		  idmap uid = 5000-50000
		  idmap gid = 5000-50000

	 This  configuration  assumes  a  directory layout like described in the
	 following ldif:

		  dn: dc=samba,dc=org
		  objectClass: top
		  objectClass: dcObject
		  objectClass: organization
		  o: samba.org
		  dc: samba

		  dn: cn=admin,dc=samba,dc=org
		  objectClass: simpleSecurityObject
		  objectClass: organizationalRole
		  cn: admin
		  description: LDAP administrator
		  userPassword: secret

		  dn: ou=users,dc=samba,dc=org
		  objectClass: top
		  objectClass: organizationalUnit
		  ou: users

		  dn: ou=groups,dc=samba,dc=org
		  objectClass: top
		  objectClass: organizationalUnit
		  ou: groups

		  dn: ou=idmap,dc=samba,dc=org
		  objectClass: top
		  objectClass: organizationalUnit
		  ou: idmap

		  dn: ou=computers,dc=samba,dc=org
		  objectClass: top
		  objectClass: organizationalUnit
		  ou: computers

	 Default: ldapsam:editposix = no

     ldapsam:trusted (G)

	 By default, Samba as a Domain Controller with an LDAP backend needs  to
	 use  the Unix-style NSS subsystem to access user and group information.
	 Due to  the  way  Unix  stores  user  information  in	/etc/passwd  and
	 /etc/group this inevitably leads to inefficiencies. One important ques-
	 tion  a  user	needs to know is the list of groups he is member of. The
	 plain UNIX model involves a complete enumeration of the file /etc/group
	 and its NSS counterparts in LDAP. UNIX has optimized functions to  enu-
	 merate  group	membership. Sadly, other functions that are used to deal
	 with user and group attributes lack such optimization.

	 To make Samba scale well in large environments, the  ldapsam:trusted  =
	 yes  option  assumes  that the complete user and group database that is
	 relevant to  Samba  is  stored  in  LDAP  with  the  standard	posixAc-
	 count/posixGroup  attributes.	It further assumes that the Samba auxil-
	 iary object classes are stored together with the POSIX data in the same
	 LDAP object. If these assumptions are met, ldapsam:trusted = yes can be
	 activated and Samba can bypass the NSS system to query user group  mem-
	 berships.  Optimized LDAP queries can greatly speed up domain logon and
	 administration tasks. Depending on the size of the LDAP database a fac-
	 tor of 100 or more for common queries is easily achieved.

	 Default: ldapsam:trusted = no

     ldap ssl (G)

	 This option is used to define whether or not Samba should use SSL  when
	 connecting  to  the ldap server This is NOT related to Samba's previous
	 SSL support which was enabled by specifying the  --with-ssl  option  to
	 the configure script.

	 LDAP  connections  should  be	secured where possible. This may be done
	 setting either this parameter to Start_tlsor by specifying ldaps://  in
	 the URL argument of passdb backend.

	 The ldap ssl can be set to one of two values:

	 *   Off = Never use SSL when querying the directory.

	 *   start  tls  =  Use the LDAPv3 StartTLS extended operation (RFC2830)
	     for communicating with the directory server.

     Please note that this parameter does only affect rpc methods. To enable the
     LDAPv3 StartTLS extended operation (RFC2830) for ads, set ldap ssl = yesan-
     dldap ssl ads = yes. See smb.conf(5) for more information on ldap ssl ads.

     Default: ldap ssl = start tls

     ldap ssl ads (G)

	 This option is used to define whether or not Samba should use SSL  when
	 connecting  to  the  ldap server using ads methods. Rpc methods are not
	 affected by this parameter. Please note, that this parameter won't have
	 any effect if ldap ssl is set to no.

	 See smb.conf(5) for more information on ldap ssl.

	 Default: ldap ssl ads = no

     ldap suffix (G)

	 Specifies the base for all ldap suffixes and for storing  the	sambaDo-
	 main object.

	 The  ldap  suffix will be appended to the values specified for the ldap
	 user suffix, ldap group suffix, ldap machine suffix, and the ldap idmap
	 suffix. Each of these should be given only a DN relative  to  the  ldap
	 suffix.

	 Default: ldap suffix =

	 Example: ldap suffix = dc=samba,dc=org

     ldap timeout (G)

	 This  parameter  defines the number of seconds that Samba should use as
	 timeout for LDAP operations.

	 Default: ldap timeout = 15

     ldap user suffix (G)

	 This parameter specifies where users are added to the tree. If this pa-
	 rameter is unset, the value of ldap suffix will be  used  instead.  The
	 suffix  string is pre-pended to the ldap suffix string so use a partial
	 DN.

	 Default: ldap user suffix =

	 Example: ldap user suffix = ou=people

     level2 oplocks (S)

	 This parameter  controls  whether  Samba  supports  level2  (read-only)
	 oplocks on a share.

	 Level2,  or  read-only  oplocks  allow  Windows NT clients that have an
	 oplock on a file to downgrade from a read-write oplock to  a  read-only
	 oplock  once  a  second client opens the file (instead of releasing all
	 oplocks on a second open, as in traditional, exclusive  oplocks).  This
	 allows all openers of the file that support level2 oplocks to cache the
	 file  for  read-ahead	only  (ie. they may not cache writes or lock re-
	 quests) and increases performance for many accesses of files  that  are
	 not commonly written (such as application .EXE files).

	 Once  one  of	the  clients which have a read-only oplock writes to the
	 file all clients are notified (no reply is needed or  waited  for)  and
	 told to break their oplocks to "none" and delete any read-ahead caches.

	 It  is  recommended that this parameter be turned on to speed access to
	 shared executables.

	 For more discussions on level2 oplocks see the CIFS spec.

	 Currently, if kernel oplocks are supported then level2 oplocks are  not
	 granted  (even if this parameter is set to yes). Note also, the oplocks
	 parameter must be set to yes on this share in order for this  parameter
	 to have any effect.

	 Default: level2 oplocks = yes

     lm announce (G)

	 This  parameter  determines  if  nmbd(8)  will  produce Lanman announce
	 broadcasts that are needed by OS/2 clients in order for them to see the
	 Samba server in their browse list. This parameter can have  three  val-
	 ues,  yes,  no,  or  auto. The default is auto. If set to no Samba will
	 never produce these broadcasts. If set to yes Samba will produce Lanman
	 announce broadcasts at a frequency set by the parameter lm interval. If
	 set to auto Samba will not send Lanman announce broadcasts  by  default
	 but  will  listen for them. If it hears such a broadcast on the wire it
	 will then start sending them at a frequency set by the parameter lm in-
	 terval.

	 Default: lm announce = auto

	 Example: lm announce = yes

     lm interval (G)

	 If Samba is set to produce Lanman announce broadcasts	needed	by  OS/2
	 clients (see the lm announce parameter) then this parameter defines the
	 frequency  in	seconds  with which they will be made. If this is set to
	 zero then no Lanman announcements will be made despite the  setting  of
	 the lm announce parameter.

	 Default: lm interval = 60

	 Example: lm interval = 120

     load printers (G)

	 A  boolean  variable that controls whether all printers in the printcap
	 will be loaded for browsing by default. See the  printers  section  for
	 more details.

	 Default: load printers = yes

     local master (G)

	 This  option allows nmbd(8) to try and become a local master browser on
	 a subnet. If set to no then nmbd will not attempt  to	become	a  local
	 master  browser  on  a  subnet and will also lose in all browsing elec-
	 tions. By default this value is set to yes. Setting this value  to  yes
	 doesn't  mean that Samba will become the local master browser on a sub-
	 net, just that nmbd will participate  in  elections  for  local  master
	 browser.

	 Setting  this value to no will cause nmbdnever to become a local master
	 browser.

	 Default: local master = yes

     lock dir

	 This parameter is a synonym for lock directory.

     lock directory (G)

	 This option specifies the directory where lock files  will  be  placed.
	 The lock files are used to implement the max connections option.

	 Note: This option can not be set inside registry configurations.

	 Default: lock directory = ${prefix}/var/lock

	 Example: lock directory = /var/run/samba/locks

     locking (S)

	 This controls whether or not locking will be performed by the server in
	 response to lock requests from the client.

	 If  locking  =  no, all lock and unlock requests will appear to succeed
	 and all lock queries will report that the file in question is available
	 for locking.

	 If locking = yes, real locking will be performed by the server.

	 This option may be useful for read-only filesystems which may not  need
	 locking  (such  as CDROM drives), although setting this parameter of no
	 is not really recommended even in this case.

	 Be careful about disabling locking either globally  or  in  a	specific
	 service,  as  lack of locking may result in data corruption. You should
	 never need to set this parameter.

	 Default: locking = yes

     lock spin time (G)

	 The time in milliseconds that smbd should keep  waiting  to  see  if  a
	 failed  lock  request can be granted. This parameter has changed in de-
	 fault value from Samba 3.0.23 from 10 to 200. The associated lock  spin
	 count	parameter is no longer used in Samba 3.0.24. You should not need
	 to change the value of this parameter.

	 Default: lock spin time = 200

     log file (G)

	 This option allows you to override the name of the Samba log file (also
	 known as the debug file).

	 This option takes the standard substitutions, allowing you to have sep-
	 arate log files for each user or machine.

	 No default

	 Example: log file = /usr/local/samba/var/log.%m

     logging (G)

	 This parameter configures logging backends. Multiple  backends  can  be
	 specified at the same time, with different log levels for each backend.
	 The parameter is a list of backends, where each backend is specified as
	 backend[:option][@loglevel].

	 The 'option' parameter can be used to pass backend-specific options.

	 The  log  level for a backend is optional, if it is not set for a back-
	 end, all messages are sent to this backend. The parameter log level de-
	 termines overall log levels, while the log levels specified here define
	 what is sent to the individual backends.

	 When logging is set, it overrides the syslog and  syslog  only  parame-
	 ters.

	 Some  backends are only available when Samba has been compiled with the
	 additional libraries. The overall list of logging backends:

	 *   syslog

	 *   file

	 *   systemd

	 *   lttng

	 *   gpfs

     Default: logging =

     Example: logging = syslog@1 file

     debuglevel

	 This parameter is a synonym for log level.

     log level (G)

	 The value of the parameter (a astring) allows the debug level	(logging
	 level) to be specified in the smb.conf file.

	 This  parameter has been extended since the 2.2.x series, now it allows
	 to specify the debug level for multiple debug classes. This is to  give
	 greater  flexibility  in the configuration of the system. The following
	 debug classes are currently implemented:

	 *   all

	 *   tdb

	 *   printdrivers

	 *   lanman

	 *   smb

	 *   rpc_parse

	 *   rpc_srv

	 *   rpc_cli

	 *   passdb

	 *   sam

	 *   auth

	 *   winbind

	 *   vfs

	 *   idmap

	 *   quota

	 *   acls

	 *   locking

	 *   msdfs

	 *   dmapi

	 *   registry

     Default: log level = 0

     Example: log level = 3 passdb:5 auth:10 winbind:2

     log nt token command (G)

	 This option can be set to a command that will be called when new nt to-
	 kens are created.

	 This is only useful for development purposes.

	 Default: log nt token command =

     logon drive (G)

	 This parameter specifies the local path to  which  the  home  directory
	 will be connected (see logon home) and is only used by NT Workstations.

	 Note  that  this  option  is  only useful if Samba is set up as a logon
	 server.

	 Default: logon drive =

	 Example: logon drive = h:

     logon home (G)

	 This parameter specifies the home directory location when a Win95/98 or
	 NT Workstation logs into a Samba PDC. It allows you to do

	 C:\>NET USE H: /HOME

	 from a command prompt, for example.

	 This option takes the standard substitutions, allowing you to have sep-
	 arate logon scripts for each user or machine.

	 This parameter can be used with Win9X workstations to ensure that roam-
	 ing profiles are stored in a subdirectory of the user's home directory.
	 This is done in the following way:

	 logon home = \\%N\%U\profile

	 This tells Samba to return the above string,  with  substitutions  made
	 when a client requests the info, generally in a NetUserGetInfo request.
	 Win9X	clients truncate the info to \\server\share when a user does net
	 use /home but use the whole string when dealing with profiles.

	 Note that in prior versions of  Samba,  the  logon  path  was	returned
	 rather  than  logon home. This broke net use /home but allowed profiles
	 outside the home directory. The current implementation is correct,  and
	 can be used for profiles if you use the above trick.

	 Disable  this	feature  by  setting  logon  home = "" - using the empty
	 string.

	 This option is only useful if Samba is set up as a logon server.

	 Default: logon home = \\%N\%U

	 Example: logon home = \\remote_smb_server\%U

     logon path (G)

	 This parameter specifies the directory where roaming profiles (Desktop,
	 NTuser.dat, etc) are stored. Contrary to  previous  versions  of  these
	 manual  pages,  it  has  nothing to do with Win 9X roaming profiles. To
	 find out how to handle roaming profiles for Win 9X system, see the  lo-
	 gon home parameter.

	 This option takes the standard substitutions, allowing you to have sep-
	 arate logon scripts for each user or machine. It also specifies the di-
	 rectory from which the "Application Data", desktop, start menu, network
	 neighborhood,	programs  and  other  folders,	and  their contents, are
	 loaded and displayed on your Windows NT client.

	 The share and the path must be readable by the user for the preferences
	 and directories to be loaded onto the Windows NT client. The share must
	 be writeable when the user logs in for the first time,  in  order  that
	 the  Windows NT client can create the NTuser.dat and other directories.
	 Thereafter, the directories and any of the contents can,  if  required,
	 be made read-only. It is not advisable that the NTuser.dat file be made
	 read-only  -  rename  it to NTuser.man to achieve the desired effect (a
	 MANdatory profile).

	 Windows clients can sometimes maintain  a  connection	to  the  [homes]
	 share,  even  though there is no user logged in. Therefore, it is vital
	 that the logon path does not include a reference  to  the  homes  share
	 (i.e.	setting  this  parameter  to  \\%N\homes\profile_path will cause
	 problems).

	 This option takes the standard substitutions, allowing you to have sep-
	 arate logon scripts for each user or machine.

	     Warning
	     Do not quote the value.  Setting  this  as  "\\%N\profile\%U"  will
	     break  profile handling. Where the tdbsam or ldapsam passdb backend
	     is used, at the time the user account is created the value  config-
	     ured  for	this parameter is written to the passdb backend and that
	     value will over-ride the parameter value present  in  the	smb.conf
	     file.  Any  error present in the passdb backend account record must
	     be editted using the appropriate tool (pdbedit on the command-line,
	     or any other locally provided system tool).
	 Note that this option is only useful if Samba is set  up  as  a  domain
	 controller.

	 Disable  the use of roaming profiles by setting the value of this para-
	 meter to the empty string. For example, logon path = "". Take note that
	 even if the default setting in the smb.conf file is the  empty  string,
	 any  value specified in the user account settings in the passdb backend
	 will over-ride the effect of setting this parameter to null.  Disabling
	 of all roaming profile use requires that the user account settings must
	 also be blank.

	 An example of use is:

	     logon path = \\PROFILESERVER\PROFILE\%U

	 Default: logon path = \\%N\%U\profile

     logon script (G)

	 This  parameter  specifies  the  batch  file  (.bat) or NT command file
	 (.cmd) to be downloaded and run on a machine when a  user  successfully
	 logs  in. The file must contain the DOS style CR/LF line endings. Using
	 a DOS-style editor to create the file is recommended.

	 The script must be a relative path to the [netlogon]  service.  If  the
	 [netlogon]  service  specifies a path of /usr/local/samba/netlogon, and
	 logon script = STARTUP.BAT, then the file that will be downloaded is:

		  /usr/local/samba/netlogon/STARTUP.BAT

	 The contents of the batch file are entirely your  choice.  A  suggested
	 command would be to add NET TIME \\SERVER /SET /YES, to force every ma-
	 chine	to  synchronize  clocks  with  the same time server. Another use
	 would be to add NET USE U: \\SERVER\UTILS for commonly used  utilities,
	 or

	     NET USE Q: \\SERVER\ISO9001_QA

	 for example.

	 Note that it is particularly important not to allow write access to the
	 [netlogon] share, or to grant users write permission on the batch files
	 in  a secure environment, as this would allow the batch files to be ar-
	 bitrarily modified and security to be breached.

	 This option takes the standard substitutions, allowing you to have sep-
	 arate logon scripts for each user or machine.

	 This option is only useful if Samba is set up as a logon server.

	 Default: logon script =

	 Example: logon script = scripts\%U.bat

     log writeable files on exit (G)

	 When the network connection between a CIFS client and Samba dies, Samba
	 has no option but to simply shut down the server side	of  the  network
	 connection. If this happens, there is a risk of data corruption because
	 the  Windows client did not complete all write operations that the Win-
	 dows application requested. Setting this option to "yes" makes smbd log
	 with a level 0 message a list of all files that have  been  opened  for
	 writing  when the network connection died. Those are the files that are
	 potentially corrupted. It is meant as an aid for the  administrator  to
	 give him a list of files to do consistency checks on.

	 Default: log writeable files on exit = no

     lppause command (S)

	 This  parameter specifies the command to be executed on the server host
	 in order to stop printing or spooling a specific print job.

	 This command should be a program or script which takes a  printer  name
	 and  job number to pause the print job. One way of implementing this is
	 by using job priorities, where jobs having a too low priority won't  be
	 sent to the printer.

	 If a %p is given then the printer name is put in its place. A %j is re-
	 placed  with the job number (an integer). On HPUX (see printing=hpux ),
	 if the -p%p option is added to the lpq command, the job  will	show  up
	 with the correct status, i.e. if the job priority is lower than the set
	 fence	priority it will have the PAUSED status, whereas if the priority
	 is equal or higher it will have the SPOOLED or PRINTING status.

	 Note that it is good practice to include the absolute path in	the  lp-
	 pause command as the PATH may not be available to the server.

	 Currently no default value is given to this string, unless the value of
	 the  printing	parameter  is SYSV, in which case the default is : lp -i
	 %p-%j -H hold or if the value of the printing parameter is SOFTQ,  then
	 the default is: qstat -s -j%j -h.

	 Default: lppause command =  # determined by printing parameter

	 Example: lppause command = /usr/bin/lpalt %p-%j -p0

     lpq cache time (G)

	 This  controls  how long lpq info will be cached for to prevent the lpq
	 command being called too often. A separate cache is kept for each vari-
	 ation of the lpq command used by the system, so if  you  use  different
	 lpq  commands	for different users then they won't share cache informa-
	 tion.

	 The cache files are stored in /tmp/lpq.xxxx where xxxx is a hash of the
	 lpq command in use.

	 The default is 30 seconds, meaning that the cached results of a  previ-
	 ous  identical lpq command will be used if the cached data is less than
	 30 seconds old. A large value may be advisable if your lpq  command  is
	 very slow.

	 A value of 0 will disable caching completely.

	 Default: lpq cache time = 30

	 Example: lpq cache time = 10

     lpq command (S)

	 This  parameter specifies the command to be executed on the server host
	 in order to obtain lpq-style printer status information.

	 This command should be a program or script which takes a  printer  name
	 as its only parameter and outputs printer status information.

	 Currently nine styles of printer status information are supported; BSD,
	 AIX,  LPRNG,  PLP,  SYSV,  HPUX, QNX, CUPS, and SOFTQ. This covers most
	 UNIX systems. You control which type is expected using the  printing  =
	 option.

	 Some  clients	(notably  Windows for Workgroups) may not correctly send
	 the connection number for the printer they are requesting status infor-
	 mation about. To get around this,  the  server  reports  on  the  first
	 printer  service  connected  to by the client. This only happens if the
	 connection number sent is invalid.

	 If a %p is given then the printer name is put in its  place.  Otherwise
	 it is placed at the end of the command.

	 Note  that  it is good practice to include the absolute path in the lpq
	 command as the $PATH may not be available to the server. When	compiled
	 with  the  CUPS  libraries,  no lpq command is needed because smbd will
	 make a library call to obtain the print queue listing.

	 Default: lpq command =  # determined by printing parameter

	 Example: lpq command = /usr/bin/lpq -P%p

     lpresume command (S)

	 This parameter specifies the command to be executed on the server  host
	 in  order  to restart or continue printing or spooling a specific print
	 job.

	 This command should be a program or script which takes a  printer  name
	 and  job  number  to resume the print job. See also the lppause command
	 parameter.

	 If a %p is given then the printer name is put in its place. A %j is re-
	 placed with the job number (an integer).

	 Note that it is good practice to include the absolute path in the lpre-
	 sume command as the PATH may not be available to the server.

	 See also the printing parameter.

	 Default: Currently no default value is given to this string, unless the
	 value of the printing parameter is SYSV, in which case the default is:

	 lp -i %p-%j -H resume

	 or if the value of the printing parameter is SOFTQ,  then  the  default
	 is:

	 qstat -s -j%j -r

	 Default: lpresume command =  # determined by printing parameter

	 Example: lpresume command = /usr/bin/lpalt %p-%j -p2

     lprm command (S)

	 This  parameter specifies the command to be executed on the server host
	 in order to delete a print job.

	 This command should be a program or script which takes a  printer  name
	 and job number, and deletes the print job.

	 If a %p is given then the printer name is put in its place. A %j is re-
	 placed with the job number (an integer).

	 Note  that it is good practice to include the absolute path in the lprm
	 command as the PATH may not be available to the server.

	 Examples of use are:

	     lprm command = /usr/bin/lprm -P%p %j

	     or

	     lprm command = /usr/bin/cancel %p-%j

	 Default: lprm command =  # determined by printing parameter

     machine password timeout (G)

	 If a Samba server is a member of a Windows NT Domain (see the	security
	 =  domain  parameter) then periodically a running smbd process will try
	 and change the MACHINE ACCOUNT PASSWORD stored in the TDB  called  pri-
	 vate/secrets.tdb. This parameter specifies how often this password will
	 be changed, in seconds. The default is one week (expressed in seconds),
	 the same as a Windows NT Domain member server.

	 See also smbpasswd(8), and the security = domain parameter.

	 Default: machine password timeout = 604800

     magic output (S)

	 This  parameter  specifies the name of a file which will contain output
	 created by a magic script (see the magic script parameter below).

	     Warning
	     If two clients use the same magic script in the same directory  the
	     output file content is undefined.
	 Default: magic output =  # <magic script name>.out

	 Example: magic output = myfile.txt

     magic script (S)

	 This  parameter  specifies the name of a file which, if opened, will be
	 executed by the server when the file is  closed.  This  allows  a  UNIX
	 script  to be sent to the Samba host and executed on behalf of the con-
	 nected user.

	 Scripts executed in this way will be deleted upon  completion	assuming
	 that  the user has the appropriate level of privilege and the file per-
	 missions allow the deletion.

	 If the script generates output, output will be sent to the file  speci-
	 fied by the magic output parameter (see above).

	 Note  that some shells are unable to interpret scripts containing CR/LF
	 instead of CR as the end-of-line marker. Magic  scripts  must	be  exe-
	 cutable  as  is  on the host, which for some hosts and some shells will
	 require filtering at the DOS end.

	 Magic scripts are EXPERIMENTAL and should NOT be relied upon.

	 Default: magic script =

	 Example: magic script = user.csh

     mangled names (S)

	 This controls whether non-DOS names under  UNIX  should  be  mapped  to
	 DOS-compatible  names	("mangled") and made visible, or whether non-DOS
	 names should simply be ignored.

	 See the section on name mangling for details on how to control the man-
	 gling process.

	 If mangling is used then the mangling method is as follows:

	 *   The first (up to) five alphanumeric characters before the rightmost
	     dot of the filename are preserved, forced to upper case, and appear
	     as the first (up to) five characters of the mangled name.

	 *   A tilde "~" is appended to the first part of the mangled name, fol-
	     lowed by a two-character unique sequence,	based  on  the	original
	     root  name (i.e., the original filename minus its final extension).
	     The final extension is included in the hash calculation only if  it
	     contains  any upper case characters or is longer than three charac-
	     ters.

	     Note that the character to use may be specified using the	mangling
	     char option, if you don't like '~'.

	 *   Files  whose  UNIX  name begins with a dot will be presented as DOS
	     hidden files. The mangled name will be created as for  other  file-
	     names,  but with the leading dot removed and "___" as its extension
	     regardless of actual original extension (that's three underscores).

     The two-digit hash value consists of upper case alphanumeric characters.

     This algorithm can cause name collisions only if files in a directory share
     the same first five alphanumeric characters.  The	probability  of  such  a
     clash is 1/1300.

     The  name mangling (if enabled) allows a file to be copied between UNIX di-
     rectories from Windows/DOS while retaining the  long  UNIX  filename.  UNIX
     files  can  be  renamed to a new extension from Windows/DOS and will retain
     the same basename. Mangled names do not change between sessions.

     Default: mangled names = yes

     mangle prefix (G)

	 controls the number of prefix characters from the  original  name  used
	 when  generating  the	mangled names. A larger value will give a weaker
	 hash and therefore more name collisions. The minimum value is 1 and the
	 maximum value is 6.

	 mangle prefix is effective only when mangling method is hash2.

	 Default: mangle prefix = 1

	 Example: mangle prefix = 4

     mangling char (S)

	 This controls what character is used as the  magic  character	in  name
	 mangling.  The  default is a '~' but this may interfere with some soft-
	 ware. Use this option to set it to whatever you prefer. This is  effec-
	 tive only when mangling method is hash.

	 Default: mangling char = ~

	 Example: mangling char = ^

     mangling method (G)

	 controls  the	algorithm used for the generating the mangled names. Can
	 take two different values, "hash" and "hash2". "hash" is the  algorithm
	 that  was  used  in  Samba  for many years and was the default in Samba
	 2.2.x "hash2" is now the default and is newer and considered  a  better
	 algorithm (generates less collisions) in the names. Many Win32 applica-
	 tions store the mangled names and so changing to algorithms must not be
	 done lightly as these applications may break unless reinstalled.

	 Default: mangling method = hash2

	 Example: mangling method = hash

     map acl inherit (S)

	 This boolean parameter controls whether smbd(8) will attempt to map the
	 'inherit'  and 'protected' access control entry flags stored in Windows
	 ACLs into an extended attribute called user.SAMBA_PAI.  This  parameter
	 only takes effect if Samba is being run on a platform that supports ex-
	 tended  attributes  (Linux and IRIX so far) and allows the Windows 2000
	 ACL editor to correctly use inheritance with the Samba POSIX  ACL  map-
	 ping code.

	 Default: map acl inherit = no

     map archive (S)

	 This controls whether the DOS archive attribute should be mapped to the
	 UNIX owner execute bit. The DOS archive bit is set when a file has been
	 modified  since  its  last backup. One motivation for this option is to
	 keep Samba/your PC from making any file it touches from  becoming  exe-
	 cutable  under UNIX. This can be quite annoying for shared source code,
	 documents, etc...

	 Note that this parameter will be ignored if the  store  dos  attributes
	 parameter  is set, as the DOS archive attribute will then be stored in-
	 side a UNIX extended attribute.

	 Note that this requires the create mask parameter to be set  such  that
	 owner execute bit is not masked out (i.e. it must include 100). See the
	 parameter create mask for details.

	 Default: map archive = yes

     map hidden (S)

	 This  controls  whether  DOS style hidden files should be mapped to the
	 UNIX world execute bit.

	 Note that this parameter will be ignored if the  store  dos  attributes
	 parameter  is	set, as the DOS hidden attribute will then be stored in-
	 side a UNIX extended attribute.

	 Note that this requires the create mask to be set such that  the  world
	 execute bit is not masked out (i.e. it must include 001). See the para-
	 meter create mask for details.

	 Default: map hidden = no

     map readonly (S)

	 This  controls  how the DOS read only attribute should be mapped from a
	 UNIX filesystem.

	 This parameter can take three different values, which tell smbd(8)  how
	 to display the read only attribute on files, where either store dos at-
	 tributes  is  set  to No, or no extended attribute is present. If store
	 dos attributes is set to yes then this parameter is ignored. This is  a
	 new parameter introduced in Samba version 3.0.21.

	 The three settings are :

	 *   Yes  -  The read only DOS attribute is mapped to the inverse of the
	     user or owner write bit in the unix permission  mode  set.  If  the
	     owner  write bit is not set, the read only attribute is reported as
	     being set on the file. If the read only DOS attribute is set, Samba
	     sets the owner, group and others write bits to zero. Write bits set
	     in an ACL are ignored by Samba. If the read only DOS  attribute  is
	     unset, Samba simply sets the write bit of the owner to one.

	 *   Permissions  -  The read only DOS attribute is mapped to the effec-
	     tive permissions of the connecting user, as evaluated by smbd(8) by
	     reading the unix permissions and POSIX ACL  (if  present).  If  the
	     connecting  user  does  not have permission to modify the file, the
	     read only attribute is reported as being set on the file.

	 *   No - The read only DOS attribute is unaffected by permissions,  and
	     can  only	be  set  by the store dos attributes method. This may be
	     useful for exporting mounted CDs.

     Note that this parameter will be ignored if the store dos attributes  para-
     meter is set, as the DOS 'read-only' attribute will then be stored inside a
     UNIX extended attribute.

     Default: map readonly = yes

     map system (S)

	 This  controls  whether  DOS style system files should be mapped to the
	 UNIX group execute bit.

	 Note that this parameter will be ignored if the  store  dos  attributes
	 parameter  is	set, as the DOS system attribute will then be stored in-
	 side a UNIX extended attribute.

	 Note that this requires the create mask to be set such that  the  group
	 execute bit is not masked out (i.e. it must include 010). See the para-
	 meter create mask for details.

	 Default: map system = no

     map to guest (G)

	 This  parameter can take four different values, which tell smbd(8) what
	 to do with user login requests that don't match a valid  UNIX	user  in
	 some way.

	 The four settings are :

	 *   Never  - Means user login requests with an invalid password are re-
	     jected. This is the default.

	 *   Bad User - Means user logins with an invalid password are rejected,
	     unless the username does not exist, in which case it is treated  as
	     a guest login and mapped into the guest account.

	 *   Bad  Password  -  Means  user  logins  with an invalid password are
	     treated as a guest login and mapped into the  guest  account.  Note
	     that  this can cause problems as it means that any user incorrectly
	     typing their password will be silently logged on as "guest"  -  and
	     will  not	know the reason they cannot access files they think they
	     should - there will have been no message given to	them  that  they
	     got  their  password  wrong. Helpdesk services will hate you if you
	     set the map to guest parameter this way :-).

	 *   Bad Uid - Is only applicable when Samba is configured in some  type
	     of  domain  mode  security (security = {domain|ads}) and means that
	     user logins which are successfully authenticated but which have  no
	     valid  Unix  user account (and smbd is unable to create one) should
	     be mapped to the defined guest account. This was the default behav-
	     ior of Samba 2.x releases. Note that if a member server is  running
	     winbindd, this option should never be required because the nss_win-
	     bind library will export the Windows domain users and groups to the
	     underlying OS via the Name Service Switch interface.

     Note  that  this parameter is needed to set up "Guest" share services. This
     is because in these modes the name of the resource being requested  is  not
     sent  to  the  server until after the server has successfully authenticated
     the client so the server cannot make authentication decisions at  the  cor-
     rect time (connection to the share) for "Guest" shares.

     Default: map to guest = Never

     Example: map to guest = Bad User

     map untrusted to domain (G)

	 If  a	client	connects to smbd using an untrusted domain name, such as
	 BOGUS\user, smbd replaces the BOGUS domain with it's  SAM  name  before
	 attempting  to authenticate that user. In the case where smbd is acting
	 as a PDC this will be DOMAIN\user. In the case where smbd is acting  as
	 a  domain  member  server  or a standalone server this will be WORKSTA-
	 TION\user.

	 In previous versions of Samba (pre 3.4), if smbd was acting as a domain
	 member server, the BOGUS domain name would instead be replaced  by  the
	 primary  domain which smbd was a member of. In this case authentication
	 would be deferred off to a DC using the credentials DOMAIN\user.

	 When this parameter is set to yes smbd provides the legacy behavior  of
	 mapping  untrusted domain names to the primary domain. When smbd is not
	 acting as a domain member server, this parameter has no effect.

	 Default: map untrusted to domain = no

     max connections (S)

	 This option allows the number of simultaneous connections to a  service
	 to  be  limited.  If max connections is greater than 0 then connections
	 will be refused if this number of connections to the  service	are  al-
	 ready open. A value of zero mean an unlimited number of connections may
	 be made.

	 Record  lock  files  are used to implement this feature. The lock files
	 will be stored in the directory specified by the lock directory option.

	 Default: max connections = 0

	 Example: max connections = 10

     max disk size (G)

	 This option allows you to put an upper limit on the  apparent	size  of
	 disks.  If you set this option to 100 then all shares will appear to be
	 not larger than 100 MB in size.

	 Note that this option does not limit the amount of data you can put  on
	 the disk. In the above case you could still store much more than 100 MB
	 on  the  disk,  but  if  a client ever asks for the amount of free disk
	 space or the total disk size then the result will  be	bounded  by  the
	 amount specified in max disk size.

	 This  option  is primarily useful to work around bugs in some pieces of
	 software that can't handle very large disks,  particularly  disks  over
	 1GB in size.

	 A max disk size of 0 means no limit.

	 Default: max disk size = 0

	 Example: max disk size = 1000

     max log size (G)

	 This  option  (an  integer in kilobytes) specifies the max size the log
	 file should grow to. Samba periodically checks the size and  if  it  is
	 exceeded it will rename the file, adding a .old extension.

	 A size of 0 means no limit.

	 Default: max log size = 5000

	 Example: max log size = 1000

     max mux (G)

	 This option controls the maximum number of outstanding simultaneous SMB
	 operations  that Samba tells the client it will allow. You should never
	 need to set this parameter.

	 Default: max mux = 50

     max open files (G)

	 This parameter limits the maximum number of open files that one smbd(8)
	 file serving process may have open for a client at any one  time.  This
	 parameter  can  be set very high (16384) as Samba uses only one bit per
	 unopened file. Setting this parameter lower than 16384 will cause Samba
	 to complain and set this value back to the minimum of 16384, as Windows
	 7 depends on this number of open file handles being available.

	 The limit of the number of open  files  is  usually  set  by  the  UNIX
	 per-process  file  descriptor	limit  rather than this parameter so you
	 should never need to touch this parameter.

	 Default: max open files = 16384

     max print jobs (S)

	 This parameter limits the maximum number of jobs allowable in	a  Samba
	 printer  queue at any given moment. If this number is exceeded, smbd(8)
	 will remote "Out of Space" to the client.

	 Default: max print jobs = 1000

	 Example: max print jobs = 5000

     max reported print jobs (S)

	 This parameter limits the maximum number of jobs displayed  in  a  port
	 monitor  for Samba printer queue at any given moment. If this number is
	 exceeded, the excess jobs will not be shown.  A  value  of  zero  means
	 there is no limit on the number of print jobs reported.

	 Default: max reported print jobs = 0

	 Example: max reported print jobs = 1000

     max smbd processes (G)

	 This  parameter  limits the maximum number of smbd(8) processes concur-
	 rently running on a system and is intended as a stopgap to prevent  de-
	 grading  service  to  clients in the event that the server has insuffi-
	 cient resources to handle more than this number of connections.  Remem-
	 ber  that  under  normal  operating  conditions, each user will have an
	 smbd(8) associated with him or her to handle connections to all  shares
	 from a given host.

	 Default: max smbd processes = 0

	 Example: max smbd processes = 1000

     max stat cache size (G)

	 This  parameter  limits the size in memory of any stat cache being used
	 to speed up case insensitive name mappings. It represents the number of
	 kilobyte (1024) units the stat cache can use. A value of zero,  meaning
	 unlimited,  is  not advisable due to increased memory usage. You should
	 not need to change this parameter.

	 Default: max stat cache size = 256

	 Example: max stat cache size = 100

     max ttl (G)

	 This option tells nmbd(8) what the default 'time to  live'  of  NetBIOS
	 names	should	be (in seconds) when nmbd is requesting a name using ei-
	 ther a broadcast packet or from a WINS server. You should never need to
	 change this parameter. The default is 3 days.

	 Default: max ttl = 259200

     max wins ttl (G)

	 This option tells smbd(8) when acting as a WINS server (wins support  =
	 yes)  what  the  maximum 'time to live' of NetBIOS names that nmbd will
	 grant will be (in seconds). You should never need to change this  para-
	 meter. The default is 6 days (518400 seconds).

	 Default: max wins ttl = 518400

     max xmit (G)

	 This option controls the maximum packet size that will be negotiated by
	 Samba.  The  default  is  16644,  which matches the behavior of Windows
	 2000. A value below 2048 is likely to cause problems. You should  never
	 need to change this parameter from its default value.

	 Default: max xmit = 16644

	 Example: max xmit = 8192

     message command (G)

	 This  specifies what command to run when the server receives a WinPopup
	 style message.

	 This would normally be a command that would deliver the  message  some-
	 how. How this is to be done is up to your imagination.

	 An example is:

	     message command = csh -c 'xedit %s;rm %s' &

	 This  delivers  the  message  using  xedit, then removes it afterwards.
	 NOTE THAT IT IS VERY IMPORTANT THAT THIS  COMMAND  RETURN  IMMEDIATELY.
	 That's  why I have the '&' on the end. If it doesn't return immediately
	 then your PCs may freeze when sending messages (they should recover af-
	 ter 30 seconds, hopefully).

	 All messages are delivered as the global guest user. The command  takes
	 the standard substitutions, although
	  %u won't work (%U may be better in this case).

	 Apart	from  the standard substitutions, some additional ones apply. In
	 particular:

	 *   %s = the filename containing the message.

	 *   %t = the destination that the message was	sent  to  (probably  the
	     server name).

	 *   %f = who the message is from.

     You  could  make this command send mail, or whatever else takes your fancy.
     Please let us know of any really interesting ideas you have.

     Here's a way of sending the messages as mail to root:

	 message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s

     If you don't have a message command then the message won't be delivered and
     Samba will tell the sender there was an error. Unfortunately  WfWg  totally
     ignores  the  error code and carries on regardless, saying that the message
     was delivered.

     If you want to silently delete it then try:

	 message command = rm %s

     Default: message command =

     Example: message command = csh -c 'xedit %s; rm %s' &

     min print space (S)

	 This sets the minimum amount of free disk space that must be  available
	 before  a  user  will	be able to spool a print job. It is specified in
	 kilobytes. The default is 0, which means a  user  can	always	spool  a
	 print job.

	 Default: min print space = 0

	 Example: min print space = 2000

     min receivefile size (G)

	 This  option  changes the behavior of smbd(8) when processing SMBwriteX
	 calls. Any incoming SMBwriteX call on a non-signed SMB/CIFS  connection
	 greater  than	this  value  will not be processed in the normal way but
	 will be passed to any underlying kernel recvfile or splice system  call
	 (if  there  is no such call Samba will emulate in user space). This al-
	 lows zero-copy writes directly from network  socket  buffers  into  the
	 filesystem  buffer  cache, if available. It may improve performance but
	 user testing is recommended. If set to zero Samba  processes  SMBwriteX
	 calls	in the normal way. To enable POSIX large write support (SMB/CIFS
	 writes up to 16Mb) this option must be nonzero. The  maximum  value  is
	 128k. Values greater than 128k will be silently set to 128k.

	 Note this option will have NO EFFECT if set on a SMB signed connection.

	 The default is zero, which disables this option.

	 Default: min receivefile size = 0

     min wins ttl (G)

	 This  option tells nmbd(8) when acting as a WINS server (wins support =
	 yes) what the minimum 'time to live' of NetBIOS names	that  nmbd  will
	 grant	will be (in seconds). You should never need to change this para-
	 meter. The default is 6 hours (21600 seconds).

	 Default: min wins ttl = 21600

     msdfs proxy (S)

	 This parameter indicates that the share is a stand-in for another  CIFS
	 share	whose  location is specified by the value of the parameter. When
	 clients attempt to connect to this share, they are redirected to one or
	 multiple, comma separated proxied shares using the SMB-Dfs protocol.

	 Only Dfs roots can act as proxy shares. Take a look at the  msdfs  root
	 and host msdfs options to find out how to set up a Dfs root share.

	 No default

	 Example: msdfs proxy = \otherserver\someshare,\otherserver2\someshare

     msdfs root (S)

	 If  set to yes, Samba treats the share as a Dfs root and allows clients
	 to browse the distributed file system tree rooted at the  share  direc-
	 tory.	Dfs links are specified in the share directory by symbolic links
	 of the form msdfs:serverA\\shareA,serverB\\shareB and so on.  For  more
	 information on setting up a Dfs tree on Samba, refer to the MSDFS chap-
	 ter in the Samba3-HOWTO book.

	 Default: msdfs root = no

     msdfs shuffle referrals (S)

	 If set to yes, Samba will shuffle Dfs referrals for a given Dfs link if
	 multiple are available, allowing for load balancing across clients. For
	 more  information on setting up a Dfs tree on Samba, refer to the MSDFS
	 chapter in the Samba3-HOWTO book.

	 Default: msdfs shuffle referrals = no

     multicast dns register (G)

	 If compiled with proper support for it, Samba will announce itself with
	 multicast DNS services like for example provided by the Avahi daemon.

	 This parameter allows disabling Samba to register itself.

	 Default: multicast dns register = yes

     name cache timeout (G)

	 Specifies the number of seconds it  takes  before  entries  in  samba's
	 hostname  resolve  cache  time  out.  If  the	timeout is set to 0. the
	 caching is disabled.

	 Default: name cache timeout = 660

	 Example: name cache timeout = 0

     name resolve order (G)

	 This option is used by the programs in the  Samba  suite  to  determine
	 what  naming services to use and in what order to resolve host names to
	 IP addresses. Its main purpose to is to control how netbios name  reso-
	 lution  is performed. The option takes a space separated string of name
	 resolution options.

	 The options are: "lmhosts", "host",  "wins"  and  "bcast".  They  cause
	 names to be resolved as follows:

	 *   lmhosts  :  Lookup  an IP address in the Samba lmhosts file. If the
	     line in lmhosts has no name type attached to the NetBIOS name  (see
	     the manpage for lmhosts for details) then any name type matches for
	     lookup.

	 *   host  : Do a standard host name to IP address resolution, using the
	     system /etc/hosts, NIS, or DNS lookups. This method of name resolu-
	     tion is operating system depended for instance on IRIX  or  Solaris
	     this  may	be  controlled by the /etc/nsswitch.conf file. Note that
	     this method is used only if the NetBIOS name type being queried  is
	     the  0x20 (server) name type or 0x1c (domain controllers). The lat-
	     ter case is only useful for active directory domains and results in
	     a DNS query for the SRV RR entry matching _ldap._tcp.domain.

	 *   wins : Query a name with the IP address listed  in  the  WINSSERVER
	     parameter. If no WINS server has been specified this method will be
	     ignored.

	 *   bcast : Do a broadcast on each of the known local interfaces listed
	     in the interfaces parameter. This is the least reliable of the name
	     resolution  methods as it depends on the target host being on a lo-
	     cally connected subnet.

     The example below will cause the local lmhosts file to be	examined  first,
     followed  by  a  broadcast  attempt,  followed  by a normal system hostname
     lookup.

     When Samba is functioning in ADS security mode (security = ads) it  is  ad-
     vised to use following settings for name resolve order:

     name resolve order = wins bcast

     DC  lookups will still be done via DNS, but fallbacks to netbios names will
     not inundate  your  DNS  servers  with  needless  querys  for  DOMAIN<0x1c>
     lookups.

     Default: name resolve order = lmhosts wins host bcast

     Example: name resolve order = lmhosts bcast host

     socket address

	 This parameter is a synonym for nbt client socket address.

     nbt client socket address (G)

	 This  option  allows  you  to	control what address Samba will send NBT
	 client packets from, and process replies using, including in nmbd.

	 Setting this option should never be necessary on  usual  Samba  servers
	 running only one nmbd.

	 By  default Samba will send UDP packets from the OS default address for
	 the destination, and accept replies on 0.0.0.0.

	 This parameter is deprecated. See bind interfaces only = Yes and inter-
	 faces for the previous behaviour of controlling  the  normal  listening
	 sockets.

	 Default: nbt client socket address = 0.0.0.0

	 Example: nbt client socket address = 192.168.2.20

     nbt port (G)

	 Specifies  which  port  the  server should use for NetBIOS over IP name
	 services traffic.

	 Default: nbt port = 137

     ncalrpc dir (G)

	 This directory will hold a series of named pipes to allow RPC over  in-
	 ter-process communication.

	 This will allow Samba and other unix processes to interact over DCE/RPC
	 without  using TCP/IP. Additionally a sub-directory 'np' has restricted
	 permissions, and allows a trusted communication channel  between  Samba
	 processes

	 Default: ncalrpc dir = ${prefix}/var/run/ncalrpc

	 Example: ncalrpc dir = /var/run/samba/ncalrpc

     netbios aliases (G)

	 This  is a list of NetBIOS names that nmbd will advertise as additional
	 names by which the Samba server is known. This allows	one  machine  to
	 appear  in browse lists under multiple names. If a machine is acting as
	 a browse server or logon server none of these names will be  advertised
	 as  either browse server or logon servers, only the primary name of the
	 machine will be advertised with these capabilities.

	 Default: netbios aliases =  # empty string (no additional names)

	 Example: netbios aliases = TEST TEST1 TEST2

     netbios name (G)

	 This sets the NetBIOS name by which a Samba server is known. By default
	 it is the same as the first component of the host's DNS name. If a  ma-
	 chine is a browse server or logon server this name (or the first compo-
	 nent  of  the	hosts DNS name) will be the name that these services are
	 advertised under.

	 Note that the maximum length for a NetBIOS name is 15 charactars.

	 There is a bug in Samba that breaks operation of browsing and access to
	 shares if the netbios name is set to the literal name	PIPE.  To  avoid
	 this problem, do not name your Samba server PIPE.

	 Default: netbios name =  # machine DNS name

	 Example: netbios name = MYNAME

     netbios scope (G)

	 This  sets the NetBIOS scope that Samba will operate under. This should
	 not be set unless every machine on your LAN also sets this value.

	 Default: netbios scope =

     neutralize nt4 emulation (G)

	 This option controls whether winbindd sends  the  NETLOGON_NEG_NEUTRAL-
	 IZE_NT4_EMULATION flag in order to bypass the NT4 emulation of a domain
	 controller.

	 Typically  you  should not need set this. It can be useful for upgrades
	 from NT4 to AD domains.

	 The behavior can be controlled per netbios domain by using  'neutralize
	 nt4 emulation:NETBIOSDOMAIN = yes' as option.

	 Default: neutralize nt4 emulation = no

     NIS homedir (G)

	 Get  the home share server from a NIS map. For UNIX systems that use an
	 automounter, the user's home directory will often be mounted on a work-
	 station on demand from a remote server.

	 When the Samba logon server is not the actual	home  directory  server,
	 but  is  mounting  the  home  directories via NFS then two network hops
	 would be required to access the  users  home  directory  if  the  logon
	 server  told the client to use itself as the SMB server for home direc-
	 tories (one over SMB and one over NFS). This can be very slow.

	 This option allows Samba to return the home share as being on a differ-
	 ent server to the logon server and as long as a Samba daemon is running
	 on the home directory server, it will be mounted on  the  Samba  client
	 directly  from  the  directory server. When Samba is returning the home
	 share to the client, it will consult the NIS map specified  in  homedir
	 map and return the server listed there.

	 Note  that  for  this option to work there must be a working NIS system
	 and the Samba server with this option must also be a logon server.

	 Default: NIS homedir = no

     nmbd bind explicit broadcast (G)

	 This option causes nmbd(8) to explicitly bind to the broadcast  address
	 of  the  local  subnets.  This is needed to make nmbd work correctly in
	 combination with the socket address option. You should not need to  un-
	 set this option.

	 Default: nmbd bind explicit broadcast = yes

     nsupdate command (G)

	 This  option  sets  the  path to the nsupdate command which is used for
	 GSS-TSIG dynamic DNS updates.

	 Default: nsupdate command = /usr/bin/nsupdate -g

     nt acl support (S)

	 This boolean parameter controls whether smbd(8)  will	attempt  to  map
	 UNIX permissions into Windows NT access control lists. The UNIX permis-
	 sions	considered are the traditional UNIX owner and group permissions,
	 as well as POSIX ACLs set on any files or directories.  This  parameter
	 was formally a global parameter in releases prior to 2.2.2.

	 Default: nt acl support = yes

     ntlm auth (G)

	 This  parameter  determines  whether or not smbd(8) will attempt to au-
	 thenticate users using the NTLM encrypted password  response.	If  dis-
	 abled,  either the lanman password hash or an NTLMv2 response will need
	 to be sent by the client.

	 If this option, and lanman auth are both disabled, then only NTLMv2 lo-
	 gins will be permited. Not all clients support NTLMv2,  and  most  will
	 require special configuration to use it.

	 Default: ntlm auth = yes

     nt pipe support (G)

	 This  boolean	parameter controls whether smbd(8) will allow Windows NT
	 clients to connect to the NT SMB specific IPC$ pipes. This is a  devel-
	 oper debugging option and can be left alone.

	 Default: nt pipe support = yes

     ntp signd socket directory (G)

	 This  setting	controls  the location of the socket that the NTP daemon
	 uses to communicate with Samba for signing packets.

	 If a non-default path is specified here, then it is also  necessary  to
	 make  NTP  aware  of the new path using the ntpsigndsocket directive in
	 ntp.conf.

	 Default: ntp signd socket directory = ${prefix}/var/lib/ntp_signd

     nt status support (G)

	 This boolean parameter controls whether smbd(8) will negotiate NT  spe-
	 cific status support with Windows NT/2k/XP clients. This is a developer
	 debugging  option and should be left alone. If this option is set to no
	 then Samba offers exactly the same DOS error codes that versions  prior
	 to Samba 2.2.3 reported.

	 You should not need to ever disable this parameter.

	 Default: nt status support = yes

     ntvfs handler (S)

	 This specifies the NTVFS handlers for this share.

	 *   posix: Maps POSIX FS semantics to NT semantics

	 *   unixuid: Sets up user credentials based on POSIX gid/uid.

	 *   cifs: Proxies a remote CIFS FS. Mainly useful for testing.

	 *   nbench:  Filter  module that saves data useful to the nbench bench-
	     mark suite.

	 *   ipc: Allows using SMB for inter process  communication.  Only  used
	     for the IPC$ share.

	 *   posix: Maps POSIX FS semantics to NT semantics

	 *   print: Allows printing over SMB. This is LANMAN-style printing, not
	     the  be  confused	with the spoolss DCE/RPC interface used by later
	     versions of Windows.

     Note that this option is only used when the NTVFS file server is in use. It
     is not used with the (default) s3fs file server.

     Default: ntvfs handler = unixuid, default

     null passwords (G)

	 Allow or disallow client access to accounts that have null passwords.

	 See also smbpasswd(5).

	 Default: null passwords = no

     obey pam restrictions (G)

	 When Samba 3.0 is configured to enable PAM support  (i.e.  --with-pam),
	 this  parameter will control whether or not Samba should obey PAM's ac-
	 count and session management directives. The default behavior is to use
	 PAM for clear text authentication only and to	ignore	any  account  or
	 session  management. Note that Samba always ignores PAM for authentica-
	 tion in the case of encrypt passwords = yes. The  reason  is  that  PAM
	 modules  cannot support the challenge/response authentication mechanism
	 needed in the presence of SMB password encryption.

	 Default: obey pam restrictions = no

     old password allowed period (G)

	 Number of minutes to permit an NTLM login after a  password  change  or
	 reset	using the old password. This allows the user to re-cache the new
	 password on multiple clients without disrupting a network  reconnection
	 in the meantime.

	 This parameter only applies when server role is set to Active Directory
	 Domain Controller

	 Default: old password allowed period = 60

     only user (S)

	 To  restrict  a  service  to  a particular set of users you can use the
	 valid users parameter.

	 This parameter is deprecated

	 However, it currently operates only in conjunction with  username.  The
	 supported way to restrict a service to a particular set of users is the
	 valid users parameter.

	 Default: only user = no

     oplock break wait time (G)

	 This  is  a  tuning  parameter added due to bugs in both Windows 9x and
	 WinNT. If Samba responds to a client too quickly when that  client  is-
	 sues  an  SMB	that can cause an oplock break request, then the network
	 client can fail and not respond to the break request. This tuning para-
	 meter (which is set in milliseconds) is the amount of time  Samba  will
	 wait before sending an oplock break request to such (broken) clients.

	     Warning
	     DO  NOT  CHANGE  THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD
	     THE SAMBA OPLOCK CODE.
	 Default: oplock break wait time = 0

     oplock contention limit (S)

	 This is a very advanced smbd(8) tuning option to improve the efficiency
	 of the granting of oplocks under multiple  client  contention	for  the
	 same file.

	 In  brief  it	specifies  a number, which causes smbd(8)not to grant an
	 oplock even when requested if the approximate number  of  clients  con-
	 tending  for  an  oplock  on  the  same file goes over this limit. This
	 causes smbd to behave in a similar way to Windows NT.

	     Warning
	     DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE  READ  AND  UNDERSTOOD
	     THE SAMBA OPLOCK CODE.
	 Default: oplock contention limit = 2

     oplocks (S)

	 This  boolean option tells smbd whether to issue oplocks (opportunistic
	 locks) to file open requests on this share. The oplock code can dramat-
	 ically (approx. 30% or more) improve the speed of access  to  files  on
	 Samba	servers.  It  allows the clients to aggressively cache files lo-
	 cally and you may want to disable this option	for  unreliable  network
	 environments (it is turned on by default in Windows NT Servers).

	 Oplocks  may  be  selectively turned off on certain files with a share.
	 See the veto oplock files parameter. On some systems oplocks are recog-
	 nized by the underlying operating system. This allows data synchroniza-
	 tion between all access to oplocked files, whether it be via  Samba  or
	 NFS  or  a local UNIX process. See the kernel oplocks parameter for de-
	 tails.

	 Default: oplocks = yes

     os2 driver map (G)

	 The parameter is used to define the absolute path to a file  containing
	 a  mapping  of  Windows  NT printer driver names to OS/2 printer driver
	 names. The format is:

	 <nt driver name> = <os2 driver name>.<device name>

	 For example, a valid entry using the HP LaserJet 5 printer driver would
	 appear as HP LaserJet 5L = LASERJET.HP LaserJet 5L.

	 The need for the file is due to the printer  driver  namespace  problem
	 described  in	the  chapter  on  Classical Printing in the Samba3-HOWTO
	 book. For more details on OS/2 clients,  please  refer  to  chapter  on
	 other clients in the Samba3-HOWTO book.

	 Default: os2 driver map =

     os level (G)

	 This  integer	value controls what level Samba advertises itself as for
	 browse elections.  The  value	of  this  parameter  determines  whether
	 nmbd(8)  has  a chance of becoming a local master browser for the work-
	 group in the local broadcast area.

	  Note: By default, Samba will win a local master browsing election over
	 all Microsoft operating systems except a  Windows  NT	4.0/2000  Domain
	 Controller.  This means that a misconfigured Samba host can effectively
	 isolate a subnet for  browsing  purposes.  This  parameter  is  largely
	 auto-configured  in  the Samba-3 release series and it is seldom neces-
	 sary to manually override the default	setting.  Please  refer  to  the
	 chapter  on  Network Browsing in the Samba-3 HOWTO document for further
	 information regarding the use of this	parameter.   Note:  The  maximum
	 value	for  this  parameter  is 255. If you use higher values, counting
	 will start at 0!

	 Default: os level = 20

	 Example: os level = 65

     pam password change (G)

	 With the addition of better PAM support in Samba 2.2,	this  parameter,
	 it  is possible to use PAM's password change control flag for Samba. If
	 enabled, then PAM will be used for password changes when  requested  by
	 an  SMB  client  instead  of  the  program listed in passwd program. It
	 should be possible to enable this without changing your passwd chat pa-
	 rameter for most setups.

	 Default: pam password change = no

     panic action (G)

	 This is a Samba developer option that allows a  system  command  to  be
	 called  when either smbd(8) or nmbd(8) crashes. This is usually used to
	 draw attention to the fact that a problem occurred.

	 Default: panic action =

	 Example: panic action = "/bin/sleep 90000"

     passdb backend (G)

	 This option allows the administrator to chose	which  backend	will  be
	 used  for  storing user and possibly group information. This allows you
	 to swap between different storage mechanisms without recompile.

	 The parameter value is divided into two parts, the backend's name,  and
	 a  'location'	string	that has meaning only to that particular backed.
	 These are separated by a : character.

	 Available backends can include:

	 *   smbpasswd - The old plaintext passdb backend. Some  Samba	features
	     will  not	work if this passdb backend is used. Takes a path to the
	     smbpasswd file as an optional argument.

	 *   tdbsam - The TDB based password storage backend. Takes  a	path  to
	     the TDB as an optional argument (defaults to passdb.tdb in the pri-
	     vate dir directory.

	 *   ldapsam  -  The  LDAP based passdb backend. Takes an LDAP URL as an
	     optional argument (defaults to ldap://localhost)

	     LDAP connections should be secured where possible. This may be done
	     using either Start-TLS (see ldap ssl) or by specifying ldaps://  in
	     the URL argument.

	     Multiple  servers	may  also be specified in double-quotes. Whether
	     multiple servers are supported or not and the exact syntax  depends
	     on the LDAP library you use.

	  Examples of use are:

	 passdb backend = tdbsam:/etc/samba/private/passdb.tdb

	 or multi server LDAP URL with OpenLDAP library:

	 passdb backend = ldapsam:"ldap://ldap-1.example.com ldap://ldap-2.example.com"

	 or multi server LDAP URL with Netscape based LDAP library:

	 passdb backend = ldapsam:"ldap://ldap-1.example.com ldap-2.example.com"

     Default: passdb backend = tdbsam

     passdb expand explicit (G)

	 This  parameter  controls  whether  Samba  substitutes  %-macros in the
	 passdb fields if they are explicitly set.  We	used  to  expand  macros
	 here,	but  this  turned out to be a bug because the Windows client can
	 expand a variable %G_osver% in which %G would have been substituted  by
	 the user's primary group.

	 Default: passdb expand explicit = no

     passwd chat (G)

	 This  string controls the "chat" conversation that takes places between
	 smbd(8) and the local password changing program to  change  the  user's
	 password.  The  string  describes  a sequence of response-receive pairs
	 that smbd(8) uses to determine what to send to the passwd  program  and
	 what  to  expect  back. If the expected output is not received then the
	 password is not changed.

	 This chat sequence is often quite site specific, depending on what  lo-
	 cal methods are used for password control (such as NIS etc).

	 Note that this parameter only is used if the unix password sync parame-
	 ter  is  set  to yes. This sequence is then called AS ROOT when the SMB
	 password in the smbpasswd file is being changed, without access to  the
	 old  password cleartext. This means that root must be able to reset the
	 user's password without knowing the text of the previous  password.  In
	 the presence of NIS/YP, this means that the passwd program must be exe-
	 cuted on the NIS master.

	 The  string  can  contain the macro %n which is substituted for the new
	 password. The old passsword (%o) is only available when  encrypt  pass-
	 words	has  been disabled. The chat sequence can also contain the stan-
	 dard macros \n, \r, \t and \s to give line-feed,  carriage-return,  tab
	 and  space.  The  chat  sequence  string  can	also contain a '*' which
	 matches any sequence of characters. Double quotes can be used	to  col-
	 lect strings with spaces in them into a single string.

	 If the send string in any part of the chat sequence is a full stop ".",
	 then  no string is sent. Similarly, if the expect string is a full stop
	 then no string is expected.

	 If the pam password change parameter is set to yes, the chat pairs  may
	 be  matched  in any order, and success is determined by the PAM result,
	 not any particular output. The \n macro is ignored for PAM conversions.

	 Default:  passwd  chat  =  *new*password*  %n\n   *new*password*   %n\n
	 *changed*

	 Example:  passwd chat = "*Enter NEW password*" %n\n "*Reenter NEW pass-
	 word*" %n\n "*Password changed*"

     passwd chat debug (G)

	 This boolean specifies if the passwd chat script parameter  is  run  in
	 debug	mode.  In  this mode the strings passed to and received from the
	 passwd chat are printed in the smbd(8) log with a debug level	of  100.
	 This  is  a dangerous option as it will allow plaintext passwords to be
	 seen in the smbd log. It is available to help Samba admins debug  their
	 passwd  chat  scripts	when  calling  the  passwd program and should be
	 turned off after this has been done. This option has no effect  if  the
	 pam password change parameter is set. This parameter is off by default.

	 Default: passwd chat debug = no

     passwd chat timeout (G)

	 This integer specifies the number of seconds smbd will wait for an ini-
	 tial  answer  from a passwd chat script being run. Once the initial an-
	 swer is received the subsequent answers must be received in  one  tenth
	 of this time. The default it two seconds.

	 Default: passwd chat timeout = 2

     passwd program (G)

	 The  name of a program that can be used to set UNIX user passwords. Any
	 occurrences of %u will be replaced with the user name. The user name is
	 checked for existence before calling the password changing program.

	 Also note that many passwd programs  insist  in  reasonable  passwords,
	 such as a minimum length, or the inclusion of mixed case chars and dig-
	 its. This can pose a problem as some clients (such as Windows for Work-
	 groups) uppercase the password before sending it.

	 Note  that  if the unix password sync parameter is set to yes then this
	 program is called AS ROOT before the SMB password in the smbpasswd file
	 is changed. If this UNIX password change fails, then smbd will fail  to
	 change the SMB password also (this is by design).

	 If  the unix password sync parameter is set this parameter MUST USE AB-
	 SOLUTE PATHS for ALL programs called, and must be examined for security
	 implications. Note that by default unix password sync is set to no.

	 Default: passwd program =

	 Example: passwd program = /bin/passwd %u

     password server (G)

	 By specifying the name of a domain controller with this option, and us-
	 ing security = [ads|domain] it is possible to get Samba to do	all  its
	 username/password validation using a specific remote server.

	 Ideally,  this  option should not be used, as the default '*' indicates
	 to Samba to determine the best DC to contact dynamically, just  as  all
	 other hosts in an AD domain do. This allows the domain to be maintained
	 (addition  and  removal  of domain controllers) without modification to
	 the smb.conf file. The cryptographic protection  on  the  authenticated
	 RPC calls used to verify passwords ensures that this default is safe.

	 It  is strongly recommended that you use the default of '*', however if
	 in your particular environment you have reason to specify a  particular
	 DC  list,  then  the  list of machines in this option must be a list of
	 names or IP addresses of Domain controllers for the Domain. If you  use
	 the default of '*', or list several hosts in the password server option
	 then  smbd  will try each in turn till it finds one that responds. This
	 is useful in case your primary server goes down.

	 If the list of servers contains both names/IP's and the '*'  character,
	 the  list  is treated as a list of preferred domain controllers, but an
	 auto lookup of all remaining DC's will be added to the  list  as  well.
	 Samba	will  not  attempt to optimize this list by locating the closest
	 DC.

	 If parameter is a name, it is looked up using the  parameter  name  re-
	 solve	order  and  so may resolved by any method and order described in
	 that parameter.

	 Default: password server = *

	 Example: password server = NT-PDC, NT-BDC1, NT-BDC2, *

	 Example: password server = windc.mydomain.com:389 192.168.1.101 *

     directory

	 This parameter is a synonym for path.

     path (S)

	 This parameter specifies a directory to which the user of  the  service
	 is to be given access. In the case of printable services, this is where
	 print	data  will spool prior to being submitted to the host for print-
	 ing.

	 For a printable service offering guest access, the  service  should  be
	 readonly and the path should be world-writeable and have the sticky bit
	 set.  This  is  not mandatory of course, but you probably won't get the
	 results you expect if you do otherwise.

	 Any occurrences of %u in the path will be replaced with the UNIX  user-
	 name that the client is using on this connection. Any occurrences of %m
	 will be replaced by the NetBIOS name of the machine they are connecting
	 from. These replacements are very useful for setting up pseudo home di-
	 rectories for users.

	 Note that this path will be based on root dir if one was specified.

	 Default: path =

	 Example: path = /home/fred

     perfcount module (G)

	 This parameter specifies the perfcount backend to be used when monitor-
	 ing  SMB operations. Only one perfcount module may be used, and it must
	 implement all of the apis contained in the smb_perfcount_handler struc-
	 ture defined in smb.h.

	 No default

     pid directory (G)

	 This option specifies the directory where pid files will be placed.

	 Default: pid directory = ${prefix}/var/run

	 Example: pid directory = /var/run/

     posix locking (S)

	 The smbd(8) daemon maintains an database of file locks obtained by  SMB
	 clients. The default behavior is to map this internal database to POSIX
	 locks.  This  means that file locks obtained by SMB clients are consis-
	 tent with those seen by  POSIX  compliant  applications  accessing  the
	 files	via a non-SMB method (e.g. NFS or local file access). It is very
	 unlikely that you need to set this parameter to "no",	unless	you  are
	 sharing from an NFS mount, which is not a good idea in the first place.

	 Default: posix locking = yes

     postexec (S)

	 This  option specifies a command to be run whenever the service is dis-
	 connected. It takes the usual substitutions. The command may be run  as
	 the root on some systems.

	 An interesting example may be to unmount server resources:

	 postexec = /etc/umount /cdrom

	 Default: postexec =

	 Example:  postexec  =	echo \"%u disconnected from %S from %m (%I)\" >>
	 /tmp/log

     exec

	 This parameter is a synonym for preexec.

     preexec (S)

	 This option specifies a command to be run whenever the service is  con-
	 nected to. It takes the usual substitutions.

	 An  interesting  example  is  to send the users a welcome message every
	 time they log in. Maybe a message of the day? Here is an example:

	 preexec = csh -c 'echo \"Welcome to %S!\"  |  /usr/local/samba/bin/smb-
	 client -M %m -I %I' &

	 Of course, this could get annoying after a while :-)

	 See also preexec close and postexec.

	 Default: preexec =

	 Example: preexec = echo \"%u connected to %S from %m (%I)\" >> /tmp/log

     preexec close (S)

	 This  boolean	option controls whether a non-zero return code from pre-
	 exec should close the service being connected to.

	 Default: preexec close = no

     prefered master

	 This parameter is a synonym for preferred master.

     preferred master (G)

	 This boolean parameter  controls  if  nmbd(8)	is  a  preferred  master
	 browser for its workgroup.

	 If  this is set to yes, on startup, nmbd will force an election, and it
	 will have a slight advantage in winning the election. It is recommended
	 that this parameter is used in conjunction with domain master = yes, so
	 that nmbd can guarantee becoming a domain master.

	 Use this option with  caution,  because  if  there  are  several  hosts
	 (whether  Samba  servers,  Windows  95 or NT) that are preferred master
	 browsers on the same subnet, they will each periodically  and	continu-
	 ously	attempt  to become the local master browser. This will result in
	 unnecessary broadcast traffic and reduced browsing capabilities.

	 Default: preferred master = auto

     auto services

	 This parameter is a synonym for preload.

     preload (G)

	 This is a list of services that you want to be automatically  added  to
	 the  browse  lists. This is most useful for homes and printers services
	 that would otherwise not be visible.

	 Note that if you just want all printers in your  printcap  file  loaded
	 then the load printers option is easier.

	 Default: preload =

	 Example: preload = fred lp colorlp

     preload modules (G)

	 This  is a list of paths to modules that should be loaded into smbd be-
	 fore a client connects. This improves the speed of smbd  when	reacting
	 to new connections somewhat.

	 Default: preload modules =

	 Example: preload modules = /usr/lib/samba/passdb/mysql.so

     preserve case (S)

	 This  controls  if  new  filenames  are  created with the case that the
	 client passes, or if they are forced to be the default case.

	 See the section on NAME MANGLING for a fuller discussion.

	 Default: preserve case = yes

     print ok

	 This parameter is a synonym for printable.

     printable (S)

	 If this parameter is yes, then clients may open, write  to  and  submit
	 spool files on the directory specified for the service.

	 Note  that a printable service will ALWAYS allow writing to the service
	 path (user privileges permitting) via the spooling of print  data.  The
	 read only parameter controls only non-printing access to the resource.

	 Default: printable = no

     printcap cache time (G)

	 This option specifies the number of seconds before the printing subsys-
	 tem is again asked for the known printers.

	 Setting  this parameter to 0 disables any rescanning for new or removed
	 printers after the initial startup.

	 Default: printcap cache time = 750

	 Example: printcap cache time = 600

     printcap

	 This parameter is a synonym for printcap name.

     printcap name (G)

	 This parameter may be used to override the compiled-in default printcap
	 name used by the server (usually /etc/printcap). See the discussion  of
	 the [printers] section above for reasons why you might want to do this.

	 To  use  the  CUPS  printing  interface  set printcap name = cups. This
	 should be supplemented by an additional setting printing = cups in  the
	 [global]  section.   printcap name = cups will use the "dummy" printcap
	 created by CUPS, as specified in your CUPS configuration file.

	 On System V systems that use lpstat to list available printers you  can
	 use  printcap	name = lpstat to automatically obtain lists of available
	 printers. This is the default for systems that define SYSV at configure
	 time in Samba (this includes most System V based systems). If
	  printcap name is set to lpstat on these systems then Samba will launch
	 lpstat -v and attempt to parse the output to obtain a printer list.

	 A minimal printcap file would look something like this:

	     print1|My Printer 1
	     print2|My Printer 2
	     print3|My Printer 3
	     print4|My Printer 4
	     print5|My Printer 5

	 where the '|' separates aliases of a printer. The fact that the  second
	 alias has a space in it gives a hint to Samba that it's a comment.

	     Note
	     Under AIX the default printcap name is /etc/qconfig. Samba will as-
	     sume  the	file  is in AIX qconfig format if the string qconfig ap-
	     pears in the printcap filename.
	 Default: printcap name = /etc/printcap

	 Example: printcap name = /etc/myprintcap

     print command (S)

	 After a print job has finished spooling to a service, this command will
	 be used via a system() call to process the spool  file.  Typically  the
	 command  specified  will  submit  the spool file to the host's printing
	 subsystem, but there is no requirement  that  this  be  the  case.  The
	 server  will not remove the spool file, so whatever command you specify
	 should remove the spool file when it has been processed, otherwise  you
	 will need to manually remove old spool files.

	 The print command is simply a text string. It will be used verbatim af-
	 ter macro substitutions have been made:

	 %s, %f - the path to the spool file name

	 %p - the appropriate printer name

	 %J - the job name as transmitted by the client.

	 %c - The number of printed pages of the spooled job (if known).

	 %z - the size of the spooled print job (in bytes)

	 The  print  command  MUST contain at least one occurrence of %s or %f -
	 the %p is optional. At the time a job is submitted, if no printer  name
	 is supplied the %p will be silently removed from the printer command.

	 If  specified	in the [global] section, the print command given will be
	 used for any printable service that does not have its own print command
	 specified.

	 If there is neither a specified print command for a  printable  service
	 nor  a  global  print	command,  spool  files	will  be created but not
	 processed and (most importantly) not removed.

	 Note that printing may fail on some UNIXes from the nobody account.  If
	 this  happens	then  create an alternative guest account that can print
	 and set the guest account in the [global] section.

	 You can form quite complex print commands by realizing  that  they  are
	 just passed to a shell. For example the following will log a print job,
	 print	the  file,  then remove it. Note that ';' is the usual separator
	 for command in shell scripts.

	 print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s

	 You may have to vary this command considerably  depending  on	how  you
	 normally  print  files  on  your  system. The default for the parameter
	 varies depending on the setting of the printing parameter.

	 Default: For printing = BSD, AIX, QNX, LPRNG or PLP :

	 print command = lpr -r -P%p %s

	 For printing = SYSV or HPUX :

	 print command = lp -c -d%p %s; rm %s

	 For printing = SOFTQ :

	 print command = lp -d%p -s %s; rm %s

	 For printing = CUPS : If SAMBA is compiled against libcups, then print-
	 cap = cups uses the CUPS API to submit jobs, etc. Otherwise it maps  to
	 the  System V commands with the -oraw option for printing, i.e. it uses
	 lp -c -d%p -oraw; rm %s. With printing = cups, and if SAMBA is compiled
	 against libcups, any manually set print command will be ignored.

	 No default

	 Example: print command = /usr/local/samba/bin/myprintscript %p %s

     printer

	 This parameter is a synonym for printer name.

     printer name (S)

	 This parameter specifies the name of the printer to  which  print  jobs
	 spooled through a printable service will be sent.

	 If  specified	in  the [global] section, the printer name given will be
	 used for any printable service that does not have its own printer  name
	 specified.

	 The default value of the printer name may be lp on many systems.

	 Default: printer name =

	 Example: printer name = laserwriter

     printing (S)

	 This  parameters controls how printer status information is interpreted
	 on your system. It also affects the default values for the  print  com-
	 mand, lpq command, lppause command , lpresume command, and lprm command
	 if specified in the [global] section.

	 Currently nine printing styles are supported. They are BSD, AIX, LPRNG,
	 PLP, SYSV, HPUX, QNX, SOFTQ, CUPS and IPRINT.

	 Be  aware  that CUPS and IPRINT are only available if the CUPS develop-
	 ment library was available at the time Samba was compiled or packaged.

	 To see what the defaults are for the other print  commands  when  using
	 the various options use the testparm(1) program.

	 This option can be set on a per printer basis. Please be aware however,
	 that  you  must  place any of the various printing commands (e.g. print
	 command, lpq command, etc...) after defining the value for the printing
	 option since it will reset the printing commands to default values.

	 See also the discussion in the [printers] section.

	 See testparm -v.  for the default value on your system

	 Default: printing =  # Depends on the operating system

     printjob username (S)

	 This parameter specifies which user information will be passed  to  the
	 printing system. Usually, the username is sent, but in some cases, e.g.
	 the domain prefix is useful, too.

	 Default: printjob username = %U

	 Example: printjob username = %D\%U

     print notify backchannel (S)

	 Windows  print  clients  can update print queue status by expecting the
	 server to open a backchannel SMB connection  to  them.  Due  to  client
	 firewall  settings  this can cause considerable timeouts and will often
	 fail, as there is no guarantee  the  client  is  even	running  an  SMB
	 server. By default, the Samba print server will not try to connect back
	 to  clients, and will treat corresponding requests as if the connection
	 back to the client failed.

	 Default: print notify backchannel = no

     private directory

	 This parameter is a synonym for private dir.

     private dir (G)

	 This parameters defines the directory smbd will use  for  storing  such
	 files as smbpasswd and secrets.tdb.

	 Default: private dir = ${prefix}/private

     profile acls (S)

	 This  boolean	parameter was added to fix the problems that people have
	 been having with storing user profiles on  Samba  shares  from  Windows
	 2000  or Windows XP clients. New versions of Windows 2000 or Windows XP
	 service packs do security ACL checking on  the  owner	and  ability  to
	 write	of  the  profile  directory  stored  on a local workstation when
	 copied from a Samba share.

	 When not in domain mode with winbindd then  the  security  info  copied
	 onto  the  local workstation has no meaning to the logged in user (SID)
	 on that workstation so the profile storing fails. Adding this parameter
	 onto a share used for profile storage changes two things about the  re-
	 turned Windows ACL. Firstly it changes the owner and group owner of all
	 reported   files   and   directories	to  be	BUILTIN\\Administrators,
	 BUILTIN\\Users respectively (SIDs S-1-5-32-544, S-1-5-32-545). Secondly
	 it adds an ACE entry of "Full Control" to  the  SID  BUILTIN\\Users  to
	 every	returned ACL. This will allow any Windows 2000 or XP workstation
	 user to access the profile.

	 Note that if you have multiple users logging on to a  workstation  then
	 in order to prevent them from being able to access each others profiles
	 you  must  remove  the  "Bypass traverse checking" advanced user right.
	 This will prevent access to other users profile directories as the  top
	 level	profile directory (named after the user) is created by the work-
	 station profile code and has an ACL restricting entry to the  directory
	 tree to the owning user.

	 Note  that  this  parameter  should  be set to yes on dedicated profile
	 shares only. On other shares, it might cause incorrect file ownerships.

	 Default: profile acls = no

     queuepause command (S)

	 This parameter specifies the command to be executed on the server  host
	 in order to pause the printer queue.

	 This  command	should be a program or script which takes a printer name
	 as its only parameter and stops the printer queue, such that no  longer
	 jobs are submitted to the printer.

	 This command is not supported by Windows for Workgroups, but can be is-
	 sued from the Printers window under Windows 95 and NT.

	 If  a	%p is given then the printer name is put in its place. Otherwise
	 it is placed at the end of the command.

	 Note that it is good practice to include the absolute path in the  com-
	 mand as the PATH may not be available to the server.

	 Default: queuepause command =	# determined by printing parameter

	 Example: queuepause command = disable %p

     queueresume command (S)

	 This  parameter specifies the command to be executed on the server host
	 in order to resume the printer queue. It is the command to undo the be-
	 havior that is caused by the previous parameter (queuepause command).

	 This command should be a program or script which takes a  printer  name
	 as  its  only parameter and resumes the printer queue, such that queued
	 jobs are resubmitted to the printer.

	 This command is not supported by Windows for Workgroups, but can be is-
	 sued from the Printers window under Windows 95 and NT.

	 If a %p is given then the printer name is put in its  place.  Otherwise
	 it is placed at the end of the command.

	 Note  that it is good practice to include the absolute path in the com-
	 mand as the PATH may not be available to the server.

	 Default: queueresume command =  # determined by printing parameter

	 Example: queueresume command = enable %p

     read list (S)

	 This is a list of users that are given read-only access to  a	service.
	 If  the  connecting  user  is	in this list then they will not be given
	 write access, no matter what the read only option is set to.  The  list
	 can include group names using the syntax described in the invalid users
	 parameter.

	 Default: read list =

	 Example: read list = mary, @students

     write ok

	 This parameter is a synonym for read only.

     read only (S)

	 An inverted synonym is writeable.

	 If  this  parameter  is  yes, then users of a service may not create or
	 modify files in the service's directory.

	 Note that a printable service (printable = yes) will ALWAYS allow writ-
	 ing to the directory (user privileges permitting), but only via  spool-
	 ing operations.

	 Default: read only = yes

     read raw (G)

	 This  is  ignored if async echo handler is set, because this feature is
	 incompatible with raw read SMB requests

	 If enabled, raw reads allow reads of 65535 bytes in  one  packet.  This
	 typically  provides a major performance benefit for some very, very old
	 clients.

	 However, some clients either negotiate the allowable block size  incor-
	 rectly or are incapable of supporting larger block sizes, and for these
	 clients you may need to disable raw reads.

	 In  general this parameter should be viewed as a system tuning tool and
	 left severely alone.

	 Default: read raw = yes

     realm (G)

	 This option specifies the kerberos realm to use. The realm is	used  as
	 the ADS equivalent of the NT4 domain. It is usually set to the DNS name
	 of the kerberos server.

	 Default: realm =

	 Example: realm = mysambabox.mycompany.com

     registry shares (G)

	 This  turns on or off support for share definitions read from registry.
	 Shares defined in smb.conf take precedence over shares  with  the  same
	 name  defined in registry. See the section on registry-based configura-
	 tion for details.

	 Note that this parameter defaults to no, but it is set to yes when con-
	 fig backend is set to registry.

	 Default: registry shares = no

	 Example: registry shares = yes

     reject md5 clients (G)

	 This option controls whether the netlogon  server  (currently	only  in
	 'active  directory  domain controller' mode), will reject clients which
	 does not support NETLOGON_NEG_SUPPORTS_AES.

	 You can set this to yes if all domain members support	aes.  This  will
	 prevent downgrade attacks.

	 This option takes precedence to the 'allow nt4 crypto' option.

	 Default: reject md5 clients = no

     reject md5 servers (G)

	 This  option controls whether winbindd requires support for aes support
	 for the netlogon secure channel.

	 The following	flags  will  be  required  NETLOGON_NEG_ARCFOUR,  NETLO-
	 GON_NEG_SUPPORTS_AES,	NETLOGON_NEG_PASSWORD_SET2  and NETLOGON_NEG_AU-
	 THENTICATED_RPC.

	 You can set this to yes if all domain	controllers  support  aes.  This
	 will prevent downgrade attacks.

	 The  behavior can be controlled per netbios domain by using 'reject md5
	 servers:NETBIOSDOMAIN = yes' as option.

	 This option takes precedence to the require strong key option.

	 Default: reject md5 servers = no

     remote announce (G)

	 This option allows you to setup nmbd(8) to periodically announce itself
	 to arbitrary IP addresses with an arbitrary workgroup name.

	 This is useful if you want your Samba server  to  appear  in  a  remote
	 workgroup for which the normal browse propagation rules don't work. The
	 remote workgroup can be anywhere that you can send IP packets to.

	 For example:

	     remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF

	 the  above line would cause nmbd to announce itself to the two given IP
	 addresses using the given workgroup names. If you leave out  the  work-
	 group	name,  then the one given in the workgroup parameter is used in-
	 stead.

	 The IP addresses you choose would normally be the  broadcast  addresses
	 of  the  remote  networks,  but  can  also be the IP addresses of known
	 browse masters if your network config is that stable.

	 See the chapter on Network Browsing in the Samba-HOWTO book.

	 Default: remote announce =

     remote browse sync (G)

	 This option allows you to setup nmbd(8) to  periodically  request  syn-
	 chronization  of browse lists with the master browser of a Samba server
	 that is on a remote segment. This option will allow you to gain  browse
	 lists for multiple workgroups across routed networks. This is done in a
	 manner that does not work with any non-Samba servers.

	 This  is  useful if you want your Samba server and all local clients to
	 appear in a remote workgroup for which the  normal  browse  propagation
	 rules	don't  work.  The  remote workgroup can be anywhere that you can
	 send IP packets to.

	 For example:

	     remote browse sync = 192.168.2.255 192.168.4.255

	 the above line would cause nmbd to request the master	browser  on  the
	 specified  subnets  or addresses to synchronize their browse lists with
	 the local server.

	 The IP addresses you choose would normally be the  broadcast  addresses
	 of  the  remote  networks,  but  can  also be the IP addresses of known
	 browse masters if your network config is that stable. If a  machine  IP
	 address is given Samba makes NO attempt to validate that the remote ma-
	 chine	is  available,	is  listening, nor that it is in fact the browse
	 master on its segment.

	 The remote browse sync may be used on networks where there is	no  WINS
	 server, and may be used on disjoint networks where each network has its
	 own WINS server.

	 Default: remote browse sync =

     rename user script (G)

	 This  is  the	full  pathname	to  a script that will be run as root by
	 smbd(8) under special circumstances described below.

	 When a user with admin authority or SeAddUserPrivilege rights renames a
	 user (e.g.: from the NT4 User Manager for Domains), this script will be
	 run to rename the POSIX user. Two variables, %uold and %unew,	will  be
	 substituted  with  the  old and new usernames, respectively. The script
	 should return 0 upon successful completion, and nonzero otherwise.

	     Note
	     The script has all responsibility to rename all the necessary  data
	     that  is  accessible  in this posix method. This can mean different
	     requirements for different backends. The tdbsam and smbpasswd back-
	     ends will take care of the contents of their respective  files,  so
	     the script is responsible only for changing the POSIX username, and
	     other  data  that may required for your circumstances, such as home
	     directory. Please also consider whether or not you need  to  rename
	     the  actual  home	directories themselves. The ldapsam backend will
	     not make any changes, because of the potential issues with renaming
	     the LDAP naming attribute. In this case the script  is  responsible
	     for  changing  the  attribute  that  samba  uses (uid) for locating
	     users, as well as any data that needs to change for other	applica-
	     tions using the same directory.
	 Default: rename user script =

     require strong key (G)

	 This  option  controls whether winbindd requires support for md5 strong
	 key support for the netlogon secure channel.

	 The following flags will be required  NETLOGON_NEG_STRONG_KEYS,  NETLO-
	 GON_NEG_ARCFOUR and NETLOGON_NEG_AUTHENTICATED_RPC.

	 You  can  set	this  to no if some domain controllers only support des.
	 This might allows weak crypto to be negotiated, may via  downgrade  at-
	 tacks.

	 The  behavior	can  be  controlled per netbios domain by using 'require
	 strong key:NETBIOSDOMAIN = no' as option.

	 Note for active directory domain this option is hardcoded to 'yes'

	 This option yields precedence to the reject md5 servers option.

	 This option takes precedence to the client schannel option.

	 Default: require strong key = yes

     reset on zero vc (G)

	 This boolean option controls whether an incoming session  setup  should
	 kill  other  connections  coming from the same IP. This matches the de-
	 fault Windows 2003 behaviour. Setting this  parameter	to  yes  becomes
	 necessary  when  you have a flaky network and windows decides to recon-
	 nect while the old connection still has files with  share  modes  open.
	 These	files  become  inaccessible  over the new connection. The client
	 sends a zero VC on the new connection, and Windows 2003 kills all other
	 connections coming from the same IP. This way the locked files are  ac-
	 cessible  again.  Please  be  aware that enabling this option will kill
	 connections behind a masquerading router.

	 Default: reset on zero vc = no

     restrict anonymous (G)

	 The setting of this parameter determines whether user	and  group  list
	 information  is  returned  for an anonymous connection. and mirrors the
	 effects of the

	     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
			Control\LSA\RestrictAnonymous

	 registry key in Windows 2000 and Windows NT. When set to  0,  user  and
	 group	list  information is returned to anyone who asks. When set to 1,
	 only an authenticated user can retrieve user and  group  list	informa-
	 tion.	For  the  value  2,  supported	by Windows 2000/XP and Samba, no
	 anonymous connections are allowed at all. This can  break  third  party
	 and Microsoft applications which expect to be allowed to perform opera-
	 tions anonymously.

	 The  security	advantage of using restrict anonymous = 1 is dubious, as
	 user and group list information can be obtained using other means.

	     Note
	     The security advantage of using restrict anonymous = 2  is  removed
	     by setting guest ok = yes on any share.
	 Default: restrict anonymous = 0

     rndc command (G)

	 This option specifies the path to the name server control utility.

	 The rndc utility should be a part of the bind installation.

	 Default: rndc command = /usr/sbin/rndc

	 Example: rndc command = /usr/local/bind9/sbin/rndc

     root

	 This parameter is a synonym for root directory.

     root dir

	 This parameter is a synonym for root directory.

     root directory (G)

	 The  server  will chroot() (i.e. Change its root directory) to this di-
	 rectory on startup. This is not strictly necessary  for  secure  opera-
	 tion.	Even  without it the server will deny access to files not in one
	 of the service entries. It may also check for, and deny access to, soft
	 links to other parts of the filesystem, or attempts to use ".." in file
	 names to access other directories (depending on the setting of the wide
	 smbconfoptions parameter).

	 Adding a root directory entry other than "/" adds an extra level of se-
	 curity, but at a price. It absolutely ensures that no access  is  given
	 to  files  not  in the sub-tree specified in the root directory option,
	 including some files needed for complete operation of	the  server.  To
	 maintain  full  operability  of the server you will need to mirror some
	 system files into the root directory tree. In particular you will  need
	 to mirror /etc/passwd (or a subset of it), and any binaries or configu-
	 ration  files	needed for printing (if required). The set of files that
	 must be mirrored is operating system dependent.

	 Default: root directory =

	 Example: root directory = /homes/smb

     root postexec (S)

	 This is the same as the postexec parameter except that the  command  is
	 run as root. This is useful for unmounting filesystems (such as CDROMs)
	 after a connection is closed.

	 Default: root postexec =

     root preexec (S)

	 This  is  the	same as the preexec parameter except that the command is
	 run as root. This is useful for mounting filesystems (such  as  CDROMs)
	 when a connection is opened.

	 Default: root preexec =

     root preexec close (S)

	 This is the same as the preexec close parameter except that the command
	 is run as root.

	 Default: root preexec close = no

     rpc big endian (G)

	 Setting  this	option	will force the RPC client and server to transfer
	 data in big endian.

	 If it is disabled, data will be transferred in little endian.

	 The behaviour is independent of the endianness of the host machine.

	 Default: rpc big endian = no

     rpc_daemon:DAEMON (G)

	 Defines whether to use the embedded code or start a separate daemon for
	 the defined rpc services. The rpc_daemon prefix must be followed by the
	 server name, and a value.

	 Two possible values are currently supported:

		       disabled
		       fork

	 The classic method is to run rpc services as internal daemons	embedded
	 in smbd, therefore the external daemons are disabled by default.

	 Choosing the fork option will cause samba to fork a separate proces for
	 each  daemon configured this way. Each daemon may in turn fork a number
	 of children used to handle requests  from  multiple  smbds  and  direct
	 tcp/ip  connections  (if the Endpoint Mapper is enabled). Communication
	 with smbd happens over named pipes and require that said pipes are for-
	 ward to the external daemon (see rpc_server).

	 Forked RPC Daemons support dynamically forking children to handle  con-
	 nections. The heuristics about how many children to keep around and how
	 fast  to allow them to fork and also how many clients each child is al-
	 lowed to handle concurrently is defined by parametrical  options  named
	 after the daemon. Five options are currently supported:

		       prefork_min_children
		       prefork_max_children
		       prefork_spawn_rate
		       prefork_max_allowed_clients
		       prefork_child_min_life

	 To set one of these options use the follwing syntax:

		  damonname:prefork_min_children = 5

	 Samba	includes  separate  daemons for spoolss, lsarpc/lsass, netlogon,
	 samr, FSRVP and mdssvc(Spotlight). Currently five daemons are available
	 and they are called:

		       epmd
		       lsasd
		       spoolssd
		       fssd
		       mdssd

	 Example:

		  rpc_daemon:spoolssd = fork

	 Default: rpc_daemon:DAEMON = disabled

     rpc_server:SERVER (G)

	 With this option you can define if a rpc service should be running  in-
	 ternal/embedded  in  smbd or should be redirected to an external daemon
	 like Samba4, the endpoint mapper daemon, the spoolss daemon or the  new
	 LSA  service daemon. The rpc_server prefix must be followed by the pipe
	 name, and a value.

	 This option can be set for each available rpc	service  in  Samba.  The
	 following  list  shows all available pipe names services you can modify
	 with this option.

	 *   epmapper - Endpoint Mapper

	 *   winreg - Remote Registry Service

	 *   srvsvc - Remote Server Services

	 *   lsarpc - Local Security Authority

	 *   samr - Security Account Management

	 *   netlogon - Netlogon Remote Protocol

	 *   netdfs - Settings for Distributed File System

	 *   dssetup - Active Directory Setup

	 *   wkssvc - Workstation Services

	 *   spoolss - Network Printing Spooler

	 *   svcctl - Service Control

	 *   ntsvcs - Plug and Play Services

	 *   eventlog - Event Logger

	 *   initshutdown - Init Shutdown Service

	 *   mdssvc - Spotlight

     Three possible values currently supported are: embeddedexternaldisabled

     The classic method is to run every pipe as an internal function embedded in
     smbd. The defaults may vary depending on the service.

     Choosing the external option allows to run a separate daemon or even a com-
     pletely independent (3rd party) server capable of	interfacing  with  samba
     via the MS-RPC interface over named pipes.

     Currently	in  Samba3  we	support  four daemons, spoolssd, epmd, lsasd and
     mdssd. These daemons can  be  enabled  using  the	rpc_daemon  option.  For
     spoolssd you have to enable the daemon and proxy the named pipe with:

     Examples:

			rpc_daemon:lsasd = fork
			rpc_server:lsarpc = external
			rpc_server:samr = external
			rpc_server:netlogon = external

			rpc_server:spoolss = external
			rpc_server:epmapper = disabled

			rpc_daemon:mdssd = fork
			rpc_server:mdssvc = external

     There is one special option which allows you to enable rpc services to lis-
     ten for ncacn_ip_tcp connections too. Currently this is only used for test-
     ing and doesn't scale!

			rpc_server:tcpip = yes

     Default: rpc_server:SERVER = embedded

     samba kcc command (G)

	 This option specifies the path to the Samba KCC command. This script is
	 used for replication topology replication.

	 It  should  not  be  necessary to modify this option except for testing
	 purposes or if the samba_kcc was installed in a non-default location.

	 Default: samba kcc command = ${prefix}/sbin/samba_kcc

	 Example: samba kcc command = /usr/local/bin/kcc

     security (G)

	 This option affects how clients respond to Samba and is one of the most
	 important settings in the smb.conf file.

	 The default is security = user, as this is  the  most	common	setting,
	 used for a standalone file server or a DC.

	 The alternatives are security = ads or security = domain, which support
	 joining Samba to a Windows domain

	 You  should  use security = user and map to guest if you want to mainly
	 setup shares without a password (guest shares). This is  commonly  used
	 for a shared printer server.

	 The different settings will now be explained.

	 SECURITY = AUTO

	 This is the default security setting in Samba, and causes Samba to con-
	 sult the server role parameter (if set) to determine the security mode.

	 SECURITY = USER

	 If  server  role is not specified, this is the default security setting
	 in Samba. With user-level security a client must first "log-on" with  a
	 valid username and password (which can be mapped using the username map
	 parameter). Encrypted passwords (see the encrypted passwords parameter)
	 can  also  be	used  in this security mode. Parameters such as user and
	 guest only if set are then applied and may change the UNIX user to  use
	 on  this  connection, but only after the user has been successfully au-
	 thenticated.

	 Note that the name of the resource being requested is not sent  to  the
	 server  until	after  the  server  has  successfully  authenticated the
	 client. This is why guest shares don't  work  in  user  level	security
	 without allowing the server to automatically map unknown users into the
	 guest	account.  See  the  map  to guest parameter for details on doing
	 this.

	 SECURITY = DOMAIN

	 This mode will only work correctly if net(8) has been used to add  this
	 machine  into	a  Windows NT Domain. It expects the encrypted passwords
	 parameter to be set to yes. In this mode Samba will try to validate the
	 username/password by passing it to a Windows NT Primary or  Backup  Do-
	 main Controller, in exactly the same way that a Windows NT Server would
	 do.

	 Note  that a valid UNIX user must still exist as well as the account on
	 the Domain Controller to allow Samba to have a valid  UNIX  account  to
	 map file access to.

	 Note that from the client's point of view security = domain is the same
	 as  security  = user. It only affects how the server deals with the au-
	 thentication, it does not in any way affect what the client sees.

	 Note that the name of the resource being requested is not sent  to  the
	 server  until	after  the  server  has  successfully  authenticated the
	 client. This is why guest shares don't  work  in  user  level	security
	 without allowing the server to automatically map unknown users into the
	 guest	account.  See  the  map  to guest parameter for details on doing
	 this.

	 See also the password server parameter and the encrypted passwords  pa-
	 rameter.

	 Note  that  the name of the resource being requested is not sent to the
	 server until  after  the  server  has	successfully  authenticated  the
	 client.  This	is  why  guest	shares don't work in user level security
	 without allowing the server to automatically map unknown users into the
	 guest account. See the map to guest  parameter  for  details  on  doing
	 this.

	 See  also the password server parameter and the encrypted passwords pa-
	 rameter.

	 SECURITY = ADS

	 In this mode, Samba will act as a domain member in an ADS realm. To op-
	 erate in this mode, the machine running Samba will need  to  have  Ker-
	 beros	installed and configured and Samba will need to be joined to the
	 ADS realm using the net utility.

	 Note that this mode does NOT make Samba operate as a  Active  Directory
	 Domain Controller.

	 Note  that  this  forces require strong key = yes and client schannel =
	 yes for the primary domain.

	 Read the chapter about Domain Membership in the HOWTO for details.

	 Default: security = AUTO

	 Example: security = DOMAIN

     security mask (S)

	 This parameter has been removed for Samba 4.0.0.

	 No default

     max protocol

	 This parameter is a synonym for server max protocol.

     protocol

	 This parameter is a synonym for server max protocol.

     server max protocol (G)

	 The value of the parameter (a string) is  the	highest  protocol  level
	 that will be supported by the server.

	 Possible values are :

	 *   LANMAN1:  First  modern version of the protocol. Long filename sup-
	     port.

	 *   LANMAN2: Updates to Lanman1 protocol.

	 *   NT1: Current up to date version of the protocol.  Used  by  Windows
	     NT. Known as CIFS.

	 *   SMB2:  Re-implementation of the SMB protocol. Used by Windows Vista
	     and later versions of Windows. SMB2 has sub protocols available.

	     *	 SMB2_02: The earliest SMB2 version.

	     *	 SMB2_10: Windows 7 SMB2 version.

	     *	 SMB2_22: Early Windows 8 SMB2 version.

	     *	 SMB2_24: Windows 8 beta SMB2 version.

	 By default SMB2 selects the SMB2_10 variant.

     *	 SMB3: The same as SMB2. Used by  Windows  8.  SMB3  has  sub  protocols
	 available.

	 *   SMB3_00: Windows 8 SMB3 version. (mostly the same as SMB2_24)

	 *   SMB3_02: Windows 8.1 SMB3 version.

	 *   SMB3_10: early Windows 10 technical preview SMB3 version.

	 *   SMB3_11: Windows 10 technical preview SMB3 version (maybe final).

     By default SMB3 selects the SMB3_11 variant.

     Normally  this  option should not be set as the automatic negotiation phase
     in the SMB protocol takes care of choosing the appropriate protocol.

     Default: server max protocol = SMB3

     Example: server max protocol = LANMAN1

     min protocol

	 This parameter is a synonym for server min protocol.

     server min protocol (G)

	 This setting controls the minimum protocol version that the server will
	 allow the client to use.

	 Normally this option should not be set  as  the  automatic  negotiation
	 phase in the SMB protocol takes care of choosing the appropriate proto-
	 col.

	 See  Related  command: server max protocol for a full list of available
	 protocols.

	 Default: server min protocol = LANMAN1

	 Example: server min protocol = NT1

     server role (G)

	 This option determines the basic operating mode of a Samba  server  and
	 is one of the most important settings in the smb.conf file.

	 The default is server role = auto, as causes Samba to operate according
	 to  the  security  setting, or if not specified as a simple file server
	 that is not connected to any domain.

	 The alternatives are server role = standalone or server role  =  member
	 server,  which  support  joining  Samba to a Windows domain, along with
	 server role = domain controller, which run Samba as  a  Windows  domain
	 controller.

	 You should use server role = standalone and map to guest if you want to
	 mainly setup shares without a password (guest shares). This is commonly
	 used for a shared printer server.

	 SERVER ROLE = AUTO

	 This  is  the default server role in Samba, and causes Samba to consult
	 the security parameter (if set) to determine the  server  role,  giving
	 compatable behaviours to previous Samba versions.

	 SERVER ROLE = STANDALONE

	 If security is also not specified, this is the default security setting
	 in  Samba. In standalone operation, a client must first "log-on" with a
	 valid username and password (which can be mapped using the username map
	 parameter) stored on this machine. Encrypted  passwords  (see	the  en-
	 crypted passwords parameter) are by default used in this security mode.
	 Parameters  such as user and guest only if set are then applied and may
	 change the UNIX user to use on this connection, but only after the user
	 has been successfully authenticated.

	 SERVER ROLE = MEMBER SERVER

	 This mode will only work correctly if net(8) has been used to add  this
	 machine into a Windows Domain. It expects the encrypted passwords para-
	 meter	to  be	set  to yes. In this mode Samba will try to validate the
	 username/password by passing it to  a	Windows  or  Samba  Domain  Con-
	 troller, in exactly the same way that a Windows Server would do.

	 Note  that a valid UNIX user must still exist as well as the account on
	 the Domain Controller to allow Samba to have a valid  UNIX  account  to
	 map file access to. Winbind can provide this.

	 SERVER ROLE = CLASSIC PRIMARY DOMAIN CONTROLLER

	 This  mode of operation runs a classic Samba primary domain controller,
	 providing domain logon services to Windows  and  Samba  clients  of  an
	 NT4-like  domain.  Clients must be joined to the domain to create a se-
	 cure, trusted path across the network. There must be only one	PDC  per
	 NetBIOS  scope  (typcially  a	broadcast network or clients served by a
	 single WINS server).

	 SERVER ROLE = NETBIOS BACKUP DOMAIN CONTROLLER

	 This mode of operation runs a classic Samba backup  domain  controller,
	 providing  domain  logon  services  to  Windows and Samba clients of an
	 NT4-like domain. As a BDC, this allows multiple Samba servers	to  pro-
	 vide redundant logon services to a single NetBIOS scope.

	 SERVER ROLE = ACTIVE DIRECTORY DOMAIN CONTROLLER

	 This  mode  of  operation runs Samba as an active directory domain con-
	 troller, providing domain logon services to Windows and  Samba  clients
	 of the domain. This role requires special configuration, see the Samba4
	 HOWTO

	 Default: server role = AUTO

	 Example: server role = DOMAIN CONTROLLER

     server schannel (G)

	 This  controls whether the server offers or even demands the use of the
	 netlogon schannel.  server schannel = no does not offer  the  schannel,
	 server schannel = auto offers the schannel but does not enforce it, and
	 server  schannel = yes denies access if the client is not able to speak
	 netlogon schannel. This is only the case for Windows NT4 before SP4.

	 Please note that with this set to no, you will have to apply  the  Win-
	 dowsXP  WinXP_SignOrSeal.reg  registry patch found in the docs/registry
	 subdirectory of the Samba distribution tarball.

	 Default: server schannel = auto

	 Example: server schannel = yes

     server services (G)

	 This option contains the services that the Samba daemon will run.

	 An entry in the smb.conf file can either override  the  previous  value
	 completely  or  entries can be removed from or added to it by prefixing
	 them with + or -.

	 Default: server services = s3fs, rpc, nbt,  wrepl,  ldap,  cldap,  kdc,
	 drepl, winbindd, ntp_signd, kcc, dnsupdate, dns

	 Example: server services = -s3fs, +smb

     server signing (G)

	 This controls whether the client is allowed or required to use SMB1 and
	 SMB2  signing.  Possible  values  are default, auto, mandatory and dis-
	 abled.

	 By default, and when smb signing is set to default, smb signing enabled
	 when server role is active directory  domain  controller  and	disabled
	 otherwise.

	 When  set  to auto, SMB1 signing is offered, but not enforced. When set
	 to mandatory, SMB1 signing is required and  if  set  to  disabled,  SMB
	 signing is not offered either.

	 For  the  SMB2  protocol, by design, signing cannot be disabled. In the
	 case where SMB2 is negotiated, if this parameter is set to disabled, it
	 will be treated as auto. Setting it to  mandatory  will  still  require
	 SMB2 clients to use signing.

	 Default: server signing = default

     server string (G)

	 This  controls  what  string will show up in the printer comment box in
	 print manager and next to the IPC connection in net view. It can be any
	 string that you wish to show to your users.

	 It also sets what will appear in browse lists next to the machine name.

	 A %v will be replaced with the Samba version number.

	 A %h will be replaced with the hostname.

	 Default: server string = Samba %v

	 Example: server string = University of GNUs Samba Server

     set primary group script (G)

	 Thanks to the Posix subsystem in NT a Windows User has a primary  group
	 in addition to the auxiliary groups. This script sets the primary group
	 in  the unix user database when an administrator sets the primary group
	 from the windows user manager or when fetching a SAM with net rpc  vam-
	 pire.	 %u  will be replaced with the user whose primary group is to be
	 set.  %g will be replaced with the group to set.

	 Default: set primary group script =

	 Example: set primary group script = /usr/sbin/usermod -g '%g' '%u'

     set quota command (G)

	 The set quota command should only be used whenever there is no  operat-
	 ing system API available from the OS that samba can use.

	 This option is only available if Samba was compiled with quota support.

	 This  parameter  should specify the path to a script that can set quota
	 for the specified arguments.

	 The specified script should take the following arguments:

	 *   1 - path to where the quota needs to be set. This needs to  be  in-
	     terpreted relative to the current working directory that the script
	     may also check for.

	 *   2 - quota type

	     *	 1 - user quotas

	     *	 2 - user default quotas (uid = -1)

	     *	 3 - group quotas

	     *	 4 - group default quotas (gid = -1)

     *	 3 - id (uid for user, gid for group, -1 if N/A)

     *	 4 - quota state (0 = disable, 1 = enable, 2 = enable and enforce)

     *	 5 - block softlimit

     *	 6 - block hardlimit

     *	 7 - inode softlimit

     *	 8 - inode hardlimit

     *	 9(optional) - block size, defaults to 1024

     The  script should output at least one line of data on success. And nothing
     on failure.

     Default: set quota command =

     Example: set quota command = /usr/local/sbin/set_quota

     share backend (G)

	 This option specifies the backend that will be used to access the  con-
	 figuration of file shares.

	 Traditionally,  Samba	file shares have been configured in the smb.conf
	 file and this is still the default.

	 At the moment there are no other supported backends.

	 Default: share backend = classic

     share:fake_fscaps (G)

	 This is needed to support some special application that  makes  QFSINFO
	 calls	to check whether we set the SPARSE_FILES bit (0x40). If this bit
	 is not set that particular application refuses to work  against  Samba.
	 With  share:fake_fscaps  =  64  the SPARSE_FILES file system capability
	 flag is set. Use other decimal values to specify the bitmask  you  need
	 to fake.

	 Default: share:fake_fscaps = 0

     short preserve case (S)

	 This  boolean parameter controls if new files which conform to 8.3 syn-
	 tax, that is all in upper case and of suitable length, are created  up-
	 per case, or if they are forced to be the default case. This option can
	 be  use  with	preserve  case	= yes to permit long filenames to retain
	 their case, while short names are lowered.

	 See the section on NAME MANGLING.

	 Default: short preserve case = yes

     show add printer wizard (G)

	 With the introduction of MS-RPC  based  printing  support  for  Windows
	 NT/2000  client  in  Samba  2.2,  a "Printers..." folder will appear on
	 Samba hosts in the share listing. Normally this folder will contain  an
	 icon  for  the  MS Add Printer Wizard (APW). However, it is possible to
	 disable this feature regardless of the level of privilege of  the  con-
	 nected user.

	 Under normal circumstances, the Windows NT/2000 client will open a han-
	 dle on the printer server with OpenPrinterEx() asking for Administrator
	 privileges.  If  the  user  does  not have administrative access on the
	 print server (i.e is not root or has granted the  SePrintOperatorPrivi-
	 lege), the OpenPrinterEx() call fails and the client makes another open
	 call  with  a request for a lower privilege level. This should succeed,
	 however the APW icon will not be displayed.

	 Disabling the show add printer wizard parameter will always  cause  the
	 OpenPrinterEx()  on the server to fail. Thus the APW icon will never be
	 displayed.

	     Note
	     This does not prevent the	same  user  from  having  administrative
	     privilege on an individual printer.
	 Default: show add printer wizard = yes

     shutdown script (G)

	 This a full path name to a script called by smbd(8) that should start a
	 shutdown procedure.

	 If  the  connected user possesses the SeRemoteShutdownPrivilege, right,
	 this command will be run as root.

	 The %z %t %r %f variables are expanded as follows:

	 *   %z will be substituted  with  the	shutdown  message  sent  to  the
	     server.

	 *   %t  will  be  substituted with the number of seconds to wait before
	     effectively starting the shutdown procedure.

	 *   %r will be substituted with the switch -r. It  means  reboot  after
	     shutdown for NT.

	 *   %f will be substituted with the switch -f. It means force the shut-
	     down even if applications do not respond for NT.

     Shutdown script example:

	 #!/bin/bash

	 time=$2
	 let time="${time} / 60"
	 let time="${time} + 1"

	 /sbin/shutdown $3 $4 +$time $1 &

     Shutdown does not return so we need to launch it in background.

     Default: shutdown script =

     Example: shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f

     smb2 leases (G)

	 This  boolean	option	tells  smbd  whether  to globally negotiate SMB2
	 leases on file open requests. Leasing is an SMB2-only feature which al-
	 lows clients to aggressively cache files locally above and  beyond  the
	 caching  allowed  by SMB1 oplocks. This (experimental) parameter is set
	 to off by default until the SMB2 leasing code is declared fully stable.

	 This is only available with oplocks = yes and kernel oplocks = no.

	 Note that the write cache won't be used for file handles  with  a  smb2
	 write lease.

	 The Samba implementation of leases is currently marked as experimental!

	 Default: smb2 leases = no

     smb2 max credits (G)

	 This  option  controls  the  maximum number of outstanding simultaneous
	 SMB2 operations that Samba tells the client it will allow. This is sim-
	 ilar to the max mux parameter for SMB1. You should never  need  to  set
	 this parameter.

	 The default is 8192 credits, which is the same as a Windows 2008R2 SMB2
	 server.

	 Default: smb2 max credits = 8192

     smb2 max read (G)

	 This  option specifies the protocol value that smbd(8) will return to a
	 client, informing the client of the largest size that may  be	returned
	 by a single SMB2 read call.

	 The  maximum  is  8388608  bytes (8MiB), which is the same as a Windows
	 Server 2012 r2.

	 Please note that the default is 8MiB, but it's limit is  based  on  the
	 smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB >= 2.1 with LargeMTU).
	 Large MTU is not supported over NBT (tcp port 139).

	 Default: smb2 max read = 8388608

     smb2 max trans (G)

	 This  option specifies the protocol value that smbd(8) will return to a
	 client, informing the client of the largest size of buffer that may  be
	 used in querying file meta-data via QUERY_INFO and related SMB2 calls.

	 The  maximum  is  8388608  bytes (8MiB), which is the same as a Windows
	 Server 2012 r2.

	 Please note that the default is 8MiB, but it's limit is  based  on  the
	 smb2 dialect (64KiB for SMB == 2.0, 1MiB for SMB >= 2.1 with LargeMTU).
	 Large MTU is not supported over NBT (tcp port 139).

	 Default: smb2 max trans = 8388608

     smb2 max write (G)

	 This  option specifies the protocol value that smbd(8) will return to a
	 client, informing the client of the largest size that may  be	sent  to
	 the server by a single SMB2 write call.

	 The  maximum  is  8388608  bytes (8MiB), which is the same as a Windows
	 Server 2012 r2.

	 Please note that the default is 8MiB, but it's limit is  based  on  the
	 smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB => 2.1 with LargeMTU).
	 Large MTU is not supported over NBT (tcp port 139).

	 Default: smb2 max write = 8388608

     smbd profiling level (G)

	 This parameter allows the administrator to enable profiling support.

	 Possible values are off, count and on.

	 Default: smbd profiling level = off

	 Example: smbd profiling level = on

     smb encrypt (S)

	 This  parameter controls whether a remote client is allowed or required
	 to use SMB encryption. It has different effects  depending  on  whether
	 the connection uses SMB1 or SMB2 and newer:

	 *   If the connection uses SMB1, then this option controls the use of a
	     Samba-specific  extension	to  the SMB protocol introduced in Samba
	     3.2 that makes use of the Unix extensions.

	 *   If the connection uses SMB2 or newer, then this option controls the
	     use of the SMB-level encryption that is supported	in  SMB  version
	     3.0 and above and available in Windows 8 and newer.

     This  parameter can be set globally and on a per-share bases. Possible val-
     ues are off (or disabled), enabled (or auto, or if_required), desired,  and
     required  (or  mandatory). A special value is default which is the implicit
     default setting of enabled.

     Effects for SMB1
	 The Samba-specific encryption of SMB1 connections is  an  extension  to
	 the SMB protocol negotiated as part of the UNIX extensions. SMB encryp-
	 tion  uses  the  GSSAPI  (SSPI  on Windows) ability to encrypt and sign
	 every request/response in a SMB protocol stream. When enabled	it  pro-
	 vides a secure method of SMB/CIFS communication, similar to an ssh pro-
	 tected  session, but using SMB/CIFS authentication to negotiate encryp-
	 tion and signing keys. Currently this is only supported smbclient of by
	 Samba 3.2 and newer,  and  hopefully  soon  Linux  CIFSFS  and  MacOS/X
	 clients. Windows clients do not support this feature.

	 This  may be set on a per-share basis, but clients may chose to encrypt
	 the entire session, not just traffic to a specific share.  If	this  is
	 set to mandatory then all traffic to a share must be encrypted once the
	 connection  has been made to the share. The server would return "access
	 denied" to all non-encrypted requests on such a  share.  Selecting  en-
	 crypted traffic reduces throughput as smaller packet sizes must be used
	 (no huge UNIX style read/writes allowed) as well as the overhead of en-
	 crypting and signing all the data.

	 If  SMB  encryption  is  selected,  Windows  style SMB signing (see the
	 server signing option) is no longer necessary, as the GSSAPI flags  use
	 select both signing and sealing of the data.

	 When  set  to	auto  or default, SMB encryption is offered, but not en-
	 forced. When set to mandatory, SMB encryption is required and if set to
	 disabled, SMB encryption can not be negotiated.

     Effects for SMB2
	 Native SMB transport encryption is available  in  SMB	version  3.0  or
	 newer.  It  is  only  offered by Samba if server max protocol is set to
	 SMB3 or newer. Clients supporting this type of encryption include  Win-
	 dows 8 and newer, Windows server 2012 and newer, and smbclient of Samba
	 4.1 and newer.

	 The protocol implementation offers various options:

	 *   The  capability  to perform SMB encryption can be negotiated during
	     protocol negotiation.

	 *   Data encryption can be enabled globally. In that case,  an  encryp-
	     tion-capable  connection  will have all traffic in all its sessions
	     encrypted. In particular all share connections will be encrypted.

	 *   Data encryption can also be enabled per share if not enabled  glob-
	     ally.  For  an encryption-capable connection, all connections to an
	     encryption-enabled share will be encrypted.

	 *   Encryption can be enforced. This means that session setups will  be
	     denied on non-encryption-capable connections if data encryption has
	     been  enabled  globally.  And  tree  connections will be denied for
	     non-encryption capable connections to shares with	data  encryption
	     enabled.

     These features can be controlled with settings of smb encrypt as follows:

     *	 Leaving it as default, explicitly setting default, or setting it to en-
	 abled	globally will enable negotiation of encryption but will not turn
	 on data encryption globally or per share.

     *	 Setting it to desired globally will enable negotiation and will turn on
	 data encryption on sessions and share	connections  for  those  clients
	 that support it.

     *	 Setting  it  to  required  globally will enable negotiation and turn on
	 data encryption on sessions and share connections. Clients that do  not
	 support encryption will be denied access to the server.

     *	 Setting  it to off globally will completely disable the encryption fea-
	 ture.

     *	 Setting it to desired on a share will turn on data encryption for  this
	 share	for  clients that support encryption if negotiation has been en-
	 abled globally.

     *	 Setting it to required on a share will enforce data encryption for this
	 share if negotiation has been enabled globally. I.e.  clients	that  do
	 not support encryption will be denied access to the share.

	 Note  that  this  allows  per-share enforcing to be controlled in Samba
	 differently from Windows:  In	Windows,  RejectUnencryptedAccess  is  a
	 global  setting,  and	if  it	is  set, all shares with data encryption
	 turned on are automatically enforcing encryption. In order  to  achieve
	 the  same  effect  in Samba, one has to globally set smb encrypt to en-
	 abled, and then set all shares that should be	encrypted  to  required.
	 Additionally,	it is possible in Samba to have some shares with encryp-
	 tion required and some other shares with encryption only desired, which
	 is not possible in Windows.

     *	 Setting it to off or enabled for a share has no effect.

     Default: smb encrypt = default

     smb passwd file (G)

	 This option sets the path to the encrypted smbpasswd file.  By  default
	 the path to the smbpasswd file is compiled into Samba.

	 An example of use is:

	     smb passwd file = /etc/samba/smbpasswd

	 Default: smb passwd file = ${prefix}/private/smbpasswd

     smb ports (G)

	 Specifies which ports the server should listen on for SMB traffic.

	 Default: smb ports = 445 139

     socket options (G)

	     Warning
	     Modern  server operating systems are tuned for high network perfor-
	     mance in the majority of situations; when you  set  socket  options
	     you  are  overriding  those  settings.  Linux  in particular has an
	     auto-tuning mechanism for buffer sizes that will be disabled if you
	     specify a socket buffer size. This  can  potentially  cripple  your
	     TCP/IP stack.

	     Getting  the  socket  options  correct can make a big difference to
	     your performance, but getting them wrong can degrade it by just  as
	     much. As with any other low level setting, if you must make changes
	     to  it,  make  small  changes and test the effect before making any
	     large changes.

	 This option allows you to set socket options to be  used  when  talking
	 with the client.

	 Socket  options  are  controls on the networking layer of the operating
	 systems which allow the connection to be tuned.

	 This option will typically be used to tune your Samba server for  opti-
	 mal  performance for your local network. There is no way that Samba can
	 know what the optimal parameters are for your net, so you must  experi-
	 ment  and choose them yourself. We strongly suggest you read the appro-
	 priate documentation for your operating system first (perhaps man  set-
	 sockopt will help).

	 You  may  find  that on some systems Samba will say "Unknown socket op-
	 tion" when you supply an option.  This  means	you  either  incorrectly
	 typed	it or you need to add an include file to includes.h for your OS.
	 If the latter is the  case  please  send  the	patch  to  samba-techni-
	 cal@lists.samba.org.

	 Any  of  the  supported  socket  options may be combined in any way you
	 like, as long as your OS allows it.

	 This is the list of socket options currently settable	using  this  op-
	 tion:

	 *   SO_KEEPALIVE

	 *   SO_REUSEADDR

	 *   SO_BROADCAST

	 *   TCP_NODELAY

	 *   TCP_KEEPCNT *

	 *   TCP_KEEPIDLE *

	 *   TCP_KEEPINTVL *

	 *   IPTOS_LOWDELAY

	 *   IPTOS_THROUGHPUT

	 *   SO_REUSEPORT

	 *   SO_SNDBUF *

	 *   SO_RCVBUF *

	 *   SO_SNDLOWAT *

	 *   SO_RCVLOWAT *

	 *   SO_SNDTIMEO *

	 *   SO_RCVTIMEO *

	 *   TCP_FASTACK *

	 *   TCP_QUICKACK

	 *   TCP_NODELAYACK

	 *   TCP_KEEPALIVE_THRESHOLD *

	 *   TCP_KEEPALIVE_ABORT_THRESHOLD *

	 *   TCP_DEFER_ACCEPT *

     Those marked with a '*' take an integer argument. The others can optionally
     take  a  1  or  0 argument to enable or disable the option, by default they
     will be enabled if you don't specify 1 or 0.

     To specify an argument use the  syntax  SOME_OPTION  =  VALUE  for  example
     SO_SNDBUF	=  8192.  Note that you must not have any spaces before or after
     the = sign.

     If you are on a local network then a sensible option might be:

     socket options = IPTOS_LOWDELAY

     If you have a local network then you could try:

     socket options = IPTOS_LOWDELAY TCP_NODELAY

     If you are on a wide area network then perhaps try  setting  IPTOS_THROUGH-
     PUT.

     Note  that  several of the options may cause your Samba server to fail com-
     pletely. Use these options with caution!

     Default: socket options = TCP_NODELAY

     Example: socket options = IPTOS_LOWDELAY

     spn update command (G)

	 This option sets the command  that  for  updating  servicePrincipalName
	 names from spn_update_list.

	 Default: spn update command = ${prefix}/sbin/samba_spnupdate

	 Example: spn update command = /usr/local/sbin/spnupdate

     spoolss: architecture (G)

	 Windows  spoolss  print  clients  only allow association of server-side
	 drivers with printers when the driver architecture matches  the  adver-
	 tised print server architecture. Samba's spoolss print server architec-
	 ture can be changed using this parameter.

	 Default: spoolss: architecture = Windows NT x86

	 Example: spoolss: architecture = Windows x64

     spoolss: os_major (G)

	 Windows  might  require  a new os version number. This option allows to
	 modify the build  number.  The  complete  default  version  number  is:
	 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).

	 Default: spoolss: os_major = 5

	 Example: spoolss: os_major = 6

     spoolss: os_minor (G)

	 Windows  might  require  a new os version number. This option allows to
	 modify the build  number.  The  complete  default  version  number  is:
	 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).

	 Default: spoolss: os_minor = 0

	 Example: spoolss: os_minor = 1

     spoolss: os_build (G)

	 Windows  might  require  a new os version number. This option allows to
	 modify the build  number.  The  complete  default  version  number  is:
	 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).

	 Default: spoolss: os_build = 2195

	 Example: spoolss: os_build = 7601

     spotlight (S)

	 This  parameter  controls  whether  Samba allows Spotlight queries on a
	 share. For controlling indexing of filesystems you  also  have  to  use
	 Tracker's own configuration system.

	 Spotlight has several prerequisites:

	 *   Samba must be configured and built with Spotlight support.

	 *   The mdssvc RPC service must be enabled, see below.

	 *   Tracker intergration must be setup and the share must be indexed by
	     Tracker.

     For  a  detailed  set of instructions please see https://wiki.samba.org/in-
     dex.php/Spotlight.

     The Spotlight RPC service can either be enabled as embedded RPC service:

	 [Global]
	 rpc_server:mdsvc = embedded

     Or it can be run in a seperate RPC service daemon:

	 [Global]
	 rpc_server:mdssd = fork
	 rpc_server:mdsvc = external

     Default: spotlight = no

     stat cache (G)

	 This parameter determines if smbd(8) will use a cache in order to speed
	 up case insensitive name mappings. You should never need to change this
	 parameter.

	 Default: stat cache = yes

     state directory (G)

	 Usually, most of the TDB files are stored in the lock directory.  Since
	 Samba	3.4.0,	it  is	possible to differentiate between TDB files with
	 persistent data and TDB files with non-persistent data using the  state
	 directory and the cache directory options.

	 This  option specifies the directory where TDB files containing persis-
	 tent data will be stored.

	 Default: state directory = ${prefix}/var/locks

	 Example: state directory = /var/run/samba/locks/state

     store dos attributes (S)

	 If this parameter is set Samba attempts to first  read  DOS  attributes
	 (SYSTEM,  HIDDEN,  ARCHIVE or READ-ONLY) from a filesystem extended at-
	 tribute, before mapping DOS attributes to UNIX permission bits (such as
	 occurs with map hidden and map readonly). When set, DOS attributes will
	 be stored onto an extended attribute in the UNIX filesystem, associated
	 with the file or directory. When this parameter is set it will override
	 the parameters map hidden, map system, map archive and map readonly and
	 they will behave as if they were set to off. This parameter writes  the
	 DOS   attributes   as	a  string  into  the  extended	attribute  named
	 "user.DOSATTRIB". This extended attribute  is	explicitly  hidden  from
	 smbd  clients	requesting an EA list. On Linux the filesystem must have
	 been mounted with the mount option user_xattr in order for extended at-
	 tributes to work, also extended attributes must be  compiled  into  the
	 Linux	kernel.  In  Samba 3.5.0 and above the "user.DOSATTRIB" extended
	 attribute has been extended to store the create time for a file as well
	 as the DOS attributes. This is done in a backwards  compatible  way  so
	 files created by Samba 3.5.0 and above can still have the DOS attribute
	 read  from  this  extended  attribute by earlier versions of Samba, but
	 they will not be able to read the create time stored there. Storing the
	 create time separately from  the  normal  filesystem  meta-data  allows
	 Samba to faithfully reproduce NTFS semantics on top of a POSIX filesys-
	 tem.

	 Default: store dos attributes = no

     strict allocate (S)

	 This  is  a boolean that controls the handling of disk space allocation
	 in the server. When this is set to yes the server will change from UNIX
	 behaviour of not committing real disk storage blocks when a file is ex-
	 tended to the Windows behaviour of actually forcing the disk system  to
	 allocate real storage blocks when a file is created or extended to be a
	 given	size. In UNIX terminology this means that Samba will stop creat-
	 ing sparse files.

	 This option is really designed for file systems that support fast allo-
	 cation of large numbers of blocks such as extent-based file systems. On
	 file systems that don't support extents (most notably	ext3)  this  can
	 make  Samba  slower. When you work with large files over >100MB on file
	 systems without extents you may even run  into  problems  with  clients
	 running into timeouts.

	 When  you  have an extent based filesystem it's likely that we can make
	 use of unwritten extents which allows	Samba  to  allocate  even  large
	 amounts  of  space  very fast and you will not see any timeout problems
	 caused by strict allocate. With strict allocate in use  you  will  also
	 get  much  better out of quota messages in case you use quotas. Another
	 advantage of activating this setting is that it  will	help  to  reduce
	 file fragmentation.

	 To  give  you an idea on which filesystems this setting might currently
	 be a good option for you: XFS, ext4, btrfs, ocfs2 on Linux and JFS2  on
	 AIX  support  unwritten extents. On Filesystems that do not support it,
	 preallocation is probably an expensive operation where you will see re-
	 duced performance and risk to let clients run into timeouts when creat-
	 ing large files. Examples are ext3, ZFS, HFS+ and most  others,  so  be
	 aware if you activate this setting on those filesystems.

	 Default: strict allocate = no

     strict locking (S)

	 This  is  an enumerated type that controls the handling of file locking
	 in the server. When this is set to yes, the  server  will  check  every
	 read  and  write access for file locks, and deny access if locks exist.
	 This can be slow on some systems.

	 When strict locking is set to Auto (the default), the	server	performs
	 file  lock  checks only on non-oplocked files. As most Windows redirec-
	 tors perform file locking checks locally on oplocked files  this  is  a
	 good trade off for improved performance.

	 When  strict  locking is disabled, the server performs file lock checks
	 only when the client explicitly asks for them.

	 Well-behaved clients always ask for lock checks when it  is  important.
	 So in the vast majority of cases, strict locking = Auto or strict lock-
	 ing = no is acceptable.

	 Default: strict locking = Auto

     strict rename (S)

	 By  default  a Windows SMB server prevents directory renames when there
	 are open file or directory handles below it in the  filesystem  hierar-
	 chy. Historically Samba has always allowed this as POSIX filesystem se-
	 mantics require it.

	 This boolean parameter allows Samba to match the Windows behavior. Set-
	 ting  this  to  "yes" is a very expensive change, as it forces Samba to
	 travers the entire open file handle database on every directory  rename
	 request.  In a clustered Samba system the cost is even greater than the
	 non-clustered case.

	 For this reason the default is "no", and it is recommended to	be  left
	 that  way  unless  a  specific  Windows  application  requires it to be
	 changed.

	 Default: strict rename = no

     strict sync (S)

	 Many Windows applications (including the  Windows  98	explorer  shell)
	 seem  to  confuse flushing buffer contents to disk with doing a sync to
	 disk. Under UNIX, a sync call forces the process to be suspended  until
	 the kernel has ensured that all outstanding data in kernel disk buffers
	 has  been  safely  stored  onto  stable  storage. This is very slow and
	 should only be done rarely. Setting this parameter to no (the	default)
	 means that smbd(8) ignores the Windows applications requests for a sync
	 call.	There is only a possibility of losing data if the operating sys-
	 tem itself that Samba is running on crashes, so there is little  danger
	 in this default setting. In addition, this fixes many performance prob-
	 lems  that  people  have reported with the new Windows98 explorer shell
	 file copies.

	 Default: strict sync = no

     svcctl list (G)

	 This option defines a list of init  scripts  that  smbd  will	use  for
	 starting  and	stopping Unix services via the Win32 ServiceControl API.
	 This allows Windows administrators to utilize the MS Management Console
	 plug-ins to manage a Unix server running Samba.

	 The administrator must create a directory name svcctl in Samba's $(lib-
	 dir) and create symbolic links to the init scripts in /etc/init.d/. The
	 name of the links must match the names given  as  part  of  the  svcctl
	 list.

	 Default: svcctl list =

	 Example: svcctl list = cups postfix portmap httpd

     sync always (S)

	 This is a boolean parameter that controls whether writes will always be
	 written  to stable storage before the write call returns. If this is no
	 then the server will be guided by the client's request  in  each  write
	 call  (clients  can set a bit indicating that a particular write should
	 be synchronous). If this is yes then every write will be followed by  a
	 fsync()  call	to  ensure  the  data  is written to disk. Note that the
	 strict sync parameter must be set to yes in order for this parameter to
	 have any effect.

	 Default: sync always = no

     syslog (G)

	 This parameter maps how Samba debug messages are logged onto the system
	 syslog logging levels. Samba debug level zero maps onto syslog LOG_ERR,
	 debug level one maps  onto  LOG_WARNING,  debug  level  two  maps  onto
	 LOG_NOTICE, debug level three maps onto LOG_INFO. All higher levels are
	 mapped to LOG_DEBUG.

	 This  parameter sets the threshold for sending messages to syslog. Only
	 messages with debug level less than this value will be sent to  syslog.
	 There	still will be some logging to log.[sn]mbd even if syslog only is
	 enabled.

	 The logging parameter should be used instead. When logging is	set,  it
	 overrides the syslog parameter.

	 Default: syslog = 1

     syslog only (G)

	 If  this parameter is set then Samba debug messages are logged into the
	 system syslog only, and not to the debug log files. There still will be
	 some logging to log.[sn]mbd even if syslog only is enabled.

	 The logging parameter should be used instead. When logging is	set,  it
	 overrides the syslog only parameter.

	 Default: syslog only = no

     template homedir (G)

	 When  filling	out the user information for a Windows NT user, the win-
	 bindd(8) daemon uses this parameter to fill in the home  directory  for
	 that  user.  If  the  string  %D  is present it is substituted with the
	 user's Windows NT domain name. If the string %U is present it	is  sub-
	 stituted with the user's Windows NT user name.

	 Default: template homedir = /home/%D/%U

     template shell (G)

	 When  filling	out the user information for a Windows NT user, the win-
	 bindd(8) daemon uses this parameter to fill in the login shell for that
	 user.

	 Default: template shell = /bin/false

     time server (G)

	 This parameter determines if nmbd(8) advertises itself as a time server
	 to Windows clients.

	 Default: time server = no

     tls cafile (G)

	 This option can be set to a file (PEM format)	containing  CA	certifi-
	 cates of root CAs to trust to sign certificates or intermediate CA cer-
	 tificates.

	 This  path is relative to private dir if the path does not start with a
	 /.

	 Default: tls cafile = tls/ca.pem

     tls certfile (G)

	 This option can be set to a file (PEM format) containing the  RSA  cer-
	 tificate.

	 This  path is relative to private dir if the path does not start with a
	 /.

	 Default: tls certfile = tls/cert.pem

     tls crlfile (G)

	 This option can be set to a file containing  a  certificate  revocation
	 list (CRL).

	 This  path is relative to private dir if the path does not start with a
	 /.

	 Default: tls crlfile =

     tls dh params file (G)

	 This option can be set to a file with Diffie-Hellman  parameters  which
	 will be used with EDH ciphers.

	 This  path is relative to private dir if the path does not start with a
	 /.

	 Default: tls dh params file =

     tls enabled (G)

	 If this option is set to yes, then Samba will use TLS when possible  in
	 communication.

	 Default: tls enabled = yes

     tls keyfile (G)

	 This  option  can be set to a file (PEM format) containing the RSA pri-
	 vate key. This file must be accessible without a pass-phrase,	i.e.  it
	 must not be encrypted.

	 This  path is relative to private dir if the path does not start with a
	 /.

	 Default: tls keyfile = tls/key.pem

     tls priority (G)

	 This option can be set to a string describing the TLS protocols  to  be
	 supported  in	the  parts of Samba that use GnuTLS, specifically the AD
	 DC.

	 The default turns off SSLv3, as this protocol is no  longer  considered
	 secure  after	CVE-2014-3566 (otherwise known as POODLE) impacted SSLv3
	 use in HTTPS applications.

	 The valid options are described in the GNUTLS Priority-Strings documen-
	 tation at http://gnutls.org/manual/html_node/Priority-Strings.html

	 Default: tls priority = NORMAL:-VERS-SSL3.0

     unicode (G)

	 Specifies whether the server and client should support unicode.

	 If this option is set to false, the use of ASCII will be forced.

	 Default: unicode = yes

     unix charset (G)

	 Specifies the charset the unix machine Samba runs on uses. Samba  needs
	 to  know this in order to be able to convert text to the charsets other
	 SMB clients use.

	 This is also the charset Samba will use when  specifying  arguments  to
	 scripts that it invokes.

	 Default: unix charset = UTF-8

	 Example: unix charset = ASCII

     unix extensions (G)

	 This  boolean parameter controls whether Samba implements the CIFS UNIX
	 extensions, as defined by HP. These extensions enable Samba  to  better
	 serve	UNIX CIFS clients by supporting features such as symbolic links,
	 hard links, etc... These extensions require a similarly enabled client,
	 and are of no current use to Windows clients.

	 Note if this parameter is turned on, the wide links parameter will  au-
	 tomatically be disabled.

	 See  the parameter allow insecure wide links if you wish to change this
	 coupling between the two parameters.

	 Default: unix extensions = yes

     unix password sync (G)

	 This boolean parameter controls whether Samba attempts  to  synchronize
	 the UNIX password with the SMB password when the encrypted SMB password
	 in  the  smbpasswd  file  is changed. If this is set to yes the program
	 specified in the passwd program parameter is called AS ROOT - to  allow
	 the new UNIX password to be set without access to the old UNIX password
	 (as  the  SMB	password  change  code has no access to the old password
	 cleartext, only the new).

	 Default: unix password sync = no

     use client driver (S)

	 This parameter applies only to Windows NT/2000 clients. It has  no  ef-
	 fect  on  Windows  95/98/ME  clients. When serving a printer to Windows
	 NT/2000 clients without first installing a valid printer driver on  the
	 Samba host, the client will be required to install a local printer dri-
	 ver.  From  this  point  on, the client will treat the print as a local
	 printer and not a network printer connection. This is much the same be-
	 havior that will occur when disable spoolss = yes.

	 The differentiating factor is	that  under  normal  circumstances,  the
	 NT/2000  client  will attempt to open the network printer using MS-RPC.
	 The problem is that because the client considers the printer to be  lo-
	 cal,  it  will attempt to issue the OpenPrinterEx() call requesting ac-
	 cess rights associated with the logged on user. If the  user  possesses
	 local	administrator  rights  but  not root privilege on the Samba host
	 (often the case), the OpenPrinterEx() call will  fail.  The  result  is
	 that  the client will now display an "Access Denied; Unable to connect"
	 message in the printer queue window (even though jobs may  successfully
	 be printed).

	 If  this  parameter  is enabled for a printer, then any attempt to open
	 the printer with  the	PRINTER_ACCESS_ADMINISTER  right  is  mapped  to
	 PRINTER_ACCESS_USE  instead.  Thus allowing the OpenPrinterEx() call to
	 succeed.  This parameter MUST not be enabled on a print share which has
	 valid print driver installed on the Samba server.

	 Default: use client driver = no

     use mmap (G)

	 This global parameter determines if the tdb internals of Samba can  de-
	 pend  on mmap working correctly on the running system. Samba requires a
	 coherent mmap/read-write system memory cache. Currently only HPUX  does
	 not  have  such a coherent cache, and so this parameter is set to no by
	 default on HPUX. On all other systems this  parameter	should	be  left
	 alone.  This  parameter  is provided to help the Samba developers track
	 down problems with the tdb internal code.

	 Default: use mmap = yes

     user

	 This parameter is a synonym for username.

     users

	 This parameter is a synonym for username.

     username (S)

	 To restrict a service to a particular set of  users  you  can	use  the
	 valid users parameter.

	 This parameter is deprecated

	 However,  it currently operates only in conjunction with only user. The
	 supported way to restrict a service to a particular set of users is the
	 valid users parameter.

	 Default: username =  # The guest  account  if	a  guest  service,  else
	 <empty string>.

	 Example: username = fred, mary, jack, jane, @users, @pcgroup

     username level (G)

	 This  option  helps Samba to try and 'guess' at the real UNIX username,
	 as many DOS clients send an all-uppercase username.  By  default  Samba
	 tries	all  lowercase,  followed  by the username with the first letter
	 capitalized, and fails if the username is not found  on  the  UNIX  ma-
	 chine.

	 If this parameter is set to non-zero the behavior changes. This parame-
	 ter  is a number that specifies the number of uppercase combinations to
	 try while trying to determine the UNIX user name. The higher the number
	 the more combinations will be tried, but the slower  the  discovery  of
	 usernames  will  be. Use this parameter when you have strange usernames
	 on your UNIX machine, such as AstrangeUser .

	 This parameter is needed only on UNIX systems that have case  sensitive
	 usernames.

	 Default: username level = 0

	 Example: username level = 5

     username map (G)

	 This  option allows you to specify a file containing a mapping of user-
	 names from the clients to the server. This can be used for several pur-
	 poses. The most common is to map usernames that users	use  on  DOS  or
	 Windows  machines  to those that the UNIX box uses. The other is to map
	 multiple users to a single username so that they can more easily  share
	 files.

	 Please  note  that  for user mode security, the username map is applied
	 prior to validating the user credentials. Domain member servers (domain
	 or ads) apply the username map after the user has been successfully au-
	 thenticated by the domain controller and require  fully  qualified  en-
	 tries in the map table (e.g. biddle = DOMAIN\foo).

	 The  map file is parsed line by line. Each line should contain a single
	 UNIX username on the left then a '=' followed by a list of usernames on
	 the right. The list of usernames on the right may contain names of  the
	 form  @group  in  which  case they will match any UNIX username in that
	 group. The special client name '*' is a wildcard and matches any  name.
	 Each line of the map file may be up to 1023 characters long.

	 The  file is processed on each line by taking the supplied username and
	 comparing it with each username on the  right	hand  side  of	the  '='
	 signs.  If the supplied name matches any of the names on the right hand
	 side then it is replaced with the name on  the  left.	Processing  then
	 continues with the next line.

	 If any line begins with a '#' or a ';' then it is ignored.

	 If any line begins with an '!' then the processing will stop after that
	 line  if  a  mapping  was done by the line. Otherwise mapping continues
	 with every line being processed. Using '!' is most useful when you have
	 a wildcard mapping line later in the file.

	 For example to map from the name admin or  administrator  to  the  UNIX
	 name
	  root you would use:

	     root = admin administrator

	 Or  to  map  anyone  in  the UNIX group system to the UNIX name sys you
	 would use:

	     sys = @system

	 You can have as many mappings as you like in a username map file.

	 If your system supports the NIS NETGROUP option then the netgroup data-
	 base is checked before the /etc/group database for matching groups.

	 You can map Windows usernames that have spaces in them by using  double
	 quotes around the name. For example:

	     tridge = "Andrew Tridgell"

	 would	map  the windows username "Andrew Tridgell" to the unix username
	 "tridge".

	 The following example would map mary and fred to the unix user sys, and
	 map the rest to guest. Note the use of the '!' to tell  Samba	to  stop
	 processing if it gets a match on that line:

	     !sys = mary fred
	     guest = *

	 Note  that  the  remapping  is applied to all occurrences of usernames.
	 Thus if you connect to \\server\fred and fred is remapped to mary  then
	 you  will actually be connecting to \\server\mary and will need to sup-
	 ply a password suitable for mary not fred. The only exception	to  this
	 is the username passed to a Domain Controller (if you have one). The DC
	 will  receive	whatever  username the client supplies without modifica-
	 tion.

	 Also note that no reverse mapping is done. The main effect this has  is
	 with  printing.  Users  who  have been mapped may have trouble deleting
	 print jobs as PrintManager under WfWg will think  they  don't	own  the
	 print job.

	 Samba	versions  prior  to  3.0.8  would only support reading the fully
	 qualified username (e.g.: DOMAIN\user) from the username map when  per-
	 forming  a kerberos login from a client. However, when looking up a map
	 entry for a user authenticated by NTLM[SSP], only the login name  would
	 be  used  for matches. This resulted in inconsistent behavior sometimes
	 even on the same server.

	 The following functionality is obeyed in version 3.0.8 and later:

	 When performing local authentication, the username map  is  applied  to
	 the login name before attempting to authenticate the connection.

	 When relying upon a external domain controller for validating authenti-
	 cation  requests,  smbd will apply the username map to the fully quali-
	 fied username (i.e.  DOMAIN\user) only after the user has been success-
	 fully authenticated.

	 An example of use is:

	     username map = /usr/local/samba/lib/users.map

	 Default: username map =  # no username map

     username map cache time (G)

	 Mapping usernames with the username map or username map script features
	 of Samba can be relatively expensive. During login of a user, the  map-
	 ping  is  done  several  times. In particular, calling the username map
	 script can slow down logins if external databases have  to  be  queried
	 from the script being called.

	 The  parameter  username  map	cache  time controls a mapping cache. It
	 specifies the number of seconds a mapping from the username map file or
	 script is to be efficiently cached. The default of 0 means  no  caching
	 is done.

	 Default: username map cache time = 0

	 Example: username map cache time = 60

     username map script (G)

	 This script is a mutually exclusive alternative to the username map pa-
	 rameter.  This  parameter specifies and external program or script that
	 must accept a single command line option (the username  transmitted  in
	 the  authentication  request) and return a line on standard output (the
	 name to which the account should mapped). In this way, it  is	possible
	 to store username map tables in an LDAP or NIS directory services.

	 Default: username map script =

	 Example: username map script = /etc/samba/scripts/mapusers.sh

     usershare allow guests (G)

	 This  parameter  controls whether user defined shares are allowed to be
	 accessed by non-authenticated users or not. It is the equivalent of al-
	 lowing people who can create a share the option of setting guest  ok  =
	 yes  in  a  share definition. Due to its security sensitive nature, the
	 default is set to off.

	 Default: usershare allow guests = no

     usershare max shares (G)

	 This parameter specifies the number of user defined shares that are al-
	 lowed to be created by users belonging to the group  owning  the  user-
	 share	directory.  If set to zero (the default) user defined shares are
	 ignored.

	 Default: usershare max shares = 0

     usershare owner only (G)

	 This parameter controls whether the pathname exported by a user defined
	 shares must be owned by the user creating the	user  defined  share  or
	 not.  If  set to True (the default) then smbd checks that the directory
	 path being shared is owned by the user  who  owns  the  usershare  file
	 defining  this  share and refuses to create the share if not. If set to
	 False then no such check is performed and any directory path may be ex-
	 ported regardless of who owns it.

	 Default: usershare owner only = yes

     usershare path (G)

	 This parameter specifies the absolute path  of  the  directory  on  the
	 filesystem  used to store the user defined share definition files. This
	 directory must be owned by root, and have no access for other,  and  be
	 writable  only  by  the  group owner. In addition the "sticky" bit must
	 also be set, restricting rename and delete to owners of a file (in  the
	 same  way  the  /tmp  directory  is usually configured). Members of the
	 group owner of this directory are the users  allowed  to  create  user-
	 shares.

	 For   example,   a   valid   usershare   directory  might  be	/usr/lo-
	 cal/samba/lib/usershares, set up as follows.

		  ls -ld /usr/local/samba/lib/usershares/
		  drwxrwx--T  2 root power_users 4096 2006-05-05 12:27 /usr/local/samba/lib/usershares/

	 In this case, only members of the group "power_users" can  create  user
	 defined shares.

	 Default: usershare path = ${prefix}/var/locks/usershares

     usershare prefix allow list (G)

	 This parameter specifies a list of absolute pathnames the root of which
	 are  allowed  to  be exported by user defined share definitions. If the
	 pathname to be exported doesn't start with one of the strings	in  this
	 list, the user defined share will not be allowed. This allows the Samba
	 administrator to restrict the directories on the system that can be ex-
	 ported by user defined shares.

	 If there is a "usershare prefix deny list" and also a "usershare prefix
	 allow	list"  the  deny  list is processed first, followed by the allow
	 list, thus leading to the most restrictive interpretation.

	 Default: usershare prefix allow list =

	 Example: usershare prefix allow list = /home /data /space

     usershare prefix deny list (G)

	 This parameter specifies a list of absolute pathnames the root of which
	 are NOT allowed to be exported by user defined  share	definitions.  If
	 the  pathname	exported starts with one of the strings in this list the
	 user defined share will not be allowed. Any pathname not starting  with
	 one  of  these  strings  will be allowed to be exported as a usershare.
	 This allows the Samba administrator to restrict the directories on  the
	 system that can be exported by user defined shares.

	 If there is a "usershare prefix deny list" and also a "usershare prefix
	 allow	list"  the  deny  list is processed first, followed by the allow
	 list, thus leading to the most restrictive interpretation.

	 Default: usershare prefix deny list =

	 Example: usershare prefix deny list = /etc /dev /private

     usershare template share (G)

	 User defined shares only have limited possible parameters such as path,
	 guest ok, etc. This parameter allows usershares to "cloned" from an ex-
	 isting share. If "usershare template share" is set to the  name  of  an
	 existing  share,  then  all  usershares created have their defaults set
	 from the parameters set on this share.

	 The target share may be set to be invalid for real file sharing by set-
	 ting the parameter "-valid = False" on the template  share  definition.
	 This  causes  it not to be seen as a real exported share but to be able
	 to be used as a template for usershares.

	 Default: usershare template share =

	 Example: usershare template share = template_share

     use sendfile (S)

	 If this parameter is yes, and the sendfile() system call  is  supported
	 by  the  underlying  operating system, then some SMB read calls (mainly
	 ReadAndX and ReadRaw) will use the more efficient sendfile system  call
	 for  files  that are exclusively oplocked. This may make more efficient
	 use of the system CPU's and cause Samba to be faster.	Samba  automati-
	 cally turns this off for clients that use protocol levels lower than NT
	 LM 0.12 and when it detects a client is Windows 9x (using sendfile from
	 Linux will cause these clients to fail).

	 Default: use sendfile = no

     use spnego (G)

	 This  deprecated variable controls whether samba will try to use Simple
	 and Protected NEGOciation (as specified by rfc2478) with WindowsXP  and
	 Windows2000 clients to agree upon an authentication mechanism.

	 Unless  further  issues  are discovered with our SPNEGO implementation,
	 there is no reason this should ever be disabled.

	 Default: use spnego = yes

     utmp (G)

	 This boolean parameter is only available if Samba has	been  configured
	 and compiled with the option --with-utmp. If set to yes then Samba will
	 attempt  to  add  utmp  or utmpx records (depending on the UNIX system)
	 whenever a connection is made to a Samba server. Sites may use this  to
	 record the user connecting to a Samba share.

	 Due to the requirements of the utmp record, we are required to create a
	 unique  identifier  for the incoming user. Enabling this option creates
	 an n^2 algorithm to find this number. This may  impede  performance  on
	 large installations.

	 Default: utmp = no

     utmp directory (G)

	 This  parameter is only available if Samba has been configured and com-
	 piled with the option --with-utmp. It specifies  a  directory	pathname
	 that  is  used  to store the utmp or utmpx files (depending on the UNIX
	 system) that record user connections to a Samba server. By default this
	 is not set, meaning the system will use whatever utmp file  the  native
	 system is set to use (usually /var/run/utmp on Linux).

	 Default: utmp directory =  # Determined automatically

	 Example: utmp directory = /var/run/utmp

     -valid (S)

	 This parameter indicates whether a share is valid and thus can be used.
	 When  this parameter is set to false, the share will be in no way visi-
	 ble nor accessible.

	 This option should not be used by regular users but might be of help to
	 developers. Samba  uses  this	option	internally  to	mark  shares  as
	 deleted.

	 Default: -valid = yes

     valid users (S)

	 This  is  a  list of users that should be allowed to login to this ser-
	 vice. Names starting with '@', '+' and '&' are  interpreted  using  the
	 same rules as described in the invalid users parameter.

	 If  this  is empty (the default) then any user can login. If a username
	 is in both this list and the invalid users list then access  is  denied
	 for that user.

	 The  current  servicename  is substituted for %S. This is useful in the
	 [homes] section.

	 Note: When used in the [global] section this  parameter  may  have  un-
	 wanted  side  effects.  For example: If samba is configured as a MASTER
	 BROWSER (see local master, os level, domain master,  preferred  master)
	 this  option  will  prevent  workstations from being able to browse the
	 network.

	 Default: valid users =  # No valid users list (anyone can login)

	 Example: valid users = greg, @pcusers

     veto files (S)

	 This is a list of files and directories that are  neither  visible  nor
	 accessible.  Each  entry  in the list must be separated by a '/', which
	 allows spaces to be included in the entry. '*' and '?' can be	used  to
	 specify multiple files or directories as in DOS wildcards.

	 Each entry must be a unix path, not a DOS path and must not include the
	 unix directory separator '/'.

	 Note that the case sensitive option is applicable in vetoing files.

	 One  feature  of  the	veto  files parameter that it is important to be
	 aware of is Samba's behaviour when trying to delete a directory.  If  a
	 directory  that  is  to be deleted contains nothing but veto files this
	 deletion will fail unless you also set the delete veto files  parameter
	 to yes.

	 Setting this parameter will affect the performance of Samba, as it will
	 be  forced  to  check all files and directories for a match as they are
	 scanned.

	 Examples of use include:

	     ; Veto any files containing the word Security,
	     ; any ending in .tmp, and any directory containing the
	     ; word root.
	     veto files = /*Security*/*.tmp/*root*/

	     ; Veto the Apple specific files that a NetAtalk server
	     ; creates.
	     veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/

	 Default: veto files =	# No files or directories are vetoed

     veto oplock files (S)

	 This parameter is only valid when the oplocks parameter  is  turned  on
	 for  a share. It allows the Samba administrator to selectively turn off
	 the granting of oplocks on selected files that match a wildcarded list,
	 similar to the wildcarded list used in the veto files parameter.

	 You might want to do this on files that you know will be  heavily  con-
	 tended  for  by  clients. A good example of this is in the NetBench SMB
	 benchmark program, which causes heavy client contention for files  end-
	 ing  in  .SEM.  To  cause Samba not to grant oplocks on these files you
	 would use the line (either in the [global] section or	in  the  section
	 for the particular NetBench share.

	 An example of use is:

	     veto oplock files = /.*SEM/

	 Default: veto oplock files =  # No files are vetoed for oplock grants

     vfs object

	 This parameter is a synonym for vfs objects.

     vfs objects (S)

	 This parameter specifies the backend names which are used for Samba VFS
	 I/O  operations.  By  default,  normal disk I/O operations are used but
	 these can be overloaded with one or more VFS objects.

	 Default: vfs objects =

	 Example: vfs objects = extd_audit recycle

     volume (S)

	 This allows you to override the volume label returned for a share. Use-
	 ful for CDROMs with installation programs that insist on  a  particular
	 volume label.

	 Default: volume =  # the name of the share

     web port (G)

	 Specifies which port the Samba web server should listen on.

	 Default: web port = 901

	 Example: web port = 80

     wide links (S)

	 This  parameter  controls  whether or not links in the UNIX file system
	 may be followed by the server. Links that point to areas within the di-
	 rectory tree exported by the server are always allowed; this  parameter
	 controls access only to areas that are outside the directory tree being
	 exported.

	 Note:	Turning  this parameter on when UNIX extensions are enabled will
	 allow UNIX clients to create symbolic links on the share that can point
	 to files or directories outside restricted path exported by  the  share
	 definition. This can cause access to areas outside of the share. Due to
	 this  problem,  this  parameter  will be automatically disabled (with a
	 message in the log file) if the unix extensions option is on.

	 See the parameter allow insecure wide links if you wish to change  this
	 coupling between the two parameters.

	 Default: wide links = no

     winbind cache time (G)

	 This  parameter  specifies the number of seconds the winbindd(8) daemon
	 will cache user and group information	before	querying  a  Windows  NT
	 server again.

	 This does not apply to authentication requests, these are always evalu-
	 ated  in real time unless the winbind offline logon option has been en-
	 abled.

	 Default: winbind cache time = 300

     winbindd privileged socket directory (G)

	 This setting controls the location of the winbind  daemon's  privileged
	 socket.

	 Default:  winbindd privileged socket directory = ${prefix}/var/lib/win-
	 bindd_privileged

     winbindd socket directory (G)

	 This setting controls the location of the winbind daemon's socket.

	 Except within automated test scripts, this should not	be  altered,  as
	 the client tools (nss_winbind etc) do not honour this parameter. Client
	 tools	must  then  be	advised  of  the  altered  path  with  the  WIN-
	 BINDD_SOCKET_DIR environment varaible.

	 Default: winbindd socket directory = ${prefix}/var/run/winbindd

     winbind enum groups (G)

	 On large installations using winbindd(8) it may be  necessary	to  sup-
	 press	the enumeration of groups through the setgrent(), getgrent() and
	 endgrent() group of system calls. If the winbind enum groups  parameter
	 is no, calls to the getgrent() system call will not return any data.

	     Warning
	     Turning  off  group  enumeration  may cause some programs to behave
	     oddly.
	 Default: winbind enum groups = no

     winbind enum users (G)

	 On large installations using winbindd(8) it may be  necessary	to  sup-
	 press	the  enumeration of users through the setpwent(), getpwent() and
	 endpwent() group of system calls. If the winbind enum	users  parameter
	 is no, calls to the getpwent system call will not return any data.

	     Warning
	     Turning  off  user  enumeration  may  cause some programs to behave
	     oddly. For example, the finger program relies on having  access  to
	     the full user list when searching for matching usernames.
	 Default: winbind enum users = no

     winbind expand groups (G)

	 This option controls the maximum depth that winbindd will traverse when
	 flattening  nested  group memberships of Windows domain groups. This is
	 different from the winbind nested groups option  which  implements  the
	 Windows  NT4  model of local group nesting. The "winbind expand groups"
	 parameter specifically applies to the membership of domain groups.

	 Be aware that a high value for this  parameter  can  result  in  system
	 slowdown  as the main parent winbindd daemon must perform the group un-
	 rolling and will be unable to answer incoming NSS or authentication re-
	 quests during this time.

	 The default value was changed from 1 to 0 with Samba 4.2.  Some  broken
	 applications  calculate  the  group  memberships of users by traversing
	 groups, such applications will require "winbind expand groups = 1". But
	 the new default makes winbindd more reliable as it doesn't require SAMR
	 access to domain controllers of trusted domains.

	 Default: winbind expand groups = 0

     winbind max clients (G)

	 This parameter specifies the maximum number of clients the  winbindd(8)
	 daemon  can  connect  with. The parameter is not a hard limit. The win-
	 bindd(8) daemon configures itself to be able to accept  at  least  that
	 many  connections,  and  if the limit is reached, an attempt is made to
	 disconnect idle clients.

	 Default: winbind max clients = 200

     winbind max domain connections (G)

	 This parameter specifies the maximum number of simultaneous connections
	 that the winbindd(8) daemon should open to the domain controller of one
	 domain. Setting this parameter to a value greater than  1  can  improve
	 scalability  with  many  simultaneous	winbind  requests, some of which
	 might be slow.

	 Note that if winbind offline logon is set to Yes, then only one DC con-
	 nection is allowed per domain, regardless of this setting.

	 Default: winbind max domain connections = 1

	 Example: winbind max domain connections = 10

     winbind nested groups (G)

	 If set to yes, this parameter activates the support for nested  groups.
	 Nested  groups  are also called local groups or aliases. They work like
	 their counterparts in Windows: Nested groups are defined locally on any
	 machine (they are shared between DC's through their SAM) and  can  con-
	 tain  users  and  global groups from any trusted SAM. To be able to use
	 nested groups, you need to run nss_winbind.

	 Default: winbind nested groups = yes

     winbind normalize names (G)

	 This parameter controls whether winbindd  will  replace  whitespace  in
	 user  and  group  names  with an underscore (_) character. For example,
	 whether the name "Space Kadet"  should  be  replaced  with  the  string
	 "space_kadet".  Frequently Unix shell scripts will have difficulty with
	 usernames contains whitespace due to the default field separator in the
	 shell. If your domain possesses names containing the underscore charac-
	 ter, this option may cause problems unless the name aliasing feature is
	 supported by your nss_info plugin.

	 This feature also enables the name aliasing API which can  be	used  to
	 make domain user and group names to a non-qualified version. Please re-
	 fer to the manpage for the configured idmap and nss_info plugin for the
	 specifics  on	how to configure name aliasing for a specific configura-
	 tion. Name aliasing takes precedence (and is mutually	exclusive)  over
	 the whitespace replacement mechanism discussed previously.

	 Default: winbind normalize names = no

	 Example: winbind normalize names = yes

     winbind nss info (G)

	 This  parameter  is designed to control how Winbind retrieves Name Ser-
	 vice Information to construct a user's home directory and login  shell.
	 Currently the following settings are available:

	 *   template  - The default, using the parameters of template shell and
	     template homedir)

	 *   <sfu | sfu20 | rfc2307 > - When Samba is running in security =  ads
	     and  your	Active	Directory Domain Controller does support the Mi-
	     crosoft "Services for Unix" (SFU) LDAP schema, winbind can retrieve
	     the login shell and the home  directory  attributes  directly  from
	     your  Directory  Server. For SFU 3.0 or 3.5 simply choose "sfu", if
	     you use SFU 2.0 please choose "sfu20". Note that retrieving UID and
	     GID from your ADS-Server requires to use idmap config  DOMAIN:back-
	     end  = ad as well. The primary group membership is currently always
	     calculated via the "primaryGroupID" LDAP attribute.

     Default: winbind nss info = template

     Example: winbind nss info = sfu

     winbind offline logon (G)

	 This parameter is designed to control whether Winbind should  allow  to
	 login with the pam_winbind module using Cached Credentials. If enabled,
	 winbindd  will  store user credentials from successful logins encrypted
	 in a local cache.

	 Default: winbind offline logon = no

	 Example: winbind offline logon = yes

     winbind reconnect delay (G)

	 This parameter specifies the number of seconds the  winbindd(8)  daemon
	 will  wait between attempts to contact a Domain controller for a domain
	 that is determined to be down or not contactable.

	 Default: winbind reconnect delay = 30

     winbind refresh tickets (G)

	 This parameter is designed to control whether	Winbind  should  refresh
	 Kerberos Tickets retrieved using the pam_winbind module.

	 Default: winbind refresh tickets = no

	 Example: winbind refresh tickets = yes

     winbind request timeout (G)

	 This  parameter  specifies the number of seconds the winbindd(8) daemon
	 will wait before disconnecting either a client connection with no  out-
	 standing requests (idle) or a client connection with a request that has
	 remained outstanding (hung) for longer than this number of seconds.

	 Default: winbind request timeout = 60

     winbind rpc only (G)

	 Setting  this	parameter  to  yes forces winbindd to use RPC instead of
	 LDAP to retrieve information from Domain Controllers.

	 Default: winbind rpc only = no

     winbind sealed pipes (G)

	 This option controls whether any requests from winbindd to domain  con-
	 trollers  pipe  will be sealed. Disabling sealing can be useful for de-
	 bugging purposes.

	 The behavior can be controlled per netbios  domain  by  using	'winbind
	 sealed pipes:NETBIOSDOMAIN = no' as option.

	 Default: winbind sealed pipes = yes

     winbind separator (G)

	 This  parameter allows an admin to define the character used when list-
	 ing a username of the form of DOMAIN \user. This parameter is only  ap-
	 plicable  when  using the pam_winbind.so and nss_winbind.so modules for
	 UNIX services.

	 Please note that setting this parameter to + causes problems with group
	 membership at least on glibc systems, as the character + is used  as  a
	 special character for NIS in /etc/group.

	 Default: winbind separator = \

	 Example: winbind separator = +

     winbind trusted domains only (G)

	 This parameter is designed to allow Samba servers that are members of a
	 Samba	controlled  domain  to	use  UNIX  accounts distributed via NIS,
	 rsync, or LDAP as the uid's for winbindd users in the hosts primary do-
	 main. Therefore, the user DOMAIN\user1 would be mapped to  the  account
	 user1 in /etc/passwd instead of allocating a new uid for him or her.

	 This  parameter is now deprecated in favor of the newer idmap_nss back-
	 end. Refer to the idmap_nss(8) man page for more information.

	 Default: winbind trusted domains only = no

     winbind use default domain (G)

	 This parameter specifies whether the winbindd(8) daemon should  operate
	 on  users  without  domain component in their username. Users without a
	 domain component are treated as is part of the  winbindd  server's  own
	 domain.  While  this  does not benefit Windows users, it makes SSH, FTP
	 and e-mail function in a way much closer to the way they would in a na-
	 tive unix system.

	 This option should be avoided if possible. It can cause confusion about
	 responsibilities for a user or group. In  many  situations  it  is  not
	 clear	whether  winbind  or /etc/passwd should be seen as authoritative
	 for a user, likewise for groups.

	 Default: winbind use default domain = no

	 Example: winbind use default domain = yes

     wins hook (G)

	 When Samba is running as a WINS server this allows you to call  an  ex-
	 ternal  program  for  all changes to the WINS database. The primary use
	 for this option is to allow the dynamic update of external name resolu-
	 tion databases such as dynamic DNS.

	 The wins hook parameter specifies the name of a  script  or  executable
	 that will be called as follows:

	 wins_hook operation name nametype ttl IP_list

	 *   The  first argument is the operation and is one of "add", "delete",
	     or "refresh". In most cases the operation can  be	ignored  as  the
	     rest  of  the  parameters provide sufficient information. Note that
	     "refresh" may sometimes be called when the name has not  previously
	     been added, in that case it should be treated as an add.

	 *   The second argument is the NetBIOS name. If the name is not a legal
	     name  then  the  wins  hook is not called. Legal names contain only
	     letters, digits, hyphens, underscores and periods.

	 *   The third argument is the NetBIOS name type as a 2 digit  hexadeci-
	     mal number.

	 *   The  fourth argument is the TTL (time to live) for the name in sec-
	     onds.

	 *   The fifth and subsequent arguments are the IP  addresses  currently
	     registered  for  that  name.  If  this  list is empty then the name
	     should be deleted.

     An example script that calls the BIND dynamic DNS update  program	nsupdate
     is provided in the examples directory of the Samba source code.

     No default

     wins proxy (G)

	 This  is  a  boolean that controls if nmbd(8) will respond to broadcast
	 name queries on behalf of other hosts. You may need to set this to  yes
	 for some older clients.

	 Default: wins proxy = no

     wins server (G)

	 This  specifies the IP address (or DNS name: IP address for preference)
	 of the WINS server that nmbd(8) should register with.	If  you  have  a
	 WINS  server  on  your  network  then	you  should set this to the WINS
	 server's IP.

	 You should point this at your WINS server if you have a multi-subnetted
	 network.

	 If you want to work in multiple namespaces, you  can  give  every  wins
	 server a 'tag'. For each tag, only one (working) server will be queried
	 for a name. The tag should be separated from the ip address by a colon.

	     Note
	     You need to set up Samba to point to a WINS server if you have mul-
	     tiple subnets and wish cross-subnet browsing to work correctly.
	 See the chapter in the Samba3-HOWTO on Network Browsing.

	 Default: wins server =

	 Example:    wins    server    =   mary:192.9.200.1   fred:192.168.3.199
	 mary:192.168.2.61 # For this example  when  querying  a  certain  name,
	 192.19.200.1	will   be  asked  first  and  if  that	doesn't  respond
	 192.168.2.61. If either of those doesn't know	the  name  192.168.3.199
	 will be queried.

	 Example: wins server = 192.9.200.1 192.168.2.61

     wins support (G)

	 This  boolean	controls  if  the nmbd(8) process in Samba will act as a
	 WINS server. You  should  not	set  this  to  yes  unless  you  have  a
	 multi-subnetted  network and you wish a particular nmbd to be your WINS
	 server. Note that you should NEVER set this to yes on more than one ma-
	 chine in your network.

	 Default: wins support = no

     workgroup (G)

	 This controls what workgroup your server will	appear	to  be	in  when
	 queried  by  clients. Note that this parameter also controls the Domain
	 name used with the security = domain setting.

	 Default: workgroup = WORKGROUP

	 Example: workgroup = MYGROUP

     writable

	 This parameter is a synonym for writeable.

     writeable (S)

	 Inverted synonym for read only.

	 Default: writeable = no

     write cache size (S)

	 If this integer parameter is set to non-zero value, Samba  will  create
	 an  in-memory	cache  for  each  oplocked file (it does not do this for
	 non-oplocked files). All writes that the client does not request to  be
	 flushed  directly to disk will be stored in this cache if possible. The
	 cache is flushed onto disk when a write comes in whose offset would not
	 fit into the cache or when the file is closed by the client. Reads  for
	 the  file  are also served from this cache if the data is stored within
	 it.

	 This cache allows Samba to batch client writes into  a  more  efficient
	 write	size  for  RAID  disks	(i.e. writes may be tuned to be the RAID
	 stripe size) and can improve performance on systems where the disk sub-
	 system is a bottleneck but there is free memory for userspace programs.

	 The integer parameter specifies the size of this  cache  (per	oplocked
	 file) in bytes.

	 Note  that  the  write cache won't be used for file handles with a smb2
	 write lease.

	 Default: write cache size = 0

	 Example: write cache size = 262144 # for a 256k cache size per file

     write list (S)

	 This is a list of users that are given read-write access to a	service.
	 If  the  connecting  user is in this list then they will be given write
	 access, no matter what the read only option is set to. The list can in-
	 clude group names using the @group syntax.

	 Note that if a user is in both the read list and the  write  list  then
	 they will be given write access.

	 Default: write list =

	 Example: write list = admin, root, @staff

     write raw (G)

	 This  is  ignored if async echo handler is set, because this feature is
	 incompatible with raw write SMB requests

	 If enabled, raw writes allow writes of 65535 bytes in one packet.  This
	 typically  provides a major performance benefit for some very, very old
	 clients.

	 However, some clients either negotiate the allowable block size  incor-
	 rectly or are incapable of supporting larger block sizes, and for these
	 clients you may need to disable raw writes.

	 In  general this parameter should be viewed as a system tuning tool and
	 left severely alone.

	 Default: write raw = yes

     wtmp directory (G)

	 This parameter is only available if Samba has been configured and  com-
	 piled	with  the  option --with-utmp. It specifies a directory pathname
	 that is used to store the wtmp or wtmpx files (depending  on  the  UNIX
	 system)  that record user connections to a Samba server. The difference
	 with the utmp directory is the fact that user info is kept after a user
	 has logged out.

	 By default this is not set, meaning the system will use  whatever  utmp
	 file the native system is set to use (usually /var/run/wtmp on Linux).

	 Default: wtmp directory =

	 Example: wtmp directory = /var/log/wtmp

WARNINGS
     Although  the  configuration  file permits service names to contain spaces,
     your client software may not. Spaces will be ignored in comparisons anyway,
     so it shouldn't be a problem - but be aware of the possibility.

     On a similar note, many clients - especially DOS clients  -  limit  service
     names to eight characters.  smbd(8) has no such limitation, but attempts to
     connect from such clients will fail if they truncate the service names. For
     this reason you should probably keep your service names down to eight char-
     acters in length.

     Use  of the [homes] and [printers] special sections make life for an admin-
     istrator easy, but the various combinations of default  attributes  can  be
     tricky. Take extreme care when designing these sections. In particular, en-
     sure that the permissions on spool directories are correct.

VERSION
     This man page is correct for version 4 of the Samba suite.

SEE ALSO
     samba(7),	smbpasswd(8),  smbd(8),  nmbd(8),  winbindd(8), samba(8), samba-
     tool(8), smbclient(1), nmblookup(1), testparm(1).

AUTHOR
     The original Samba software and related utilities were  created  by  Andrew
     Tridgell.	Samba  is  now	developed  by  the  Samba Team as an Open Source
     project similar to the way the Linux kernel is developed.

     The original Samba man pages were	written  by  Karl  Auer.  The  man  page
     sources  were  converted  to  YODL  format (another excellent piece of Open
     Source software, available at ftp://ftp.icce.rug.nl/pub/unix/) and  updated
     for  the Samba 2.0 release by Jeremy Allison. The conversion to DocBook for
     Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2  for
     Samba 3.0 was done by Alexander Bokovoy.

Samba 4.3			   12/10/2015			     SMB.CONF(5)

home | help