1SMB.CONF(5)              File Formats and Conventions              SMB.CONF(5)
2
3
4

NAME

6       smb.conf - The configuration file for the Samba suite
7

SYNOPSIS

9       The smb.conf file is a configuration file for the Samba suite.
10       smb.conf contains runtime configuration information for the Samba
11       programs. The complete description of the file format and possible
12       parameters held within are here for reference purposes.
13

HOW CONFIGURATION CHANGES ARE APPLIED

15       The Samba suite includes a number of different programs. Some of them
16       operate in a client mode, others are server daemons that provide
17       various services to its clients. The smb.conf file is processed in the
18       following way:
19
20              •   The Samba suite's client applications read their
21                  configuration only once. Any changes made after start aren't
22                  reflected in the context of already running client code.
23
24              •   The Samba suite's server daemons reload their configuration
25                  when requested. However, already active connections do not
26                  change their configuration. More detailed information can be
27                  found in smbd(8) and winbindd(8) manual pages.
28
29
30       To request Samba server daemons to refresh their configuration, please
31       use smbcontrol(1) utility.
32

FILE FORMAT

34       The file consists of sections and parameters. A section begins with the
35       name of the section in square brackets and continues until the next
36       section begins. Sections contain parameters of the form:
37
38           name = value
39
40       The file is line-based - that is, each newline-terminated line
41       represents either a comment, a section name or a parameter.
42
43       Section and parameter names are not case sensitive.
44
45       Only the first equals sign in a parameter is significant. Whitespace
46       before or after the first equals sign is discarded. Leading, trailing
47       and internal whitespace in section and parameter names is irrelevant.
48       Leading and trailing whitespace in a parameter value is discarded.
49       Internal whitespace within a parameter value is retained verbatim.
50
51       Any line beginning with a semicolon (“;”) or a hash (“#”) character is
52       ignored, as are lines containing only whitespace.
53
54       Any line ending in a “\” is continued on the next line in the customary
55       UNIX fashion.
56
57       The values following the equals sign in parameters are all either a
58       string (no quotes needed) or a boolean, which may be given as yes/no,
59       1/0 or true/false. Case is not significant in boolean values, but is
60       preserved in string values. Some items such as create masks are
61       numeric.
62

SECTION DESCRIPTIONS

64       Each section in the configuration file (except for the [global]
65       section) describes a shared resource (known as a “share”). The section
66       name is the name of the shared resource and the parameters within the
67       section define the shares attributes.
68
69       There are three special sections, [global], [homes] and [printers],
70       which are described under special sections. The following notes apply
71       to ordinary section descriptions.
72
73       A share consists of a directory to which access is being given plus a
74       description of the access rights which are granted to the user of the
75       service. Some housekeeping options are also specifiable.
76
77       Sections are either file share services (used by the client as an
78       extension of their native file systems) or printable services (used by
79       the client to access print services on the host running the server).
80
81       Sections may be designated guest services, in which case no password is
82       required to access them. A specified UNIX guest account is used to
83       define access privileges in this case.
84
85       Sections other than guest services will require a password to access
86       them. The client provides the username. As older clients only provide
87       passwords and not usernames, you may specify a list of usernames to
88       check against the password using the user = option in the share
89       definition. For modern clients such as Windows 95/98/ME/NT/2000, this
90       should not be necessary.
91
92       The access rights granted by the server are masked by the access rights
93       granted to the specified or guest UNIX user by the host system. The
94       server does not grant more access than the host system grants.
95
96       The following sample section defines a file space share. The user has
97       write access to the path /home/bar. The share is accessed via the share
98       name foo:
99
100                [foo]
101                path = /home/bar
102                read only = no
103
104       The following sample section defines a printable share. The share is
105       read-only, but printable. That is, the only write access permitted is
106       via calls to open, write to and close a spool file. The guest ok
107       parameter means access will be permitted as the default guest user
108       (specified elsewhere):
109
110                [aprinter]
111                path = /var/tmp
112                read only = yes
113                printable = yes
114                guest ok = yes
115
116

SPECIAL SECTIONS

118   The [global] section
119       Parameters in this section apply to the server as a whole, or are
120       defaults for sections that do not specifically define certain items.
121       See the notes under PARAMETERS for more information.
122
123   The [homes] section
124       If a section called [homes] is included in the configuration file,
125       services connecting clients to their home directories can be created on
126       the fly by the server.
127
128       When the connection request is made, the existing sections are scanned.
129       If a match is found, it is used. If no match is found, the requested
130       section name is treated as a username and looked up in the local
131       password file. If the name exists and the correct password has been
132       given, a share is created by cloning the [homes] section.
133
134       Some modifications are then made to the newly created share:
135
136              •   The share name is changed from homes to the located
137                  username.
138
139              •   If no path was given, the path is set to the user's home
140                  directory.
141
142
143       If you decide to use a path = line in your [homes] section, it may be
144       useful to use the %S macro. For example:
145
146           path = /data/pchome/%S
147
148       is useful if you have different home directories for your PCs than for
149       UNIX access.
150
151       This is a fast and simple way to give a large number of clients access
152       to their home directories with a minimum of fuss.
153
154       A similar process occurs if the requested section name is “homes”,
155       except that the share name is not changed to that of the requesting
156       user. This method of using the [homes] section works well if different
157       users share a client PC.
158
159       The [homes] section can specify all the parameters a normal service
160       section can specify, though some make more sense than others. The
161       following is a typical and suitable [homes] section:
162
163           [homes]
164           read only = no
165
166       An important point is that if guest access is specified in the [homes]
167       section, all home directories will be visible to all clients without a
168       password. In the very unlikely event that this is actually desirable,
169       it is wise to also specify read only access.
170
171       The browseable flag for auto home directories will be inherited from
172       the global browseable flag, not the [homes] browseable flag. This is
173       useful as it means setting browseable = no in the [homes] section will
174       hide the [homes] share but make any auto home directories visible.
175
176   The [printers] section
177       This section works like [homes], but for printers.
178
179       If a [printers] section occurs in the configuration file, users are
180       able to connect to any printer specified in the local host's printcap
181       file.
182
183       When a connection request is made, the existing sections are scanned.
184       If a match is found, it is used. If no match is found, but a [homes]
185       section exists, it is used as described above. Otherwise, the requested
186       section name is treated as a printer name and the appropriate printcap
187       file is scanned to see if the requested section name is a valid printer
188       share name. If a match is found, a new printer share is created by
189       cloning the [printers] section.
190
191       A few modifications are then made to the newly created share:
192
193              •   The share name is set to the located printer name
194
195              •   If no printer name was given, the printer name is set to the
196                  located printer name
197
198              •   If the share does not permit guest access and no username
199                  was given, the username is set to the located printer name.
200
201
202       The [printers] service MUST be printable - if you specify otherwise,
203       the server will refuse to load the configuration file.
204
205       Typically the path specified is that of a world-writeable spool
206       directory with the sticky bit set on it. A typical [printers] entry
207       looks like this:
208
209           [printers]
210           path = /var/tmp
211           guest ok = yes
212           printable = yes
213
214       All aliases given for a printer in the printcap file are legitimate
215       printer names as far as the server is concerned. If your printing
216       subsystem doesn't work like that, you will have to set up a
217       pseudo-printcap. This is a file consisting of one or more lines like
218       this:
219
220           alias|alias|alias|alias...
221
222       Each alias should be an acceptable printer name for your printing
223       subsystem. In the [global] section, specify the new file as your
224       printcap. The server will only recognize names found in your
225       pseudo-printcap, which of course can contain whatever aliases you like.
226       The same technique could be used simply to limit access to a subset of
227       your local printers.
228
229       An alias, by the way, is defined as any component of the first entry of
230       a printcap record. Records are separated by newlines, components (if
231       there are more than one) are separated by vertical bar symbols (|).
232
233           Note
234           On SYSV systems which use lpstat to determine what printers are
235           defined on the system you may be able to use printcap name = lpstat
236           to automatically obtain a list of printers. See the printcap name
237           option for more details.
238

USERSHARES

240       Starting with Samba version 3.0.23 the capability for non-root users to
241       add, modify, and delete their own share definitions has been added.
242       This capability is called usershares and is controlled by a set of
243       parameters in the [global] section of the smb.conf. The relevant
244       parameters are :
245
246       usershare allow guests
247           Controls if usershares can permit guest access.
248
249       usershare max shares
250           Maximum number of user defined shares allowed.
251
252       usershare owner only
253           If set only directories owned by the sharing user can be shared.
254
255       usershare path
256           Points to the directory containing the user defined share
257           definitions. The filesystem permissions on this directory control
258           who can create user defined shares.
259
260       usershare prefix allow list
261           Comma-separated list of absolute pathnames restricting what
262           directories can be shared. Only directories below the pathnames in
263           this list are permitted.
264
265       usershare prefix deny list
266           Comma-separated list of absolute pathnames restricting what
267           directories can be shared. Directories below the pathnames in this
268           list are prohibited.
269
270       usershare template share
271           Names a pre-existing share used as a template for creating new
272           usershares. All other share parameters not specified in the user
273           defined share definition are copied from this named share.
274
275       To allow members of the UNIX group foo to create user defined shares,
276       create the directory to contain the share definitions as follows:
277
278       Become root:
279
280           mkdir /usr/local/samba/lib/usershares
281           chgrp foo /usr/local/samba/lib/usershares
282           chmod 1770 /usr/local/samba/lib/usershares
283
284       Then add the parameters
285
286                usershare path = /usr/local/samba/lib/usershares
287                usershare max shares = 10 # (or the desired number of shares)
288
289       to the global section of your smb.conf. Members of the group foo may
290       then manipulate the user defined shares using the following commands.
291
292       net usershare add sharename path [comment] [acl] [guest_ok=[y|n]]
293           To create or modify (overwrite) a user defined share.
294
295       net usershare delete sharename
296           To delete a user defined share.
297
298       net usershare list wildcard-sharename
299           To list user defined shares.
300
301       net usershare info wildcard-sharename
302           To print information about user defined shares.
303

PARAMETERS

305       Parameters define the specific attributes of sections.
306
307       Some parameters are specific to the [global] section (e.g., security).
308       Some parameters are usable in all sections (e.g., create mask). All
309       others are permissible only in normal sections. For the purposes of the
310       following descriptions the [homes] and [printers] sections will be
311       considered normal. The letter G in parentheses indicates that a
312       parameter is specific to the [global] section. The letter S indicates
313       that a parameter can be specified in a service specific section. All S
314       parameters can also be specified in the [global] section - in which
315       case they will define the default behavior for all services.
316
317       Parameters are arranged here in alphabetical order - this may not
318       create best bedfellows, but at least you can find them! Where there are
319       synonyms, the preferred synonym is described, others refer to the
320       preferred synonym.
321

VARIABLE SUBSTITUTIONS

323       Many of the strings that are settable in the config file can take
324       substitutions. For example the option “path = /tmp/%u” is interpreted
325       as “path = /tmp/john” if the user connected with the username john.
326
327       These substitutions are mostly noted in the descriptions below, but
328       there are some general substitutions which apply whenever they might be
329       relevant. These are:
330
331       %U
332           session username (the username that the client wanted, not
333           necessarily the same as the one they got).
334
335       %G
336           primary group name of %U.
337
338       %h
339           the Internet hostname that Samba is running on.
340
341       %m
342           the NetBIOS name of the client machine (very useful).
343
344           This parameter is not available when Samba listens on port 445, as
345           clients no longer send this information. If you use this macro in
346           an include statement on a domain that has a Samba domain controller
347           be sure to set in the [global] section smb ports = 139. This will
348           cause Samba to not listen on port 445 and will permit include
349           functionality to function as it did with Samba 2.x.
350
351       %L
352           the NetBIOS name of the server. This allows you to change your
353           config based on what the client calls you. Your server can have a
354           “dual personality”.
355
356       %M
357           the Internet name of the client machine.
358
359       %R
360           the selected protocol level after protocol negotiation. It can be
361           one of CORE, COREPLUS, LANMAN1, LANMAN2, NT1, SMB2_02, SMB2_10,
362           SMB3_00, SMB3_02, SMB3_11 or SMB2_FF.
363
364       %d
365           the process id of the current server process.
366
367       %a
368           The architecture of the remote machine. It currently recognizes
369           Samba (Samba), the Linux CIFS file system (CIFSFS), OS/2, (OS2),
370           Mac OS X (OSX), Windows for Workgroups (WfWg), Windows 9x/ME
371           (Win95), Windows NT (WinNT), Windows 2000 (Win2K), Windows XP
372           (WinXP), Windows XP 64-bit(WinXP64), Windows 2003 including 2003R2
373           (Win2K3), and Windows Vista (Vista). Anything else will be known as
374           UNKNOWN.
375
376       %I
377           the IP address of the client machine.
378
379           Before 4.0.0 it could contain IPv4 mapped IPv6 addresses, now it
380           only contains IPv4 or IPv6 addresses.
381
382       %J
383           the IP address of the client machine, colons/dots replaced by
384           underscores.
385
386       %i
387           the local IP address to which a client connected.
388
389           Before 4.0.0 it could contain IPv4 mapped IPv6 addresses, now it
390           only contains IPv4 or IPv6 addresses.
391
392       %j
393           the local IP address to which a client connected, colons/dots
394           replaced by underscores.
395
396       %T
397           the current date and time.
398
399       %t
400           the current date and time in a minimal format without colons
401           (YYYYYmmdd_HHMMSS).
402
403       %D
404           name of the domain or workgroup of the current user.
405
406       %w
407           the winbind separator.
408
409       %$(envvar)
410           the value of the environment variable envar.
411
412       The following substitutes apply only to some configuration options
413       (only those that are used when a connection has been established):
414
415       %S
416           the name of the current service, if any.
417
418       %P
419           the root directory of the current service, if any.
420
421       %u
422           username of the current service, if any.
423
424       %g
425           primary group name of %u.
426
427       %H
428           the home directory of the user given by %u.
429
430       %N
431           This value is the same as %L.
432
433       There are some quite creative things that can be done with these
434       substitutions and other smb.conf options.
435

NAME MANGLING

437       Samba supports name mangling so that DOS and Windows clients can use
438       files that don't conform to the 8.3 format. It can also be set to
439       adjust the case of 8.3 format filenames.
440
441       There are several options that control the way mangling is performed,
442       and they are grouped here rather than listed separately. For the
443       defaults look at the output of the testparm program.
444
445       These options can be set separately for each service.
446
447       The options are:
448
449       case sensitive = yes/no/auto
450           controls whether filenames are case sensitive. If they aren't,
451           Samba must do a filename search and match on passed names. The
452           default setting of auto allows clients that support case sensitive
453           filenames (Linux CIFSVFS and smbclient 3.0.5 and above currently)
454           to tell the Samba server on a per-packet basis that they wish to
455           access the file system in a case-sensitive manner (to support UNIX
456           case sensitive semantics). No Windows or DOS system supports
457           case-sensitive filename so setting this option to auto is that same
458           as setting it to no for them. Default auto.
459
460       default case = upper/lower
461           controls what the default case is for new filenames (ie. files that
462           don't currently exist in the filesystem). Default lower. IMPORTANT
463           NOTE: As part of the optimizations for directories containing large
464           numbers of files, the following special case applies. If the
465           options case sensitive = yes, preserve case = No, and short
466           preserve case = No are set, then the case of all incoming client
467           filenames, not just new filenames, will be modified. See additional
468           notes below.
469
470       preserve case = yes/no
471           controls whether new files (ie. files that don't currently exist in
472           the filesystem) are created with the case that the client passes,
473           or if they are forced to be the default case. Default yes.
474
475       short preserve case = yes/no
476           controls if new files (ie. files that don't currently exist in the
477           filesystem) which conform to 8.3 syntax, that is all in upper case
478           and of suitable length, are created upper case, or if they are
479           forced to be the default case. This option can be used with
480           preserve case = yes to permit long filenames to retain their case,
481           while short names are lowercased. Default yes.
482
483       By default, Samba 3.0 has the same semantics as a Windows NT server, in
484       that it is case insensitive but case preserving. As a special case for
485       directories with large numbers of files, if the case options are set as
486       follows, "case sensitive = yes", "case preserve = no", "short preserve
487       case = no" then the "default case" option will be applied and will
488       modify all filenames sent from the client when accessing this share.
489

REGISTRY-BASED CONFIGURATION

491       Starting with Samba version 3.2.0, the capability to store Samba
492       configuration in the registry is available. The configuration is stored
493       in the registry key HKLM\Software\Samba\smbconf. There are two levels
494       of registry configuration:
495
496               1. Share definitions stored in registry are used. This is
497                  triggered by setting the global parameter registry shares to
498                  “yes” in smb.conf.
499
500                  The registry shares are loaded not at startup but on demand
501                  at runtime by smbd. Shares defined in smb.conf take priority
502                  over shares of the same name defined in registry.
503
504               2. Global smb.conf options stored in registry are used. This
505                  can be activated in two different ways:
506
507                  Firstly, a registry only configuration is triggered by
508                  setting config backend = registry in the [global] section of
509                  smb.conf. This resets everything that has been read from
510                  config files to this point and reads the content of the
511                  global configuration section from the registry. This is the
512                  recommended method of using registry based configuration.
513
514                  Secondly, a mixed configuration can be activated by a
515                  special new meaning of the parameter include = registry in
516                  the [global] section of smb.conf. This reads the global
517                  options from registry with the same priorities as for an
518                  include of a text file. This may be especially useful in
519                  cases where an initial configuration is needed to access the
520                  registry.
521
522                  Activation of global registry options automatically
523                  activates registry shares. So in the registry only case,
524                  shares are loaded on demand only.
525
526
527       Note: To make registry-based configurations foolproof at least to a
528       certain extent, the use of lock directory and config backend inside the
529       registry configuration has been disabled: Especially by changing the
530       lock directory inside the registry configuration, one would create a
531       broken setup where the daemons do not see the configuration they loaded
532       once it is active.
533
534       The registry configuration can be accessed with tools like regedit or
535       net (rpc) registry in the key HKLM\Software\Samba\smbconf. More
536       conveniently, the conf subcommand of the net(8) utility offers a
537       dedicated interface to read and write the registry based configuration
538       locally, i.e. directly accessing the database file, circumventing the
539       server.
540

IDENTITY MAPPING CONSIDERATIONS

542       In the SMB protocol, users, groups, and machines are represented by
543       their security identifiers (SIDs). On POSIX system Samba processes need
544       to run under corresponding POSIX user identities and with supplemental
545       POSIX groups to allow access to the files owned by those users and
546       groups. The process of mapping SIDs to POSIX users and groups is called
547       IDENTITY MAPPING or, in short, ID MAPPING.
548
549       Samba supports multiple ways to map SIDs to POSIX users and groups. The
550       configuration is driven by the idmap config DOMAIN : OPTION option
551       which allows one to specify identity mapping (idmap) options for each
552       domain separately.
553
554       Identity mapping modules implement different strategies for mapping of
555       SIDs to POSIX user and group identities. They are applicable to
556       different use cases and scenarios. It is advised to read the
557       documentation of the individual identity mapping modules before
558       choosing a specific scenario to use. Each identity management module is
559       documented in a separate manual page. The standard idmap backends are
560       tdb (idmap_tdb(8)), tdb2 (idmap_tdb2(8)), ldap (idmap_ldap(8)), rid
561       (idmap_rid(8)), hash (idmap_hash(8)), autorid (idmap_autorid(8)), ad
562       (idmap_ad(8)), nss (idmap_nss(8)), and rfc2307 (idmap_rfc2307(8)).
563
564       Overall, ID mapping configuration should be decided carefully. Changes
565       to the already deployed ID mapping configuration may create the risk of
566       losing access to the data or disclosing the data to the wrong parties.
567
568       This example shows how to configure two domains with idmap_rid(8), the
569       principal domain and a trusted domain, leaving the default id mapping
570       scheme at tdb.
571
572                [global]
573                security = domain
574                workgroup = MAIN
575
576                idmap config * : backend        = tdb
577                idmap config * : range          = 1000000-1999999
578
579                idmap config MAIN : backend     = rid
580                idmap config MAIN : range       = 5000000-5999999
581
582                idmap config TRUSTED : backend  = rid
583                idmap config TRUSTED : range    = 6000000-6999999
584
585

EXPLANATION OF EACH PARAMETER

587       abort shutdown script (G)
588
589           This a full path name to a script called by smbd(8) that should
590           stop a shutdown procedure issued by the shutdown script.
591
592           If the connected user possesses the SeRemoteShutdownPrivilege,
593           right, this command will be run as root.
594
595           Default: abort shutdown script = ""
596
597           Example: abort shutdown script = /sbin/shutdown -c
598
599       access based share enum (S)
600
601           If this parameter is yes for a service, then the share hosted by
602           the service will only be visible to users who have read or write
603           access to the share during share enumeration (for example net view
604           \\sambaserver). The share ACLs which allow or deny the access to
605           the share can be modified using for example the sharesec command or
606           using the appropriate Windows tools. This has parallels to access
607           based enumeration, the main difference being that only share
608           permissions are evaluated, and security descriptors on files
609           contained on the share are not used in computing enumeration access
610           rights.
611
612           Default: access based share enum = no
613
614       acl allow execute always (S)
615
616           This boolean parameter controls the behaviour of smbd(8) when
617           receiving a protocol request of "open for execution" from a Windows
618           client. With Samba 3.6 and older, the execution right in the ACL
619           was not checked, so a client could execute a file even if it did
620           not have execute rights on the file. In Samba 4.0, this has been
621           fixed, so that by default, i.e. when this parameter is set to
622           "False", "open for execution" is now denied when execution
623           permissions are not present.
624
625           If this parameter is set to "True", Samba does not check execute
626           permissions on "open for execution", thus re-establishing the
627           behaviour of Samba 3.6. This can be useful to smoothen upgrades
628           from older Samba versions to 4.0 and newer. This setting is not
629           meant to be used as a permanent setting, but as a temporary relief:
630           It is recommended to fix the permissions in the ACLs and reset this
631           parameter to the default after a certain transition period.
632
633           Default: acl allow execute always = no
634
635       acl check permissions (S)
636
637           Please note this parameter is now deprecated in Samba 3.6.2 and
638           will be removed in a future version of Samba.
639
640           This boolean parameter controls what smbd(8) does on receiving a
641           protocol request of "open for delete" from a Windows client. If a
642           Windows client doesn't have permissions to delete a file then they
643           expect this to be denied at open time. POSIX systems normally only
644           detect restrictions on delete by actually attempting to delete the
645           file or directory. As Windows clients can (and do) "back out" a
646           delete request by unsetting the "delete on close" bit Samba cannot
647           delete the file immediately on "open for delete" request as we
648           cannot restore such a deleted file. With this parameter set to true
649           (the default) then smbd checks the file system permissions directly
650           on "open for delete" and denies the request without actually
651           deleting the file if the file system permissions would seem to deny
652           it. This is not perfect, as it's possible a user could have deleted
653           a file without Samba being able to check the permissions correctly,
654           but it is close enough to Windows semantics for mostly correct
655           behaviour. Samba will correctly check POSIX ACL semantics in this
656           case.
657
658           If this parameter is set to "false" Samba doesn't check permissions
659           on "open for delete" and allows the open. If the user doesn't have
660           permission to delete the file this will only be discovered at close
661           time, which is too late for the Windows user tools to display an
662           error message to the user. The symptom of this is files that appear
663           to have been deleted "magically" re-appearing on a Windows explorer
664           refresh. This is an extremely advanced protocol option which should
665           not need to be changed. This parameter was introduced in its final
666           form in 3.0.21, an earlier version with slightly different
667           semantics was introduced in 3.0.20. That older version is not
668           documented here.
669
670           Default: acl check permissions = yes
671
672       acl flag inherited canonicalization (S)
673
674           This option controls the way Samba handles client requests setting
675           the Security Descriptor of files and directories and the effect the
676           operation has on the Security Descriptor flag "DACL auto-inherited"
677           (DI). Generally, this flag is set on a file (or directory) upon
678           creation if the parent directory has DI set and also has
679           inheritable ACEs.
680
681           On the other hand when a Security Descriptor is explicitly set on a
682           file, the DI flag is cleared, unless the flag "DACL Inheritance
683           Required" (DR) is also set in the new Security Descriptor (fwiw, DR
684           is never stored on disk).
685
686           This is the default behaviour when this option is enabled (the
687           default). When setting this option to no, the resulting value of
688           the DI flag on-disk is directly taken from the DI value of the
689           to-be-set Security Descriptor. This can be used so dump tools like
690           rsync that copy data blobs from xattrs that represent ACLs created
691           by the acl_xattr VFS module will result in copies of the ACL that
692           are identical to the source. Without this option, the copied ACLs
693           would all loose the DI flag if set on the source.
694
695           Default: acl flag inherited canonicalization = yes
696
697       acl group control (S)
698
699           In a POSIX filesystem, only the owner of a file or directory and
700           the superuser can modify the permissions and ACLs on a file. If
701           this parameter is set, then Samba overrides this restriction, and
702           also allows the primary group owner of a file or directory to
703           modify the permissions and ACLs on that file.
704
705           On a Windows server, groups may be the owner of a file or directory
706           - thus allowing anyone in that group to modify the permissions on
707           it. This allows the delegation of security controls on a point in
708           the filesystem to the group owner of a directory and anything below
709           it also owned by that group. This means there are multiple people
710           with permissions to modify ACLs on a file or directory, easing
711           manageability.
712
713           This parameter allows Samba to also permit delegation of the
714           control over a point in the exported directory hierarchy in much
715           the same way as Windows. This allows all members of a UNIX group to
716           control the permissions on a file or directory they have group
717           ownership on.
718
719           This parameter is best used with the inherit owner option and also
720           on a share containing directories with the UNIX setgid bit set on
721           them, which causes new files and directories created within it to
722           inherit the group ownership from the containing directory.
723
724           This parameter was deprecated in Samba 3.0.23, but re-activated in
725           Samba 3.0.31 and above, as it now only controls permission changes
726           if the user is in the owning primary group. It is now no longer
727           equivalent to the dos filemode option.
728
729           Default: acl group control = no
730
731       acl map full control (S)
732
733           This boolean parameter controls whether smbd(8) maps a POSIX ACE
734           entry of "rwx" (read/write/execute), the maximum allowed POSIX
735           permission set, into a Windows ACL of "FULL CONTROL". If this
736           parameter is set to true any POSIX ACE entry of "rwx" will be
737           returned in a Windows ACL as "FULL CONTROL", is this parameter is
738           set to false any POSIX ACE entry of "rwx" will be returned as the
739           specific Windows ACL bits representing read, write and execute.
740
741           Default: acl map full control = yes
742
743       add group script (G)
744
745           This is the full pathname to a script that will be run AS ROOT by
746           smbd(8) when a new group is requested. It will expand any %g to the
747           group name passed. This script is only useful for installations
748           using the Windows NT domain administration tools. The script is
749           free to create a group with an arbitrary name to circumvent unix
750           group name restrictions. In that case the script must print the
751           numeric gid of the created group on stdout.
752
753           Default: add group script =
754
755           Example: add group script = /usr/sbin/groupadd %g
756
757       additional dns hostnames (G)
758
759           A list of additional DNS names by which this host can be identified
760
761           Default: additional dns hostnames =  # empty string (no additional
762           dns names)
763
764           Example: additional dns hostnames =  host2.example.com
765           host3.other.com
766
767       add machine script (G)
768
769           This is the full pathname to a script that will be run by smbd(8)
770           when a machine is added to Samba's domain and a Unix account
771           matching the machine's name appended with a "$" does not already
772           exist.
773
774           This option is very similar to the add user script, and likewise
775           uses the %u substitution for the account name. Do not use the %m
776           substitution.
777
778           Default: add machine script =
779
780           Example: add machine script = /usr/sbin/adduser -n -g machines -c
781           Machine -d /var/lib/nobody -s /bin/false %u
782
783       addport command (G)
784
785           Samba 3.0.23 introduced support for adding printer ports remotely
786           using the Windows "Add Standard TCP/IP Port Wizard". This option
787           defines an external program to be executed when smbd receives a
788           request to add a new Port to the system. The script is passed two
789           parameters:
790
791port name
792
793device URI
794
795           The deviceURI is in the format of
796           socket://<hostname>[:<portnumber>] or lpd://<hostname>/<queuename>.
797
798           Default: addport command =
799
800           Example: addport command = /etc/samba/scripts/addport.sh
801
802       addprinter command (G)
803
804           With the introduction of MS-RPC based printing support for Windows
805           NT/2000 clients in Samba 2.2, The MS Add Printer Wizard (APW) icon
806           is now also available in the "Printers..." folder displayed a share
807           listing. The APW allows for printers to be add remotely to a Samba
808           or Windows NT/2000 print server.
809
810           For a Samba host this means that the printer must be physically
811           added to the underlying printing system. The addprinter command
812           defines a script to be run which will perform the necessary
813           operations for adding the printer to the print system and to add
814           the appropriate service definition to the smb.conf file in order
815           that it can be shared by smbd(8).
816
817           The addprinter command is automatically invoked with the following
818           parameter (in order):
819
820printer name
821
822share name
823
824port name
825
826driver name
827
828location
829
830Windows 9x driver location
831
832           All parameters are filled in from the PRINTER_INFO_2 structure sent
833           by the Windows NT/2000 client with one exception. The "Windows 9x
834           driver location" parameter is included for backwards compatibility
835           only. The remaining fields in the structure are generated from
836           answers to the APW questions.
837
838           Once the addprinter command has been executed, smbd will reparse
839           the smb.conf to determine if the share defined by the APW exists.
840           If the sharename is still invalid, then smbd will return an
841           ACCESS_DENIED error to the client.
842
843           The addprinter command program can output a single line of text,
844           which Samba will set as the port the new printer is connected to.
845           If this line isn't output, Samba won't reload its printer shares.
846
847           Default: addprinter command =
848
849           Example: addprinter command = /usr/bin/addprinter
850
851       add share command (G)
852
853           Samba 2.2.0 introduced the ability to dynamically add and delete
854           shares via the Windows NT 4.0 Server Manager. The add share command
855           is used to define an external program or script which will add a
856           new service definition to smb.conf.
857
858           In order to successfully execute the add share command, smbd
859           requires that the administrator connects using a root account (i.e.
860           uid == 0) or has the SeDiskOperatorPrivilege. Scripts defined in
861           the add share command parameter are executed as root.
862
863           When executed, smbd will automatically invoke the add share command
864           with five parameters.
865
866configFile - the location of the global smb.conf file.
867
868shareName - the name of the new share.
869
870pathName - path to an **existing** directory on disk.
871
872comment - comment string to associate with the new
873                      share.
874
875max connections Number of maximum simultaneous
876                      connections to this share.
877
878           This parameter is only used to add file shares. To add printer
879           shares, see the addprinter command.
880
881           Default: add share command =
882
883           Example: add share command = /usr/local/bin/addshare
884
885       add user script (G)
886
887           This is the full pathname to a script that will be run AS ROOT by
888           smbd(8) under special circumstances described below.
889
890           Normally, a Samba server requires that UNIX users are created for
891           all users accessing files on this server. For sites that use
892           Windows NT account databases as their primary user database
893           creating these users and keeping the user list in sync with the
894           Windows NT PDC is an onerous task. This option allows smbd to
895           create the required UNIX users ON DEMAND when a user accesses the
896           Samba server.
897
898           When the Windows user attempts to access the Samba server, at login
899           (session setup in the SMB protocol) time, smbd(8) contacts the
900           password server and attempts to authenticate the given user with
901           the given password. If the authentication succeeds then smbd
902           attempts to find a UNIX user in the UNIX password database to map
903           the Windows user into. If this lookup fails, and add user script is
904           set then smbd will call the specified script AS ROOT, expanding any
905           %u argument to be the user name to create.
906
907           If this script successfully creates the user then smbd will
908           continue on as though the UNIX user already existed. In this way,
909           UNIX users are dynamically created to match existing Windows NT
910           accounts.
911
912           See also security, password server, delete user script.
913
914           Default: add user script =
915
916           Example: add user script = /usr/local/samba/bin/add_user %u
917
918       add user to group script (G)
919
920           Full path to the script that will be called when a user is added to
921           a group using the Windows NT domain administration tools. It will
922           be run by smbd(8) AS ROOT. Any %g will be replaced with the group
923           name and any %u will be replaced with the user name.
924
925           Note that the adduser command used in the example below does not
926           support the used syntax on all systems.
927
928           Default: add user to group script =
929
930           Example: add user to group script = /usr/sbin/adduser %u %g
931
932       administrative share (S)
933
934           If this parameter is set to yes for a share, then the share will be
935           an administrative share. The Administrative Shares are the default
936           network shares created by all Windows NT-based operating systems.
937           These are shares like C$, D$ or ADMIN$. The type of these shares is
938           STYPE_DISKTREE_HIDDEN.
939
940           See the section below on security for more information about this
941           option.
942
943           Default: administrative share = no
944
945       admin users (S)
946
947           This is a list of users who will be granted administrative
948           privileges on the share. This means that they will do all file
949           operations as the super-user (root).
950
951           You should use this option very carefully, as any user in this list
952           will be able to do anything they like on the share, irrespective of
953           file permissions.
954
955           Default: admin users =
956
957           Example: admin users = jason
958
959       afs share (S)
960
961           This parameter controls whether special AFS features are enabled
962           for this share. If enabled, it assumes that the directory exported
963           via the path parameter is a local AFS import. The special AFS
964           features include the attempt to hand-craft an AFS token if you
965           enabled --with-fake-kaserver in configure.
966
967           Default: afs share = no
968
969       afs token lifetime (G)
970
971           This parameter controls the lifetime of tokens that the AFS
972           fake-kaserver claims. In reality these never expire but this
973           lifetime controls when the afs client will forget the token.
974
975           Set this parameter to 0 to get NEVERDATE.
976
977           Default: afs token lifetime = 604800
978
979       afs username map (G)
980
981           If you are using the fake kaserver AFS feature, you might want to
982           hand-craft the usernames you are creating tokens for. For example
983           this is necessary if you have users from several domain in your AFS
984           Protection Database. One possible scheme to code users as
985           DOMAIN+User as it is done by winbind with the + as a separator.
986
987           The mapped user name must contain the cell name to log into, so
988           without setting this parameter there will be no token.
989
990           Default: afs username map =
991
992           Example: afs username map = %u@afs.samba.org
993
994       aio max threads (G)
995
996           The integer parameter specifies the maximum number of threads each
997           smbd process will create when doing parallel asynchronous IO calls.
998           If the number of outstanding calls is greater than this number the
999           requests will not be refused but go onto a queue and will be
1000           scheduled in turn as outstanding requests complete.
1001
1002           Related command: aio read size
1003
1004           Related command: aio write size
1005
1006           Default: aio max threads = 100
1007
1008       aio read size (S)
1009
1010           If this integer parameter is set to a non-zero value, Samba will
1011           read from files asynchronously when the request size is bigger than
1012           this value. Note that it happens only for non-chained and
1013           non-chaining reads.
1014
1015           The only reasonable values for this parameter are 0 (no async I/O)
1016           and 1 (always do async I/O).
1017
1018           Related command: aio write size
1019
1020           Default: aio read size = 1
1021
1022           Example: aio read size = 0 # Always do reads synchronously
1023
1024       aio write behind (S)
1025
1026           If Samba has been built with asynchronous I/O support, Samba will
1027           not wait until write requests are finished before returning the
1028           result to the client for files listed in this parameter. Instead,
1029           Samba will immediately return that the write request has been
1030           finished successfully, no matter if the operation will succeed or
1031           not. This might speed up clients without aio support, but is really
1032           dangerous, because data could be lost and files could be damaged.
1033
1034           The syntax is identical to the veto files parameter.
1035
1036           Default: aio write behind =
1037
1038           Example: aio write behind = /*.tmp/
1039
1040       aio write size (S)
1041
1042           If this integer parameter is set to a non-zero value, Samba will
1043           write to files asynchronously when the request size is bigger than
1044           this value. Note that it happens only for non-chained and
1045           non-chaining writes.
1046
1047           The only reasonable values for this parameter are 0 (no async I/O)
1048           and 1 (always do async I/O).
1049
1050           Compared to aio read size this parameter has a smaller effect, most
1051           writes should end up in the file system cache. Writes that require
1052           space allocation might benefit most from going asynchronous.
1053
1054           Related command: aio read size
1055
1056           Default: aio write size = 1
1057
1058           Example: aio write size = 0 # Always do writes synchronously
1059
1060       algorithmic rid base (G)
1061
1062           This determines how Samba will use its algorithmic mapping from
1063           uids/gid to the RIDs needed to construct NT Security Identifiers.
1064
1065           Setting this option to a larger value could be useful to sites
1066           transitioning from WinNT and Win2k, as existing user and group rids
1067           would otherwise clash with system users etc.
1068
1069           All UIDs and GIDs must be able to be resolved into SIDs for the
1070           correct operation of ACLs on the server. As such the algorithmic
1071           mapping can't be 'turned off', but pushing it 'out of the way'
1072           should resolve the issues. Users and groups can then be assigned
1073           'low' RIDs in arbitrary-rid supporting backends.
1074
1075           Default: algorithmic rid base = 1000
1076
1077           Example: algorithmic rid base = 100000
1078
1079       allocation roundup size (S)
1080
1081           This parameter allows an administrator to tune the allocation size
1082           reported to Windows clients. This is only useful for old SMB1
1083           clients because modern SMB dialects eliminated that bottleneck and
1084           have better performance by default. Using this parameter may cause
1085           difficulties for some applications, e.g. MS Visual Studio. If the
1086           MS Visual Studio compiler starts to crash with an internal error,
1087           set this parameter to zero for this share. Settings this parameter
1088           to a large value can also cause small files to allocate more space
1089           on the disk than needed.
1090
1091           This parameter is deprecated and will be removed in one of the next
1092           Samba releases.
1093
1094           The integer parameter specifies the roundup size in bytes.
1095
1096           Default: allocation roundup size = 0
1097
1098           Example: allocation roundup size = 1048576 # (to set it to the
1099           former default of 1 MiB)
1100
1101       allow dcerpc auth level connect (G)
1102
1103           This option controls whether DCERPC services are allowed to be used
1104           with DCERPC_AUTH_LEVEL_CONNECT, which provides authentication, but
1105           no per message integrity nor privacy protection.
1106
1107           Some interfaces like samr, lsarpc and netlogon have a hard-coded
1108           default of no and epmapper, mgmt and rpcecho have a hard-coded
1109           default of yes.
1110
1111           The behavior can be overwritten per interface name (e.g. lsarpc,
1112           netlogon, samr, srvsvc, winreg, wkssvc ...) by using 'allow dcerpc
1113           auth level connect:interface = yes' as option.
1114
1115           This option is over-ridden by the implementation specific
1116           restrictions. E.g. the drsuapi and backupkey protocols require
1117           DCERPC_AUTH_LEVEL_PRIVACY. The dnsserver protocol requires
1118           DCERPC_AUTH_LEVEL_INTEGRITY.
1119
1120           Default: allow dcerpc auth level connect = no
1121
1122           Example: allow dcerpc auth level connect = yes
1123
1124       allow dns updates (G)
1125
1126           This option determines what kind of updates to the DNS are allowed.
1127
1128           DNS updates can either be disallowed completely by setting it to
1129           disabled, enabled over secure connections only by setting it to
1130           secure only or allowed in all cases by setting it to nonsecure.
1131
1132           Default: allow dns updates = secure only
1133
1134           Example: allow dns updates = disabled
1135
1136       allow insecure wide links (G)
1137
1138           In normal operation the option wide links which allows the server
1139           to follow symlinks outside of a share path is automatically
1140           disabled when unix extensions are enabled on a Samba server. This
1141           is done for security purposes to prevent UNIX clients creating
1142           symlinks to areas of the server file system that the administrator
1143           does not wish to export.
1144
1145           Setting allow insecure wide links to true disables the link between
1146           these two parameters, removing this protection and allowing a site
1147           to configure the server to follow symlinks (by setting wide links
1148           to "true") even when unix extensions is turned on.
1149
1150           It is not recommended to enable this option unless you fully
1151           understand the implications of allowing the server to follow
1152           symbolic links created by UNIX clients. For most normal Samba
1153           configurations this would be considered a security hole and setting
1154           this parameter is not recommended.
1155
1156           This option was added at the request of sites who had deliberately
1157           set Samba up in this way and needed to continue supporting this
1158           functionality without having to patch the Samba code.
1159
1160           Default: allow insecure wide links = no
1161
1162       allow nt4 crypto (G)
1163
1164           This option is deprecated and will be removed in future, as it is a
1165           security problem if not set to "no" (which will be the hardcoded
1166           behavior in future).
1167
1168           This option controls whether the netlogon server (currently only in
1169           'active directory domain controller' mode), will reject clients
1170           which do not support NETLOGON_NEG_STRONG_KEYS nor
1171           NETLOGON_NEG_SUPPORTS_AES.
1172
1173           This option was added with Samba 4.2.0. It may lock out clients
1174           which worked fine with Samba versions up to 4.1.x. as the effective
1175           default was "yes" there, while it is "no" now.
1176
1177           If you have clients without RequireStrongKey = 1 in the registry,
1178           you may need to set "allow nt4 crypto = yes", until you have fixed
1179           all clients.
1180
1181           "allow nt4 crypto = yes" allows weak crypto to be negotiated, maybe
1182           via downgrade attacks.
1183
1184           Avoid using this option!  Use explicit 'allow nt4
1185           crypto:COMPUTERACCOUNT = yes' instead! Which is available with the
1186           patches for CVE-2022-38023 see
1187           https://bugzilla.samba.org/show_bug.cgi?id=15240
1188
1189           Samba will log an error in the log files at log level 0 if legacy a
1190           client is rejected or allowed without an explicit, 'allow nt4
1191           crypto:COMPUTERACCOUNT = yes' option for the client. The message
1192           will indicate the explicit 'allow nt4 crypto:COMPUTERACCOUNT = yes'
1193           line to be added, if the legacy client software requires it. (The
1194           log level can be adjusted with 'CVE_2022_38023:error_debug_level =
1195           1' in order to complain only at a higher log level).
1196
1197           This allows admins to use "yes" only for a short grace period, in
1198           order to collect the explicit 'allow nt4 crypto:COMPUTERACCOUNT =
1199           yes' options.
1200
1201           This option is over-ridden by the effective value of 'yes' from the
1202           'server reject md5 schannel:COMPUTERACCOUNT' and/or 'reject md5
1203           clients' options.
1204
1205           Default: allow nt4 crypto = no
1206
1207       allow nt4 crypto:COMPUTERACCOUNT (G)
1208
1209           If you still have legacy domain members which required 'allow nt4
1210           crypto = yes', it is possible to specify an explicit exception per
1211           computer account by using 'allow nt4 crypto:COMPUTERACCOUNT = yes'
1212           as option. Note that COMPUTERACCOUNT has to be the sAMAccountName
1213           value of the computer account (including the trailing '$' sign).
1214
1215           Samba will log a complaint in the log files at log level 0 about
1216           the security problem if the option is set to "yes", but the related
1217           computer does not require it. (The log level can be adjusted with
1218           'CVE_2022_38023:warn_about_unused_debug_level = 1' in order to
1219           complain only at a higher log level).
1220
1221           Samba will log a warning in the log files at log level 5, if a
1222           setting is still needed for the specified computer account.
1223
1224           See CVE-2022-38023,
1225           https://bugzilla.samba.org/show_bug.cgi?id=15240.
1226
1227           This option overrides the allow nt4 crypto option.
1228
1229           This option is over-ridden by the effective value of 'yes' from the
1230           'server reject md5 schannel:COMPUTERACCOUNT' and/or 'reject md5
1231           clients' options.
1232
1233           Which means 'allow nt4 crypto:COMPUTERACCOUNT = yes' is only useful
1234           in combination with 'server reject md5 schannel:COMPUTERACCOUNT =
1235           no'
1236
1237                    allow nt4 crypto:LEGACYCOMPUTER1$ = yes
1238                    server reject md5 schannel:LEGACYCOMPUTER1$ = no
1239                    allow nt4 crypto:NASBOX$ = yes
1240                    server reject md5 schannel:NASBOX$ = no
1241                    allow nt4 crypto:LEGACYCOMPUTER2$ = yes
1242                    server reject md5 schannel:LEGACYCOMPUTER2$ = no
1243
1244
1245           No default
1246
1247       allow trusted domains (G)
1248
1249           This option only takes effect when the security option is set to
1250           server, domain or ads. If it is set to no, then attempts to connect
1251           to a resource from a domain or workgroup other than the one which
1252           smbd is running in will fail, even if that domain is trusted by the
1253           remote server doing the authentication.
1254
1255           This is useful if you only want your Samba server to serve
1256           resources to users in the domain it is a member of. As an example,
1257           suppose that there are two domains DOMA and DOMB. DOMB is trusted
1258           by DOMA, which contains the Samba server. Under normal
1259           circumstances, a user with an account in DOMB can then access the
1260           resources of a UNIX account with the same account name on the Samba
1261           server even if they do not have an account in DOMA. This can make
1262           implementing a security boundary difficult.
1263
1264           Default: allow trusted domains = yes
1265
1266       allow unsafe cluster upgrade (G)
1267
1268           If set to no (the default), smbd checks at startup if other smbd
1269           versions are running in the cluster and refuses to start if so.
1270           This is done to protect data corruption in internal data structures
1271           due to incompatible Samba versions running concurrently in the same
1272           cluster. Setting this parameter to yes disables this safety check.
1273
1274           Default: allow unsafe cluster upgrade = no
1275
1276       apply group policies (G)
1277
1278           This option controls whether winbind will execute the gpupdate
1279           command defined in gpo update command on the Group Policy update
1280           interval. The Group Policy update interval is defined as every 90
1281           minutes, plus a random offset between 0 and 30 minutes. This
1282           applies Group Policy Machine polices to the client or KDC and
1283           machine policies to a server.
1284
1285           Default: apply group policies = no
1286
1287           Example: apply group policies = yes
1288
1289       async dns timeout (G)
1290
1291           The number of seconds the asynchronous DNS resolver code in Samba
1292           will wait for responses. Some of the Samba client library code uses
1293           internal asynchronous DNS resolution for A and AAAA records when
1294           trying to find Active Directory Domain controllers. This value
1295           prevents this name resolution code from waiting for DNS server
1296           timeouts.
1297
1298           The minimum value of this parameter is clamped at 1 second.
1299
1300           Default: async dns timeout = 10
1301
1302           Example: async dns timeout = 20
1303
1304       async smb echo handler (G)
1305
1306           This parameter specifies whether Samba should fork the async smb
1307           echo handler. It can be beneficial if your file system can block
1308           syscalls for a very long time. In some circumstances, it prolongs
1309           the timeout that Windows uses to determine whether a connection is
1310           dead. This parameter is only for SMB1. For SMB2 and above TCP
1311           keepalives can be used instead.
1312
1313           Default: async smb echo handler = no
1314
1315       auth event notification (G)
1316
1317           When enabled, this option causes Samba (acting as an Active
1318           Directory Domain Controller) to stream authentication events across
1319           the internal message bus. Scripts built using Samba's python
1320           bindings can listen to these events by registering as the service
1321           auth_event.
1322
1323           This is not needed for the audit logging described in log level.
1324
1325           Instead, this should instead be considered a developer option (it
1326           assists in the Samba testsuite) rather than a facility for external
1327           auditing, as message delivery is not guaranteed (a feature that the
1328           testsuite works around).
1329
1330           The authentication events are also logged via the normal logging
1331           methods when the log level is set appropriately, say to
1332           auth_json_audit:3.
1333
1334           Default: auth event notification = no
1335
1336       preload
1337
1338           This parameter is a synonym for auto services.
1339
1340       auto services (G)
1341
1342           This is a list of services that you want to be automatically added
1343           to the browse lists. This is most useful for homes and printers
1344           services that would otherwise not be visible.
1345
1346           Note that if you just want all printers in your printcap file
1347           loaded then the load printers option is easier.
1348
1349           Default: auto services =
1350
1351           Example: auto services = fred lp colorlp
1352
1353       available (S)
1354
1355           This parameter lets you "turn off" a service. If available = no,
1356           then ALL attempts to connect to the service will fail. Such
1357           failures are logged.
1358
1359           Default: available = yes
1360
1361       bind dns directory
1362
1363           This parameter is a synonym for binddns dir.
1364
1365       binddns dir (G)
1366
1367           This parameters defines the directory samba will use to store the
1368           configuration files for bind, such as named.conf. NOTE: The bind
1369           dns directory needs to be on the same mount point as the private
1370           directory!
1371
1372           Default: binddns dir = /var/lib/samba/bind-dns
1373
1374       bind interfaces only (G)
1375
1376           This global parameter allows the Samba admin to limit what
1377           interfaces on a machine will serve SMB requests. It affects file
1378           service smbd(8) and name service nmbd(8) in a slightly different
1379           ways.
1380
1381           For name service it causes nmbd to bind to ports 137 and 138 on the
1382           interfaces listed in the interfaces parameter.  nmbd also binds to
1383           the "all addresses" interface (0.0.0.0) on ports 137 and 138 for
1384           the purposes of reading broadcast messages. If this option is not
1385           set then nmbd will service name requests on all of these sockets.
1386           If bind interfaces only is set then nmbd will check the source
1387           address of any packets coming in on the broadcast sockets and
1388           discard any that don't match the broadcast addresses of the
1389           interfaces in the interfaces parameter list. As unicast packets are
1390           received on the other sockets it allows nmbd to refuse to serve
1391           names to machines that send packets that arrive through any
1392           interfaces not listed in the interfaces list. IP Source address
1393           spoofing does defeat this simple check, however, so it must not be
1394           used seriously as a security feature for nmbd.
1395
1396           For file service it causes smbd(8) to bind only to the interface
1397           list given in the interfaces parameter. This restricts the networks
1398           that smbd will serve, to packets coming in on those interfaces.
1399           Note that you should not use this parameter for machines that are
1400           serving PPP or other intermittent or non-broadcast network
1401           interfaces as it will not cope with non-permanent interfaces.
1402
1403           If bind interfaces only is set and the network address 127.0.0.1 is
1404           not added to the interfaces parameter list smbpasswd(8) may not
1405           work as expected due to the reasons covered below.
1406
1407           To change a users SMB password, the smbpasswd by default connects
1408           to the localhost - 127.0.0.1 address as an SMB client to issue the
1409           password change request. If bind interfaces only is set then unless
1410           the network address 127.0.0.1 is added to the interfaces parameter
1411           list then smbpasswd will fail to connect in it's default mode.
1412           smbpasswd can be forced to use the primary IP interface of the
1413           local host by using its smbpasswd(8) -r remote machine parameter,
1414           with remote machine set to the IP name of the primary interface of
1415           the local host.
1416
1417           Default: bind interfaces only = no
1418
1419       blocking locks (S)
1420
1421           This parameter controls the behavior of smbd(8) when given a
1422           request by a client to obtain a byte range lock on a region of an
1423           open file, and the request has a time limit associated with it.
1424
1425           If this parameter is set and the lock range requested cannot be
1426           immediately satisfied, samba will internally queue the lock
1427           request, and periodically attempt to obtain the lock until the
1428           timeout period expires.
1429
1430           If this parameter is set to no, then samba will behave as previous
1431           versions of Samba would and will fail the lock request immediately
1432           if the lock range cannot be obtained.
1433
1434           Default: blocking locks = yes
1435
1436       block size (S)
1437
1438           This parameter controls the behavior of smbd(8) when reporting disk
1439           free sizes. By default, this reports a disk block size of 1024
1440           bytes.
1441
1442           Changing this parameter may have some effect on the efficiency of
1443           client writes, this is not yet confirmed. This parameter was added
1444           to allow advanced administrators to change it (usually to a higher
1445           value) and test the effect it has on client write performance
1446           without re-compiling the code. As this is an experimental option it
1447           may be removed in a future release.
1448
1449           Changing this option does not change the disk free reporting size,
1450           just the block size unit reported to the client.
1451
1452           Default: block size = 1024
1453
1454           Example: block size = 4096
1455
1456       browsable
1457
1458           This parameter is a synonym for browseable.
1459
1460       browseable (S)
1461
1462           This controls whether this share is seen in the list of available
1463           shares in a net view and in the browse list.
1464
1465           Default: browseable = yes
1466
1467       browse list (G)
1468
1469           This controls whether smbd(8) will serve a browse list to a client
1470           doing a NetServerEnum call. Normally set to yes. You should never
1471           need to change this.
1472
1473           Default: browse list = yes
1474
1475       cache directory (G)
1476
1477           Usually, most of the TDB files are stored in the lock directory.
1478           Since Samba 3.4.0, it is possible to differentiate between TDB
1479           files with persistent data and TDB files with non-persistent data
1480           using the state directory and the cache directory options.
1481
1482           This option specifies the directory for storing TDB files
1483           containing non-persistent data that will be kept across service
1484           restarts. The directory should be placed on persistent storage, but
1485           the data can be safely deleted by an administrator.
1486
1487           Default: cache directory = /var/lib/samba
1488
1489           Example: cache directory = /var/run/samba/locks/cache
1490
1491       casesignames
1492
1493           This parameter is a synonym for case sensitive.
1494
1495       case sensitive (S)
1496
1497           See the discussion in the section name mangling.
1498
1499           Default: case sensitive = auto
1500
1501       change notify (G)
1502
1503           This parameter specifies whether Samba should reply to a client's
1504           file change notify requests.
1505
1506           You should never need to change this parameter
1507
1508           Default: change notify = yes
1509
1510       change share command (G)
1511
1512           Samba 2.2.0 introduced the ability to dynamically add and delete
1513           shares via the Windows NT 4.0 Server Manager. The change share
1514           command is used to define an external program or script which will
1515           modify an existing service definition in smb.conf.
1516
1517           In order to successfully execute the change share command, smbd
1518           requires that the administrator connects using a root account (i.e.
1519           uid == 0) or has the SeDiskOperatorPrivilege. Scripts defined in
1520           the change share command parameter are executed as root.
1521
1522           When executed, smbd will automatically invoke the change share
1523           command with six parameters.
1524
1525configFile - the location of the global smb.conf file.
1526
1527shareName - the name of the new share.
1528
1529pathName - path to an **existing** directory on disk.
1530
1531comment - comment string to associate with the new
1532                      share.
1533
1534max connections Number of maximum simultaneous
1535                      connections to this share.
1536
1537CSC policy - client side caching policy in string form.
1538                      Valid values are: manual, documents, programs, disable.
1539
1540           This parameter is only used to modify existing file share
1541           definitions. To modify printer shares, use the "Printers..." folder
1542           as seen when browsing the Samba host.
1543
1544           Default: change share command =
1545
1546           Example: change share command = /usr/local/bin/changeshare
1547
1548       check parent directory delete on close (S)
1549
1550           A Windows SMB server prevents the client from creating files in a
1551           directory that has the delete-on-close flag set. By default Samba
1552           doesn't perform this check as this check is a quite expensive
1553           operation in Samba.
1554
1555           Default: check parent directory delete on close = no
1556
1557       check password script (G)
1558
1559           The name of a program that can be used to check password
1560           complexity. The password is sent to the program's standard input.
1561
1562           The program must return 0 on a good password, or any other value if
1563           the password is bad. In case the password is considered weak (the
1564           program does not return 0) the user will be notified and the
1565           password change will fail.
1566
1567           In Samba AD, this script will be run AS ROOT by samba(8) without
1568           any substitutions.
1569
1570           Note that starting with Samba 4.11 the following environment
1571           variables are exported to the script:
1572
1573                  •   SAMBA_CPS_ACCOUNT_NAME is always present and contains
1574                      the sAMAccountName of user, the is the same as the %u
1575                      substitutions in the none AD DC case.
1576
1577                  •   SAMBA_CPS_USER_PRINCIPAL_NAME is optional in the AD DC
1578                      case if the userPrincipalName is present.
1579
1580                  •   SAMBA_CPS_FULL_NAME is optional if the displayName is
1581                      present.
1582
1583           Note: In the example directory is a sample program called
1584           crackcheck that uses cracklib to check the password quality.
1585
1586           Default: check password script =  # Disabled
1587
1588           Example: check password script = /usr/local/sbin/crackcheck
1589
1590       cldap port (G)
1591
1592           This option controls the port used by the CLDAP protocol.
1593
1594           Default: cldap port = 389
1595
1596           Example: cldap port = 3389
1597
1598       client ipc max protocol (G)
1599
1600           The value of the parameter (a string) is the highest protocol level
1601           that will be supported for IPC$ connections as DCERPC transport.
1602
1603           Normally this option should not be set as the automatic negotiation
1604           phase in the SMB protocol takes care of choosing the appropriate
1605           protocol.
1606
1607           The value default refers to the latest supported protocol,
1608           currently SMB3_11.
1609
1610           See client max protocol for a full list of available protocols. The
1611           values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to
1612           NT1.
1613
1614           Default: client ipc max protocol = default
1615
1616           Example: client ipc max protocol = SMB2_10
1617
1618       client ipc min protocol (G)
1619
1620           This setting controls the minimum protocol version that the will be
1621           attempted to use for IPC$ connections as DCERPC transport.
1622
1623           Normally this option should not be set as the automatic negotiation
1624           phase in the SMB protocol takes care of choosing the appropriate
1625           protocol.
1626
1627           The value default refers to the higher value of NT1 and the
1628           effective value of client min protocol.
1629
1630           See client max protocol for a full list of available protocols. The
1631           values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to
1632           NT1.
1633
1634           Default: client ipc min protocol = default
1635
1636           Example: client ipc min protocol = SMB3_11
1637
1638       client ipc signing (G)
1639
1640           This controls whether the client is allowed or required to use SMB
1641           signing for IPC$ connections as DCERPC transport. Possible values
1642           are desired, required and disabled.
1643
1644           When set to required or default, SMB signing is mandatory.
1645
1646           When set to desired, SMB signing is offered, but not enforced and
1647           if set to disabled, SMB signing is not offered either.
1648
1649           Connections from winbindd to Active Directory Domain Controllers
1650           always enforce signing.
1651
1652           Default: client ipc signing = default
1653
1654       client lanman auth (G)
1655
1656           This parameter has been deprecated since Samba 4.13 and support for
1657           LanMan (as distinct from NTLM, NTLMv2 or Kerberos) authentication
1658           as a client will be removed in a future Samba release.
1659
1660           That is, in the future, the current default of client NTLMv2 auth =
1661           yes will be the enforced behaviour.
1662
1663           This parameter determines whether or not smbclient(8) and other
1664           samba client tools will attempt to authenticate itself to servers
1665           using the weaker LANMAN password hash. If disabled, only server
1666           which support NT password hashes (e.g. Windows NT/2000, Samba,
1667           etc... but not Windows 95/98) will be able to be connected from the
1668           Samba client.
1669
1670           The LANMAN encrypted response is easily broken, due to its
1671           case-insensitive nature, and the choice of algorithm. Clients
1672           without Windows 95/98 servers are advised to disable this option.
1673
1674           Disabling this option will also disable the client plaintext auth
1675           option.
1676
1677           Likewise, if the client ntlmv2 auth parameter is enabled, then only
1678           NTLMv2 logins will be attempted.
1679
1680           Default: client lanman auth = no
1681
1682       client ldap sasl wrapping (G)
1683
1684           The client ldap sasl wrapping defines whether ldap traffic will be
1685           signed or signed and encrypted (sealed). Possible values are plain,
1686           sign and seal.
1687
1688           The values sign and seal are only available if Samba has been
1689           compiled against a modern OpenLDAP version (2.3.x or higher).
1690
1691           This option is needed firstly to secure the privacy of
1692           administrative connections from samba-tool, including in particular
1693           new or reset passwords for users. For this reason the default is
1694           seal.
1695
1696           Additionally, winbindd and the net tool can use LDAP to communicate
1697           with Domain Controllers, so this option also controls the level of
1698           privacy for those connections. All supported AD DC versions will
1699           enforce the usage of at least signed LDAP connections by default,
1700           so a value of at least sign is required in practice.
1701
1702           The default value is seal. That implies synchronizing the time with
1703           the KDC in the case of using Kerberos.
1704
1705           Default: client ldap sasl wrapping = seal
1706
1707       client max protocol (G)
1708
1709           The value of the parameter (a string) is the highest protocol level
1710           that will be supported by the client.
1711
1712           Possible values are :
1713
1714CORE: Earliest version. No concept of user names.
1715
1716COREPLUS: Slight improvements on CORE for efficiency.
1717
1718LANMAN1: First modern version of the protocol. Long
1719                      filename support.
1720
1721LANMAN2: Updates to Lanman1 protocol.
1722
1723NT1: Current up to date version of the protocol. Used by
1724                      Windows NT. Known as CIFS.
1725
1726SMB2: Re-implementation of the SMB protocol. Used by
1727                      Windows Vista and later versions of Windows. SMB2 has
1728                      sub protocols available.
1729
1730SMB2_02: The earliest SMB2 version.
1731
1732SMB2_10: Windows 7 SMB2 version.
1733
1734                      By default SMB2 selects the SMB2_10 variant.
1735
1736SMB3: The same as SMB2. Used by Windows 8. SMB3 has sub
1737                      protocols available.
1738
1739SMB3_00: Windows 8 SMB3 version.
1740
1741SMB3_02: Windows 8.1 SMB3 version.
1742
1743SMB3_11: Windows 10 SMB3 version.
1744
1745                      By default SMB3 selects the SMB3_11 variant.
1746
1747           Normally this option should not be set as the automatic negotiation
1748           phase in the SMB protocol takes care of choosing the appropriate
1749           protocol.
1750
1751           The value default refers to SMB3_11.
1752
1753           IPC$ connections for DCERPC e.g. in winbindd, are handled by the
1754           client ipc max protocol option.
1755
1756           Default: client max protocol = default
1757
1758           Example: client max protocol = LANMAN1
1759
1760       client min protocol (G)
1761
1762           This setting controls the minimum protocol version that the client
1763           will attempt to use.
1764
1765           Normally this option should not be set as the automatic negotiation
1766           phase in the SMB protocol takes care of choosing the appropriate
1767           protocol unless you connect to a legacy SMB1-only server.
1768
1769           See Related command: client max protocol for a full list of
1770           available protocols.
1771
1772           IPC$ connections for DCERPC e.g. in winbindd, are handled by the
1773           client ipc min protocol option.
1774
1775           Note that most command line tools support --option='client min
1776           protocol=NT1', so it may not be required to enable SMB1 protocols
1777           globally in smb.conf.
1778
1779           Default: client min protocol = SMB2_02
1780
1781           Example: client min protocol = NT1
1782
1783       client NTLMv2 auth (G)
1784
1785           This parameter has been deprecated since Samba 4.13 and support for
1786           NTLM and LanMan (as distinct from NTLMv2 or Kerberos
1787           authentication) will be removed in a future Samba release.
1788
1789           That is, in the future, the current default of client NTLMv2 auth =
1790           yes will be the enforced behaviour.
1791
1792           This parameter determines whether or not smbclient(8) will attempt
1793           to authenticate itself to servers using the NTLMv2 encrypted
1794           password response.
1795
1796           If enabled, only an NTLMv2 and LMv2 response (both much more secure
1797           than earlier versions) will be sent. Older servers (including NT4 <
1798           SP4, Win9x and Samba 2.2) are not compatible with NTLMv2 when not
1799           in an NTLMv2 supporting domain
1800
1801           Similarly, if enabled, NTLMv1, client lanman auth and client
1802           plaintext auth authentication will be disabled. This also disables
1803           share-level authentication.
1804
1805           If disabled, an NTLM response (and possibly a LANMAN response) will
1806           be sent by the client, depending on the value of client lanman
1807           auth.
1808
1809           Note that Windows Vista and later versions already use NTLMv2 by
1810           default, and some sites (particularly those following 'best
1811           practice' security polices) only allow NTLMv2 responses, and not
1812           the weaker LM or NTLM.
1813
1814           When client use spnego is also set to yes extended security
1815           (SPNEGO) is required in order to use NTLMv2 only within NTLMSSP.
1816           This behavior was introduced with the patches for CVE-2016-2111.
1817
1818           Default: client NTLMv2 auth = yes
1819
1820       client plaintext auth (G)
1821
1822           This parameter has been deprecated since Samba 4.13 and support for
1823           plaintext (as distinct from NTLM, NTLMv2 or Kerberos
1824           authentication) will be removed in a future Samba release.
1825
1826           That is, in the future, the current default of client plaintext
1827           auth = no will be the enforced behaviour.
1828
1829           Specifies whether a client should send a plaintext password if the
1830           server does not support encrypted passwords.
1831
1832           Default: client plaintext auth = no
1833
1834       client protection (G)
1835
1836           This parameter defines which protection Samba client tools should
1837           use by default.
1838
1839           Possible client settings are:
1840
1841default - Use the individual default values of the
1842                      options:
1843
1844client signing
1845
1846client smb encrypt
1847
1848
1849plain - This will send everything just as plaintext,
1850                      signing or encryption are turned off.
1851
1852sign - This will enable integrity checking.
1853
1854encrypt - This will enable integrity checks and force
1855                      encryption for privacy.
1856
1857           Default: client protection = default
1858
1859       client schannel (G)
1860
1861           This option is deprecated with Samba 4.8 and will be removed in
1862           future. At the same time the default changed to yes, which will be
1863           the hardcoded behavior in future.
1864
1865           This controls whether the client offers or even demands the use of
1866           the netlogon schannel.  client schannel = no does not offer the
1867           schannel, client schannel = auto offers the schannel but does not
1868           enforce it, and client schannel = yes denies access if the server
1869           is not able to speak netlogon schannel.
1870
1871           Note that for active directory domains this is hardcoded to client
1872           schannel = yes.
1873
1874           This option is over-ridden by the require strong key option.
1875
1876           Default: client schannel = yes
1877
1878           Example: client schannel = auto
1879
1880       client signing (G)
1881
1882           This controls whether the client is allowed or required to use SMB
1883           signing. Possible values are desired, required and disabled.
1884
1885           When set to desired or default, SMB signing is offered, but not
1886           enforced.
1887
1888           When set to required, SMB signing is mandatory and if set to
1889           disabled, SMB signing is not offered either.
1890
1891           IPC$ connections for DCERPC e.g. in winbindd, are handled by the
1892           client ipc signing option.
1893
1894           Default: client signing = default
1895
1896       client smb encrypt (G)
1897
1898           This parameter controls whether a client should try or is required
1899           to use SMB encryption. It has different effects depending on
1900           whether the connection uses SMB1 or SMB3:
1901
1902                  •   If the connection uses SMB1, then this option controls
1903                      the use of a Samba-specific extension to the SMB
1904                      protocol introduced in Samba 3.2 that makes use of the
1905                      Unix extensions.
1906
1907                  •   If the connection uses SMB2 or newer, then this option
1908                      controls the use of the SMB-level encryption that is
1909                      supported in SMB version 3.0 and above and available in
1910                      Windows 8 and newer.
1911
1912           This parameter can be set globally. Possible values are off,
1913           if_required, desired, and required. A special value is default
1914           which is the implicit default setting of if_required.
1915
1916           Effects for SMB1
1917               The Samba-specific encryption of SMB1 connections is an
1918               extension to the SMB protocol negotiated as part of the UNIX
1919               extensions. SMB encryption uses the GSSAPI (SSPI on Windows)
1920               ability to encrypt and sign every request/response in a SMB
1921               protocol stream. When enabled it provides a secure method of
1922               SMB/CIFS communication, similar to an ssh protected session,
1923               but using SMB/CIFS authentication to negotiate encryption and
1924               signing keys. Currently this is only supported smbclient of by
1925               Samba 3.2 and newer. Windows does not support this feature.
1926
1927               When set to default, SMB encryption is probed, but not
1928               enforced. When set to required, SMB encryption is required and
1929               if set to disabled, SMB encryption can not be negotiated.
1930
1931           Effects for SMB3 and newer
1932               Native SMB transport encryption is available in SMB version 3.0
1933               or newer. It is only used by Samba if client max protocol is
1934               set to SMB3 or newer.
1935
1936               These features can be controlled with settings of client smb
1937               encrypt as follows:
1938
1939                      •   Leaving it as default, explicitly setting default,
1940                          or setting it to if_required globally will enable
1941                          negotiation of encryption but will not turn on data
1942                          encryption globally.
1943
1944                      •   Setting it to desired globally will enable
1945                          negotiation and will turn on data encryption on
1946                          sessions and share connections for those servers
1947                          that support it.
1948
1949                      •   Setting it to required globally will enable
1950                          negotiation and turn on data encryption on sessions
1951                          and share connections. Clients that do not support
1952                          encryption will be denied access to the server.
1953
1954                      •   Setting it to off globally will completely disable
1955                          the encryption feature for all connections.
1956
1957
1958           Default: client smb encrypt = default
1959
1960       client smb3 encryption algorithms (G)
1961
1962           This parameter specifies the availability and order of encryption
1963           algorithms which are available for negotiation in the SMB3_11
1964           dialect.
1965
1966           It is also possible to remove individual algorithms from the
1967           default list, by prefixing them with '-'. This can avoid having to
1968           specify a hardcoded list.
1969
1970           Note: that the removal of AES-128-CCM from the list will result in
1971           SMB3_00 and SMB3_02 being unavailable, as it is the default and
1972           only available algorithm for these dialects.
1973
1974           Default: client smb3 encryption algorithms = AES-128-GCM,
1975           AES-128-CCM, AES-256-GCM, AES-256-CCM
1976
1977           Example: client smb3 encryption algorithms = AES-256-GCM
1978
1979           Example: client smb3 encryption algorithms = -AES-128-GCM
1980           -AES-128-CCM
1981
1982       client smb3 signing algorithms (G)
1983
1984           This parameter specifies the availability and order of signing
1985           algorithms which are available for negotiation in the SMB3_11
1986           dialect.
1987
1988           It is also possible to remove individual algorithms from the
1989           default list, by prefixing them with '-'. This can avoid having to
1990           specify a hardcoded list.
1991
1992           Note: that the removal of AES-128-CMAC from the list will result in
1993           SMB3_00 and SMB3_02 being unavailable, and the removal of
1994           HMAC-SHA256 will result in SMB2_02 and SMB2_10 being unavailable,
1995           as these are the default and only available algorithms for these
1996           dialects.
1997
1998           Default: client smb3 signing algorithms = AES-128-GMAC,
1999           AES-128-CMAC, HMAC-SHA256
2000
2001           Example: client smb3 signing algorithms = AES-128-CMAC, HMAC-SHA256
2002
2003           Example: client smb3 signing algorithms = -AES-128-CMAC
2004
2005       client use kerberos (G)
2006
2007           This parameter determines whether Samba client tools will try to
2008           authenticate using Kerberos. For Kerberos authentication you need
2009           to use dns names instead of IP addresses when connecting to a
2010           service.
2011
2012           Possible option settings are:
2013
2014desired - Kerberos authentication will be tried first
2015                      and if it fails it automatically fallback to NTLM.
2016
2017required - Kerberos authentication will be required.
2018                      There will be no falllback to NTLM or a different
2019                      alternative.
2020
2021off - Don't use Kerberos, use NTLM instead or another
2022                      alternative.
2023
2024           In case that weak cryptography is not allowed (e.g. FIPS mode) the
2025           default will be forced to required.
2026
2027           Default: client use kerberos = desired
2028
2029       client use spnego principal (G)
2030
2031           This parameter determines whether or not smbclient(8) and other
2032           samba components acting as a client will attempt to use the
2033           server-supplied principal sometimes given in the SPNEGO exchange.
2034
2035           If enabled, Samba can attempt to use Kerberos to contact servers
2036           known only by IP address. Kerberos relies on names, so ordinarily
2037           cannot function in this situation.
2038
2039           This is a VERY BAD IDEA for security reasons, and so this parameter
2040           SHOULD NOT BE USED. It will be removed in a future version of
2041           Samba.
2042
2043           If disabled, Samba will use the name used to look up the server
2044           when asking the KDC for a ticket. This avoids situations where a
2045           server may impersonate another, soliciting authentication as one
2046           principal while being known on the network as another.
2047
2048           Note that Windows XP SP2 and later versions already follow this
2049           behaviour, and Windows Vista and later servers no longer supply
2050           this 'rfc4178 hint' principal on the server side.
2051
2052           This parameter is deprecated in Samba 4.2.1 and will be removed
2053           (along with the functionality) in a later release of Samba.
2054
2055           Default: client use spnego principal = no
2056
2057       client use spnego (G)
2058
2059           This parameter has been deprecated since Samba 4.13 and support for
2060           NTLMv2, NTLM and LanMan authentication outside NTLMSSP will be
2061           removed in a future Samba release.
2062
2063           That is, in the future, the current default of client use spnego =
2064           yes will be the enforced behaviour.
2065
2066           This variable controls whether Samba clients will try to use Simple
2067           and Protected NEGOciation (as specified by rfc2478) with supporting
2068           servers (including WindowsXP, Windows2000 and Samba 3.0) to agree
2069           upon an authentication mechanism. This enables Kerberos
2070           authentication in particular.
2071
2072           When client NTLMv2 auth is also set to yes extended security
2073           (SPNEGO) is required in order to use NTLMv2 only within NTLMSSP.
2074           This behavior was introduced with the patches for CVE-2016-2111.
2075
2076           Default: client use spnego = yes
2077
2078       cluster addresses (G)
2079
2080           With this parameter you can add additional addresses that nmbd will
2081           register with a WINS server. Similarly, these addresses will be
2082           registered by default when net ads dns register is called with
2083           clustering = yes configured.
2084
2085           Default: cluster addresses =
2086
2087           Example: cluster addresses = 10.0.0.1 10.0.0.2 10.0.0.3
2088
2089       clustering (G)
2090
2091           This parameter specifies whether Samba should contact ctdb for
2092           accessing its tdb files and use ctdb as a backend for its messaging
2093           backend.
2094
2095           Set this parameter to yes only if you have a cluster setup with
2096           ctdb running.
2097
2098           Default: clustering = no
2099
2100       comment (S)
2101
2102           This is a text field that is seen next to a share when a client
2103           does a queries the server, either via the network neighborhood or
2104           via net view to list what shares are available.
2105
2106           If you want to set the string that is displayed next to the machine
2107           name then see the server string parameter.
2108
2109           Default: comment =  # No comment
2110
2111           Example: comment = Fred's Files
2112
2113       config backend (G)
2114
2115           This controls the backend for storing the configuration. Possible
2116           values are file (the default) and registry. When config backend =
2117           registry is encountered while loading smb.conf, the configuration
2118           read so far is dropped and the global options are read from
2119           registry instead. So this triggers a registry only configuration.
2120           Share definitions are not read immediately but instead registry
2121           shares is set to yes.
2122
2123           Note: This option can not be set inside the registry configuration
2124           itself.
2125
2126           Default: config backend = file
2127
2128           Example: config backend = registry
2129
2130       config file (G)
2131
2132           This allows you to override the config file to use, instead of the
2133           default (usually smb.conf). There is a chicken and egg problem here
2134           as this option is set in the config file!
2135
2136           For this reason, if the name of the config file has changed when
2137           the parameters are loaded then it will reload them from the new
2138           config file.
2139
2140           This option takes the usual substitutions, which can be very
2141           useful.
2142
2143           If the config file doesn't exist then it won't be loaded (allowing
2144           you to special case the config files of just a few clients).
2145
2146           No default
2147
2148           Example: config file = /usr/local/samba/lib/smb.conf.%m
2149
2150       copy (S)
2151
2152           This parameter allows you to "clone" service entries. The specified
2153           service is simply duplicated under the current service's name. Any
2154           parameters specified in the current section will override those in
2155           the section being copied.
2156
2157           This feature lets you set up a 'template' service and create
2158           similar services easily. Note that the service being copied must
2159           occur earlier in the configuration file than the service doing the
2160           copying.
2161
2162           Default: copy =
2163
2164           Example: copy = otherservice
2165
2166       create krb5 conf (G)
2167
2168           Setting this parameter to no prevents winbind from creating custom
2169           krb5.conf files. Winbind normally does this because the krb5
2170           libraries are not AD-site-aware and thus would pick any domain
2171           controller out of potentially very many. Winbind is site-aware and
2172           makes the krb5 libraries use a local DC by creating its own
2173           krb5.conf files.
2174
2175           Preventing winbind from doing this might become necessary if you
2176           have to add special options into your system-krb5.conf that winbind
2177           does not see.
2178
2179           Default: create krb5 conf = yes
2180
2181       create mode
2182
2183           This parameter is a synonym for create mask.
2184
2185       create mask (S)
2186
2187           When a file is created, the necessary permissions are calculated
2188           according to the mapping from DOS modes to UNIX permissions, and
2189           the resulting UNIX mode is then bit-wise 'AND'ed with this
2190           parameter. This parameter may be thought of as a bit-wise MASK for
2191           the UNIX modes of a file. Any bit not set here will be removed from
2192           the modes set on a file when it is created.
2193
2194           The default value of this parameter removes the group and other
2195           write and execute bits from the UNIX modes.
2196
2197           Following this Samba will bit-wise 'OR' the UNIX mode created from
2198           this parameter with the value of the force create mode parameter
2199           which is set to 000 by default.
2200
2201           This parameter does not affect directory masks. See the parameter
2202           directory mask for details.
2203
2204           Default: create mask = 0744
2205
2206           Example: create mask = 0775
2207
2208       csc policy (S)
2209
2210           This stands for client-side caching policy, and specifies how
2211           clients capable of offline caching will cache the files in the
2212           share. The valid values are: manual, documents, programs, disable.
2213
2214           These values correspond to those used on Windows servers.
2215
2216           For example, shares containing roaming profiles can have offline
2217           caching disabled using csc policy = disable.
2218
2219           Default: csc policy = manual
2220
2221           Example: csc policy = programs
2222
2223       ctdbd socket (G)
2224
2225           If you set clustering=yes, you need to tell Samba where ctdbd
2226           listens on its unix domain socket. The default path as of ctdb 1.0
2227           is /tmp/ctdb.socket which you have to explicitly set for Samba in
2228           smb.conf.
2229
2230           Default: ctdbd socket =
2231
2232           Example: ctdbd socket = /tmp/ctdb.socket
2233
2234       ctdb locktime warn threshold (G)
2235
2236           In a cluster environment using Samba and ctdb it is critical that
2237           locks on central ctdb-hosted databases like locking.tdb are not
2238           held for long. With the current Samba architecture it happens that
2239           Samba takes a lock and while holding that lock makes file system
2240           calls into the shared cluster file system. This option makes Samba
2241           warn if it detects that it has held locks for the specified number
2242           of milliseconds. If this happens, smbd will emit a debug level 0
2243           message into its logs and potentially into syslog. The most likely
2244           reason for such a log message is that an operation of the cluster
2245           file system Samba exports is taking longer than expected. The
2246           messages are meant as a debugging aid for potential cluster
2247           problems.
2248
2249           The default value of 0 disables this logging.
2250
2251           Default: ctdb locktime warn threshold = 0
2252
2253       ctdb timeout (G)
2254
2255           This parameter specifies a timeout in milliseconds for the
2256           connection between Samba and ctdb. It is only valid if you have
2257           compiled Samba with clustering and if you have set clustering=yes.
2258
2259           When something in the cluster blocks, it can happen that we wait
2260           indefinitely long for ctdb, just adding to the blocking condition.
2261           In a well-running cluster this should never happen, but there are
2262           too many components in a cluster that might have hickups. Choosing
2263           the right balance for this value is very tricky, because on a busy
2264           cluster long service times to transfer something across the cluster
2265           might be valid. Setting it too short will degrade the service your
2266           cluster presents, setting it too long might make the cluster itself
2267           not recover from something severely broken for too long.
2268
2269           Be aware that if you set this parameter, this needs to be in the
2270           file smb.conf, it is not really helpful to put this into a registry
2271           configuration (typical on a cluster), because to access the
2272           registry contact to ctdb is required.
2273
2274           Setting ctdb timeout to n makes any process waiting longer than n
2275           milliseconds for a reply by the cluster panic. Setting it to 0 (the
2276           default) makes Samba block forever, which is the highly recommended
2277           default.
2278
2279           Default: ctdb timeout = 0
2280
2281       cups connection timeout (G)
2282
2283           This parameter is only applicable if printing is set to cups.
2284
2285           If set, this option specifies the number of seconds that smbd will
2286           wait whilst trying to contact to the CUPS server. The connection
2287           will fail if it takes longer than this number of seconds.
2288
2289           Default: cups connection timeout = 30
2290
2291           Example: cups connection timeout = 60
2292
2293       cups encrypt (G)
2294
2295           This parameter is only applicable if printing is set to cups and if
2296           you use CUPS newer than 1.0.x.It is used to define whether or not
2297           Samba should use encryption when talking to the CUPS server.
2298           Possible values are auto, yes and no
2299
2300           When set to auto we will try to do a TLS handshake on each CUPS
2301           connection setup. If that fails, we will fall back to unencrypted
2302           operation.
2303
2304           Default: cups encrypt = no
2305
2306       cups options (S)
2307
2308           This parameter is only applicable if printing is set to cups. Its
2309           value is a free form string of options passed directly to the cups
2310           library.
2311
2312           You can pass any generic print option known to CUPS (as listed in
2313           the CUPS "Software Users' Manual"). You can also pass any printer
2314           specific option (as listed in "lpoptions -d printername -l") valid
2315           for the target queue. Multiple parameters should be space-delimited
2316           name/value pairs according to the PAPI text option ABNF
2317           specification. Collection values ("name={a=... b=... c=...}") are
2318           stored with the curley brackets intact.
2319
2320           You should set this parameter to raw if your CUPS server error_log
2321           file contains messages such as "Unsupported format
2322           'application/octet-stream'" when printing from a Windows client
2323           through Samba. It is no longer necessary to enable system wide raw
2324           printing in /etc/cups/mime.{convs,types}.
2325
2326           Default: cups options = ""
2327
2328           Example: cups options = "raw media=a4"
2329
2330       cups server (G)
2331
2332           This parameter is only applicable if printing is set to cups.
2333
2334           If set, this option overrides the ServerName option in the CUPS
2335           client.conf. This is necessary if you have virtual samba servers
2336           that connect to different CUPS daemons.
2337
2338           Optionally, a port can be specified by separating the server name
2339           and port number with a colon. If no port was specified, the default
2340           port for IPP (631) will be used.
2341
2342           Default: cups server = ""
2343
2344           Example: cups server = mycupsserver
2345
2346           Example: cups server = mycupsserver:1631
2347
2348       dcerpc endpoint servers (G)
2349
2350           Specifies which DCE/RPC endpoint servers should be run.
2351
2352           Default: dcerpc endpoint servers = epmapper, wkssvc, samr,
2353           netlogon, lsarpc, drsuapi, dssetup, unixinfo, browser, eventlog6,
2354           backupkey, dnsserver
2355
2356           Example: dcerpc endpoint servers = rpcecho
2357
2358       deadtime (G)
2359
2360           The value of the parameter (a decimal integer) represents the
2361           number of minutes of inactivity before a connection is considered
2362           dead, and it is disconnected. The deadtime only takes effect if the
2363           number of open files is zero.
2364
2365           This is useful to stop a server's resources being exhausted by a
2366           large number of inactive connections.
2367
2368           Most clients have an auto-reconnect feature when a connection is
2369           broken so in most cases this parameter should be transparent to
2370           users.
2371
2372           Using this parameter with a timeout of a few minutes is recommended
2373           for most systems.
2374
2375           A deadtime of zero indicates that no auto-disconnection should be
2376           performed.
2377
2378           Default: deadtime = 10080
2379
2380           Example: deadtime = 15
2381
2382       debug class (G)
2383
2384           With this boolean parameter enabled, the debug class (DBGC_CLASS)
2385           will be displayed in the debug header.
2386
2387           For more information about currently available debug classes, see
2388           section about log level.
2389
2390           Default: debug class = no
2391
2392       debug encryption (G)
2393
2394           This option will make the smbd server and client code using libsmb
2395           (smbclient, smbget, smbspool, ...) dump the Session Id, the
2396           decrypted Session Key, the Signing Key, the Application Key, the
2397           Encryption Key and the Decryption Key every time an SMB3+ session
2398           is established. This information will be printed in logs at level
2399           0.
2400
2401           Warning: access to these values enables the decryption of any
2402           encrypted traffic on the dumped sessions. This option should only
2403           be enabled for debugging purposes.
2404
2405           Default: debug encryption = no
2406
2407       debug hires timestamp (G)
2408
2409           Sometimes the timestamps in the log messages are needed with a
2410           resolution of higher that seconds, this boolean parameter adds
2411           microsecond resolution to the timestamp message header when turned
2412           on.
2413
2414           Note that the parameter debug timestamp or debug syslog format must
2415           be on for this to have an effect.
2416
2417           Default: debug hires timestamp = yes
2418
2419       debug pid (G)
2420
2421           When using only one log file for more then one forked
2422           smbd(8)-process there may be hard to follow which process outputs
2423           which message. This boolean parameter is adds the process-id to the
2424           timestamp message headers in the logfile when turned on.
2425
2426           Note that the parameter debug timestamp must be on for this to have
2427           an effect.
2428
2429           Default: debug pid = no
2430
2431       debug prefix timestamp (G)
2432
2433           With this option enabled, the timestamp message header is prefixed
2434           to the debug message without the filename and function information
2435           that is included with the debug timestamp parameter. This gives
2436           timestamps to the messages without adding an additional line.
2437
2438           Note that this parameter overrides the debug timestamp parameter.
2439
2440           Default: debug prefix timestamp = no
2441
2442       debug syslog format (G)
2443
2444           With this option enabled, debug messages are printed in a
2445           single-line format like that traditionally produced by syslog. The
2446           timestamp consists of an abbreviated month, space-padded date, and
2447           time including seconds. This is followed by the hostname and the
2448           program name, with the process-ID in square brackets.
2449
2450           If debug hires timestamp is also enabled then an RFC5424 timestamp
2451           is used instead.
2452
2453           Default: debug syslog format = no
2454
2455       winbind debug traceid (G)
2456
2457           With this boolean parameter enabled, the per request unique traceid
2458           will be displayed in the debug header for winbind processes.
2459
2460           Default: winbind debug traceid = no
2461
2462       debug uid (G)
2463
2464           Samba is sometimes run as root and sometime run as the connected
2465           user, this boolean parameter inserts the current euid, egid, uid
2466           and gid to the timestamp message headers in the log file if turned
2467           on.
2468
2469           Note that the parameter debug timestamp must be on for this to have
2470           an effect.
2471
2472           Default: debug uid = no
2473
2474       dedicated keytab file (G)
2475
2476           Specifies the absolute path to the kerberos keytab file when
2477           kerberos method is set to "dedicated keytab".
2478
2479           Default: dedicated keytab file =
2480
2481           Example: dedicated keytab file = /usr/local/etc/krb5.keytab
2482
2483       default case (S)
2484
2485           See the section on name mangling. Also note the short preserve case
2486           parameter.
2487
2488           Default: default case = lower
2489
2490       default devmode (S)
2491
2492           This parameter is only applicable to printable services. When smbd
2493           is serving Printer Drivers to Windows NT/2k/XP clients, each
2494           printer on the Samba server has a Device Mode which defines things
2495           such as paper size and orientation and duplex settings. The device
2496           mode can only correctly be generated by the printer driver itself
2497           (which can only be executed on a Win32 platform). Because smbd is
2498           unable to execute the driver code to generate the device mode, the
2499           default behavior is to set this field to NULL.
2500
2501           Most problems with serving printer drivers to Windows NT/2k/XP
2502           clients can be traced to a problem with the generated device mode.
2503           Certain drivers will do things such as crashing the client's
2504           Explorer.exe with a NULL devmode. However, other printer drivers
2505           can cause the client's spooler service (spoolsv.exe) to die if the
2506           devmode was not created by the driver itself (i.e. smbd generates a
2507           default devmode).
2508
2509           This parameter should be used with care and tested with the printer
2510           driver in question. It is better to leave the device mode to NULL
2511           and let the Windows client set the correct values. Because drivers
2512           do not do this all the time, setting default devmode = yes will
2513           instruct smbd to generate a default one.
2514
2515           For more information on Windows NT/2k printing and Device Modes,
2516           see the MSDN documentation.
2517
2518           Default: default devmode = yes
2519
2520       default
2521
2522           This parameter is a synonym for default service.
2523
2524       default service (G)
2525
2526           This parameter specifies the name of a service which will be
2527           connected to if the service actually requested cannot be found.
2528           Note that the square brackets are NOT given in the parameter value
2529           (see example below).
2530
2531           There is no default value for this parameter. If this parameter is
2532           not given, attempting to connect to a nonexistent service results
2533           in an error.
2534
2535           Typically the default service would be a guest ok, read only
2536           service.
2537
2538           Also note that the apparent service name will be changed to equal
2539           that of the requested service, this is very useful as it allows you
2540           to use macros like %S to make a wildcard service.
2541
2542           Note also that any "_" characters in the name of the service used
2543           in the default service will get mapped to a "/". This allows for
2544           interesting things.
2545
2546           Default: default service =
2547
2548           Example: default service = pub
2549
2550       defer sharing violations (G)
2551
2552           Windows allows specifying how a file will be shared with other
2553           processes when it is opened. Sharing violations occur when a file
2554           is opened by a different process using options that violate the
2555           share settings specified by other processes. This parameter causes
2556           smbd to act as a Windows server does, and defer returning a
2557           "sharing violation" error message for up to one second, allowing
2558           the client to close the file causing the violation in the meantime.
2559
2560           UNIX by default does not have this behaviour.
2561
2562           There should be no reason to turn off this parameter, as it is
2563           designed to enable Samba to more correctly emulate Windows.
2564
2565           Default: defer sharing violations = yes
2566
2567       delete group script (G)
2568
2569           This is the full pathname to a script that will be run AS ROOT by
2570           smbd(8) when a group is requested to be deleted. It will expand any
2571           %g to the group name passed. This script is only useful for
2572           installations using the Windows NT domain administration tools.
2573
2574           Default: delete group script =
2575
2576       deleteprinter command (G)
2577
2578           With the introduction of MS-RPC based printer support for Windows
2579           NT/2000 clients in Samba 2.2, it is now possible to delete a
2580           printer at run time by issuing the DeletePrinter() RPC call.
2581
2582           For a Samba host this means that the printer must be physically
2583           deleted from the underlying printing system. The deleteprinter
2584           command defines a script to be run which will perform the necessary
2585           operations for removing the printer from the print system and from
2586           smb.conf.
2587
2588           The deleteprinter command is automatically called with only one
2589           parameter: printer name.
2590
2591           Once the deleteprinter command has been executed, smbd will reparse
2592           the smb.conf to check that the associated printer no longer exists.
2593           If the sharename is still valid, then smbd will return an
2594           ACCESS_DENIED error to the client.
2595
2596           Default: deleteprinter command =
2597
2598           Example: deleteprinter command = /usr/bin/removeprinter
2599
2600       delete readonly (S)
2601
2602           This parameter allows readonly files to be deleted. This is not
2603           normal DOS semantics, but is allowed by UNIX.
2604
2605           This option may be useful for running applications such as rcs,
2606           where UNIX file ownership prevents changing file permissions, and
2607           DOS semantics prevent deletion of a read only file.
2608
2609           Default: delete readonly = no
2610
2611       delete share command (G)
2612
2613           Samba 2.2.0 introduced the ability to dynamically add and delete
2614           shares via the Windows NT 4.0 Server Manager. The delete share
2615           command is used to define an external program or script which will
2616           remove an existing service definition from smb.conf.
2617
2618           In order to successfully execute the delete share command, smbd
2619           requires that the administrator connects using a root account (i.e.
2620           uid == 0) or has the SeDiskOperatorPrivilege. Scripts defined in
2621           the delete share command parameter are executed as root.
2622
2623           When executed, smbd will automatically invoke the delete share
2624           command with two parameters.
2625
2626configFile - the location of the global smb.conf file.
2627
2628shareName - the name of the existing service.
2629
2630           This parameter is only used to remove file shares. To delete
2631           printer shares, see the deleteprinter command.
2632
2633           Default: delete share command =
2634
2635           Example: delete share command = /usr/local/bin/delshare
2636
2637       delete user from group script (G)
2638
2639           Full path to the script that will be called when a user is removed
2640           from a group using the Windows NT domain administration tools. It
2641           will be run by smbd(8) AS ROOT. Any %g will be replaced with the
2642           group name and any %u will be replaced with the user name.
2643
2644           Default: delete user from group script =
2645
2646           Example: delete user from group script = /usr/sbin/deluser %u %g
2647
2648       delete user script (G)
2649
2650           This is the full pathname to a script that will be run by smbd(8)
2651           when managing users with remote RPC (NT) tools.
2652
2653           This script is called when a remote client removes a user from the
2654           server, normally using 'User Manager for Domains' or rpcclient.
2655
2656           This script should delete the given UNIX username.
2657
2658           Default: delete user script =
2659
2660           Example: delete user script = /usr/local/samba/bin/del_user %u
2661
2662       delete veto files (S)
2663
2664           This option is used when Samba is attempting to delete a directory
2665           that contains one or more vetoed files or directories or
2666           non-visible files or directories (such as dangling symlinks that
2667           point nowhere). (see the veto files, hide special files, hide
2668           unreadable, hide unwriteable files options). If this option is set
2669           to no (the default) then if a vetoed directory contains any
2670           non-vetoed files or directories then the directory delete will
2671           fail. This is usually what you want.
2672
2673           If this option is set to yes, then Samba will attempt to
2674           recursively delete any files and directories within the vetoed
2675           directory. This can be useful for integration with file serving
2676           systems such as NetAtalk which create meta-files within directories
2677           you might normally veto DOS/Windows users from seeing (e.g.
2678           .AppleDouble)
2679
2680           Setting delete veto files = yes allows these directories to be
2681           transparently deleted when the parent directory is deleted (so long
2682           as the user has permissions to do so).
2683
2684           Default: delete veto files = no
2685
2686       dfree cache time (S)
2687
2688           The dfree cache time should only be used on systems where a problem
2689           occurs with the internal disk space calculations. This has been
2690           known to happen with Ultrix, but may occur with other operating
2691           systems. The symptom that was seen was an error of "Abort Retry
2692           Ignore" at the end of each directory listing.
2693
2694           This is a new parameter introduced in Samba version 3.0.21. It
2695           specifies in seconds the time that smbd will cache the output of a
2696           disk free query. If set to zero (the default) no caching is done.
2697           This allows a heavily loaded server to prevent rapid spawning of
2698           dfree command scripts increasing the load.
2699
2700           By default this parameter is zero, meaning no caching will be done.
2701
2702           No default
2703
2704           Example: dfree cache time = 60
2705
2706       dfree command (S)
2707
2708           The dfree command setting should only be used on systems where a
2709           problem occurs with the internal disk space calculations. This has
2710           been known to happen with Ultrix, but may occur with other
2711           operating systems. The symptom that was seen was an error of "Abort
2712           Retry Ignore" at the end of each directory listing.
2713
2714           This setting allows the replacement of the internal routines to
2715           calculate the total disk space and amount available with an
2716           external routine. The example below gives a possible script that
2717           might fulfill this function.
2718
2719           In Samba version 3.0.21 this parameter has been changed to be a
2720           per-share parameter, and in addition the parameter dfree cache time
2721           was added to allow the output of this script to be cached for
2722           systems under heavy load.
2723
2724           The external program will be passed a single parameter indicating a
2725           directory in the filesystem being queried. This will typically
2726           consist of the string ./. The script should return two integers in
2727           ASCII. The first should be the total disk space in blocks, and the
2728           second should be the number of available blocks. An optional third
2729           return value can give the block size in bytes. The default
2730           blocksize is 1024 bytes.
2731
2732           Note: Your script should NOT be setuid or setgid and should be
2733           owned by (and writeable only by) root!
2734
2735           Where the script dfree (which must be made executable) could be:
2736
2737
2738               #!/bin/sh
2739               df "$1" | tail -1 | awk '{print $(NF-4),$(NF-2)}'
2740
2741           or perhaps (on Sys V based systems):
2742
2743
2744               #!/bin/sh
2745               /usr/bin/df -k "$1" | tail -1 | awk '{print $3" "$5}'
2746
2747           Note that you may have to replace the command names with full path
2748           names on some systems. Also note the arguments passed into the
2749           script should be quoted inside the script in case they contain
2750           special characters such as spaces or newlines.
2751
2752           By default internal routines for determining the disk capacity and
2753           remaining space will be used.
2754
2755           No default
2756
2757           Example: dfree command = /usr/local/samba/bin/dfree
2758
2759       dgram port (G)
2760
2761           Specifies which ports the server should listen on for NetBIOS
2762           datagram traffic.
2763
2764           Default: dgram port = 138
2765
2766       directory mode
2767
2768           This parameter is a synonym for directory mask.
2769
2770       directory mask (S)
2771
2772           This parameter is the octal modes which are used when converting
2773           DOS modes to UNIX modes when creating UNIX directories.
2774
2775           When a directory is created, the necessary permissions are
2776           calculated according to the mapping from DOS modes to UNIX
2777           permissions, and the resulting UNIX mode is then bit-wise 'AND'ed
2778           with this parameter. This parameter may be thought of as a bit-wise
2779           MASK for the UNIX modes of a directory. Any bit not set here will
2780           be removed from the modes set on a directory when it is created.
2781
2782           The default value of this parameter removes the 'group' and 'other'
2783           write bits from the UNIX mode, allowing only the user who owns the
2784           directory to modify it.
2785
2786           Following this Samba will bit-wise 'OR' the UNIX mode created from
2787           this parameter with the value of the force directory mode
2788           parameter. This parameter is set to 000 by default (i.e. no extra
2789           mode bits are added).
2790
2791           Default: directory mask = 0755
2792
2793           Example: directory mask = 0775
2794
2795       directory name cache size (S)
2796
2797           This parameter specifies the size of the directory name cache for
2798           SMB1 connections. It is not used for SMB2. It will be needed to
2799           turn this off for *BSD systems.
2800
2801           Default: directory name cache size = 100
2802
2803       directory security mask (S)
2804
2805           This parameter has been removed for Samba 4.0.0.
2806
2807           No default
2808
2809       disable netbios (G)
2810
2811           Enabling this parameter will disable netbios support in Samba.
2812           Netbios is the only available form of browsing in Windows versions
2813           prior to Windows 2000.
2814
2815               Note
2816               Clients that only support netbios won't be able to see your
2817               samba server when netbios support is disabled.
2818           Default: disable netbios = no
2819
2820       disable spoolss (G)
2821
2822           Enabling this parameter will disable Samba's support for the
2823           SPOOLSS set of MS-RPC's and will yield identical behavior as Samba
2824           2.0.x. Windows NT/2000 clients will downgrade to using Lanman style
2825           printing commands. Windows 9x/ME will be unaffected by the
2826           parameter. However, this will also disable the ability to upload
2827           printer drivers to a Samba server via the Windows NT Add Printer
2828           Wizard or by using the NT printer properties dialog window. It will
2829           also disable the capability of Windows NT/2000 clients to download
2830           print drivers from the Samba host upon demand.  Be very careful
2831           about enabling this parameter.
2832
2833           Default: disable spoolss = no
2834
2835       dmapi support (S)
2836
2837           This parameter specifies whether Samba should use DMAPI to
2838           determine whether a file is offline or not. This would typically be
2839           used in conjunction with a hierarchical storage system that
2840           automatically migrates files to tape.
2841
2842           Note that Samba infers the status of a file by examining the events
2843           that a DMAPI application has registered interest in. This heuristic
2844           is satisfactory for a number of hierarchical storage systems, but
2845           there may be system for which it will fail. In this case, Samba may
2846           erroneously report files to be offline.
2847
2848           This parameter is only available if a supported DMAPI
2849           implementation was found at compilation time. It will only be used
2850           if DMAPI is found to enabled on the system at run time.
2851
2852           Default: dmapi support = no
2853
2854       dns forwarder (G)
2855
2856           This option specifies the list of DNS servers that DNS requests
2857           will be forwarded to if they can not be handled by Samba itself.
2858
2859           The DNS forwarder is only used if the internal DNS server in Samba
2860           is used. Port numbers can be appended by separating them from the
2861           address by using a colon (':'). When specifying a port, IPv6
2862           addresses must be enclosed in square brackets ('[' and ']'). IPv6
2863           forwarder addresses with no port specified, don't need the square
2864           brackets, and default to port 53.
2865
2866           Default: dns forwarder =
2867
2868           Example: dns forwarder = 192.168.0.1 192.168.0.2 ::1 [2001:db8::1]
2869           [2001:db8:1:2::1]:54
2870
2871       dns port (G)
2872
2873           Specifies which ports the server should listen on for DNS traffic.
2874
2875           It makes possible to use another DNS server as a front and forward
2876           to Samba.
2877
2878               Warning
2879               Dynamic DNS updates may not be proxied by the front DNS server
2880               when forwarding to Samba. Dynamic DNS update proxying depends
2881               on the features of the other DNS server used as a front.
2882           Default: dns port = 53
2883
2884       dns proxy (G)
2885
2886           Specifies that nmbd(8) when acting as a WINS server and finding
2887           that a NetBIOS name has not been registered, should treat the
2888           NetBIOS name word-for-word as a DNS name and do a lookup with the
2889           DNS server for that name on behalf of the name-querying client.
2890
2891           Note that the maximum length for a NetBIOS name is 15 characters,
2892           so the DNS name (or DNS alias) can likewise only be 15 characters,
2893           maximum.
2894
2895           nmbd spawns a second copy of itself to do the DNS name lookup
2896           requests, as doing a name lookup is a blocking action.
2897
2898           Default: dns proxy = yes
2899
2900       dns update command (G)
2901
2902           This option sets the command that is called when there are DNS
2903           updates. It should update the local machines DNS names using
2904           TSIG-GSS.
2905
2906           Default: dns update command =
2907           /builddir/build/BUILD/samba-4.18.9/source4/scripting/bin/samba_dnsupdate
2908
2909           Example: dns update command = /usr/local/sbin/dnsupdate
2910
2911       dns zone scavenging (G)
2912
2913           When enabled (the default is disabled) unused dynamic dns records
2914           are periodically removed.
2915
2916               Warning
2917               This option should not be enabled for installations created
2918               with versions of samba before 4.9. Doing this will result in
2919               the loss of static DNS entries. This is due to a bug in
2920               previous versions of samba (BUG 12451) which marked dynamic DNS
2921               records as static and static records as dynamic.
2922
2923               Note
2924               If one record for a DNS name is static (non-aging) then no
2925               other record for that DNS name will be scavenged.
2926           Default: dns zone scavenging = no
2927
2928       dns zone transfer clients allow (G)
2929
2930           This option specifies the list of IPs authorized to ask for dns
2931           zone transfer from bind DLZ module.
2932
2933           The IP list is comma and space separated and specified in the same
2934           syntax as used in hosts allow, specifically including IP address,
2935           IP prefixes and IP address masks.
2936
2937           As this is a DNS server option, hostnames are naturally not
2938           permitted.
2939
2940           The default behaviour is to deny any request. A request will be
2941           authorized only if the emitting client is identified in this list,
2942           and not in dns zone transfer clients deny
2943
2944           Default: dns zone transfer clients allow =
2945
2946           Example: dns zone transfer clients allow = 192.168.0.1
2947
2948       dns zone transfer clients deny (G)
2949
2950           This option specifies the list of IPs denied to ask for dns zone
2951           transfer from bind DLZ module.
2952
2953           The IP list is comma and space separated and specified in the same
2954           syntax as used in hosts allow, specifically including IP address,
2955           IP prefixes and IP address masks.
2956
2957           As this is a DNS server option, hostnames are naturally not
2958           permitted.
2959
2960           If a client identified in this list sends a zone transfer request,
2961           it will always be denied, even if they are in dns zone transfer
2962           clients allow. This allows the definition of specific denied
2963           clients within an authorized subnet.
2964
2965           Default: dns zone transfer clients deny =
2966
2967           Example: dns zone transfer clients deny = 192.168.0.1
2968
2969       domain logons (G)
2970
2971           This parameter has been deprecated since Samba 4.13 and support for
2972           NT4-style domain logons(as distinct from the Samba AD DC) will be
2973           removed in a future Samba release.
2974
2975           That is, in the future, the current default of domain logons = no
2976           will be the enforced behaviour.
2977
2978           If set to yes, the Samba server will provide the netlogon service
2979           for Windows 9X network logons for the workgroup it is in. This will
2980           also cause the Samba server to act as a domain controller for NT4
2981           style domain services. For more details on setting up this feature
2982           see the Domain Control chapter of the Samba HOWTO Collection.
2983
2984           Default: domain logons = no
2985
2986       domain master (G)
2987
2988           Tell smbd(8) to enable WAN-wide browse list collation. Setting this
2989           option causes nmbd to claim a special domain specific NetBIOS name
2990           that identifies it as a domain master browser for its given
2991           workgroup. Local master browsers in the same workgroup on
2992           broadcast-isolated subnets will give this nmbd their local browse
2993           lists, and then ask smbd(8) for a complete copy of the browse list
2994           for the whole wide area network. Browser clients will then contact
2995           their local master browser, and will receive the domain-wide browse
2996           list, instead of just the list for their broadcast-isolated subnet.
2997
2998           Note that Windows NT Primary Domain Controllers expect to be able
2999           to claim this workgroup specific special NetBIOS name that
3000           identifies them as domain master browsers for that workgroup by
3001           default (i.e. there is no way to prevent a Windows NT PDC from
3002           attempting to do this). This means that if this parameter is set
3003           and nmbd claims the special name for a workgroup before a Windows
3004           NT PDC is able to do so then cross subnet browsing will behave
3005           strangely and may fail.
3006
3007           If domain logons = yes, then the default behavior is to enable the
3008           domain master parameter. If domain logons is not enabled (the
3009           default setting), then neither will domain master be enabled by
3010           default.
3011
3012           When domain logons = Yes the default setting for this parameter is
3013           Yes, with the result that Samba will be a PDC. If domain master =
3014           No, Samba will function as a BDC. In general, this parameter should
3015           be set to 'No' only on a BDC.
3016
3017           Default: domain master = auto
3018
3019       dont descend (S)
3020
3021           There are certain directories on some systems (e.g., the /proc tree
3022           under Linux) that are either not of interest to clients or are
3023           infinitely deep (recursive). This parameter allows you to specify a
3024           comma-delimited list of directories that the server should always
3025           show as empty.
3026
3027           Note that Samba can be very fussy about the exact format of the
3028           "dont descend" entries. For example you may need ./proc instead of
3029           just /proc. Experimentation is the best policy :-)
3030
3031           Default: dont descend =
3032
3033           Example: dont descend = /proc,/dev
3034
3035       dos charset (G)
3036
3037           DOS SMB clients assume the server has the same charset as they do.
3038           This option specifies which charset Samba should talk to DOS
3039           clients.
3040
3041           The default depends on which charsets you have installed. Samba
3042           tries to use charset 850 but falls back to ASCII in case it is not
3043           available. Run testparm(1) to check the default on your system.
3044
3045           No default
3046
3047       dos filemode (S)
3048
3049           The default behavior in Samba is to provide UNIX-like behavior
3050           where only the owner of a file/directory is able to change the
3051           permissions on it. However, this behavior is often confusing to
3052           DOS/Windows users. Enabling this parameter allows a user who has
3053           write access to the file (by whatever means, including an ACL
3054           permission) to modify the permissions (including ACL) on it. Note
3055           that a user belonging to the group owning the file will not be
3056           allowed to change permissions if the group is only granted read
3057           access. Ownership of the file/directory may also be changed. Note
3058           that using the VFS modules acl_xattr or acl_tdb which store native
3059           Windows as meta-data will automatically turn this option on for any
3060           share for which they are loaded, as they require this option to
3061           emulate Windows ACLs correctly.
3062
3063           Default: dos filemode = no
3064
3065       dos filetime resolution (S)
3066
3067           Under the DOS and Windows FAT filesystem, the finest granularity on
3068           time resolution is two seconds. Setting this parameter for a share
3069           causes Samba to round the reported time down to the nearest two
3070           second boundary when a query call that requires one second
3071           resolution is made to smbd(8).
3072
3073           This option is mainly used as a compatibility option for Visual C++
3074           when used against Samba shares. If oplocks are enabled on a share,
3075           Visual C++ uses two different time reading calls to check if a file
3076           has changed since it was last read. One of these calls uses a
3077           one-second granularity, the other uses a two second granularity. As
3078           the two second call rounds any odd second down, then if the file
3079           has a timestamp of an odd number of seconds then the two timestamps
3080           will not match and Visual C++ will keep reporting the file has
3081           changed. Setting this option causes the two timestamps to match,
3082           and Visual C++ is happy.
3083
3084           Default: dos filetime resolution = no
3085
3086       dos filetimes (S)
3087
3088           Under DOS and Windows, if a user can write to a file they can
3089           change the timestamp on it. Under POSIX semantics, only the owner
3090           of the file or root may change the timestamp. By default, Samba
3091           emulates the DOS semantics and allows one to change the timestamp
3092           on a file if the user smbd is acting on behalf has write
3093           permissions. Due to changes in Microsoft Office 2000 and beyond,
3094           the default for this parameter has been changed from "no" to "yes"
3095           in Samba 3.0.14 and above. Microsoft Excel will display dialog box
3096           warnings about the file being changed by another user if this
3097           parameter is not set to "yes" and files are being shared between
3098           users.
3099
3100           Default: dos filetimes = yes
3101
3102       dsdb event notification (G)
3103
3104           When enabled, this option causes Samba (acting as an Active
3105           Directory Domain Controller) to stream Samba database events across
3106           the internal message bus. Scripts built using Samba's python
3107           bindings can listen to these events by registering as the service
3108           dsdb_event.
3109
3110           This is not needed for the audit logging described in log level.
3111
3112           Instead, this should instead be considered a developer option (it
3113           assists in the Samba testsuite) rather than a facility for external
3114           auditing, as message delivery is not guaranteed (a feature that the
3115           testsuite works around).
3116
3117           The Samba database events are also logged via the normal logging
3118           methods when the log level is set appropriately, say to
3119           dsdb_json_audit:5.
3120
3121           Default: dsdb event notification = no
3122
3123       dsdb group change notification (G)
3124
3125           When enabled, this option causes Samba (acting as an Active
3126           Directory Domain Controller) to stream group membership change
3127           events across the internal message bus. Scripts built using Samba's
3128           python bindings can listen to these events by registering as the
3129           service dsdb_group_event.
3130
3131           This is not needed for the audit logging described in log level.
3132
3133           Instead, this should instead be considered a developer option (it
3134           assists in the Samba testsuite) rather than a facility for external
3135           auditing, as message delivery is not guaranteed (a feature that the
3136           testsuite works around).
3137
3138           The Samba database events are also logged via the normal logging
3139           methods when the log level is set appropriately, say to
3140           dsdb_group_json_audit:5.
3141
3142           Default: dsdb group change notification = no
3143
3144       dsdb password event notification (G)
3145
3146           When enabled, this option causes Samba (acting as an Active
3147           Directory Domain Controller) to stream password change and reset
3148           events across the internal message bus. Scripts built using Samba's
3149           python bindings can listen to these events by registering as the
3150           service password_event.
3151
3152           This is not needed for the audit logging described in log level.
3153
3154           Instead, this should instead be considered a developer option (it
3155           assists in the Samba testsuite) rather than a facility for external
3156           auditing, as message delivery is not guaranteed (a feature that the
3157           testsuite works around).
3158
3159           The Samba database events are also logged via the normal logging
3160           methods when the log level is set appropriately, say to
3161           dsdb_password_json_audit:5.
3162
3163           Default: dsdb password event notification = no
3164
3165       durable handles (S)
3166
3167           This boolean parameter controls whether Samba can grant SMB2
3168           durable file handles on a share.
3169
3170           Note that durable handles are only enabled if kernel oplocks = no,
3171           kernel share modes = no, and posix locking = no, i.e. if the share
3172           is configured for CIFS/SMB2 only access, not supporting
3173           interoperability features with local UNIX processes or NFS
3174           operations.
3175
3176           Also note that, for the time being, durability is not granted for a
3177           handle that has the delete on close flag set.
3178
3179           Default: durable handles = yes
3180
3181       ea support (S)
3182
3183           This boolean parameter controls whether smbd(8) will allow clients
3184           to attempt to access extended attributes on a share. In order to
3185           enable this parameter on a setup with default VFS modules:
3186
3187                  •   Samba must have been built with extended attributes
3188                      support.
3189
3190                  •   The underlying filesystem exposed by the share must
3191                      support extended attributes (e.g. the getfattr(1) /
3192                      setfattr(1) utilities must work).
3193
3194                  •   Access to extended user attributes must be allowed by
3195                      the underlying filesystem (e.g. when mounted with a
3196                      system-dependent option like user_xattr on Linux).
3197
3198           This option exposes the "user" attribute namespace from the
3199           underlying filesystem to clients. In order to match Windows
3200           conventions, the namespace prefix ("user.") is stripped from the
3201           attribute name on the client side. The handling of further
3202           attribute namespaces (like "security", "system", or "trusted") is
3203           not affected by this option.
3204
3205           Note that the SMB protocol allows setting attributes whose value is
3206           64K bytes long, and that on NTFS, the maximum storage space for
3207           extended attributes per file is 64K. On some filesystem the limits
3208           may be lower. Filesystems with too limited EA space may experience
3209           unexpected weird effects. The default has changed to yes in Samba
3210           release 4.9.0 and above to allow better Windows fileserver
3211           compatibility in a default install.
3212
3213           Default: ea support = yes
3214
3215       elasticsearch:address (S)
3216
3217           Specifies the name of the Elasticsearch server to use for Spotlight
3218           queries when using the Elasticsearch backend.
3219
3220           Default: elasticsearch:address = localhost
3221
3222           Example: elasticsearch:address = needle.haystack.samba.org
3223
3224       elasticsearch:ignore unknown attribute (G)
3225
3226           Ignore unknown Spotlight attributes in search queries. An example
3227           query using the unsupported attribute "kMDItemTopic" would be
3228           kMDItemTopic=="hotstuff". By default any query using such a type
3229           would completely fail. By enabling this option, if the type match
3230           is a subexpression of a larger expression, then this subexpression
3231           is just ignored.
3232
3233           Default: elasticsearch:ignore unknown attribute = no
3234
3235           Example: elasticsearch:ignore unknown attribute = yes
3236
3237       elasticsearch:ignore unknown type (G)
3238
3239           Ignore unknown Spotlight types in search queries. An example query
3240           using the unsupported type "public.calendar-event" would be
3241           kMDItemContentType=="public.calendar-event". By default any query
3242           using such a type would completely fail. By enabling this option,
3243           if the type match is a subexpression of a larger expression, then
3244           this subexpression is just ignored.
3245
3246           Default: elasticsearch:ignore unknown type = no
3247
3248           Example: elasticsearch:ignore unknown type = yes
3249
3250       elasticsearch:index (S)
3251
3252           Specifies the name of the Elasticsearch index to use for Spotlight
3253           queries when using the Elasticsearch backend. The default value of
3254           "_all" is a special Elasticsearch value that performs the search
3255           operation on all indices.
3256
3257           Default: elasticsearch:index = _all
3258
3259           Example: elasticsearch:index = spotlight
3260
3261       elasticsearch:mappings (G)
3262
3263           Path to a file specifying metadata attribute mappings in JSON
3264           format. Use by the Elasticsearch backend of the Spotlight RPC
3265           service.
3266
3267           Default: elasticsearch:mappings =
3268           /usr/share/samba/elasticsearch_mappings.json
3269
3270           Example: elasticsearch:mappings = /usr/share/foo/mymappings.json
3271
3272       elasticsearch:max results (S)
3273
3274           Path to a file specifying metadata attribute mappings in JSON
3275           format. Used by the Elasticsearch backend of the Spotlight RPC
3276           service. A value of 0 means no limit.
3277
3278           Default: elasticsearch:max results = 100
3279
3280           Example: elasticsearch:max results = 10
3281
3282       elasticsearch:port (S)
3283
3284           Specifies the TCP port of the Elasticsearch server to use for
3285           Spotlight queries when using the Elasticsearch backend.
3286
3287           Default: elasticsearch:port = 9200
3288
3289           Example: elasticsearch:port = 9201
3290
3291       elasticsearch:use tls (S)
3292
3293           Specifies whether to use HTTPS when talking to the Elasticsearch
3294           server used for Spotlight queries when using the Elasticsearch
3295           backend.
3296
3297           Default: elasticsearch:use tls = no
3298
3299           Example: elasticsearch:use tls = yes
3300
3301       enable asu support (G)
3302
3303           Hosts running the "Advanced Server for Unix (ASU)" product require
3304           some special accommodations such as creating a builtin [ADMIN$]
3305           share that only supports IPC connections. The has been the default
3306           behavior in smbd for many years. However, certain Microsoft
3307           applications such as the Print Migrator tool require that the
3308           remote server support an [ADMIN$] file share. Disabling this
3309           parameter allows for creating an [ADMIN$] file share in smb.conf.
3310
3311           Default: enable asu support = no
3312
3313       enable core files (G)
3314
3315           This parameter specifies whether core dumps should be written on
3316           internal exits. Normally set to yes. You should never need to
3317           change this.
3318
3319           Default: enable core files = yes
3320
3321           Example: enable core files = no
3322
3323       enable privileges (G)
3324
3325           This deprecated parameter controls whether or not smbd will honor
3326           privileges assigned to specific SIDs via either net rpc rights or
3327           one of the Windows user and group manager tools. This parameter is
3328           enabled by default. It can be disabled to prevent members of the
3329           Domain Admins group from being able to assign privileges to users
3330           or groups which can then result in certain smbd operations running
3331           as root that would normally run under the context of the connected
3332           user.
3333
3334           An example of how privileges can be used is to assign the right to
3335           join clients to a Samba controlled domain without providing root
3336           access to the server via smbd.
3337
3338           Please read the extended description provided in the Samba HOWTO
3339           documentation.
3340
3341           Default: enable privileges = yes
3342
3343       enable spoolss (G)
3344
3345           Inverted synonym for disable spoolss.
3346
3347           Default: enable spoolss = yes
3348
3349       encrypt passwords (G)
3350
3351           This parameter has been deprecated since Samba 4.11 and support for
3352           plaintext (as distinct from NTLM, NTLMv2 or Kerberos
3353           authentication) will be removed in a future Samba release.
3354
3355           That is, in the future, the current default of encrypt passwords =
3356           yes will be the enforced behaviour.
3357
3358           This boolean controls whether encrypted passwords will be
3359           negotiated with the client. Note that Windows NT 4.0 SP3 and above
3360           and also Windows 98 will by default expect encrypted passwords
3361           unless a registry entry is changed. To use encrypted passwords in
3362           Samba see the chapter "User Database" in the Samba HOWTO
3363           Collection.
3364
3365           MS Windows clients that expect Microsoft encrypted passwords and
3366           that do not have plain text password support enabled will be able
3367           to connect only to a Samba server that has encrypted password
3368           support enabled and for which the user accounts have a valid
3369           encrypted password. Refer to the smbpasswd command man page for
3370           information regarding the creation of encrypted passwords for user
3371           accounts.
3372
3373           The use of plain text passwords is NOT advised as support for this
3374           feature is no longer maintained in Microsoft Windows products. If
3375           you want to use plain text passwords you must set this parameter to
3376           no.
3377
3378           In order for encrypted passwords to work correctly smbd(8) must
3379           either have access to a local smbpasswd(5) file (see the
3380           smbpasswd(8) program for information on how to set up and maintain
3381           this file), or set the security = [domain|ads] parameter which
3382           causes smbd to authenticate against another server.
3383
3384           Default: encrypt passwords = yes
3385
3386       enhanced browsing (G)
3387
3388           This option enables a couple of enhancements to cross-subnet browse
3389           propagation that have been added in Samba but which are not
3390           standard in Microsoft implementations.
3391
3392           The first enhancement to browse propagation consists of a regular
3393           wildcard query to a Samba WINS server for all Domain Master
3394           Browsers, followed by a browse synchronization with each of the
3395           returned DMBs. The second enhancement consists of a regular
3396           randomised browse synchronization with all currently known DMBs.
3397
3398           You may wish to disable this option if you have a problem with
3399           empty workgroups not disappearing from browse lists. Due to the
3400           restrictions of the browse protocols, these enhancements can cause
3401           a empty workgroup to stay around forever which can be annoying.
3402
3403           In general you should leave this option enabled as it makes
3404           cross-subnet browse propagation much more reliable.
3405
3406           Default: enhanced browsing = yes
3407
3408       enumports command (G)
3409
3410           The concept of a "port" is fairly foreign to UNIX hosts. Under
3411           Windows NT/2000 print servers, a port is associated with a port
3412           monitor and generally takes the form of a local port (i.e. LPT1:,
3413           COM1:, FILE:) or a remote port (i.e. LPD Port Monitor, etc...). By
3414           default, Samba has only one port defined--"Samba Printer Port".
3415           Under Windows NT/2000, all printers must have a valid port name. If
3416           you wish to have a list of ports displayed (smbd does not use a
3417           port name for anything) other than the default "Samba Printer
3418           Port", you can define enumports command to point to a program which
3419           should generate a list of ports, one per line, to standard output.
3420           This listing will then be used in response to the level 1 and 2
3421           EnumPorts() RPC.
3422
3423           Default: enumports command =
3424
3425           Example: enumports command = /usr/bin/listports
3426
3427       eventlog list (G)
3428
3429           This option defines a list of log names that Samba will report to
3430           the Microsoft EventViewer utility. The listed eventlogs will be
3431           associated with tdb file on disk in the $(statedir)/eventlog.
3432
3433           The administrator must use an external process to parse the normal
3434           Unix logs such as /var/log/messages and write then entries to the
3435           eventlog tdb files. Refer to the eventlogadm(8) utility for how to
3436           write eventlog entries.
3437
3438           Default: eventlog list =
3439
3440           Example: eventlog list = Security Application Syslog Apache
3441
3442       fake directory create times (S)
3443
3444           NTFS and Windows VFAT file systems keep a create time for all files
3445           and directories. This is not the same as the ctime - status change
3446           time - that Unix keeps, so Samba by default reports the earliest of
3447           the various times Unix does keep. Setting this parameter for a
3448           share causes Samba to always report midnight 1-1-1980 as the create
3449           time for directories.
3450
3451           This option is mainly used as a compatibility option for Visual C++
3452           when used against Samba shares. Visual C++ generated makefiles have
3453           the object directory as a dependency for each object file, and a
3454           make rule to create the directory. Also, when NMAKE compares
3455           timestamps it uses the creation time when examining a directory.
3456           Thus the object directory will be created if it does not exist, but
3457           once it does exist it will always have an earlier timestamp than
3458           the object files it contains.
3459
3460           However, Unix time semantics mean that the create time reported by
3461           Samba will be updated whenever a file is created or deleted in the
3462           directory. NMAKE finds all object files in the object directory.
3463           The timestamp of the last one built is then compared to the
3464           timestamp of the object directory. If the directory's timestamp if
3465           newer, then all object files will be rebuilt. Enabling this option
3466           ensures directories always predate their contents and an NMAKE
3467           build will proceed as expected.
3468
3469           Default: fake directory create times = no
3470
3471       fake oplocks (S)
3472
3473           Oplocks are the way that SMB clients get permission from a server
3474           to locally cache file operations. If a server grants an oplock
3475           (opportunistic lock) then the client is free to assume that it is
3476           the only one accessing the file and it will aggressively cache file
3477           data. With some oplock types the client may even cache file
3478           open/close operations. This can give enormous performance benefits.
3479
3480           When you set fake oplocks = yes, smbd(8) will always grant oplock
3481           requests no matter how many clients are using the file.
3482
3483           It is generally much better to use the real oplocks support rather
3484           than this parameter.
3485
3486           If you enable this option on all read-only shares or shares that
3487           you know will only be accessed from one client at a time such as
3488           physically read-only media like CDROMs, you will see a big
3489           performance improvement on many operations. If you enable this
3490           option on shares where multiple clients may be accessing the files
3491           read-write at the same time you can get data corruption. Use this
3492           option carefully!
3493
3494           Default: fake oplocks = no
3495
3496       follow symlinks (S)
3497
3498           This parameter allows the Samba administrator to stop smbd(8) from
3499           following symbolic links in a particular share. Setting this
3500           parameter to no prevents any file or directory that is a symbolic
3501           link from being followed (the user will get an error). This option
3502           is very useful to stop users from adding a symbolic link to
3503           /etc/passwd in their home directory for instance. However it will
3504           slow filename lookups down slightly.
3505
3506           This option is enabled (i.e.  smbd will follow symbolic links) by
3507           default.
3508
3509           Default: follow symlinks = yes
3510
3511       smbd force process locks (S)
3512
3513           This boolean option tells smbd whether to forcefully disable the
3514           use of Open File Description locks on Linux.
3515
3516           This option should not be changed from the default unless you know
3517           what you're doing.
3518
3519           Default: smbd force process locks = no
3520
3521       force create mode (S)
3522
3523           This parameter specifies a set of UNIX mode bit permissions that
3524           will always be set on a file created by Samba. This is done by
3525           bitwise 'OR'ing these bits onto the mode bits of a file that is
3526           being created. The default for this parameter is (in octal) 000.
3527           The modes in this parameter are bitwise 'OR'ed onto the file mode
3528           after the mask set in the create mask parameter is applied.
3529
3530           The example below would force all newly created files to have read
3531           and execute permissions set for 'group' and 'other' as well as the
3532           read/write/execute bits set for the 'user'.
3533
3534           Default: force create mode = 0000
3535
3536           Example: force create mode = 0755
3537
3538       force directory mode (S)
3539
3540           This parameter specifies a set of UNIX mode bit permissions that
3541           will always be set on a directory created by Samba. This is done by
3542           bitwise 'OR'ing these bits onto the mode bits of a directory that
3543           is being created. The default for this parameter is (in octal) 0000
3544           which will not add any extra permission bits to a created
3545           directory. This operation is done after the mode mask in the
3546           parameter directory mask is applied.
3547
3548           The example below would force all created directories to have read
3549           and execute permissions set for 'group' and 'other' as well as the
3550           read/write/execute bits set for the 'user'.
3551
3552           Default: force directory mode = 0000
3553
3554           Example: force directory mode = 0755
3555
3556       force directory security mode (S)
3557
3558           This parameter has been removed for Samba 4.0.0.
3559
3560           No default
3561
3562       group
3563
3564           This parameter is a synonym for force group.
3565
3566       force group (S)
3567
3568           This specifies a UNIX group name that will be assigned as the
3569           default primary group for all users connecting to this service.
3570           This is useful for sharing files by ensuring that all access to
3571           files on service will use the named group for their permissions
3572           checking. Thus, by assigning permissions for this group to the
3573           files and directories within this service the Samba administrator
3574           can restrict or allow sharing of these files.
3575
3576           In Samba 2.0.5 and above this parameter has extended functionality
3577           in the following way. If the group name listed here has a '+'
3578           character prepended to it then the current user accessing the share
3579           only has the primary group default assigned to this group if they
3580           are already assigned as a member of that group. This allows an
3581           administrator to decide that only users who are already in a
3582           particular group will create files with group ownership set to that
3583           group. This gives a finer granularity of ownership assignment. For
3584           example, the setting force group = +sys means that only users who
3585           are already in group sys will have their default primary group
3586           assigned to sys when accessing this Samba share. All other users
3587           will retain their ordinary primary group.
3588
3589           If the force user parameter is also set the group specified in
3590           force group will override the primary group set in force user.
3591
3592           Default: force group =
3593
3594           Example: force group = agroup
3595
3596       force printername (S)
3597
3598           When printing from Windows NT (or later), each printer in smb.conf
3599           has two associated names which can be used by the client. The first
3600           is the sharename (or shortname) defined in smb.conf. This is the
3601           only printername available for use by Windows 9x clients. The
3602           second name associated with a printer can be seen when browsing to
3603           the "Printers" (or "Printers and Faxes") folder on the Samba
3604           server. This is referred to simply as the printername (not to be
3605           confused with the printer name option).
3606
3607           When assigning a new driver to a printer on a remote Windows
3608           compatible print server such as Samba, the Windows client will
3609           rename the printer to match the driver name just uploaded. This can
3610           result in confusion for users when multiple printers are bound to
3611           the same driver. To prevent Samba from allowing the printer's
3612           printername to differ from the sharename defined in smb.conf, set
3613           force printername = yes.
3614
3615           Be aware that enabling this parameter may affect migrating printers
3616           from a Windows server to Samba since Windows has no way to force
3617           the sharename and printername to match.
3618
3619           It is recommended that this parameter's value not be changed once
3620           the printer is in use by clients as this could cause a user not be
3621           able to delete printer connections from their local Printers
3622           folder.
3623
3624           Default: force printername = no
3625
3626       force security mode (S)
3627
3628           This parameter has been removed for Samba 4.0.0.
3629
3630           No default
3631
3632       force unknown acl user (S)
3633
3634           If this parameter is set, a Windows NT ACL that contains an unknown
3635           SID (security descriptor, or representation of a user or group id)
3636           as the owner or group owner of the file will be silently mapped
3637           into the current UNIX uid or gid of the currently connected user.
3638
3639           This is designed to allow Windows NT clients to copy files and
3640           folders containing ACLs that were created locally on the client
3641           machine and contain users local to that machine only (no domain
3642           users) to be copied to a Samba server (usually with XCOPY /O) and
3643           have the unknown userid and groupid of the file owner map to the
3644           current connected user. This can only be fixed correctly when
3645           winbindd allows arbitrary mapping from any Windows NT SID to a UNIX
3646           uid or gid.
3647
3648           Try using this parameter when XCOPY /O gives an ACCESS_DENIED
3649           error.
3650
3651           Default: force unknown acl user = no
3652
3653       force user (S)
3654
3655           This specifies a UNIX user name that will be assigned as the
3656           default user for all users connecting to this service. This is
3657           useful for sharing files. You should also use it carefully as using
3658           it incorrectly can cause security problems.
3659
3660           This user name only gets used once a connection is established.
3661           Thus clients still need to connect as a valid user and supply a
3662           valid password. Once connected, all file operations will be
3663           performed as the "forced user", no matter what username the client
3664           connected as. This can be very useful.
3665
3666           In Samba 2.0.5 and above this parameter also causes the primary
3667           group of the forced user to be used as the primary group for all
3668           file activity. Prior to 2.0.5 the primary group was left as the
3669           primary group of the connecting user (this was a bug).
3670
3671           Default: force user =
3672
3673           Example: force user = auser
3674
3675       fss: prune stale (G)
3676
3677           When enabled, Samba's File Server Remote VSS Protocol (FSRVP)
3678           server checks all FSRVP initiated snapshots on startup, and removes
3679           any corresponding state (including share definitions) for
3680           nonexistent snapshot paths.
3681
3682           Default: fss: prune stale = no
3683
3684           Example: fss: prune stale = yes
3685
3686       fss: sequence timeout (G)
3687
3688           The File Server Remote VSS Protocol (FSRVP) server includes a
3689           message sequence timer to ensure cleanup on unexpected client
3690           disconnect. This parameter overrides the default timeout between
3691           FSRVP operations. FSRVP timeouts can be completely disabled via a
3692           value of 0.
3693
3694           Default: fss: sequence timeout = 180 or 1800, depending on
3695           operation
3696
3697           Example: fss: sequence timeout = 0
3698
3699       fstype (S)
3700
3701           This parameter allows the administrator to configure the string
3702           that specifies the type of filesystem a share is using that is
3703           reported by smbd(8) when a client queries the filesystem type for a
3704           share. The default type is NTFS for compatibility with Windows NT
3705           but this can be changed to other strings such as Samba or FAT if
3706           required.
3707
3708           Default: fstype = NTFS
3709
3710           Example: fstype = Samba
3711
3712       get quota command (G)
3713
3714           The get quota command should only be used whenever there is no
3715           operating system API available from the OS that samba can use.
3716
3717           This option is only available Samba was compiled with quotas
3718           support.
3719
3720           This parameter should specify the path to a script that queries the
3721           quota information for the specified user/group for the partition
3722           that the specified directory is on.
3723
3724           Such a script is being given 3 arguments:
3725
3726                  •   directory
3727
3728                  •   type of query
3729
3730                  •   uid of user or gid of group
3731
3732           The directory is actually mostly just "." - It needs to be treated
3733           relatively to the current working directory that the script can
3734           also query.
3735
3736           The type of query can be one of:
3737
3738                  •   1 - user quotas
3739
3740                  •   2 - user default quotas (uid = -1)
3741
3742                  •   3 - group quotas
3743
3744                  •   4 - group default quotas (gid = -1)
3745
3746           This script should print one line as output with spaces between the
3747           columns. The printed columns should be:
3748
3749                  •   1 - quota flags (0 = no quotas, 1 = quotas enabled, 2 =
3750                      quotas enabled and enforced)
3751
3752                  •   2 - number of currently used blocks
3753
3754                  •   3 - the softlimit number of blocks
3755
3756                  •   4 - the hardlimit number of blocks
3757
3758                  •   5 - currently used number of inodes
3759
3760                  •   6 - the softlimit number of inodes
3761
3762                  •   7 - the hardlimit number of inodes
3763
3764                  •   8 (optional) - the number of bytes in a block(default is
3765                      1024)
3766
3767           Default: get quota command =
3768
3769           Example: get quota command = /usr/local/sbin/query_quota
3770
3771       getwd cache (G)
3772
3773           This is a tuning option. When this is enabled a caching algorithm
3774           will be used to reduce the time taken for getwd() calls. This can
3775           have a significant impact on performance, especially when the wide
3776           links parameter is set to no.
3777
3778           Default: getwd cache = yes
3779
3780       gpo update command (G)
3781
3782           This option sets the command that is called to apply GPO policies.
3783           The samba-gpupdate script applies System Access and Kerberos
3784           Policies to the KDC. System Access policies set minPwdAge,
3785           maxPwdAge, minPwdLength, and pwdProperties in the samdb. Kerberos
3786           Policies set kdc:service ticket lifetime, kdc:user ticket lifetime,
3787           and kdc:renewal lifetime in smb.conf.
3788
3789           Default: gpo update command =
3790           /builddir/build/BUILD/samba-4.18.9/source4/scripting/bin/samba-gpupdate
3791
3792           Example: gpo update command = /usr/local/sbin/gpoupdate
3793
3794       guest account (G)
3795
3796           This is a username which will be used for access to services which
3797           are specified as guest ok (see below). Whatever privileges this
3798           user has will be available to any client connecting to the guest
3799           service. This user must exist in the password file, but does not
3800           require a valid login. The user account "ftp" is often a good
3801           choice for this parameter.
3802
3803           On some systems the default guest account "nobody" may not be able
3804           to print. Use another account in this case. You should test this by
3805           trying to log in as your guest user (perhaps by using the su -
3806           command) and trying to print using the system print command such as
3807           lpr(1) or lp(1).
3808
3809           This parameter does not accept % macros, because many parts of the
3810           system require this value to be constant for correct operation.
3811
3812           Default: guest account = nobody # default can be changed at
3813           compile-time
3814
3815           Example: guest account = ftp
3816
3817       public
3818
3819           This parameter is a synonym for guest ok.
3820
3821       guest ok (S)
3822
3823           If this parameter is yes for a service, then no password is
3824           required to connect to the service. Privileges will be those of the
3825           guest account.
3826
3827           This parameter nullifies the benefits of setting restrict anonymous
3828           = 2
3829
3830           See the section below on security for more information about this
3831           option.
3832
3833           Default: guest ok = no
3834
3835       only guest
3836
3837           This parameter is a synonym for guest only.
3838
3839       guest only (S)
3840
3841           If this parameter is yes for a service, then only guest connections
3842           to the service are permitted. This parameter will have no effect if
3843           guest ok is not set for the service.
3844
3845           See the section below on security for more information about this
3846           option.
3847
3848           Default: guest only = no
3849
3850       hide dot files (S)
3851
3852           This is a boolean parameter that controls whether files starting
3853           with a dot appear as hidden files.
3854
3855           Default: hide dot files = yes
3856
3857       hide files (S)
3858
3859           This is a list of files or directories that are not visible but are
3860           accessible. The DOS 'hidden' attribute is applied to any files or
3861           directories that match.
3862
3863           Each entry in the list must be separated by a '/', which allows
3864           spaces to be included in the entry. '*' and '?' can be used to
3865           specify multiple files or directories as in DOS wildcards.
3866
3867           Each entry must be a Unix path, not a DOS path and must not include
3868           the Unix directory separator '/'.
3869
3870           Note that the case sensitivity option is applicable in hiding
3871           files.
3872
3873           Setting this parameter will affect the performance of Samba, as it
3874           will be forced to check all files and directories for a match as
3875           they are scanned.
3876
3877           The example shown above is based on files that the Macintosh SMB
3878           client (DAVE) available from Thursby creates for internal use, and
3879           also still hides all files beginning with a dot.
3880
3881           An example of us of this parameter is:
3882
3883               hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/
3884
3885           Default: hide files =  # no file are hidden
3886
3887       hide new files timeout (S)
3888
3889           Setting this parameter to something but 0 hides files that have
3890           been modified less than N seconds ago.
3891
3892           It can be used for ingest/process queue style workloads. A
3893           processing application should only see files that are definitely
3894           finished. As many applications do not have proper external workflow
3895           control, this can be a way to make sure processing does not
3896           interfere with file ingest.
3897
3898           Default: hide new files timeout = 0
3899
3900       hide special files (S)
3901
3902           This parameter prevents clients from seeing special files such as
3903           sockets, devices and fifo's in directory listings.
3904
3905           Default: hide special files = no
3906
3907       hide unreadable (S)
3908
3909           This parameter prevents clients from seeing the existence of files
3910           that cannot be read. Defaults to off.
3911
3912           Please note that enabling this can slow down listing large
3913           directories significantly. Samba has to evaluate the ACLs of all
3914           directory members, which can be a lot of effort.
3915
3916           Default: hide unreadable = no
3917
3918       hide unwriteable files (S)
3919
3920           This parameter prevents clients from seeing the existence of files
3921           that cannot be written to. Defaults to off. Note that unwriteable
3922           directories are shown as usual.
3923
3924           Please note that enabling this can slow down listing large
3925           directories significantly. Samba has to evaluate the ACLs of all
3926           directory members, which can be a lot of effort.
3927
3928           Default: hide unwriteable files = no
3929
3930       honor change notify privilege (S)
3931
3932           This option can be used to make use of the change notify privilege.
3933           By default notify results are not checked against the file system
3934           permissions.
3935
3936           If "honor change notify privilege" is enabled, a user will only
3937           receive notify results, if he has change notify privilege or
3938           sufficient file system permissions. If a user has the change notify
3939           privilege, he will receive all requested notify results, even if
3940           the user does not have the permissions on the file system.
3941
3942           Default: honor change notify privilege = no
3943
3944       host msdfs (G)
3945
3946           If set to yes, Samba will act as a Dfs server, and allow Dfs-aware
3947           clients to browse Dfs trees hosted on the server.
3948
3949           See also the msdfs root share level parameter. For more information
3950           on setting up a Dfs tree on Samba, refer to the MSFDS chapter in
3951           the book Samba3-HOWTO.
3952
3953           Default: host msdfs = yes
3954
3955       hostname lookups (G)
3956
3957           Specifies whether samba should use (expensive) hostname lookups or
3958           use the ip addresses instead. An example place where hostname
3959           lookups are currently used is when checking the hosts deny and
3960           hosts allow.
3961
3962           Default: hostname lookups = no
3963
3964           Example: hostname lookups = yes
3965
3966       allow hosts
3967
3968           This parameter is a synonym for hosts allow.
3969
3970       hosts allow (S)
3971
3972           A synonym for this parameter is allow hosts.
3973
3974           This parameter is a comma, space, or tab delimited set of hosts
3975           which are permitted to access a service.
3976
3977           If specified in the [global] section then it will apply to all
3978           services, regardless of whether the individual service has a
3979           different setting.
3980
3981           You can specify the hosts by name or IP number. For example, you
3982           could restrict access to only the hosts on a Class C subnet with
3983           something like allow hosts = 150.203.5.. The full syntax of the
3984           list is described in the man page hosts_access(5). Note that this
3985           man page may not be present on your system, so a brief description
3986           will be given here also.
3987
3988           Note that the localhost address 127.0.0.1 will always be allowed
3989           access unless specifically denied by a hosts deny option.
3990
3991           You can also specify hosts by network/netmask pairs and by netgroup
3992           names if your system supports netgroups. The EXCEPT keyword can
3993           also be used to limit a wildcard list. The following examples may
3994           provide some help:
3995
3996           Example 1: allow all IPs in 150.203.*.*; except one
3997
3998           hosts allow = 150.203. EXCEPT 150.203.6.66
3999
4000           Example 2: allow hosts that match the given network/netmask
4001
4002           hosts allow = 150.203.15.0/255.255.255.0
4003
4004           Example 3: allow a couple of hosts
4005
4006           hosts allow = lapland, arvidsjaur
4007
4008           Example 4: allow only hosts in NIS netgroup "foonet", but deny
4009           access from one particular host
4010
4011           hosts allow = @foonet
4012
4013           hosts deny = pirate
4014
4015               Note
4016               Note that access still requires suitable user-level passwords.
4017           See testparm(1) for a way of testing your host access to see if it
4018           does what you expect.
4019
4020           Default: hosts allow =  # none (i.e., all hosts permitted access)
4021
4022           Example: hosts allow = 150.203.5. myhost.mynet.edu.au
4023
4024       deny hosts
4025
4026           This parameter is a synonym for hosts deny.
4027
4028       hosts deny (S)
4029
4030           The opposite of hosts allow - hosts listed here are NOT permitted
4031           access to services unless the specific services have their own
4032           lists to override this one. Where the lists conflict, the allow
4033           list takes precedence.
4034
4035           In the event that it is necessary to deny all by default, use the
4036           keyword ALL (or the netmask 0.0.0.0/0) and then explicitly specify
4037           to the hosts allow = hosts allow parameter those hosts that should
4038           be permitted access.
4039
4040           Default: hosts deny =  # none (i.e., no hosts specifically
4041           excluded)
4042
4043           Example: hosts deny = 150.203.4. badhost.mynet.edu.au
4044
4045       idmap backend (G)
4046
4047           The idmap backend provides a plugin interface for Winbind to use
4048           varying backends to store SID/uid/gid mapping tables.
4049
4050           This option specifies the default backend that is used when no
4051           special configuration set, but it is now deprecated in favour of
4052           the new spelling idmap config * : backend.
4053
4054           Default: idmap backend = tdb
4055
4056       idmap cache time (G)
4057
4058           This parameter specifies the number of seconds that Winbind's idmap
4059           interface will cache positive SID/uid/gid query results. By
4060           default, Samba will cache these results for one week.
4061
4062           Default: idmap cache time = 604800
4063
4064       idmap config DOMAIN : OPTION (G)
4065
4066           ID mapping in Samba is the mapping between Windows SIDs and Unix
4067           user and group IDs. This is performed by Winbindd with a
4068           configurable plugin interface. Samba's ID mapping is configured by
4069           options starting with the idmap config prefix. An idmap option
4070           consists of the idmap config prefix, followed by a domain name or
4071           the asterisk character (*), a colon, and the name of an idmap
4072           setting for the chosen domain.
4073
4074           The idmap configuration is hence divided into groups, one group for
4075           each domain to be configured, and one group with the asterisk
4076           instead of a proper domain name, which specifies the default
4077           configuration that is used to catch all domains that do not have an
4078           explicit idmap configuration of their own.
4079
4080           There are three general options available:
4081
4082           backend = backend_name
4083               This specifies the name of the idmap plugin to use as the
4084               SID/uid/gid backend for this domain. The standard backends are
4085               tdb (idmap_tdb(8)), tdb2 (idmap_tdb2(8)), ldap (idmap_ldap(8)),
4086               rid (idmap_rid(8)), hash (idmap_hash(8)), autorid
4087               (idmap_autorid(8)), ad (idmap_ad(8)) and nss (idmap_nss(8)).
4088               The corresponding manual pages contain the details, but here is
4089               a summary.
4090
4091               The first three of these create mappings of their own using
4092               internal unixid counters and store the mappings in a database.
4093               These are suitable for use in the default idmap configuration.
4094               The rid and hash backends use a pure algorithmic calculation to
4095               determine the unixid for a SID. The autorid module is a mixture
4096               of the tdb and rid backend. It creates ranges for each domain
4097               encountered and then uses the rid algorithm for each of these
4098               automatically configured domains individually. The ad backend
4099               uses unix ids stored in Active Directory via the standard
4100               schema extensions. The nss backend reverses the standard
4101               winbindd setup and gets the unix ids via names from nsswitch
4102               which can be useful in an ldap setup.
4103
4104           range = low - high
4105               Defines the available matching uid and gid range for which the
4106               backend is authoritative. For allocating backends, this also
4107               defines the start and the end of the range for allocating new
4108               unique IDs.
4109
4110               winbind uses this parameter to find the backend that is
4111               authoritative for a unix ID to SID mapping, so it must be set
4112               for each individually configured domain and for the default
4113               configuration. The configured ranges must be mutually disjoint.
4114
4115               Note that the low value interacts with the min domain uid
4116               option!
4117
4118           read only = yes|no
4119               This option can be used to turn the writing backends tdb, tdb2,
4120               and ldap into read only mode. This can be useful e.g. in cases
4121               where a pre-filled database exists that should not be extended
4122               automatically.
4123
4124           The following example illustrates how to configure the idmap_ad(8)
4125           backend for the CORP domain and the idmap_tdb(8) backend for all
4126           other domains. This configuration assumes that the admin of CORP
4127           assigns unix ids below 1000000 via the SFU extensions, and winbind
4128           is supposed to use the next million entries for its own mappings
4129           from trusted domains and for local groups for example.
4130
4131                    idmap config * : backend = tdb
4132                    idmap config * : range = 1000000-1999999
4133
4134                    idmap config CORP : backend  = ad
4135                    idmap config CORP : range = 1000-999999
4136
4137
4138           No default
4139
4140       winbind gid
4141
4142           This parameter is a synonym for idmap gid.
4143
4144       idmap gid (G)
4145
4146           The idmap gid parameter specifies the range of group ids for the
4147           default idmap configuration. It is now deprecated in favour of
4148           idmap config * : range.
4149
4150           See the idmap config option.
4151
4152           Default: idmap gid =
4153
4154           Example: idmap gid = 10000-20000
4155
4156       idmap negative cache time (G)
4157
4158           This parameter specifies the number of seconds that Winbind's idmap
4159           interface will cache negative SID/uid/gid query results.
4160
4161           Default: idmap negative cache time = 120
4162
4163       winbind uid
4164
4165           This parameter is a synonym for idmap uid.
4166
4167       idmap uid (G)
4168
4169           The idmap uid parameter specifies the range of user ids for the
4170           default idmap configuration. It is now deprecated in favour of
4171           idmap config * : range.
4172
4173           See the idmap config option.
4174
4175           Default: idmap uid =
4176
4177           Example: idmap uid = 10000-20000
4178
4179       include (S)
4180
4181           This allows you to include one config file inside another. The file
4182           is included literally, as though typed in place.
4183
4184           It takes the standard substitutions, except %u, %P and %S.
4185
4186           The parameter include = registry has a special meaning: It does not
4187           include a file named registry from the current working directory,
4188           but instead reads the global configuration options from the
4189           registry. See the section on registry-based configuration for
4190           details. Note that this option automatically activates registry
4191           shares.
4192
4193           Default: include =
4194
4195           Example: include = /usr/local/samba/lib/admin_smb.conf
4196
4197       include system krb5 conf (G)
4198
4199           Setting this parameter to no will prevent winbind to include the
4200           system /etc/krb5.conf file into the krb5.conf file it creates. See
4201           also create krb5 conf. This option only applies to Samba built with
4202           MIT Kerberos.
4203
4204           Default: include system krb5 conf = yes
4205
4206       inherit acls (S)
4207
4208           This parameter is only relevant for filesystems that do not support
4209           standardized NFS4 ACLs but only a POSIX draft ACL implementation
4210           and which implements default ACLs like most filesystems on Linux.
4211           It can be used to ensure that if default ACLs exist on parent
4212           directories, they are always honored when creating a new file or
4213           subdirectory in these parent directories. The default behavior is
4214           to use the unix mode specified when creating the directory.
4215           Enabling this option sets the unix mode to 0777, thus guaranteeing
4216           that the default directory ACLs are propagated. Note that using the
4217           VFS modules acl_xattr or acl_tdb which store native Windows as
4218           meta-data will automatically turn this option on for any share for
4219           which they are loaded, as they require this option to emulate
4220           Windows ACLs correctly.
4221
4222           Default: inherit acls = no
4223
4224       inherit owner (S)
4225
4226           The ownership of new files and directories is normally governed by
4227           effective uid of the connected user. This option allows the Samba
4228           administrator to specify that the ownership for new files and
4229           directories should be controlled by the ownership of the parent
4230           directory.
4231
4232           Valid options are:
4233
4234no - Both the Windows (SID) owner and the UNIX (uid)
4235                      owner of the file are governed by the identity of the
4236                      user that created the file.
4237
4238windows and unix - The Windows (SID) owner and the UNIX
4239                      (uid) owner of new files and directories are set to the
4240                      respective owner of the parent directory.
4241
4242yes - a synonym for windows and unix.
4243
4244unix only - Only the UNIX owner is set to the UNIX owner
4245                      of the parent directory.
4246
4247           Common scenarios where this behavior is useful is in implementing
4248           drop-boxes, where users can create and edit files but not delete
4249           them and ensuring that newly created files in a user's roaming
4250           profile directory are actually owned by the user.
4251
4252           The unix only option effectively breaks the tie between the Windows
4253           owner of a file and the UNIX owner. As a logical consequence, in
4254           this mode, setting the Windows owner of a file does not modify the
4255           UNIX owner. Using this mode should typically be combined with a
4256           backing store that can emulate the full NT ACL model without
4257           affecting the POSIX permissions, such as the acl_xattr VFS module,
4258           coupled with acl_xattr:ignore system acls = yes. This can be used
4259           to emulate folder quotas, when files are exposed only via SMB
4260           (without UNIX extensions). The UNIX owner of a directory is locally
4261           set and inherited by all subdirectories and files, and they all
4262           consume the same quota.
4263
4264           Default: inherit owner = no
4265
4266       inherit permissions (S)
4267
4268           The permissions on new files and directories are normally governed
4269           by create mask, directory mask, force create mode and force
4270           directory mode but the boolean inherit permissions parameter
4271           overrides this.
4272
4273           New directories inherit the mode of the parent directory, including
4274           bits such as setgid.
4275
4276           New files inherit their read/write bits from the parent directory.
4277           Their execute bits continue to be determined by map archive, map
4278           hidden and map system as usual.
4279
4280           Note that the setuid bit is never set via inheritance (the code
4281           explicitly prohibits this).
4282
4283           This can be particularly useful on large systems with many users,
4284           perhaps several thousand, to allow a single [homes] share to be
4285           used flexibly by each user.
4286
4287           Default: inherit permissions = no
4288
4289       init logon delay (G)
4290
4291           This parameter specifies a delay in milliseconds for the hosts
4292           configured for delayed initial samlogon with init logon delayed
4293           hosts.
4294
4295           Default: init logon delay = 100
4296
4297       init logon delayed hosts (G)
4298
4299           This parameter takes a list of host names, addresses or networks
4300           for which the initial samlogon reply should be delayed (so other
4301           DCs get preferred by XP workstations if there are any).
4302
4303           The length of the delay can be specified with the init logon delay
4304           parameter.
4305
4306           Default: init logon delayed hosts =
4307
4308           Example: init logon delayed hosts = 150.203.5. myhost.mynet.de
4309
4310       interfaces (G)
4311
4312           This option allows you to override the default network interfaces
4313           list that Samba will use for browsing, name registration and other
4314           NetBIOS over TCP/IP (NBT) traffic. By default Samba will query the
4315           kernel for the list of all active interfaces and use any interfaces
4316           except 127.0.0.1 that are broadcast capable.
4317
4318           The option takes a list of interface strings. Each string can be in
4319           any of the following forms:
4320
4321                  •   a network interface name (such as eth0). This may
4322                      include shell-like wildcards so eth* will match any
4323                      interface starting with the substring "eth"
4324
4325                  •   an IP address. In this case the netmask is determined
4326                      from the list of interfaces obtained from the kernel
4327
4328                  •   an IP/mask pair.
4329
4330                  •   a broadcast/mask pair.
4331
4332           The "mask" parameters can either be a bit length (such as 24 for a
4333           C class network) or a full netmask in dotted decimal form.
4334
4335           The "IP" parameters above can either be a full dotted decimal IP
4336           address or a hostname which will be looked up via the OS's normal
4337           hostname resolution mechanisms.
4338
4339           By default Samba enables all active interfaces that are broadcast
4340           capable except the loopback adaptor (IP address 127.0.0.1).
4341
4342           In order to support SMB3 multi-channel configurations, smbd
4343           understands some extra parameters which can be appended after the
4344           actual interface with this extended syntax (note that the quoting
4345           is important in order to handle the ; and , characters):
4346
4347           "interface[;key1=value1[,key2=value2[...]]]"
4348
4349           Known keys are speed, capability, and if_index. Speed is specified
4350           in bits per second. Known capabilities are RSS and RDMA. The
4351           if_index should be used with care: the values must not coincide
4352           with indexes used by the kernel. Note that these options are mainly
4353           intended for testing and development rather than for production
4354           use. At least on Linux systems, these values should be
4355           auto-detected, but the settings can serve as last a resort when
4356           autodetection is not working or is not available. The specified
4357           values overwrite the auto-detected values.
4358
4359           The first two example below configures three network interfaces
4360           corresponding to the eth0 device and IP addresses 192.168.2.10 and
4361           192.168.3.10. The netmasks of the latter two interfaces would be
4362           set to 255.255.255.0.
4363
4364           The other examples show how per interface extra parameters can be
4365           specified. Notice the possible usage of "," and ";", which makes
4366           the double quoting necessary.
4367
4368           Default: interfaces =
4369
4370           Example: interfaces = eth0 192.168.2.10/24
4371           192.168.3.10/255.255.255.0
4372
4373           Example: interfaces = eth0, 192.168.2.10/24;
4374           192.168.3.10/255.255.255.0
4375
4376           Example: interfaces =
4377           "eth0;if_index=65,speed=1000000000,capability=RSS"
4378
4379           Example: interfaces = "lo;speed=1000000000" "eth0;capability=RSS"
4380
4381           Example: interfaces = "lo;speed=1000000000" , "eth0;capability=RSS"
4382
4383           Example: interfaces = "eth0;capability=RSS" ,
4384           "rdma1;capability=RDMA" ; "rdma2;capability=RSS,capability=RDMA"
4385
4386       invalid users (S)
4387
4388           This is a list of users that should not be allowed to login to this
4389           service. This is really a paranoid check to absolutely ensure an
4390           improper setting does not breach your security.
4391
4392           A name starting with a '@' is interpreted as an NIS netgroup first
4393           (if your system supports NIS), and then as a UNIX group if the name
4394           was not found in the NIS netgroup database.
4395
4396           A name starting with '+' is interpreted only by looking in the UNIX
4397           group database via the NSS getgrnam() interface. A name starting
4398           with '&' is interpreted only by looking in the NIS netgroup
4399           database (this requires NIS to be working on your system). The
4400           characters '+' and '&' may be used at the start of the name in
4401           either order so the value +&group means check the UNIX group
4402           database, followed by the NIS netgroup database, and the value
4403           &+group means check the NIS netgroup database, followed by the UNIX
4404           group database (the same as the '@' prefix).
4405
4406           The current servicename is substituted for %S. This is useful in
4407           the [homes] section.
4408
4409           Default: invalid users =  # no invalid users
4410
4411           Example: invalid users = root fred admin @wheel
4412
4413       iprint server (G)
4414
4415           This parameter is only applicable if printing is set to iprint.
4416
4417           If set, this option overrides the ServerName option in the CUPS
4418           client.conf. This is necessary if you have virtual samba servers
4419           that connect to different CUPS daemons.
4420
4421           Default: iprint server = ""
4422
4423           Example: iprint server = MYCUPSSERVER
4424
4425       kdc default domain supported enctypes (G)
4426
4427           Set the default value of msDS-SupportedEncryptionTypes for service
4428           accounts in Active Directory that are missing this value or where
4429           msDS-SupportedEncryptionTypes is set to 0.
4430
4431           This allows Samba administrators to match the configuration
4432           flexibility provided by the
4433           HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes
4434           Registry Value on Windows.
4435
4436           Unlike the Windows registry key (which only takes an base-10
4437           number), in Samba this may also be expressed in hexadecimal or as a
4438           list of Kerberos encryption type names.
4439
4440           Specified values are ORed together bitwise, and those currently
4441           supported consist of:
4442
4443arcfour-hmac-md5, rc4-hmac, 0x4, or 4
4444
4445                      Known on Windows as Kerberos RC4 encryption
4446
4447aes128-cts-hmac-sha1-96, aes128-cts, 0x8, or 8
4448
4449                      Known on Windows as Kerberos AES 128 bit encryption
4450
4451aes256-cts-hmac-sha1-96, aes256-cts, 0x10, or 16
4452
4453                      Known on Windows as Kerberos AES 256 bit encryption
4454
4455aes256-cts-hmac-sha1-96-sk, aes256-cts-sk, 0x20, or 32
4456
4457                      Allow AES session keys. When this is set, it indicates
4458                      to the KDC that AES session keys can be used, even when
4459                      aes256-cts and aes128-cts are not set. This allows use
4460                      of AES keys against hosts otherwise only configured with
4461                      RC4 for ticket keys (which is the default).
4462
4463           Default: kdc default domain supported enctypes = 0 # maps to what
4464           the software supports currently: arcfour-hmac-md5
4465           aes256-cts-hmac-sha1-96-sk
4466
4467       kdc enable fast (G)
4468
4469           With the Samba 4.16 the embedded Heimdal KDC brings support for
4470           RFC6113 FAST, which wasn't available in older Samba versions.
4471
4472           This option is mostly for testing and currently only applies if the
4473           embedded Heimdal KDC is used.
4474
4475           Default: kdc enable fast = yes
4476
4477       kdc force enable rc4 weak session keys (G)
4478
4479           RFC8429 declares that rc4-hmac Kerberos ciphers are weak and there
4480           are known attacks on Active Directory use of this cipher suite.
4481
4482           However for compatibility with Microsoft Windows this option allows
4483           the KDC to assume that regardless of the value set in a service
4484           account's msDS-SupportedEncryptionTypes attribute that a rc4-hmac
4485           Kerberos session key (as distinct from the ticket key, as found in
4486           a service keytab) can be used if the potentially older client
4487           requests it.
4488
4489           Default: kdc force enable rc4 weak session keys = no
4490
4491       kdc supported enctypes (G)
4492
4493           On an active directory domain controller, this is the list of
4494           supported encryption types for local running kdc.
4495
4496           This allows Samba administrators to remove support for weak/unused
4497           encryption types, similar the configuration flexibility provided by
4498           the Network security: Configure encryption types allowed for
4499           Kerberos GPO/Local Policies/Security Options Value, which results
4500           in the
4501           HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters\SupportedEncryptionTypes
4502           Registry Value on Windows.
4503
4504           Unlike the Windows registry key (which only takes an base-10
4505           number), in Samba this may also be expressed as hexadecimal or a
4506           list of Kerberos encryption type names.
4507
4508           Specified values are ORed together bitwise, and those currently
4509           supported consist of:
4510
4511arcfour-hmac-md5, rc4-hmac, 0x4, or 4
4512
4513                      Known on Windows as Kerberos RC4 encryption
4514
4515aes128-cts-hmac-sha1-96, aes128-cts, 0x8, or 8
4516
4517                      Known on Windows as Kerberos AES 128 bit encryption
4518
4519aes256-cts-hmac-sha1-96, aes256-cts, 0x10, or 16
4520
4521                      Known on Windows as Kerberos AES 256 bit encryption
4522
4523           Default: kdc supported enctypes = 0 # maps to what the software
4524           supports currently: arcfour-hmac-md5 aes128-cts-hmac-sha1-96
4525           aes256-cts-hmac-sha1-96
4526
4527       keepalive (G)
4528
4529           The value of the parameter (an integer) represents the number of
4530           seconds between keepalive packets. If this parameter is zero, no
4531           keepalive packets will be sent. Keepalive packets, if sent, allow
4532           the server to tell whether a client is still present and
4533           responding.
4534
4535           Keepalives should, in general, not be needed if the socket has the
4536           SO_KEEPALIVE attribute set on it by default. (see socket options).
4537           Basically you should only use this option if you strike
4538           difficulties.
4539
4540           Please note this option only applies to SMB1 client connections,
4541           and has no effect on SMB2 clients.
4542
4543           Default: keepalive = 300
4544
4545           Example: keepalive = 600
4546
4547       kerberos encryption types (G)
4548
4549           This parameter determines the encryption types to use when
4550           operating as a Kerberos client. Possible values are all, strong,
4551           and legacy.
4552
4553           Samba uses a Kerberos library (MIT or Heimdal) to obtain Kerberos
4554           tickets. This library is normally configured outside of Samba,
4555           using the krb5.conf file. This file may also include directives to
4556           configure the encryption types to be used. However, Samba
4557           implements Active Directory protocols and algorithms to locate a
4558           domain controller. In order to force the Kerberos library into
4559           using the correct domain controller, some Samba processes, such as
4560           winbindd(8) and net(8), build a private krb5.conf file for use by
4561           the Kerberos library while being invoked from Samba. This private
4562           file controls all aspects of the Kerberos library operation, and
4563           this parameter controls how the encryption types are configured
4564           within this generated file, and therefore also controls the
4565           encryption types negotiable by Samba.
4566
4567           When set to all, all active directory encryption types are allowed.
4568
4569           When set to strong, only AES-based encryption types are offered.
4570           This can be used in hardened environments to prevent downgrade
4571           attacks.
4572
4573           When set to legacy, only RC4-HMAC-MD5 is allowed. AVOID using this
4574           option, because of CVE-2022-37966 see
4575           https://bugzilla.samba.org/show_bug.cgi?id=15237.
4576
4577           Default: kerberos encryption types = all
4578
4579       kerberos method (G)
4580
4581           Controls how kerberos tickets are verified.
4582
4583           Valid options are:
4584
4585                  •   secrets only - use only the secrets.tdb for ticket
4586                      verification (default)
4587
4588                  •   system keytab - use only the system keytab for ticket
4589                      verification
4590
4591                  •   dedicated keytab - use a dedicated keytab for ticket
4592                      verification
4593
4594                  •   secrets and keytab - use the secrets.tdb first, then the
4595                      system keytab
4596
4597           The major difference between "system keytab" and "dedicated keytab"
4598           is that the latter method relies on kerberos to find the correct
4599           keytab entry instead of filtering based on expected principals.
4600
4601           When the kerberos method is in "dedicated keytab" mode, dedicated
4602           keytab file must be set to specify the location of the keytab file.
4603
4604           Default: kerberos method = default
4605
4606       kernel change notify (G)
4607
4608           This parameter specifies whether Samba should ask the kernel for
4609           change notifications in directories so that SMB clients can refresh
4610           whenever the data on the server changes.
4611
4612           This parameter is only used when your kernel supports change
4613           notification to user programs using the inotify interface.
4614
4615           Default: kernel change notify = yes
4616
4617       kernel oplocks (S)
4618
4619           For UNIXes that support kernel based oplocks (currently only
4620           Linux), this parameter allows the use of them to be turned on or
4621           off. However, this disables Level II oplocks for clients as the
4622           Linux kernel does not support them properly.
4623
4624           Kernel oplocks support allows Samba oplocks to be broken whenever a
4625           local UNIX process or NFS operation accesses a file that smbd(8)
4626           has oplocked. This allows complete data consistency between
4627           SMB/CIFS, NFS and local file access (and is a very cool feature
4628           :-).
4629
4630           If you do not need this interaction, you should disable the
4631           parameter on Linux to get Level II oplocks and the associated
4632           performance benefit.
4633
4634           This parameter defaults to no and is translated to a no-op on
4635           systems that do not have the necessary kernel support.
4636
4637           Default: kernel oplocks = no
4638
4639       kernel share modes (S)
4640
4641           This parameter controls whether SMB share modes are translated into
4642           file system specific sharemode calls.
4643
4644           Kernel share modes provide a minimal level of interoperability with
4645           local UNIX processes and NFS operations by preventing access
4646           corresponding to the SMB share modes. This requires a file system
4647           specific VFS module with proper support.
4648
4649           Note that in order to use SMB2 durable file handles on a share, you
4650           have to turn kernel share modes off.
4651
4652           This parameter defaults to no. Setting it to yes requires a file
4653           system module that supports file system sharemodes, otherwise
4654           attempts to access files will fail with a sharing violation.
4655
4656           Default: kernel share modes = no
4657
4658       kpasswd port (G)
4659
4660           Specifies which ports the Kerberos server should listen on for
4661           password changes.
4662
4663           Default: kpasswd port = 464
4664
4665       krb5 port (G)
4666
4667           Specifies which port the KDC should listen on for Kerberos traffic.
4668
4669           Default: krb5 port = 88
4670
4671       lanman auth (G)
4672
4673           This parameter has been deprecated since Samba 4.11 and support for
4674           LanMan (as distinct from NTLM, NTLMv2 or Kerberos authentication)
4675           will be removed in a future Samba release.
4676
4677           That is, in the future, the current default of lanman auth = no
4678           will be the enforced behaviour.
4679
4680           This parameter determines whether or not smbd(8) will attempt to
4681           authenticate users or permit password changes using the LANMAN
4682           password hash. If disabled, only clients which support NT password
4683           hashes (e.g. Windows NT/2000 clients, smbclient, but not Windows
4684           95/98 or the MS DOS network client) will be able to connect to the
4685           Samba host.
4686
4687           The LANMAN encrypted response is easily broken, due to its
4688           case-insensitive nature, and the choice of algorithm. Servers
4689           without Windows 95/98/ME or MS DOS clients are advised to disable
4690           this option.
4691
4692           When this parameter is set to no this will also result in
4693           sambaLMPassword in Samba's passdb being blanked after the next
4694           password change. As a result of that lanman clients won't be able
4695           to authenticate, even if lanman auth is re-enabled later on.
4696
4697           Unlike the encrypt passwords option, this parameter cannot alter
4698           client behaviour, and the LANMAN response will still be sent over
4699           the network. See the client lanman auth to disable this for Samba's
4700           clients (such as smbclient)
4701
4702           This parameter is overridden by ntlm auth, so unless that it is
4703           also set to ntlmv1-permitted or yes, then only NTLMv2 logins will
4704           be permitted and no LM hash will be stored. All modern clients
4705           support NTLMv2, and but some older clients require special
4706           configuration to use it.
4707
4708           This parameter has no impact on the Samba AD DC, LM authentication
4709           is always disabled and no LM password is ever stored.
4710
4711           Default: lanman auth = no
4712
4713       large readwrite (G)
4714
4715           This parameter determines whether or not smbd(8) supports the new
4716           64k streaming read and write variant SMB requests introduced with
4717           Windows 2000. Note that due to Windows 2000 client redirector bugs
4718           this requires Samba to be running on a 64-bit capable operating
4719           system such as IRIX, Solaris or a Linux 2.4 kernel. Can improve
4720           performance by 10% with Windows 2000 clients. Defaults to on. Not
4721           as tested as some other Samba code paths.
4722
4723           Default: large readwrite = yes
4724
4725       ldap admin dn (G)
4726
4727           The ldap admin dn defines the Distinguished Name (DN) name used by
4728           Samba to contact the ldap server when retrieving user account
4729           information. The ldap admin dn is used in conjunction with the
4730           admin dn password stored in the private/secrets.tdb file. See the
4731           smbpasswd(8) man page for more information on how to accomplish
4732           this.
4733
4734           The ldap admin dn requires a fully specified DN. The ldap suffix is
4735           not appended to the ldap admin dn.
4736
4737           No default
4738
4739       ldap connection timeout (G)
4740
4741           This parameter tells the LDAP library calls which timeout in
4742           seconds they should honor during initial connection establishments
4743           to LDAP servers. It is very useful in failover scenarios in
4744           particular. If one or more LDAP servers are not reachable at all,
4745           we do not have to wait until TCP timeouts are over. This feature
4746           must be supported by your LDAP library.
4747
4748           This parameter is different from ldap timeout which affects
4749           operations on LDAP servers using an existing connection and not
4750           establishing an initial connection.
4751
4752           Default: ldap connection timeout = 2
4753
4754       ldap debug level (G)
4755
4756           This parameter controls the debug level of the LDAP library calls.
4757           In the case of OpenLDAP, it is the same bit-field as understood by
4758           the server and documented in the slapd.conf(5) manpage. A typical
4759           useful value will be 1 for tracing function calls.
4760
4761           The debug output from the LDAP libraries appears with the prefix
4762           [LDAP] in Samba's logging output. The level at which LDAP logging
4763           is printed is controlled by the parameter ldap debug threshold.
4764
4765           Default: ldap debug level = 0
4766
4767           Example: ldap debug level = 1
4768
4769       ldap debug threshold (G)
4770
4771           This parameter controls the Samba debug level at which the ldap
4772           library debug output is printed in the Samba logs. See the
4773           description of ldap debug level for details.
4774
4775           Default: ldap debug threshold = 10
4776
4777           Example: ldap debug threshold = 5
4778
4779       ldap delete dn (G)
4780
4781           This parameter specifies whether a delete operation in the ldapsam
4782           deletes the complete entry or only the attributes specific to
4783           Samba.
4784
4785           Default: ldap delete dn = no
4786
4787       ldap deref (G)
4788
4789           This option controls whether Samba should tell the LDAP library to
4790           use a certain alias dereferencing method. The default is auto,
4791           which means that the default setting of the ldap client library
4792           will be kept. Other possible values are never, finding, searching
4793           and always. Grab your LDAP manual for more information.
4794
4795           Default: ldap deref = auto
4796
4797           Example: ldap deref = searching
4798
4799       ldap follow referral (G)
4800
4801           This option controls whether to follow LDAP referrals or not when
4802           searching for entries in the LDAP database. Possible values are on
4803           to enable following referrals, off to disable this, and auto, to
4804           use the libldap default settings. libldap's choice of following
4805           referrals or not is set in /etc/openldap/ldap.conf with the
4806           REFERRALS parameter as documented in ldap.conf(5).
4807
4808           Default: ldap follow referral = auto
4809
4810           Example: ldap follow referral = off
4811
4812       ldap group suffix (G)
4813
4814           This parameter specifies the suffix that is used for groups when
4815           these are added to the LDAP directory. If this parameter is unset,
4816           the value of ldap suffix will be used instead. The suffix string is
4817           pre-pended to the ldap suffix string so use a partial DN.
4818
4819           Default: ldap group suffix =
4820
4821           Example: ldap group suffix = ou=Groups
4822
4823       ldap idmap suffix (G)
4824
4825           This parameters specifies the suffix that is used when storing
4826           idmap mappings. If this parameter is unset, the value of ldap
4827           suffix will be used instead. The suffix string is pre-pended to the
4828           ldap suffix string so use a partial DN.
4829
4830           Default: ldap idmap suffix =
4831
4832           Example: ldap idmap suffix = ou=Idmap
4833
4834       ldap machine suffix (G)
4835
4836           It specifies where machines should be added to the ldap tree. If
4837           this parameter is unset, the value of ldap suffix will be used
4838           instead. The suffix string is pre-pended to the ldap suffix string
4839           so use a partial DN.
4840
4841           Default: ldap machine suffix =
4842
4843           Example: ldap machine suffix = ou=Computers
4844
4845       ldap max anonymous request size (G)
4846
4847           This parameter specifies the maximum permitted size (in bytes) for
4848           an LDAP request received on an anonymous connection.
4849
4850           If the request size exceeds this limit the request will be
4851           rejected.
4852
4853           Default: ldap max anonymous request size = 256000
4854
4855           Example: ldap max anonymous request size = 500000
4856
4857       ldap max authenticated request size (G)
4858
4859           This parameter specifies the maximum permitted size (in bytes) for
4860           an LDAP request received on an authenticated connection.
4861
4862           If the request size exceeds this limit the request will be
4863           rejected.
4864
4865           Default: ldap max authenticated request size = 16777216
4866
4867           Example: ldap max authenticated request size = 4194304
4868
4869       ldap max search request size (G)
4870
4871           This parameter specifies the maximum permitted size (in bytes) for
4872           an LDAP search request.
4873
4874           If the request size exceeds this limit the request will be
4875           rejected.
4876
4877           Default: ldap max search request size = 256000
4878
4879           Example: ldap max search request size = 4194304
4880
4881       ldap page size (G)
4882
4883           This parameter specifies the number of entries per page.
4884
4885           If the LDAP server supports paged results, clients can request
4886           subsets of search results (pages) instead of the entire list. This
4887           parameter specifies the size of these pages.
4888
4889           Default: ldap page size = 1000
4890
4891           Example: ldap page size = 512
4892
4893       ldap password sync
4894
4895           This parameter is a synonym for ldap passwd sync.
4896
4897       ldap passwd sync (G)
4898
4899           This option is used to define whether or not Samba should sync the
4900           LDAP password with the NT and LM hashes for normal accounts (NOT
4901           for workstation, server or domain trusts) on a password change via
4902           SAMBA.
4903
4904           The ldap passwd sync can be set to one of three values:
4905
4906Yes = Try to update the LDAP, NT and LM passwords and
4907                      update the pwdLastSet time.
4908
4909No = Update NT and LM passwords and update the
4910                      pwdLastSet time.
4911
4912Only = Only update the LDAP password and let the LDAP
4913                      server do the rest.
4914
4915           Default: ldap passwd sync = no
4916
4917       ldap replication sleep (G)
4918
4919           When Samba is asked to write to a read-only LDAP replica, we are
4920           redirected to talk to the read-write master server. This server
4921           then replicates our changes back to the 'local' server, however the
4922           replication might take some seconds, especially over slow links.
4923           Certain client activities, particularly domain joins, can become
4924           confused by the 'success' that does not immediately change the LDAP
4925           back-end's data.
4926
4927           This option simply causes Samba to wait a short time, to allow the
4928           LDAP server to catch up. If you have a particularly high-latency
4929           network, you may wish to time the LDAP replication with a network
4930           sniffer, and increase this value accordingly. Be aware that no
4931           checking is performed that the data has actually replicated.
4932
4933           The value is specified in milliseconds, the maximum value is 5000
4934           (5 seconds).
4935
4936           Default: ldap replication sleep = 1000
4937
4938       ldapsam:editposix (G)
4939
4940           Editposix is an option that leverages ldapsam:trusted to make it
4941           simpler to manage a domain controller eliminating the need to set
4942           up custom scripts to add and manage the posix users and groups.
4943           This option will instead directly manipulate the ldap tree to
4944           create, remove and modify user and group entries. This option also
4945           requires a running winbindd as it is used to allocate new uids/gids
4946           on user/group creation. The allocation range must be therefore
4947           configured.
4948
4949           To use this option, a basic ldap tree must be provided and the ldap
4950           suffix parameters must be properly configured. On virgin servers
4951           the default users and groups (Administrator, Guest, Domain Users,
4952           Domain Admins, Domain Guests) can be precreated with the command
4953           net sam provision. To run this command the ldap server must be
4954           running, Winbindd must be running and the smb.conf ldap options
4955           must be properly configured. The typical ldap setup used with the
4956           ldapsam:trusted = yes option is usually sufficient to use
4957           ldapsam:editposix = yes as well.
4958
4959           An example configuration can be the following:
4960
4961                    encrypt passwords = true
4962                    passdb backend = ldapsam
4963
4964                    ldapsam:trusted=yes
4965                    ldapsam:editposix=yes
4966
4967                    ldap admin dn = cn=admin,dc=samba,dc=org
4968                    ldap delete dn = yes
4969                    ldap group suffix = ou=groups
4970                    ldap idmap suffix = ou=idmap
4971                    ldap machine suffix = ou=computers
4972                    ldap user suffix = ou=users
4973                    ldap suffix = dc=samba,dc=org
4974
4975                    idmap backend = ldap:"ldap://localhost"
4976
4977                    idmap uid = 5000-50000
4978                    idmap gid = 5000-50000
4979
4980
4981           This configuration assumes a directory layout like described in the
4982           following ldif:
4983
4984                    dn: dc=samba,dc=org
4985                    objectClass: top
4986                    objectClass: dcObject
4987                    objectClass: organization
4988                    o: samba.org
4989                    dc: samba
4990
4991                    dn: cn=admin,dc=samba,dc=org
4992                    objectClass: simpleSecurityObject
4993                    objectClass: organizationalRole
4994                    cn: admin
4995                    description: LDAP administrator
4996                    userPassword: secret
4997
4998                    dn: ou=users,dc=samba,dc=org
4999                    objectClass: top
5000                    objectClass: organizationalUnit
5001                    ou: users
5002
5003                    dn: ou=groups,dc=samba,dc=org
5004                    objectClass: top
5005                    objectClass: organizationalUnit
5006                    ou: groups
5007
5008                    dn: ou=idmap,dc=samba,dc=org
5009                    objectClass: top
5010                    objectClass: organizationalUnit
5011                    ou: idmap
5012
5013                    dn: ou=computers,dc=samba,dc=org
5014                    objectClass: top
5015                    objectClass: organizationalUnit
5016                    ou: computers
5017
5018
5019           Default: ldapsam:editposix = no
5020
5021       ldapsam:trusted (G)
5022
5023           By default, Samba as a Domain Controller with an LDAP backend needs
5024           to use the Unix-style NSS subsystem to access user and group
5025           information. Due to the way Unix stores user information in
5026           /etc/passwd and /etc/group this inevitably leads to inefficiencies.
5027           One important question a user needs to know is the list of groups
5028           he is member of. The plain UNIX model involves a complete
5029           enumeration of the file /etc/group and its NSS counterparts in
5030           LDAP. UNIX has optimized functions to enumerate group membership.
5031           Sadly, other functions that are used to deal with user and group
5032           attributes lack such optimization.
5033
5034           To make Samba scale well in large environments, the ldapsam:trusted
5035           = yes option assumes that the complete user and group database that
5036           is relevant to Samba is stored in LDAP with the standard
5037           posixAccount/posixGroup attributes. It further assumes that the
5038           Samba auxiliary object classes are stored together with the POSIX
5039           data in the same LDAP object. If these assumptions are met,
5040           ldapsam:trusted = yes can be activated and Samba can bypass the NSS
5041           system to query user group memberships. Optimized LDAP queries can
5042           greatly speed up domain logon and administration tasks. Depending
5043           on the size of the LDAP database a factor of 100 or more for common
5044           queries is easily achieved.
5045
5046           Default: ldapsam:trusted = no
5047
5048       ldap server require strong auth (G)
5049
5050           The ldap server require strong auth defines whether the ldap server
5051           requires ldap traffic to be signed or signed and encrypted
5052           (sealed). Possible values are no, allow_sasl_over_tls and yes.
5053
5054           A value of no allows simple and sasl binds over all transports.
5055
5056           A value of allow_sasl_over_tls allows simple and sasl binds
5057           (without sign or seal) over TLS encrypted connections. Unencrypted
5058           connections only allow sasl binds with sign or seal.
5059
5060           A value of yes allows only simple binds over TLS encrypted
5061           connections. Unencrypted connections only allow sasl binds with
5062           sign or seal.
5063
5064           Default: ldap server require strong auth = yes
5065
5066       ldap ssl (G)
5067
5068           This option is used to define whether or not Samba should use SSL
5069           when connecting to the ldap server This is NOT related to Samba's
5070           previous SSL support which was enabled by specifying the --with-ssl
5071           option to the configure script.
5072
5073           LDAP connections should be secured where possible. This may be done
5074           setting either this parameter to start tls or by specifying
5075           ldaps:// in the URL argument of passdb backend.
5076
5077           The ldap ssl can be set to one of two values:
5078
5079Off = Never use SSL when querying the directory.
5080
5081start tls = Use the LDAPv3 StartTLS extended operation
5082                      (RFC2830) for communicating with the directory server.
5083
5084           Please note that this parameter does only affect rpc methods.
5085
5086           Default: ldap ssl = start tls
5087
5088       ldap suffix (G)
5089
5090           Specifies the base for all ldap suffixes and for storing the
5091           sambaDomain object.
5092
5093           The ldap suffix will be appended to the values specified for the
5094           ldap user suffix, ldap group suffix, ldap machine suffix, and the
5095           ldap idmap suffix. Each of these should be given only a DN relative
5096           to the ldap suffix.
5097
5098           Default: ldap suffix =
5099
5100           Example: ldap suffix = dc=samba,dc=org
5101
5102       ldap timeout (G)
5103
5104           This parameter defines the number of seconds that Samba should use
5105           as timeout for LDAP operations.
5106
5107           Default: ldap timeout = 15
5108
5109       ldap user suffix (G)
5110
5111           This parameter specifies where users are added to the tree. If this
5112           parameter is unset, the value of ldap suffix will be used instead.
5113           The suffix string is pre-pended to the ldap suffix string so use a
5114           partial DN.
5115
5116           Default: ldap user suffix =
5117
5118           Example: ldap user suffix = ou=people
5119
5120       level2 oplocks (S)
5121
5122           This parameter controls whether Samba supports level2 (read-only)
5123           oplocks on a share.
5124
5125           Level2, or read-only oplocks allow Windows NT clients that have an
5126           oplock on a file to downgrade from a read-write oplock to a
5127           read-only oplock once a second client opens the file (instead of
5128           releasing all oplocks on a second open, as in traditional,
5129           exclusive oplocks). This allows all openers of the file that
5130           support level2 oplocks to cache the file for read-ahead only (ie.
5131           they may not cache writes or lock requests) and increases
5132           performance for many accesses of files that are not commonly
5133           written (such as application .EXE files).
5134
5135           Once one of the clients which have a read-only oplock writes to the
5136           file all clients are notified (no reply is needed or waited for)
5137           and told to break their oplocks to "none" and delete any read-ahead
5138           caches.
5139
5140           It is recommended that this parameter be turned on to speed access
5141           to shared executables.
5142
5143           For more discussions on level2 oplocks see the CIFS spec.
5144
5145           Currently, if kernel oplocks are supported then level2 oplocks are
5146           not granted (even if this parameter is set to yes). Note also, the
5147           oplocks parameter must be set to yes on this share in order for
5148           this parameter to have any effect.
5149
5150           Default: level2 oplocks = yes
5151
5152       lm announce (G)
5153
5154           This parameter determines if nmbd(8) will produce Lanman announce
5155           broadcasts that are needed by OS/2 clients in order for them to see
5156           the Samba server in their browse list. This parameter can have
5157           three values, yes, no, or auto. The default is auto. If set to no
5158           Samba will never produce these broadcasts. If set to yes Samba will
5159           produce Lanman announce broadcasts at a frequency set by the
5160           parameter lm interval. If set to auto Samba will not send Lanman
5161           announce broadcasts by default but will listen for them. If it
5162           hears such a broadcast on the wire it will then start sending them
5163           at a frequency set by the parameter lm interval.
5164
5165           Default: lm announce = auto
5166
5167           Example: lm announce = yes
5168
5169       lm interval (G)
5170
5171           If Samba is set to produce Lanman announce broadcasts needed by
5172           OS/2 clients (see the lm announce parameter) then this parameter
5173           defines the frequency in seconds with which they will be made. If
5174           this is set to zero then no Lanman announcements will be made
5175           despite the setting of the lm announce parameter.
5176
5177           Default: lm interval = 60
5178
5179           Example: lm interval = 120
5180
5181       load printers (G)
5182
5183           A boolean variable that controls whether all printers in the
5184           printcap will be loaded for browsing by default. See the printers
5185           section for more details.
5186
5187           Default: load printers = yes
5188
5189       local master (G)
5190
5191           This option allows nmbd(8) to try and become a local master browser
5192           on a subnet. If set to no then nmbd will not attempt to become a
5193           local master browser on a subnet and will also lose in all browsing
5194           elections. By default this value is set to yes. Setting this value
5195           to yes doesn't mean that Samba will become the local master browser
5196           on a subnet, just that nmbd will participate in elections for local
5197           master browser.
5198
5199           Setting this value to no will cause nmbd never to become a local
5200           master browser.
5201
5202           Default: local master = yes
5203
5204       lock dir
5205
5206           This parameter is a synonym for lock directory.
5207
5208       lock directory (G)
5209
5210           This option specifies the directory where lock files will be
5211           placed. The lock files are used to implement the max connections
5212           option.
5213
5214           Note: This option can not be set inside registry configurations.
5215
5216           The files placed in this directory are not required across service
5217           restarts and can be safely placed on volatile storage (e.g. tmpfs
5218           in Linux)
5219
5220           Default: lock directory = /var/lib/samba/lock
5221
5222           Example: lock directory = /var/run/samba/locks
5223
5224       locking (S)
5225
5226           This controls whether or not locking will be performed by the
5227           server in response to lock requests from the client.
5228
5229           If locking = no, all lock and unlock requests will appear to
5230           succeed and all lock queries will report that the file in question
5231           is available for locking.
5232
5233           If locking = yes, real locking will be performed by the server.
5234
5235           This option may be useful for read-only filesystems which may not
5236           need locking (such as CDROM drives), although setting this
5237           parameter of no is not really recommended even in this case.
5238
5239           Be careful about disabling locking either globally or in a specific
5240           service, as lack of locking may result in data corruption. You
5241           should never need to set this parameter.
5242
5243           Default: locking = yes
5244
5245       lock spin time (G)
5246
5247           The time in milliseconds that smbd should keep waiting to see if a
5248           failed lock request can be granted. This parameter has changed in
5249           default value from Samba 3.0.23 from 10 to 200. The associated lock
5250           spin count parameter is no longer used in Samba 3.0.24. You should
5251           not need to change the value of this parameter.
5252
5253           Default: lock spin time = 200
5254
5255       log file (G)
5256
5257           This option allows you to override the name of the Samba log file
5258           (also known as the debug file).
5259
5260           This option takes the standard substitutions, allowing you to have
5261           separate log files for each user or machine.
5262
5263           No default
5264
5265           Example: log file = /usr/local/samba/var/log.%m
5266
5267       logging (G)
5268
5269           This parameter configures logging backends. Multiple backends can
5270           be specified at the same time, with different log levels for each
5271           backend. The parameter is a list of backends, where each backend is
5272           specified as backend[:option][@loglevel].
5273
5274           The 'option' parameter can be used to pass backend-specific
5275           options.
5276
5277           The log level for a backend is optional, if it is not set for a
5278           backend, all messages are sent to this backend. The parameter log
5279           level determines overall log levels, while the log levels specified
5280           here define what is sent to the individual backends.
5281
5282           When logging is set, it overrides the syslog and syslog only
5283           parameters.
5284
5285           Some backends are only available when Samba has been compiled with
5286           the additional libraries. The overall list of logging backends:
5287
5288syslog
5289
5290file
5291
5292systemd
5293
5294lttng
5295
5296gpfs
5297
5298ringbuf
5299
5300           The ringbuf backend supports an optional size argument to change
5301           the buffer size used, the default is 1 MB: ringbuf:size=NBYTES
5302
5303           Default: logging =
5304
5305           Example: logging = syslog@1 file
5306
5307       debuglevel
5308
5309           This parameter is a synonym for log level.
5310
5311       log level (G)
5312
5313           The value of the parameter (a string) allows the debug level
5314           (logging level) to be specified in the smb.conf file.
5315
5316           This parameter has been extended since the 2.2.x series, now it
5317           allows one to specify the debug level for multiple debug classes
5318           and distinct logfiles for debug classes. This is to give greater
5319           flexibility in the configuration of the system. The following debug
5320           classes are currently implemented:
5321
5322all
5323
5324tdb
5325
5326printdrivers
5327
5328lanman
5329
5330smb
5331
5332rpc_parse
5333
5334rpc_srv
5335
5336rpc_cli
5337
5338passdb
5339
5340sam
5341
5342auth
5343
5344winbind
5345
5346vfs
5347
5348idmap
5349
5350quota
5351
5352acls
5353
5354locking
5355
5356msdfs
5357
5358dmapi
5359
5360registry
5361
5362scavenger
5363
5364dns
5365
5366ldb
5367
5368tevent
5369
5370auth_audit
5371
5372auth_json_audit
5373
5374kerberos
5375
5376drs_repl
5377
5378smb2
5379
5380smb2_credits
5381
5382dsdb_audit
5383
5384dsdb_json_audit
5385
5386dsdb_password_audit
5387
5388dsdb_password_json_audit
5389
5390dsdb_transaction_audit
5391
5392dsdb_transaction_json_audit
5393
5394dsdb_group_audit
5395
5396dsdb_group_json_audit
5397
5398           Various modules register dynamic debug classes at first usage:
5399
5400catia
5401
5402dfs_samba4
5403
5404extd_audit
5405
5406fileid
5407
5408fruit
5409
5410full_audit
5411
5412media_harmony
5413
5414preopen
5415
5416recycle
5417
5418shadow_copy
5419
5420shadow_copy
5421
5422unityed_media
5423
5424virusfilter
5425
5426           To configure the logging for specific classes to go into a
5427           different file then log file, you can append @PATH to the class, eg
5428           log level = 1 full_audit:1@/var/log/audit.log.
5429
5430           Authentication and authorization audit information is logged under
5431           the auth_audit, and if Samba was not compiled with --without-json,
5432           a JSON representation is logged under auth_json_audit.
5433
5434           Support is comprehensive for all authentication and authorisation
5435           of user accounts in the Samba Active Directory Domain Controller,
5436           as well as the implicit authentication in password changes. In the
5437           file server, NTLM authentication, SMB and RPC authorization is
5438           covered.
5439
5440           Log levels for auth_audit and auth_audit_json are:
5441
5442                  •   2: Authentication Failure
5443
5444                  •   3: Authentication Success
5445
5446                  •   4: Authorization Success
5447
5448                  •   5: Anonymous Authentication and Authorization Success
5449
5450           Changes to the AD DC sam.ldb database are logged under the
5451           dsdb_audit and a JSON representation is logged under
5452           dsdb_json_audit.
5453
5454           Group membership changes to the AD DC sam.ldb database are logged
5455           under the dsdb_group_audit and a JSON representation is logged
5456           under dsdb_group_json_audit.
5457
5458           Log levels for dsdb_audit, dsdb_json_audit, dsdb_group_audit,
5459           dsdb_group_json_audit and dsdb_json_audit are:
5460
5461                  •   5: Database modifications
5462
5463                  •   5: Replicated updates from another DC
5464
5465           Password changes and Password resets in the AD DC are logged under
5466           dsdb_password_audit and a JSON representation is logged under the
5467           dsdb_password_json_audit. Password changes will also appears as
5468           authentication events via auth_audit and auth_audit_json.
5469
5470           Log levels for dsdb_password_audit and dsdb_password_json_audit
5471           are:
5472
5473                  •   5: Successful password changes and resets
5474
5475           Transaction rollbacks and prepare commit failures are logged under
5476           the dsdb_transaction_audit and a JSON representation is logged
5477           under the dsdb_transaction_json_audit.
5478
5479           Log levels for dsdb_transaction_audit and dsdb_transaction_json
5480           are:
5481
5482                  •   5: Transaction failure (rollback)
5483
5484                  •   10: Transaction success (commit)
5485
5486           Transaction roll-backs are possible in Samba, and whilst they
5487           rarely reflect anything more than the failure of an individual
5488           operation (say due to the add of a conflicting record), they are
5489           possible. Audit logs are already generated and sent to the system
5490           logs before the transaction is complete. Logging the transaction
5491           details allows the identification of password and sam.ldb
5492           operations that have been rolled back, and so have not actually
5493           persisted.
5494
5495               Warning
5496               Changes to sam.ldb made locally by the root user with direct
5497               access to the database are not logged to the system logs, but
5498               to the administrator's own console. While less than ideal, any
5499               user able to make such modifications could disable the audit
5500               logging in any case.
5501           Default: log level = 0
5502
5503           Example: log level = 3 passdb:5 auth:10 winbind:2
5504
5505           Example: log level = 1 full_audit:1@/var/log/audit.log winbind:2
5506
5507       log nt token command (G)
5508
5509           This option can be set to a command that will be called when new nt
5510           tokens are created.
5511
5512           This is only useful for development purposes.
5513
5514           Default: log nt token command =
5515
5516       logon drive (G)
5517
5518           This parameter specifies the local path to which the home directory
5519           will be connected (see logon home) and is only used by NT
5520           Workstations.
5521
5522           Note that this option is only useful if Samba is set up as a logon
5523           server.
5524
5525           Default: logon drive =
5526
5527           Example: logon drive = h:
5528
5529       logon home (G)
5530
5531           This parameter specifies the home directory location when a
5532           Win95/98 or NT Workstation logs into a Samba PDC. It allows you to
5533           do
5534
5535           C:\>NET USE H: /HOME
5536
5537           from a command prompt, for example.
5538
5539           This option takes the standard substitutions, allowing you to have
5540           separate logon scripts for each user or machine.
5541
5542           This parameter can be used with Win9X workstations to ensure that
5543           roaming profiles are stored in a subdirectory of the user's home
5544           directory. This is done in the following way:
5545
5546           logon home = \\%N\%U\profile
5547
5548           This tells Samba to return the above string, with substitutions
5549           made when a client requests the info, generally in a NetUserGetInfo
5550           request. Win9X clients truncate the info to \\server\share when a
5551           user does net use /home but use the whole string when dealing with
5552           profiles.
5553
5554           Note that in prior versions of Samba, the logon path was returned
5555           rather than logon home. This broke net use /home but allowed
5556           profiles outside the home directory. The current implementation is
5557           correct, and can be used for profiles if you use the above trick.
5558
5559           Disable this feature by setting logon home = "" - using the empty
5560           string.
5561
5562           This option is only useful if Samba is set up as a logon server.
5563
5564           Default: logon home = \\%N\%U
5565
5566           Example: logon home = \\remote_smb_server\%U
5567
5568       logon path (G)
5569
5570           This parameter specifies the directory where roaming profiles
5571           (Desktop, NTuser.dat, etc) are stored. Contrary to previous
5572           versions of these manual pages, it has nothing to do with Win 9X
5573           roaming profiles. To find out how to handle roaming profiles for
5574           Win 9X system, see the logon home parameter.
5575
5576           This option takes the standard substitutions, allowing you to have
5577           separate logon scripts for each user or machine. It also specifies
5578           the directory from which the "Application Data", desktop, start
5579           menu, network neighborhood, programs and other folders, and their
5580           contents, are loaded and displayed on your Windows NT client.
5581
5582           The share and the path must be readable by the user for the
5583           preferences and directories to be loaded onto the Windows NT
5584           client. The share must be writeable when the user logs in for the
5585           first time, in order that the Windows NT client can create the
5586           NTuser.dat and other directories. Thereafter, the directories and
5587           any of the contents can, if required, be made read-only. It is not
5588           advisable that the NTuser.dat file be made read-only - rename it to
5589           NTuser.man to achieve the desired effect (a MANdatory profile).
5590
5591           Windows clients can sometimes maintain a connection to the [homes]
5592           share, even though there is no user logged in. Therefore, it is
5593           vital that the logon path does not include a reference to the homes
5594           share (i.e. setting this parameter to \\%N\homes\profile_path will
5595           cause problems).
5596
5597           This option takes the standard substitutions, allowing you to have
5598           separate logon scripts for each user or machine.
5599
5600               Warning
5601               Do not quote the value. Setting this as “\\%N\profile\%U” will
5602               break profile handling. Where the tdbsam or ldapsam passdb
5603               backend is used, at the time the user account is created the
5604               value configured for this parameter is written to the passdb
5605               backend and that value will over-ride the parameter value
5606               present in the smb.conf file. Any error present in the passdb
5607               backend account record must be editted using the appropriate
5608               tool (pdbedit on the command-line, or any other locally
5609               provided system tool).
5610           Note that this option is only useful if Samba is set up as a domain
5611           controller.
5612
5613           Disable the use of roaming profiles by setting the value of this
5614           parameter to the empty string. For example, logon path = "". Take
5615           note that even if the default setting in the smb.conf file is the
5616           empty string, any value specified in the user account settings in
5617           the passdb backend will over-ride the effect of setting this
5618           parameter to null. Disabling of all roaming profile use requires
5619           that the user account settings must also be blank.
5620
5621           An example of use is:
5622
5623               logon path = \\PROFILESERVER\PROFILE\%U
5624
5625           Default: logon path = \\%N\%U\profile
5626
5627       logon script (G)
5628
5629           This parameter specifies the batch file (.bat) or NT command file
5630           (.cmd) to be downloaded and run on a machine when a user
5631           successfully logs in. The file must contain the DOS style CR/LF
5632           line endings. Using a DOS-style editor to create the file is
5633           recommended.
5634
5635           The script must be a relative path to the [netlogon] service. If
5636           the [netlogon] service specifies a path of
5637           /usr/local/samba/netlogon, and logon script = STARTUP.BAT, then the
5638           file that will be downloaded is:
5639
5640                    /usr/local/samba/netlogon/STARTUP.BAT
5641
5642           The contents of the batch file are entirely your choice. A
5643           suggested command would be to add NET TIME \\SERVER /SET /YES, to
5644           force every machine to synchronize clocks with the same time
5645           server. Another use would be to add NET USE U: \\SERVER\UTILS for
5646           commonly used utilities, or
5647
5648               NET USE Q: \\SERVER\ISO9001_QA
5649
5650           for example.
5651
5652           Note that it is particularly important not to allow write access to
5653           the [netlogon] share, or to grant users write permission on the
5654           batch files in a secure environment, as this would allow the batch
5655           files to be arbitrarily modified and security to be breached.
5656
5657           This option takes the standard substitutions, allowing you to have
5658           separate logon scripts for each user or machine.
5659
5660           This option is only useful if Samba is set up as a logon server in
5661           a classic domain controller role. If Samba is set up as an Active
5662           Directory domain controller, LDAP attribute scriptPath is used
5663           instead. For configurations where passdb backend = ldapsam is in
5664           use, this option only defines a default value in case LDAP
5665           attribute sambaLogonScript is missing.
5666
5667           Default: logon script =
5668
5669           Example: logon script = scripts\%U.bat
5670
5671       log writeable files on exit (G)
5672
5673           When the network connection between a CIFS client and Samba dies,
5674           Samba has no option but to simply shut down the server side of the
5675           network connection. If this happens, there is a risk of data
5676           corruption because the Windows client did not complete all write
5677           operations that the Windows application requested. Setting this
5678           option to "yes" makes smbd log with a level 0 message a list of all
5679           files that have been opened for writing when the network connection
5680           died. Those are the files that are potentially corrupted. It is
5681           meant as an aid for the administrator to give him a list of files
5682           to do consistency checks on.
5683
5684           Default: log writeable files on exit = no
5685
5686       lppause command (S)
5687
5688           This parameter specifies the command to be executed on the server
5689           host in order to stop printing or spooling a specific print job.
5690
5691           This command should be a program or script which takes a printer
5692           name and job number to pause the print job. One way of implementing
5693           this is by using job priorities, where jobs having a too low
5694           priority won't be sent to the printer.
5695
5696           If a %p is given then the printer name is put in its place. A %j is
5697           replaced with the job number (an integer). On HPUX (see
5698           printing=hpux ), if the -p%p option is added to the lpq command,
5699           the job will show up with the correct status, i.e. if the job
5700           priority is lower than the set fence priority it will have the
5701           PAUSED status, whereas if the priority is equal or higher it will
5702           have the SPOOLED or PRINTING status.
5703
5704           Note that it is good practice to include the absolute path in the
5705           lppause command as the PATH may not be available to the server.
5706
5707           Currently no default value is given to this string, unless the
5708           value of the printing parameter is SYSV, in which case the default
5709           is : lp -i %p-%j -H hold or if the value of the printing parameter
5710           is SOFTQ, then the default is: qstat -s -j%j -h.
5711
5712           Default: lppause command =  # determined by printing parameter
5713
5714           Example: lppause command = /usr/bin/lpalt %p-%j -p0
5715
5716       lpq cache time (G)
5717
5718           This controls how long lpq info will be cached for to prevent the
5719           lpq command being called too often. A separate cache is kept for
5720           each variation of the lpq command used by the system, so if you use
5721           different lpq commands for different users then they won't share
5722           cache information.
5723
5724           The cache files are stored in /tmp/lpq.xxxx where xxxx is a hash of
5725           the lpq command in use.
5726
5727           The default is 30 seconds, meaning that the cached results of a
5728           previous identical lpq command will be used if the cached data is
5729           less than 30 seconds old. A large value may be advisable if your
5730           lpq command is very slow.
5731
5732           A value of 0 will disable caching completely.
5733
5734           Default: lpq cache time = 30
5735
5736           Example: lpq cache time = 10
5737
5738       lpq command (S)
5739
5740           This parameter specifies the command to be executed on the server
5741           host in order to obtain lpq-style printer status information.
5742
5743           This command should be a program or script which takes a printer
5744           name as its only parameter and outputs printer status information.
5745
5746           Currently nine styles of printer status information are supported;
5747           BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ. This covers
5748           most UNIX systems. You control which type is expected using the
5749           printing = option.
5750
5751           Some clients (notably Windows for Workgroups) may not correctly
5752           send the connection number for the printer they are requesting
5753           status information about. To get around this, the server reports on
5754           the first printer service connected to by the client. This only
5755           happens if the connection number sent is invalid.
5756
5757           If a %p is given then the printer name is put in its place.
5758           Otherwise it is placed at the end of the command.
5759
5760           Note that it is good practice to include the absolute path in the
5761           lpq command as the $PATH may not be available to the server. When
5762           compiled with the CUPS libraries, no lpq command is needed because
5763           smbd will make a library call to obtain the print queue listing.
5764
5765           Default: lpq command =  # determined by printing parameter
5766
5767           Example: lpq command = /usr/bin/lpq -P%p
5768
5769       lpresume command (S)
5770
5771           This parameter specifies the command to be executed on the server
5772           host in order to restart or continue printing or spooling a
5773           specific print job.
5774
5775           This command should be a program or script which takes a printer
5776           name and job number to resume the print job. See also the lppause
5777           command parameter.
5778
5779           If a %p is given then the printer name is put in its place. A %j is
5780           replaced with the job number (an integer).
5781
5782           Note that it is good practice to include the absolute path in the
5783           lpresume command as the PATH may not be available to the server.
5784
5785           See also the printing parameter.
5786
5787           Default: Currently no default value is given to this string, unless
5788           the value of the printing parameter is SYSV, in which case the
5789           default is:
5790
5791           lp -i %p-%j -H resume
5792
5793           or if the value of the printing parameter is SOFTQ, then the
5794           default is:
5795
5796           qstat -s -j%j -r
5797
5798           Default: lpresume command =  # determined by printing parameter
5799
5800           Example: lpresume command = /usr/bin/lpalt %p-%j -p2
5801
5802       lprm command (S)
5803
5804           This parameter specifies the command to be executed on the server
5805           host in order to delete a print job.
5806
5807           This command should be a program or script which takes a printer
5808           name and job number, and deletes the print job.
5809
5810           If a %p is given then the printer name is put in its place. A %j is
5811           replaced with the job number (an integer).
5812
5813           Note that it is good practice to include the absolute path in the
5814           lprm command as the PATH may not be available to the server.
5815
5816           Examples of use are:
5817
5818               lprm command = /usr/bin/lprm -P%p %j
5819
5820               or
5821
5822               lprm command = /usr/bin/cancel %p-%j
5823
5824           Default: lprm command =  # determined by printing parameter
5825
5826       lsa over netlogon (G)
5827
5828           Setting this deprecated option will allow the RPC server in the AD
5829           DC to answer the LSARPC interface on the \pipe\netlogon IPC pipe.
5830
5831           When enabled, this matches the behaviour of Microsoft's Windows,
5832           due to their internal implementation choices.
5833
5834           If it is disabled (the default), the AD DC can offer improved
5835           performance, as the netlogon server is decoupled and can run as
5836           multiple processes.
5837
5838           Default: lsa over netlogon = no
5839
5840       machine password timeout (G)
5841
5842           If a Samba server is a member of a Windows NT or Active Directory
5843           Domain (see the security = domain and security = ads parameters),
5844           then periodically a running winbindd process will try and change
5845           the MACHINE ACCOUNT PASSWORD stored in the TDB called secrets.tdb.
5846           This parameter specifies how often this password will be changed,
5847           in seconds. The default is one week (expressed in seconds), the
5848           same as a Windows NT Domain member server.
5849
5850           See also smbpasswd(8), and the security = domain and security = ads
5851           parameters.
5852
5853           Default: machine password timeout = 604800
5854
5855       magic output (S)
5856
5857           This parameter specifies the name of a file which will contain
5858           output created by a magic script (see the magic script parameter
5859           below).
5860
5861               Warning
5862               If two clients use the same magic script in the same directory
5863               the output file content is undefined.
5864           Default: magic output =  # <magic script name>.out
5865
5866           Example: magic output = myfile.txt
5867
5868       magic script (S)
5869
5870           This parameter specifies the name of a file which, if opened, will
5871           be executed by the server when the file is closed. This allows a
5872           UNIX script to be sent to the Samba host and executed on behalf of
5873           the connected user.
5874
5875           Scripts executed in this way will be deleted upon completion
5876           assuming that the user has the appropriate level of privilege and
5877           the file permissions allow the deletion.
5878
5879           If the script generates output, output will be sent to the file
5880           specified by the magic output parameter (see above).
5881
5882           Note that some shells are unable to interpret scripts containing
5883           CR/LF instead of CR as the end-of-line marker. Magic scripts must
5884           be executable as is on the host, which for some hosts and some
5885           shells will require filtering at the DOS end.
5886
5887           Magic scripts are EXPERIMENTAL and should NOT be relied upon.
5888
5889           Default: magic script =
5890
5891           Example: magic script = user.csh
5892
5893       mangled names (S)
5894
5895           This controls whether non-DOS names under UNIX should be mapped to
5896           DOS-compatible names ("mangled") and made visible, or whether
5897           non-DOS names should simply be ignored.
5898
5899           See the section on name mangling for details on how to control the
5900           mangling process.
5901
5902           Possible option settings are
5903
5904yes - enables name mangling for all not DOS 8.3
5905                      conforming names.
5906
5907no - disables any name mangling.
5908
5909illegal (default) - does mangling for names with illegal
5910                      NTFS characters. This is the most sensible setting for
5911                      modern clients that don't use the shortname anymore.
5912
5913           If mangling is used then the mangling method is as follows:
5914
5915                  •   The first (up to) five alphanumeric characters before
5916                      the rightmost dot of the filename are preserved, forced
5917                      to upper case, and appear as the first (up to) five
5918                      characters of the mangled name.
5919
5920                  •   A tilde "~" is appended to the first part of the mangled
5921                      name, followed by a two-character unique sequence, based
5922                      on the original root name (i.e., the original filename
5923                      minus its final extension). The final extension is
5924                      included in the hash calculation only if it contains any
5925                      upper case characters or is longer than three
5926                      characters.
5927
5928                      Note that the character to use may be specified using
5929                      the mangling char option, if you don't like '~'.
5930
5931                  •   Files whose UNIX name begins with a dot will be
5932                      presented as DOS hidden files. The mangled name will be
5933                      created as for other filenames, but with the leading dot
5934                      removed and "___" as its extension regardless of actual
5935                      original extension (that's three underscores).
5936
5937           The two-digit hash value consists of upper case alphanumeric
5938           characters.
5939
5940           This algorithm can cause name collisions only if files in a
5941           directory share the same first five alphanumeric characters. The
5942           probability of such a clash is 1/1300.
5943
5944           The name mangling (if enabled) allows a file to be copied between
5945           UNIX directories from Windows/DOS while retaining the long UNIX
5946           filename. UNIX files can be renamed to a new extension from
5947           Windows/DOS and will retain the same basename. Mangled names do not
5948           change between sessions.
5949
5950           Default: mangled names = illegal
5951
5952           Example: mangled names = no
5953
5954       mangle prefix (G)
5955
5956           controls the number of prefix characters from the original name
5957           used when generating the mangled names. A larger value will give a
5958           weaker hash and therefore more name collisions. The minimum value
5959           is 1 and the maximum value is 6.
5960
5961           mangle prefix is effective only when mangling method is hash2.
5962
5963           Default: mangle prefix = 1
5964
5965           Example: mangle prefix = 4
5966
5967       mangling char (S)
5968
5969           This controls what character is used as the magic character in name
5970           mangling. The default is a '~' but this may interfere with some
5971           software. Use this option to set it to whatever you prefer. This is
5972           effective only when mangling method is hash.
5973
5974           Default: mangling char = ~
5975
5976           Example: mangling char = ^
5977
5978       mangling method (G)
5979
5980           controls the algorithm used for the generating the mangled names.
5981           Can take two different values, "hash" and "hash2". "hash" is the
5982           algorithm that was used in Samba for many years and was the default
5983           in Samba 2.2.x "hash2" is now the default and is newer and
5984           considered a better algorithm (generates less collisions) in the
5985           names. Many Win32 applications store the mangled names and so
5986           changing to algorithms must not be done lightly as these
5987           applications may break unless reinstalled.
5988
5989           Default: mangling method = hash2
5990
5991           Example: mangling method = hash
5992
5993       map acl inherit (S)
5994
5995           This boolean parameter is only relevant for systems that do not
5996           support standardized NFS4 ACLs but only a POSIX draft
5997           implementation of ACLs. Linux is the only common UNIX system which
5998           does still not offer standardized NFS4 ACLs actually. On such
5999           systems this parameter controls whether smbd(8) will attempt to map
6000           the 'protected' (don't inherit) flags of the Windows ACLs into an
6001           extended attribute called user.SAMBA_PAI (POSIX draft ACL
6002           Inheritance). This parameter requires support for extended
6003           attributes on the filesystem and allows the Windows ACL editor to
6004           store (non-)inheritance information while NT ACLs are mapped
6005           best-effort to the POSIX draft ACLs that the OS and filesystem
6006           implements.
6007
6008           Default: map acl inherit = no
6009
6010       map archive (S)
6011
6012           This controls whether the DOS archive attribute should be mapped to
6013           the UNIX owner execute bit. The DOS archive bit is set when a file
6014           has been modified since its last backup. One motivation for this
6015           option is to keep Samba/your PC from making any file it touches
6016           from becoming executable under UNIX. This can be quite annoying for
6017           shared source code, documents, etc...
6018
6019           Note that this parameter will be ignored if the store dos
6020           attributes parameter is set, as the DOS archive attribute will then
6021           be stored inside a UNIX extended attribute.
6022
6023           Note that this requires the create mask parameter to be set such
6024           that owner execute bit is not masked out (i.e. it must include
6025           100). See the parameter create mask for details.
6026
6027           Default: map archive = yes
6028
6029       map hidden (S)
6030
6031           This controls whether DOS style hidden files should be mapped to
6032           the UNIX world execute bit.
6033
6034           Note that this parameter will be ignored if the store dos
6035           attributes parameter is set, as the DOS hidden attribute will then
6036           be stored inside a UNIX extended attribute.
6037
6038           Note that this requires the create mask to be set such that the
6039           world execute bit is not masked out (i.e. it must include 001). See
6040           the parameter create mask for details.
6041
6042           Default: map hidden = no
6043
6044       map readonly (S)
6045
6046           This controls how the DOS read only attribute should be mapped from
6047           a UNIX filesystem.
6048
6049           This parameter can take three different values, which tell smbd(8)
6050           how to display the read only attribute on files, where either store
6051           dos attributes is set to No, or no extended attribute is present.
6052           If store dos attributes is set to yes then this parameter is
6053           ignored. This is a new parameter introduced in Samba version
6054           3.0.21.
6055
6056           The three settings are :
6057
6058Yes - The read only DOS attribute is mapped to the
6059                      inverse of the user or owner write bit in the unix
6060                      permission mode set. If the owner write bit is not set,
6061                      the read only attribute is reported as being set on the
6062                      file. If the read only DOS attribute is set, Samba sets
6063                      the owner, group and others write bits to zero. Write
6064                      bits set in an ACL are ignored by Samba. If the read
6065                      only DOS attribute is unset, Samba simply sets the write
6066                      bit of the owner to one.
6067
6068Permissions - The read only DOS attribute is mapped to
6069                      the effective permissions of the connecting user, as
6070                      evaluated by smbd(8) by reading the unix permissions and
6071                      filesystem ACL (if present). If the connecting user does
6072                      not have permission to modify the file, the read only
6073                      attribute is reported as being set on the file.
6074
6075No - The read only DOS attribute is unaffected by
6076                      permissions, and can only be set by the store dos
6077                      attributes method. This may be useful for exporting
6078                      mounted CDs.
6079
6080           Note that this parameter will be ignored if the store dos
6081           attributes parameter is set, as the DOS 'read-only' attribute will
6082           then be stored inside a UNIX extended attribute.
6083
6084           The default has changed to no in Samba release 4.9.0 and above to
6085           allow better Windows fileserver compatibility in a default install.
6086           In addition the default setting of store dos attributes has been
6087           changed to Yes in Samba release 4.9.0 and above.
6088
6089           Default: map readonly = no
6090
6091       map system (S)
6092
6093           This controls whether DOS style system files should be mapped to
6094           the UNIX group execute bit.
6095
6096           Note that this parameter will be ignored if the store dos
6097           attributes parameter is set, as the DOS system attribute will then
6098           be stored inside a UNIX extended attribute.
6099
6100           Note that this requires the create mask to be set such that the
6101           group execute bit is not masked out (i.e. it must include 010). See
6102           the parameter create mask for details.
6103
6104           Default: map system = no
6105
6106       map to guest (G)
6107
6108           This parameter can take four different values, which tell smbd(8)
6109           what to do with user login requests that don't match a valid UNIX
6110           user in some way.
6111
6112           The four settings are :
6113
6114Never - Means user login requests with an invalid
6115                      password are rejected. This is the default.
6116
6117Bad User - Means user logins with an invalid password
6118                      are rejected, unless the username does not exist, in
6119                      which case it is treated as a guest login and mapped
6120                      into the guest account.
6121
6122Bad Password - Means user logins with an invalid
6123                      password are treated as a guest login and mapped into
6124                      the guest account. Note that this can cause problems as
6125                      it means that any user incorrectly typing their password
6126                      will be silently logged on as "guest" - and will not
6127                      know the reason they cannot access files they think they
6128                      should - there will have been no message given to them
6129                      that they got their password wrong. Helpdesk services
6130                      will hate you if you set the map to guest parameter this
6131                      way :-).
6132
6133Bad Uid - Is only applicable when Samba is configured in
6134                      some type of domain mode security (security =
6135                      {domain|ads}) and means that user logins which are
6136                      successfully authenticated but which have no valid Unix
6137                      user account (and smbd is unable to create one) should
6138                      be mapped to the defined guest account. This was the
6139                      default behavior of Samba 2.x releases. Note that if a
6140                      member server is running winbindd, this option should
6141                      never be required because the nss_winbind library will
6142                      export the Windows domain users and groups to the
6143                      underlying OS via the Name Service Switch interface.
6144
6145           Note that this parameter is needed to set up "Guest" share
6146           services. This is because in these modes the name of the resource
6147           being requested is not sent to the server until after the server
6148           has successfully authenticated the client so the server cannot make
6149           authentication decisions at the correct time (connection to the
6150           share) for "Guest" shares.
6151
6152           Default: map to guest = Never
6153
6154           Example: map to guest = Bad User
6155
6156       max connections (S)
6157
6158           This option allows the number of simultaneous connections to a
6159           service to be limited. If max connections is greater than 0 then
6160           connections will be refused if this number of connections to the
6161           service are already open. A value of zero mean an unlimited number
6162           of connections may be made.
6163
6164           Record lock files are used to implement this feature. The lock
6165           files will be stored in the directory specified by the lock
6166           directory option.
6167
6168           Default: max connections = 0
6169
6170           Example: max connections = 10
6171
6172       max disk size (G)
6173
6174           This option allows you to put an upper limit on the apparent size
6175           of disks. If you set this option to 100 then all shares will appear
6176           to be not larger than 100 MB in size.
6177
6178           Note that this option does not limit the amount of data you can put
6179           on the disk. In the above case you could still store much more than
6180           100 MB on the disk, but if a client ever asks for the amount of
6181           free disk space or the total disk size then the result will be
6182           bounded by the amount specified in max disk size.
6183
6184           This option is primarily useful to work around bugs in some pieces
6185           of software that can't handle very large disks, particularly disks
6186           over 1GB in size.
6187
6188           A max disk size of 0 means no limit.
6189
6190           Default: max disk size = 0
6191
6192           Example: max disk size = 1000
6193
6194       max log size (G)
6195
6196           This option (an integer in kilobytes) specifies the max size the
6197           log file should grow to. Samba periodically checks the size and if
6198           it is exceeded it will rename the file, adding a .old extension.
6199
6200           A size of 0 means no limit.
6201
6202           Default: max log size = 5000
6203
6204           Example: max log size = 1000
6205
6206       max mux (G)
6207
6208           This option controls the maximum number of outstanding simultaneous
6209           SMB operations that Samba tells the client it will allow. You
6210           should never need to set this parameter.
6211
6212           Default: max mux = 50
6213
6214       max open files (G)
6215
6216           This parameter limits the maximum number of open files that one
6217           smbd(8) file serving process may have open for a client at any one
6218           time. This parameter can be set very high (16384) as Samba uses
6219           only one bit per unopened file. Setting this parameter lower than
6220           16384 will cause Samba to complain and set this value back to the
6221           minimum of 16384, as Windows 7 depends on this number of open file
6222           handles being available.
6223
6224           The limit of the number of open files is usually set by the UNIX
6225           per-process file descriptor limit rather than this parameter so you
6226           should never need to touch this parameter.
6227
6228           Default: max open files = 16384
6229
6230       max print jobs (S)
6231
6232           This parameter limits the maximum number of jobs allowable in a
6233           Samba printer queue at any given moment. If this number is
6234           exceeded, smbd(8) will remote "Out of Space" to the client.
6235
6236           Default: max print jobs = 1000
6237
6238           Example: max print jobs = 5000
6239
6240       max reported print jobs (S)
6241
6242           This parameter limits the maximum number of jobs displayed in a
6243           port monitor for Samba printer queue at any given moment. If this
6244           number is exceeded, the excess jobs will not be shown. A value of
6245           zero means there is no limit on the number of print jobs reported.
6246
6247           Default: max reported print jobs = 0
6248
6249           Example: max reported print jobs = 1000
6250
6251       max smbd processes (G)
6252
6253           This parameter limits the maximum number of smbd(8) processes
6254           concurrently running on a system and is intended as a stopgap to
6255           prevent degrading service to clients in the event that the server
6256           has insufficient resources to handle more than this number of
6257           connections. Remember that under normal operating conditions, each
6258           user will have an smbd(8) associated with him or her to handle
6259           connections to all shares from a given host.
6260
6261           For a Samba ADDC running the standard process model this option
6262           limits the number of processes forked to handle requests. Currently
6263           new processes are only forked for ldap and netlogon requests.
6264
6265           Default: max smbd processes = 0
6266
6267           Example: max smbd processes = 1000
6268
6269       max stat cache size (G)
6270
6271           This parameter limits the size in memory of any stat cache being
6272           used to speed up case insensitive name mappings. It represents the
6273           number of kilobyte (1024) units the stat cache can use. A value of
6274           zero, meaning unlimited, is not advisable due to increased memory
6275           usage. You should not need to change this parameter.
6276
6277           Default: max stat cache size = 512
6278
6279           Example: max stat cache size = 100
6280
6281       max ttl (G)
6282
6283           This option tells nmbd(8) what the default 'time to live' of
6284           NetBIOS names should be (in seconds) when nmbd is requesting a name
6285           using either a broadcast packet or from a WINS server. You should
6286           never need to change this parameter. The default is 3 days.
6287
6288           Default: max ttl = 259200
6289
6290       max wins ttl (G)
6291
6292           This option tells smbd(8) when acting as a WINS server (wins
6293           support = yes) what the maximum 'time to live' of NetBIOS names
6294           that nmbd will grant will be (in seconds). You should never need to
6295           change this parameter. The default is 6 days (518400 seconds).
6296
6297           Default: max wins ttl = 518400
6298
6299       max xmit (G)
6300
6301           This option controls the maximum packet size that will be
6302           negotiated by Samba's smbd(8) for the SMB1 protocol. The default is
6303           16644, which matches the behavior of Windows 2000. A value below
6304           2048 is likely to cause problems. You should never need to change
6305           this parameter from its default value.
6306
6307           Default: max xmit = 16644
6308
6309           Example: max xmit = 8192
6310
6311       mdns name (G)
6312
6313           This parameter controls the name that multicast DNS support
6314           advertises as its' hostname.
6315
6316           The default is to use the NETBIOS name which is typically the
6317           hostname in all capital letters.
6318
6319           A setting of mdns will defer the hostname configuration to the MDNS
6320           library that is used.
6321
6322           Default: mdns name = netbios
6323
6324       message command (G)
6325
6326           This specifies what command to run when the server receives a
6327           WinPopup style message.
6328
6329           This would normally be a command that would deliver the message
6330           somehow. How this is to be done is up to your imagination.
6331
6332           An example is:
6333
6334               message command = csh -c 'xedit %s;rm %s' &
6335
6336           This delivers the message using xedit, then removes it afterwards.
6337           NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN
6338           IMMEDIATELY. That's why I have the '&' on the end. If it doesn't
6339           return immediately then your PCs may freeze when sending messages
6340           (they should recover after 30 seconds, hopefully).
6341
6342           All messages are delivered as the global guest user. The command
6343           takes the standard substitutions, although
6344            %u won't work (%U may be better in this case).
6345
6346           Apart from the standard substitutions, some additional ones apply.
6347           In particular:
6348
6349%s = the filename containing the message.
6350
6351%t = the destination that the message was sent to
6352                      (probably the server name).
6353
6354%f = who the message is from.
6355
6356           You could make this command send mail, or whatever else takes your
6357           fancy. Please let us know of any really interesting ideas you have.
6358
6359           Here's a way of sending the messages as mail to root:
6360
6361               message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s
6362
6363           If you don't have a message command then the message won't be
6364           delivered and Samba will tell the sender there was an error.
6365           Unfortunately WfWg totally ignores the error code and carries on
6366           regardless, saying that the message was delivered.
6367
6368           If you want to silently delete it then try:
6369
6370               message command = rm %s
6371
6372           Default: message command =
6373
6374           Example: message command = csh -c 'xedit %s; rm %s' &
6375
6376       min domain uid (G)
6377
6378           The integer parameter specifies the minimum uid allowed when
6379           mapping a local account to a domain account.
6380
6381           Note that this option interacts with the configured idmap ranges!
6382
6383           Default: min domain uid = 1000
6384
6385       min print space (S)
6386
6387           This sets the minimum amount of free disk space that must be
6388           available before a user will be able to spool a print job. It is
6389           specified in kilobytes. The default is 0, which means a user can
6390           always spool a print job.
6391
6392           Default: min print space = 0
6393
6394           Example: min print space = 2000
6395
6396       min receivefile size (G)
6397
6398           This option changes the behavior of smbd(8) when processing
6399           SMBwriteX calls. Any incoming SMBwriteX call on a non-signed
6400           SMB/CIFS connection greater than this value will not be processed
6401           in the normal way but will be passed to any underlying kernel
6402           recvfile or splice system call (if there is no such call Samba will
6403           emulate in user space). This allows zero-copy writes directly from
6404           network socket buffers into the filesystem buffer cache, if
6405           available. It may improve performance but user testing is
6406           recommended. If set to zero Samba processes SMBwriteX calls in the
6407           normal way. To enable POSIX large write support (SMB/CIFS writes up
6408           to 16Mb) this option must be nonzero. The maximum value is 128k.
6409           Values greater than 128k will be silently set to 128k.
6410
6411           Note this option will have NO EFFECT if set on a SMB signed
6412           connection.
6413
6414           The default is zero, which disables this option.
6415
6416           Default: min receivefile size = 0
6417
6418       min wins ttl (G)
6419
6420           This option tells nmbd(8) when acting as a WINS server (wins
6421           support = yes) what the minimum 'time to live' of NetBIOS names
6422           that nmbd will grant will be (in seconds). You should never need to
6423           change this parameter. The default is 6 hours (21600 seconds).
6424
6425           Default: min wins ttl = 21600
6426
6427       mit kdc command (G)
6428
6429           This option specifies the path to the MIT kdc binary.
6430
6431           If the KDC is not installed in the default location and wasn't
6432           correctly detected during build then you should modify this
6433           variable and point it to the correct binary.
6434
6435           Default: mit kdc command = /usr/sbin/krb5kdc
6436
6437           Example: mit kdc command = /opt/mit/sbin/krb5kdc
6438
6439       msdfs proxy (S)
6440
6441           This parameter indicates that the share is a stand-in for another
6442           CIFS share whose location is specified by the value of the
6443           parameter. When clients attempt to connect to this share, they are
6444           redirected to one or multiple, comma separated proxied shares using
6445           the SMB-Dfs protocol.
6446
6447           Only Dfs roots can act as proxy shares. Take a look at the msdfs
6448           root and host msdfs options to find out how to set up a Dfs root
6449           share.
6450
6451           No default
6452
6453           Example: msdfs proxy =
6454           \otherserver\someshare,\otherserver2\someshare
6455
6456       msdfs root (S)
6457
6458           If set to yes, Samba treats the share as a Dfs root and allows
6459           clients to browse the distributed file system tree rooted at the
6460           share directory. Dfs links are specified in the share directory by
6461           symbolic links of the form msdfs:serverA\\shareA,serverB\\shareB
6462           and so on. For more information on setting up a Dfs tree on Samba,
6463           refer to the MSDFS chapter in the Samba3-HOWTO book.
6464
6465           Default: msdfs root = no
6466
6467       msdfs shuffle referrals (S)
6468
6469           If set to yes, Samba will shuffle Dfs referrals for a given Dfs
6470           link if multiple are available, allowing for load balancing across
6471           clients. For more information on setting up a Dfs tree on Samba,
6472           refer to the MSDFS chapter in the Samba3-HOWTO book.
6473
6474           Default: msdfs shuffle referrals = no
6475
6476       multicast dns register (G)
6477
6478           If compiled with proper support for it, Samba will announce itself
6479           with multicast DNS services like for example provided by the Avahi
6480           daemon.
6481
6482           This parameter allows disabling Samba to register itself.
6483
6484           Default: multicast dns register = yes
6485
6486       name cache timeout (G)
6487
6488           Specifies the number of seconds it takes before entries in samba's
6489           hostname resolve cache time out. If the timeout is set to 0. the
6490           caching is disabled.
6491
6492           Default: name cache timeout = 660
6493
6494           Example: name cache timeout = 0
6495
6496       name resolve order (G)
6497
6498           This option is used by the programs in the Samba suite to determine
6499           what naming services to use and in what order to resolve host names
6500           to IP addresses. Its main purpose to is to control how netbios name
6501           resolution is performed. The option takes a space separated string
6502           of name resolution options.
6503
6504           The options are: "lmhosts", "host", "wins" and "bcast". They cause
6505           names to be resolved as follows:
6506
6507lmhosts : Lookup an IP address in the Samba lmhosts
6508                      file. If the line in lmhosts has no name type attached
6509                      to the NetBIOS name (see the manpage for lmhosts for
6510                      details) then any name type matches for lookup.
6511
6512host : Do a standard host name to IP address resolution,
6513                      using the system /etc/hosts or DNS lookups. This method
6514                      of name resolution is operating system depended for
6515                      instance on IRIX or Solaris this may be controlled by
6516                      the /etc/nsswitch.conf file. Note that this method is
6517                      used only if the NetBIOS name type being queried is the
6518                      0x20 (server) name type or 0x1c (domain controllers).
6519                      The latter case is only useful for active directory
6520                      domains and results in a DNS query for the SRV RR entry
6521                      matching _ldap._tcp.domain.
6522
6523wins : Query a name with the IP address listed in the
6524                      WINSSERVER parameter. If no WINS server has been
6525                      specified this method will be ignored.
6526
6527bcast : Do a broadcast on each of the known local
6528                      interfaces listed in the interfaces parameter. This is
6529                      the least reliable of the name resolution methods as it
6530                      depends on the target host being on a locally connected
6531                      subnet.
6532
6533           The example below will cause the local lmhosts file to be examined
6534           first, followed by a broadcast attempt, followed by a normal system
6535           hostname lookup.
6536
6537           When Samba is functioning in ADS security mode (security = ads) it
6538           is advised to use following settings for name resolve order:
6539
6540           name resolve order = wins bcast
6541
6542           DC lookups will still be done via DNS, but fallbacks to netbios
6543           names will not inundate your DNS servers with needless queries for
6544           DOMAIN<0x1c> lookups.
6545
6546           Default: name resolve order = lmhosts wins host bcast
6547
6548           Example: name resolve order = lmhosts bcast host
6549
6550       socket address
6551
6552           This parameter is a synonym for nbt client socket address.
6553
6554       nbt client socket address (G)
6555
6556           This option allows you to control what address Samba will send NBT
6557           client packets from, and process replies using, including in nmbd.
6558
6559           Setting this option should never be necessary on usual Samba
6560           servers running only one nmbd.
6561
6562           By default Samba will send UDP packets from the OS default address
6563           for the destination, and accept replies on 0.0.0.0.
6564
6565           This parameter is deprecated. See bind interfaces only = Yes and
6566           interfaces for the previous behaviour of controlling the normal
6567           listening sockets.
6568
6569           Default: nbt client socket address = 0.0.0.0
6570
6571           Example: nbt client socket address = 192.168.2.20
6572
6573       nbtd:wins_prepend1Bto1Cqueries (G)
6574
6575           Normally queries for 0x1C names (all logon servers for a domain)
6576           will return the first address of the 0x1B names (domain master
6577           browser and PDC) as first address in the result list. As many
6578           client only use the first address in the list by default, all
6579           clients will use the same server (the PDC). Windows servers have an
6580           option to disable this behavior (since Windows 2000 Service Pack
6581           2).
6582
6583           Default: nbtd:wins_prepend1Bto1Cqueries = yes
6584
6585       nbtd:wins_wins_randomize1Clist (G)
6586
6587           Normally queries for 0x1C names will return the addresses in the
6588           same order as they're stored in the database, that means first all
6589           addresses which have been directly registered at the local wins
6590           server and then all addresses registered at other servers. Windows
6591           servers have an option to change this behavior and randomize the
6592           returned addresses. Set this parameter to "yes" and Samba will sort
6593           the address list depending on the client address and the matching
6594           bits of the addresses, the first address is randomized based on
6595           depending on the "nbtd:wins_randomize1Clist_mask" parameter.
6596
6597           Default: nbtd:wins_wins_randomize1Clist = no
6598
6599       nbtd:wins_randomize1Clist_mask (G)
6600
6601           If the "nbtd:wins_randomize1Clist" parameter is set to "yes", then
6602           randomizing of the first returned address is based on the specified
6603           netmask. If there are addresses which are in the same subnet as the
6604           client address, the first returned address is randomly chosen out
6605           them. Otherwise the first returned address is randomly chosen out
6606           of all addresses.
6607
6608           Default: nbtd:wins_randomize1Clist_mask = 255.255.255.0
6609
6610       nbt port (G)
6611
6612           Specifies which port the server should use for NetBIOS over IP name
6613           services traffic.
6614
6615           Default: nbt port = 137
6616
6617       ncalrpc dir (G)
6618
6619           This directory will hold a series of named pipes to allow RPC over
6620           inter-process communication.
6621
6622           This will allow Samba and other unix processes to interact over
6623           DCE/RPC without using TCP/IP. Additionally a sub-directory 'np' has
6624           restricted permissions, and allows a trusted communication channel
6625           between Samba processes
6626
6627           Default: ncalrpc dir = /run/samba/ncalrpc
6628
6629           Example: ncalrpc dir = /var/run/samba/ncalrpc
6630
6631       netbios aliases (G)
6632
6633           This is a list of NetBIOS names that nmbd will advertise as
6634           additional names by which the Samba server is known. This allows
6635           one machine to appear in browse lists under multiple names. If a
6636           machine is acting as a browse server or logon server none of these
6637           names will be advertised as either browse server or logon servers,
6638           only the primary name of the machine will be advertised with these
6639           capabilities.
6640
6641           Default: netbios aliases =  # empty string (no additional names)
6642
6643           Example: netbios aliases = TEST TEST1 TEST2
6644
6645       netbios name (G)
6646
6647           This sets the NetBIOS name by which a Samba server is known. By
6648           default it is the same as the first component of the host's DNS
6649           name. If a machine is a browse server or logon server this name (or
6650           the first component of the hosts DNS name) will be the name that
6651           these services are advertised under.
6652
6653           Note that the maximum length for a NetBIOS name is 15 characters.
6654
6655           There is a bug in Samba that breaks operation of browsing and
6656           access to shares if the netbios name is set to the literal name
6657           PIPE. To avoid this problem, do not name your Samba server PIPE.
6658
6659           Default: netbios name =  # machine DNS name
6660
6661           Example: netbios name = MYNAME
6662
6663       netbios scope (G)
6664
6665           This sets the NetBIOS scope that Samba will operate under. This
6666           should not be set unless every machine on your LAN also sets this
6667           value.
6668
6669           Default: netbios scope =
6670
6671       neutralize nt4 emulation (G)
6672
6673           This option controls whether winbindd sends the
6674           NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION flag in order to bypass the
6675           NT4 emulation of a domain controller.
6676
6677           Typically you should not need set this. It can be useful for
6678           upgrades from NT4 to AD domains.
6679
6680           The behavior can be controlled per netbios domain by using
6681           'neutralize nt4 emulation:NETBIOSDOMAIN = yes' as option.
6682
6683           Default: neutralize nt4 emulation = no
6684
6685       nmbd bind explicit broadcast (G)
6686
6687           This option causes nmbd(8) to explicitly bind to the broadcast
6688           address of the local subnets. This is needed to make nmbd work
6689           correctly in combination with the socket address option. You should
6690           not need to unset this option.
6691
6692           Default: nmbd bind explicit broadcast = yes
6693
6694       nsupdate command (G)
6695
6696           This option sets the path to the nsupdate command which is used for
6697           GSS-TSIG dynamic DNS updates.
6698
6699           Default: nsupdate command = /usr/bin/nsupdate -g
6700
6701       nt hash store (G)
6702
6703           This parameter determines whether or not samba(8) will, as an AD
6704           DC, attempt to store the NT password hash used in NTLM and NTLMv2
6705           authentication for users in this domain.
6706
6707           If so configured, the Samba Active Directory Domain Controller,
6708           will, except for trust accounts (computers, domain controllers and
6709           inter-domain trusts) the NOT store the NT hash for new and changed
6710           accounts in the sam.ldb database.
6711
6712           This avoids the storage of an unsalted hash for these user-created
6713           passwords. As a consequence the arcfour-hmac-md5 Kerberos key type
6714           is also unavailable in the KDC for these users - thankfully modern
6715           clients will select an AES based key instead.
6716
6717           NOTE: As the password history in Active Directory is stored as an
6718           NT hash (and thus unavailable), a workaround is used, relying
6719           instead on Kerberos password hash values. This stores three
6720           passwords, the current, previous and second previous password. This
6721           allows some checking against reuse.
6722
6723           However as these values are salted, changing the sAMAccountName,
6724           userAccountControl or userPrincipalName of an account will cause
6725           the salt to change. After the rare combination of both a rename and
6726           a password change only the current password will be recognised for
6727           password history purposes.
6728
6729           The available settings are:
6730
6731always - Always store the NT hash (as machine accounts
6732                      will also always store an NT hash, a hash will be stored
6733                      for all accounts).
6734
6735                      This setting may be useful if ntlm auth is set to
6736                      disabled for a trial period
6737
6738never - Never store the NT hash for user accounts, only
6739                      for machine accounts
6740
6741auto - Store an NT hash if ntlm auth is not set to
6742                      disabled.
6743
6744           Default: nt hash store = always
6745
6746       nt acl support (S)
6747
6748           This boolean parameter controls whether smbd(8) will attempt to map
6749           UNIX permissions into Windows NT access control lists. The UNIX
6750           permissions considered are the traditional UNIX owner and group
6751           permissions, as well as filesystem ACLs set on any files or
6752           directories. This parameter was formally a global parameter in
6753           releases prior to 2.2.2.
6754
6755           Default: nt acl support = yes
6756
6757       ntlm auth (G)
6758
6759           This parameter determines whether or not smbd(8) will attempt to
6760           authenticate users using the NTLM encrypted password response for
6761           this local passdb (SAM or account database).
6762
6763           If disabled, both NTLM and LanMan authentication against the local
6764           passdb is disabled.
6765
6766           Note that these settings apply only to local users, authentication
6767           will still be forwarded to and NTLM authentication accepted against
6768           any domain we are joined to, and any trusted domain, even if
6769           disabled or if NTLMv2-only is enforced here. To control NTLM
6770           authentiation for domain users, this must option must be configured
6771           on each DC.
6772
6773           By default with ntlm auth set to ntlmv2-only only NTLMv2 logins
6774           will be permitted. All modern clients support NTLMv2 by default,
6775           but some older clients will require special configuration to use
6776           it.
6777
6778           The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.
6779
6780           The available settings are:
6781
6782ntlmv1-permitted (alias yes) - Allow NTLMv1 and above
6783                      for all clients.
6784
6785                      This is the required setting for to enable the lanman
6786                      auth parameter.
6787
6788ntlmv2-only (alias no) - Do not allow NTLMv1 to be used,
6789                      but permit NTLMv2.
6790
6791mschapv2-and-ntlmv2-only - Only allow NTLMv1 when the
6792                      client promises that it is providing MSCHAPv2
6793                      authentication (such as the ntlm_auth tool).
6794
6795disabled - Do not accept NTLM (or LanMan) authentication
6796                      of any level, nor permit NTLM password changes.
6797
6798                      WARNING: Both Microsoft Windows and Samba Read Only
6799                      Domain Controllers (RODCs) convert a plain-text LDAP
6800                      Simple Bind into an NTLMv2 authentication to forward to
6801                      a full DC. Setting this option to disabled will cause
6802                      these forwarded authentications to fail.
6803
6804                      Additionally, for Samba acting as an Active Directory
6805                      Domain Controller, for user accounts, if nt hash store
6806                      is set to the default setting of auto, the NT hash will
6807                      not be stored in the sam.ldb database for new users and
6808                      after a password change.
6809
6810           The default changed from yes to no with Samba 4.5. The default
6811           changed again to ntlmv2-only with Samba 4.7, however the behaviour
6812           is unchanged.
6813
6814           Default: ntlm auth = ntlmv2-only
6815
6816       nt pipe support (G)
6817
6818           This boolean parameter controls whether smbd(8) will allow Windows
6819           NT clients to connect to the NT SMB specific IPC$ pipes. This is a
6820           developer debugging option and can be left alone.
6821
6822           Default: nt pipe support = yes
6823
6824       ntp signd socket directory (G)
6825
6826           This setting controls the location of the socket that the NTP
6827           daemon uses to communicate with Samba for signing packets.
6828
6829           If a non-default path is specified here, then it is also necessary
6830           to make NTP aware of the new path using the ntpsigndsocket
6831           directive in ntp.conf.
6832
6833           Default: ntp signd socket directory = /var/lib/samba/ntp_signd
6834
6835       nt status support (G)
6836
6837           This boolean parameter controls whether smbd(8) will negotiate NT
6838           specific status support with Windows NT/2k/XP clients. This is a
6839           developer debugging option and should be left alone. If this option
6840           is set to no then Samba offers exactly the same DOS error codes
6841           that versions prior to Samba 2.2.3 reported.
6842
6843           You should not need to ever disable this parameter.
6844
6845           Default: nt status support = yes
6846
6847       ntvfs handler (S)
6848
6849           This specifies the NTVFS handlers for this share.
6850
6851                  •   unixuid: Sets up user credentials based on POSIX
6852                      gid/uid.
6853
6854                  •   cifs: Proxies a remote CIFS FS. Mainly useful for
6855                      testing.
6856
6857                  •   nbench: Filter module that saves data useful to the
6858                      nbench benchmark suite.
6859
6860                  •   ipc: Allows using SMB for inter process communication.
6861                      Only used for the IPC$ share.
6862
6863                  •   posix: Maps POSIX FS semantics to NT semantics
6864
6865                  •   print: Allows printing over SMB. This is LANMAN-style
6866                      printing, not the be confused with the spoolss DCE/RPC
6867                      interface used by later versions of Windows.
6868
6869           Note that this option is only used when the NTVFS file server is in
6870           use. It is not used with the (default) s3fs file server.
6871
6872           Default: ntvfs handler = unixuid, default
6873
6874       null passwords (G)
6875
6876           Allow or disallow client access to accounts that have null
6877           passwords.
6878
6879           See also smbpasswd(5).
6880
6881           Default: null passwords = no
6882
6883       obey pam restrictions (G)
6884
6885           When Samba 3.0 is configured to enable PAM support (i.e.
6886           --with-pam), this parameter will control whether or not Samba
6887           should obey PAM's account and session management directives. The
6888           default behavior is to use PAM for clear text authentication only
6889           and to ignore any account or session management. Note that Samba
6890           always ignores PAM for authentication in the case of encrypt
6891           passwords = yes. The reason is that PAM modules cannot support the
6892           challenge/response authentication mechanism needed in the presence
6893           of SMB password encryption.
6894
6895           Default: obey pam restrictions = no
6896
6897       old password allowed period (G)
6898
6899           Number of minutes to permit an NTLM login after a password change
6900           or reset using the old password. This allows the user to re-cache
6901           the new password on multiple clients without disrupting a network
6902           reconnection in the meantime.
6903
6904           This parameter only applies when server role is set to Active
6905           Directory Domain Controller.
6906
6907           Default: old password allowed period = 60
6908
6909       oplock break wait time (G)
6910
6911           This is a tuning parameter added due to bugs in both Windows 9x and
6912           WinNT. If Samba responds to a client too quickly when that client
6913           issues an SMB that can cause an oplock break request, then the
6914           network client can fail and not respond to the break request. This
6915           tuning parameter (which is set in milliseconds) is the amount of
6916           time Samba will wait before sending an oplock break request to such
6917           (broken) clients.
6918
6919               Warning
6920               DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND
6921               UNDERSTOOD THE SAMBA OPLOCK CODE.
6922           Default: oplock break wait time = 0
6923
6924       oplocks (S)
6925
6926           This boolean option tells smbd whether to issue oplocks
6927           (opportunistic locks) to file open requests on this share. The
6928           oplock code can dramatically (approx. 30% or more) improve the
6929           speed of access to files on Samba servers. It allows the clients to
6930           aggressively cache files locally and you may want to disable this
6931           option for unreliable network environments (it is turned on by
6932           default in Windows NT Servers).
6933
6934           Oplocks may be selectively turned off on certain files with a
6935           share. See the veto oplock files parameter. On some systems oplocks
6936           are recognized by the underlying operating system. This allows data
6937           synchronization between all access to oplocked files, whether it be
6938           via Samba or NFS or a local UNIX process. See the kernel oplocks
6939           parameter for details.
6940
6941           Default: oplocks = yes
6942
6943       os2 driver map (G)
6944
6945           The parameter is used to define the absolute path to a file
6946           containing a mapping of Windows NT printer driver names to OS/2
6947           printer driver names. The format is:
6948
6949           <nt driver name> = <os2 driver name>.<device name>
6950
6951           For example, a valid entry using the HP LaserJet 5 printer driver
6952           would appear as HP LaserJet 5L = LASERJET.HP LaserJet 5L.
6953
6954           The need for the file is due to the printer driver namespace
6955           problem described in the chapter on Classical Printing in the
6956           Samba3-HOWTO book. For more details on OS/2 clients, please refer
6957           to chapter on other clients in the Samba3-HOWTO book.
6958
6959           Default: os2 driver map =
6960
6961       os level (G)
6962
6963           This integer value controls what level Samba advertises itself as
6964           for browse elections. The value of this parameter determines
6965           whether nmbd(8) has a chance of becoming a local master browser for
6966           the workgroup in the local broadcast area.
6967
6968            Note: By default, Samba will win a local master browsing election
6969           over all Microsoft operating systems except a Windows NT 4.0/2000
6970           Domain Controller. This means that a misconfigured Samba host can
6971           effectively isolate a subnet for browsing purposes. This parameter
6972           is largely auto-configured in the Samba-3 release series and it is
6973           seldom necessary to manually override the default setting. Please
6974           refer to the chapter on Network Browsing in the Samba-3 HOWTO
6975           document for further information regarding the use of this
6976           parameter.  Note: The maximum value for this parameter is 255. If
6977           you use higher values, counting will start at 0!
6978
6979           Default: os level = 20
6980
6981           Example: os level = 65
6982
6983       pam password change (G)
6984
6985           With the addition of better PAM support in Samba 2.2, this
6986           parameter, it is possible to use PAM's password change control flag
6987           for Samba. If enabled, then PAM will be used for password changes
6988           when requested by an SMB client instead of the program listed in
6989           passwd program. It should be possible to enable this without
6990           changing your passwd chat parameter for most setups.
6991
6992           Default: pam password change = no
6993
6994       panic action (G)
6995
6996           This is a Samba developer option that allows a system command to be
6997           called when either smbd(8) or nmbd(8) crashes. This is usually used
6998           to draw attention to the fact that a problem occurred.
6999
7000           Default: panic action =
7001
7002           Example: panic action = /bin/sleep 90000
7003
7004       passdb backend (G)
7005
7006           This option allows the administrator to chose which backend will be
7007           used for storing user and possibly group information. This allows
7008           you to swap between different storage mechanisms without recompile.
7009
7010           The parameter value is divided into two parts, the backend's name,
7011           and a 'location' string that has meaning only to that particular
7012           backed. These are separated by a : character.
7013
7014           Available backends can include:
7015
7016                  •   smbpasswd - The old plaintext passdb backend. Some Samba
7017                      features will not work if this passdb backend is used.
7018                      Takes a path to the smbpasswd file as an optional
7019                      argument.
7020
7021                  •   tdbsam - The TDB based password storage backend. Takes a
7022                      path to the TDB as an optional argument (defaults to
7023                      passdb.tdb in the private dir directory.
7024
7025                  •   ldapsam - The LDAP based passdb backend. Takes an LDAP
7026                      URL as an optional argument (defaults to
7027                      ldap://localhost)
7028
7029                      LDAP connections should be secured where possible. This
7030                      may be done using either Start-TLS (see ldap ssl) or by
7031                      specifying ldaps:// in the URL argument.
7032
7033                      Multiple servers may also be specified in double-quotes.
7034                      Whether multiple servers are supported or not and the
7035                      exact syntax depends on the LDAP library you use.
7036
7037
7038                Examples of use are:
7039
7040               passdb backend = tdbsam:/etc/samba/private/passdb.tdb
7041
7042               or multi server LDAP URL with OpenLDAP library:
7043
7044               passdb backend = ldapsam:"ldap://ldap-1.example.com ldap://ldap-2.example.com"
7045
7046               or multi server LDAP URL with Netscape based LDAP library:
7047
7048               passdb backend = ldapsam:"ldap://ldap-1.example.com ldap-2.example.com"
7049
7050           Default: passdb backend = tdbsam
7051
7052       passdb expand explicit (G)
7053
7054           This parameter controls whether Samba substitutes %-macros in the
7055           passdb fields if they are explicitly set. We used to expand macros
7056           here, but this turned out to be a bug because the Windows client
7057           can expand a variable %G_osver% in which %G would have been
7058           substituted by the user's primary group.
7059
7060           Default: passdb expand explicit = no
7061
7062       passwd chat (G)
7063
7064           This string controls the "chat" conversation that takes places
7065           between smbd(8) and the local password changing program to change
7066           the user's password. The string describes a sequence of
7067           response-receive pairs that smbd(8) uses to determine what to send
7068           to the passwd program and what to expect back. If the expected
7069           output is not received then the password is not changed.
7070
7071           This chat sequence is often quite site specific, depending on what
7072           local methods are used for password control.
7073
7074           Note that this parameter only is used if the unix password sync
7075           parameter is set to yes. This sequence is then called AS ROOT when
7076           the SMB password in the smbpasswd file is being changed, without
7077           access to the old password cleartext. This means that root must be
7078           able to reset the user's password without knowing the text of the
7079           previous password.
7080
7081           The string can contain the macro %n which is substituted for the
7082           new password. The old password (%o) is only available when encrypt
7083           passwords has been disabled. The chat sequence can also contain the
7084           standard macros \n, \r, \t and \s to give line-feed,
7085           carriage-return, tab and space. The chat sequence string can also
7086           contain a '*' which matches any sequence of characters. Double
7087           quotes can be used to collect strings with spaces in them into a
7088           single string.
7089
7090           If the send string in any part of the chat sequence is a full stop
7091           ".", then no string is sent. Similarly, if the expect string is a
7092           full stop then no string is expected.
7093
7094           If the pam password change parameter is set to yes, the chat pairs
7095           may be matched in any order, and success is determined by the PAM
7096           result, not any particular output. The \n macro is ignored for PAM
7097           conversions.
7098
7099           Default: passwd chat = *new*password* %n\n *new*password* %n\n
7100           *changed*
7101
7102           Example: passwd chat = "*Enter NEW password*" %n\n "*Reenter NEW
7103           password*" %n\n "*Password changed*"
7104
7105       passwd chat debug (G)
7106
7107           This boolean specifies if the passwd chat script parameter is run
7108           in debug mode. In this mode the strings passed to and received from
7109           the passwd chat are printed in the smbd(8) log with a debug level
7110           of 100. This is a dangerous option as it will allow plaintext
7111           passwords to be seen in the smbd log. It is available to help Samba
7112           admins debug their passwd chat scripts when calling the passwd
7113           program and should be turned off after this has been done. This
7114           option has no effect if the pam password change parameter is set.
7115           This parameter is off by default.
7116
7117           Default: passwd chat debug = no
7118
7119       passwd chat timeout (G)
7120
7121           This integer specifies the number of seconds smbd will wait for an
7122           initial answer from a passwd chat script being run. Once the
7123           initial answer is received the subsequent answers must be received
7124           in one tenth of this time. The default it two seconds.
7125
7126           Default: passwd chat timeout = 2
7127
7128       passwd program (G)
7129
7130           The name of a program that can be used to set UNIX user passwords.
7131           Any occurrences of %u will be replaced with the user name. The user
7132           name is checked for existence before calling the password changing
7133           program.
7134
7135           Also note that many passwd programs insist in reasonable passwords,
7136           such as a minimum length, or the inclusion of mixed case chars and
7137           digits. This can pose a problem as some clients (such as Windows
7138           for Workgroups) uppercase the password before sending it.
7139
7140           Note that if the unix password sync parameter is set to yes then
7141           this program is called AS ROOT before the SMB password in the
7142           smbpasswd file is changed. If this UNIX password change fails, then
7143           smbd will fail to change the SMB password also (this is by design).
7144
7145           If the unix password sync parameter is set this parameter MUST USE
7146           ABSOLUTE PATHS for ALL programs called, and must be examined for
7147           security implications. Note that by default unix password sync is
7148           set to no.
7149
7150           Default: passwd program =
7151
7152           Example: passwd program = /bin/passwd %u
7153
7154       password hash gpg key ids (G)
7155
7156           If samba is running as an active directory domain controller, it is
7157           possible to store the cleartext password of accounts in a
7158           PGP/OpenGPG encrypted form.
7159
7160           You can specify one or more recipients by key id or user id. Note
7161           that 32bit key ids are not allowed, specify at least 64bit.
7162
7163           The value is stored as 'Primary:SambaGPG' in the
7164           supplementalCredentials attribute.
7165
7166           As password changes can occur on any domain controller, you should
7167           configure this on each of them. Note that this feature is currently
7168           available only on Samba domain controllers.
7169
7170           This option is only available if samba was compiled with gpgme
7171           support.
7172
7173           You may need to export the GNUPGHOME environment variable before
7174           starting samba.  It is strongly recommended to only store the
7175           public key in this location. The private key is not used for
7176           encryption and should be only stored where decryption is required.
7177
7178           Being able to restore the cleartext password helps, when they need
7179           to be imported into other authentication systems later (see
7180           samba-tool user getpassword) or you want to keep the passwords in
7181           sync with another system, e.g. an OpenLDAP server (see samba-tool
7182           user syncpasswords).
7183
7184           While this option needs to be configured on all domain controllers,
7185           the samba-tool user syncpasswords command should run on a single
7186           domain controller only (typically the PDC-emulator).
7187
7188           Default: password hash gpg key ids =
7189
7190           Example: password hash gpg key ids = 4952E40301FAB41A
7191
7192           Example: password hash gpg key ids = selftest@samba.example.com
7193
7194           Example: password hash gpg key ids = selftest@samba.example.com,
7195           4952E40301FAB41A
7196
7197       password hash userPassword schemes (G)
7198
7199           This parameter determines whether or not samba(8) acting as an
7200           Active Directory Domain Controller will attempt to store additional
7201           passwords hash types for the user
7202
7203           The values are stored as 'Primary:userPassword' in the
7204           supplementalCredentials attribute. The value of this option is a
7205           hash type.
7206
7207           The currently supported hash types are:
7208
7209CryptSHA256
7210
7211CryptSHA512
7212
7213           Multiple instances of a hash type may be computed and stored. The
7214           password hashes are calculated using the crypt(3) call. The number
7215           of rounds used to compute the hash can be specified by adding
7216           ':rounds=xxxx' to the hash type, i.e. CryptSHA512:rounds=4500 would
7217           calculate an SHA512 hash using 4500 rounds. If not specified the
7218           Operating System defaults for crypt(3) are used.
7219
7220           As password changes can occur on any domain controller, you should
7221           configure this on each of them. Note that this feature is currently
7222           available only on Samba domain controllers.
7223
7224           Currently the NT Hash of the password is recorded when these hashes
7225           are calculated and stored. When retrieving the hashes the current
7226           value of the NT Hash is checked against the stored NT Hash. This
7227           detects password changes that have not updated the password hashes.
7228           In this case samba-tool user will ignore the stored hash values.
7229
7230           Being able to obtain the hashed password helps, when they need to
7231           be imported into other authentication systems later (see samba-tool
7232           user getpassword) or you want to keep the passwords in sync with
7233           another system, e.g. an OpenLDAP server (see samba-tool user
7234           syncpasswords).
7235
7236           Related command: unix password sync
7237
7238           Default: password hash userPassword schemes =
7239
7240           Example: password hash userPassword schemes = CryptSHA256
7241
7242           Example: password hash userPassword schemes = CryptSHA256
7243           CryptSHA512
7244
7245           Example: password hash userPassword schemes =
7246           CryptSHA256:rounds=5000 CryptSHA512:rounds=7000
7247
7248       password server (G)
7249
7250           By specifying the name of a domain controller with this option, and
7251           using security = [ads|domain] it is possible to get Samba to do all
7252           its username/password validation using a specific remote server.
7253
7254           Ideally, this option should not be used, as the default '*'
7255           indicates to Samba to determine the best DC to contact dynamically,
7256           just as all other hosts in an AD domain do. This allows the domain
7257           to be maintained (addition and removal of domain controllers)
7258           without modification to the smb.conf file. The cryptographic
7259           protection on the authenticated RPC calls used to verify passwords
7260           ensures that this default is safe.
7261
7262           It is strongly recommended that you use the default of '*', however
7263           if in your particular environment you have reason to specify a
7264           particular DC list, then the list of machines in this option must
7265           be a list of names or IP addresses of Domain controllers for the
7266           Domain. If you use the default of '*', or list several hosts in the
7267           password server option then smbd will try each in turn till it
7268           finds one that responds. This is useful in case your primary server
7269           goes down.
7270
7271           If the list of servers contains both names/IP's and the '*'
7272           character, the list is treated as a list of preferred domain
7273           controllers, but an auto lookup of all remaining DC's will be added
7274           to the list as well. Samba will not attempt to optimize this list
7275           by locating the closest DC.
7276
7277           If parameter is a name, it is looked up using the parameter name
7278           resolve order and so may resolved by any method and order described
7279           in that parameter.
7280
7281           Default: password server = *
7282
7283           Example: password server = NT-PDC, NT-BDC1, NT-BDC2, *
7284
7285           Example: password server = windc.mydomain.com:389 192.168.1.101 *
7286
7287       directory
7288
7289           This parameter is a synonym for path.
7290
7291       path (S)
7292
7293           This parameter specifies a directory to which the user of the
7294           service is to be given access. In the case of printable services,
7295           this is where print data will spool prior to being submitted to the
7296           host for printing.
7297
7298           For a printable service offering guest access, the service should
7299           be readonly and the path should be world-writeable and have the
7300           sticky bit set. This is not mandatory of course, but you probably
7301           won't get the results you expect if you do otherwise.
7302
7303           Any occurrences of %u in the path will be replaced with the UNIX
7304           username that the client is using on this connection. Any
7305           occurrences of %m will be replaced by the NetBIOS name of the
7306           machine they are connecting from. These replacements are very
7307           useful for setting up pseudo home directories for users.
7308
7309           Note that this path will be based on root dir if one was specified.
7310
7311           Default: path =
7312
7313           Example: path = /home/fred
7314
7315       perfcount module (G)
7316
7317           This parameter specifies the perfcount backend to be used when
7318           monitoring SMB operations. Only one perfcount module may be used,
7319           and it must implement all of the apis contained in the
7320           smb_perfcount_handler structure defined in smb.h.
7321
7322           No default
7323
7324       pid directory (G)
7325
7326           This option specifies the directory where pid files will be placed.
7327
7328           Default: pid directory = /run
7329
7330           Example: pid directory = /var/run/
7331
7332       posix locking (S)
7333
7334           The smbd(8) daemon maintains an database of file locks obtained by
7335           SMB clients. The default behavior is to map this internal database
7336           to POSIX locks. This means that file locks obtained by SMB clients
7337           are consistent with those seen by POSIX compliant applications
7338           accessing the files via a non-SMB method (e.g. NFS or local file
7339           access). It is very unlikely that you need to set this parameter to
7340           "no", unless you are sharing from an NFS mount, which is not a good
7341           idea in the first place.
7342
7343           Default: posix locking = yes
7344
7345       postexec (S)
7346
7347           This option specifies a command to be run whenever the service is
7348           disconnected. It takes the usual substitutions. The command may be
7349           run as the root on some systems.
7350
7351           An interesting example may be to unmount server resources:
7352
7353           postexec = /etc/umount /cdrom
7354
7355           Default: postexec =
7356
7357           Example: postexec = echo \"%u disconnected from %S from %m (%I)\"
7358           >> /tmp/log
7359
7360       exec
7361
7362           This parameter is a synonym for preexec.
7363
7364       preexec (S)
7365
7366           This option specifies a command to be run whenever the service is
7367           connected to. It takes the usual substitutions.
7368
7369           An interesting example is to send the users a welcome message every
7370           time they log in. Maybe a message of the day? Here is an example:
7371
7372           preexec = csh -c 'echo \"Welcome to %S!\" |
7373           /usr/local/samba/bin/smbclient -M %m -I %I' &
7374
7375           Of course, this could get annoying after a while :-)
7376
7377           See also preexec close and postexec.
7378
7379           Default: preexec =
7380
7381           Example: preexec = echo \"%u connected to %S from %m (%I)\" >>
7382           /tmp/log
7383
7384       preexec close (S)
7385
7386           This boolean option controls whether a non-zero return code from
7387           preexec should close the service being connected to.
7388
7389           Default: preexec close = no
7390
7391       prefered master
7392
7393           This parameter is a synonym for preferred master.
7394
7395       preferred master (G)
7396
7397           This boolean parameter controls if nmbd(8) is a preferred master
7398           browser for its workgroup.
7399
7400           If this is set to yes, on startup, nmbd will force an election, and
7401           it will have a slight advantage in winning the election. It is
7402           recommended that this parameter is used in conjunction with domain
7403           master = yes, so that nmbd can guarantee becoming a domain master.
7404
7405           Use this option with caution, because if there are several hosts
7406           (whether Samba servers, Windows 95 or NT) that are preferred master
7407           browsers on the same subnet, they will each periodically and
7408           continuously attempt to become the local master browser. This will
7409           result in unnecessary broadcast traffic and reduced browsing
7410           capabilities.
7411
7412           Default: preferred master = auto
7413
7414       prefork backoff increment (G)
7415
7416           This option specifies the number of seconds added to the delay
7417           before a prefork master or worker process is restarted. The restart
7418           is initially zero, the prefork backoff increment is added to the
7419           delay on each restart up to the value specified by "prefork maximum
7420           backoff".
7421
7422           Additionally set the backoff for an individual service by using
7423           "prefork backoff increment: service name" i.e. "prefork backoff
7424           increment:ldap = 2" to set the backoff increment to 2.
7425
7426           If the backoff increment is 2 and the maximum backoff is 5. There
7427           will be a zero second delay for the first restart. A two second
7428           delay for the second restart. A four second delay for the third and
7429           any subsequent restarts
7430
7431           Default: prefork backoff increment = 10
7432
7433       prefork children (G)
7434
7435           This option controls the number of worker processes that are
7436           started for each service when prefork process model is enabled (see
7437           samba(8) -M) The prefork children are only started for those
7438           services that support prefork (currently ldap, kdc and netlogon).
7439           For processes that don't support preforking all requests are
7440           handled by a single process for that service.
7441
7442           This should be set to a small multiple of the number of CPU's
7443           available on the server
7444
7445           Additionally the number of prefork children can be specified for an
7446           individual service by using "prefork children: service name" i.e.
7447           "prefork children:ldap = 8" to set the number of ldap worker
7448           processes.
7449
7450           Default: prefork children = 4
7451
7452       prefork maximum backoff (G)
7453
7454           This option controls the maximum delay before a failed pre-fork
7455           process is restarted.
7456
7457           Default: prefork maximum backoff = 120
7458
7459       preload modules (G)
7460
7461           This is a list of paths to modules that should be loaded into smbd
7462           before a client connects. This improves the speed of smbd when
7463           reacting to new connections somewhat.
7464
7465           Default: preload modules =
7466
7467           Example: preload modules = /usr/lib/samba/passdb/mysql.so
7468
7469       preserve case (S)
7470
7471           This controls if new filenames are created with the case that the
7472           client passes, or if they are forced to be the default case.
7473
7474           See the section on NAME MANGLING for a fuller discussion.
7475
7476           Default: preserve case = yes
7477
7478       print ok
7479
7480           This parameter is a synonym for printable.
7481
7482       printable (S)
7483
7484           If this parameter is yes, then clients may open, write to and
7485           submit spool files on the directory specified for the service.
7486
7487           Note that a printable service will ALWAYS allow writing to the
7488           service path (user privileges permitting) via the spooling of print
7489           data. The read only parameter controls only non-printing access to
7490           the resource.
7491
7492           Default: printable = no
7493
7494       printcap cache time (G)
7495
7496           This option specifies the number of seconds before the printing
7497           subsystem is again asked for the known printers.
7498
7499           Setting this parameter to 0 disables any rescanning for new or
7500           removed printers after the initial startup.
7501
7502           Default: printcap cache time = 750
7503
7504           Example: printcap cache time = 600
7505
7506       printcap
7507
7508           This parameter is a synonym for printcap name.
7509
7510       printcap name (G)
7511
7512           This parameter may be used to override the compiled-in default
7513           printcap name used by the server (usually /etc/printcap). See the
7514           discussion of the [printers] section above for reasons why you
7515           might want to do this.
7516
7517           To use the CUPS printing interface set printcap name = cups. This
7518           should be supplemented by an additional setting printing = cups in
7519           the [global] section.  printcap name = cups will use the "dummy"
7520           printcap created by CUPS, as specified in your CUPS configuration
7521           file.
7522
7523           On System V systems that use lpstat to list available printers you
7524           can use printcap name = lpstat to automatically obtain lists of
7525           available printers. This is the default for systems that define
7526           SYSV at configure time in Samba (this includes most System V based
7527           systems). If
7528            printcap name is set to lpstat on these systems then Samba will
7529           launch lpstat -v and attempt to parse the output to obtain a
7530           printer list.
7531
7532           A minimal printcap file would look something like this:
7533
7534               print1|My Printer 1
7535               print2|My Printer 2
7536               print3|My Printer 3
7537               print4|My Printer 4
7538               print5|My Printer 5
7539
7540           where the '|' separates aliases of a printer. The fact that the
7541           second alias has a space in it gives a hint to Samba that it's a
7542           comment.
7543
7544               Note
7545               Under AIX the default printcap name is /etc/qconfig. Samba will
7546               assume the file is in AIX qconfig format if the string qconfig
7547               appears in the printcap filename.
7548           Default: printcap name = /etc/printcap
7549
7550           Example: printcap name = /etc/myprintcap
7551
7552       print command (S)
7553
7554           After a print job has finished spooling to a service, this command
7555           will be used via a system() call to process the spool file.
7556           Typically the command specified will submit the spool file to the
7557           host's printing subsystem, but there is no requirement that this be
7558           the case. The server will not remove the spool file, so whatever
7559           command you specify should remove the spool file when it has been
7560           processed, otherwise you will need to manually remove old spool
7561           files.
7562
7563           The print command is simply a text string. It will be used verbatim
7564           after macro substitutions have been made:
7565
7566           %s, %f - the path to the spool file name
7567
7568           %p - the appropriate printer name
7569
7570           %J - the job name as transmitted by the client.
7571
7572           %c - The number of printed pages of the spooled job (if known).
7573
7574           %z - the size of the spooled print job (in bytes)
7575
7576           The print command MUST contain at least one occurrence of %s or %f
7577           - the %p is optional. At the time a job is submitted, if no printer
7578           name is supplied the %p will be silently removed from the printer
7579           command.
7580
7581           If specified in the [global] section, the print command given will
7582           be used for any printable service that does not have its own print
7583           command specified.
7584
7585           If there is neither a specified print command for a printable
7586           service nor a global print command, spool files will be created but
7587           not processed and (most importantly) not removed.
7588
7589           Note that printing may fail on some UNIXes from the nobody account.
7590           If this happens then create an alternative guest account that can
7591           print and set the guest account in the [global] section.
7592
7593           You can form quite complex print commands by realizing that they
7594           are just passed to a shell. For example the following will log a
7595           print job, print the file, then remove it. Note that ';' is the
7596           usual separator for command in shell scripts.
7597
7598           print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s;
7599           rm %s
7600
7601           You may have to vary this command considerably depending on how you
7602           normally print files on your system. The default for the parameter
7603           varies depending on the setting of the printing parameter.
7604
7605           Default: For printing = BSD, AIX, QNX, LPRNG or PLP :
7606
7607           print command = lpr -r -P%p %s
7608
7609           For printing = SYSV or HPUX :
7610
7611           print command = lp -c -d%p %s; rm %s
7612
7613           For printing = SOFTQ :
7614
7615           print command = lp -d%p -s %s; rm %s
7616
7617           For printing = CUPS : If SAMBA is compiled against libcups, then
7618           printcap = cups uses the CUPS API to submit jobs, etc. Otherwise it
7619           maps to the System V commands with the -oraw option for printing,
7620           i.e. it uses lp -c -d%p -oraw; rm %s. With printing = cups, and if
7621           SAMBA is compiled against libcups, any manually set print command
7622           will be ignored.
7623
7624           No default
7625
7626           Example: print command = /usr/local/samba/bin/myprintscript %p %s
7627
7628       printer
7629
7630           This parameter is a synonym for printer name.
7631
7632       printer name (S)
7633
7634           This parameter specifies the name of the printer to which print
7635           jobs spooled through a printable service will be sent.
7636
7637           If specified in the [global] section, the printer name given will
7638           be used for any printable service that does not have its own
7639           printer name specified.
7640
7641           The default value of the printer name may be lp on many systems.
7642
7643           Default: printer name =
7644
7645           Example: printer name = laserwriter
7646
7647       printing (S)
7648
7649           This parameters controls how printer status information is
7650           interpreted on your system. It also affects the default values for
7651           the print command, lpq command, lppause command , lpresume command,
7652           and lprm command if specified in the [global] section.
7653
7654           Currently nine printing styles are supported. They are BSD, AIX,
7655           LPRNG, PLP, SYSV, HPUX, QNX, SOFTQ, CUPS and IPRINT.
7656
7657           Be aware that CUPS and IPRINT are only available if the CUPS
7658           development library was available at the time Samba was compiled or
7659           packaged.
7660
7661           To see what the defaults are for the other print commands when
7662           using the various options use the testparm(1) program.
7663
7664           This option can be set on a per printer basis. Please be aware
7665           however, that you must place any of the various printing commands
7666           (e.g. print command, lpq command, etc...) after defining the value
7667           for the printing option since it will reset the printing commands
7668           to default values.
7669
7670           See also the discussion in the [printers] section.
7671
7672           See testparm -v.  for the default value on your system
7673
7674           Default: printing =  # Depends on the operating system
7675
7676       printjob username (S)
7677
7678           This parameter specifies which user information will be passed to
7679           the printing system. Usually, the username is sent, but in some
7680           cases, e.g. the domain prefix is useful, too.
7681
7682           Default: printjob username = %U
7683
7684           Example: printjob username = %D\%U
7685
7686       print notify backchannel (S)
7687
7688           Windows print clients can update print queue status by expecting
7689           the server to open a backchannel SMB connection to them. Due to
7690           client firewall settings this can cause considerable timeouts and
7691           will often fail, as there is no guarantee the client is even
7692           running an SMB server. By default, the Samba print server will not
7693           try to connect back to clients, and will treat corresponding
7694           requests as if the connection back to the client failed.
7695
7696           Default: print notify backchannel = no
7697
7698       private directory
7699
7700           This parameter is a synonym for private dir.
7701
7702       private dir (G)
7703
7704           This parameters defines the directory smbd will use for storing
7705           such files as smbpasswd and secrets.tdb.
7706
7707           Default: private dir = /var/lib/samba/private
7708
7709       queuepause command (S)
7710
7711           This parameter specifies the command to be executed on the server
7712           host in order to pause the printer queue.
7713
7714           This command should be a program or script which takes a printer
7715           name as its only parameter and stops the printer queue, such that
7716           no longer jobs are submitted to the printer.
7717
7718           This command is not supported by Windows for Workgroups, but can be
7719           issued from the Printers window under Windows 95 and NT.
7720
7721           If a %p is given then the printer name is put in its place.
7722           Otherwise it is placed at the end of the command.
7723
7724           Note that it is good practice to include the absolute path in the
7725           command as the PATH may not be available to the server.
7726
7727           Default: queuepause command =  # determined by printing parameter
7728
7729           Example: queuepause command = disable %p
7730
7731       queueresume command (S)
7732
7733           This parameter specifies the command to be executed on the server
7734           host in order to resume the printer queue. It is the command to
7735           undo the behavior that is caused by the previous parameter
7736           (queuepause command).
7737
7738           This command should be a program or script which takes a printer
7739           name as its only parameter and resumes the printer queue, such that
7740           queued jobs are resubmitted to the printer.
7741
7742           This command is not supported by Windows for Workgroups, but can be
7743           issued from the Printers window under Windows 95 and NT.
7744
7745           If a %p is given then the printer name is put in its place.
7746           Otherwise it is placed at the end of the command.
7747
7748           Note that it is good practice to include the absolute path in the
7749           command as the PATH may not be available to the server.
7750
7751           Default: queueresume command =  # determined by printing parameter
7752
7753           Example: queueresume command = enable %p
7754
7755       raw NTLMv2 auth (G)
7756
7757           This parameter has been deprecated since Samba 4.13 and support for
7758           NTLMv2 authentication without NTLMSSP will be removed in a future
7759           Samba release.
7760
7761           That is, in the future, the current default of raw NTLMv2 auth = no
7762           will be the enforced behaviour.
7763
7764           This parameter determines whether or not smbd(8) will allow SMB1
7765           clients without extended security (without SPNEGO) to use NTLMv2
7766           authentication.
7767
7768           If this option, lanman auth and ntlm auth are all disabled, then
7769           only clients with SPNEGO support will be permitted. That means
7770           NTLMv2 is only supported within NTLMSSP.
7771
7772           Default: raw NTLMv2 auth = no
7773
7774       read list (S)
7775
7776           This is a list of users that are given read-only access to a
7777           service. If the connecting user is in this list then they will not
7778           be given write access, no matter what the read only option is set
7779           to. The list can include group names using the syntax described in
7780           the invalid users parameter.
7781
7782           Default: read list =
7783
7784           Example: read list = mary, @students
7785
7786       read only (S)
7787
7788           An inverted synonym is writeable.
7789
7790           If this parameter is yes, then users of a service may not create or
7791           modify files in the service's directory.
7792
7793           Note that a printable service (printable = yes) will ALWAYS allow
7794           writing to the directory (user privileges permitting), but only via
7795           spooling operations.
7796
7797           Default: read only = yes
7798
7799       read raw (G)
7800
7801           This is ignored if async smb echo handler is set, because this
7802           feature is incompatible with raw read SMB requests
7803
7804           If enabled, raw reads allow reads of 65535 bytes in one packet.
7805           This typically provides a major performance benefit for some very,
7806           very old clients.
7807
7808           However, some clients either negotiate the allowable block size
7809           incorrectly or are incapable of supporting larger block sizes, and
7810           for these clients you may need to disable raw reads.
7811
7812           In general this parameter should be viewed as a system tuning tool
7813           and left severely alone.
7814
7815           Default: read raw = yes
7816
7817       realm (G)
7818
7819           This option specifies the kerberos realm to use. The realm is used
7820           as the ADS equivalent of the NT4 domain. It is usually set to the
7821           DNS name of the kerberos server.
7822
7823           Default: realm =
7824
7825           Example: realm = mysambabox.mycompany.com
7826
7827       registry shares (G)
7828
7829           This turns on or off support for share definitions read from
7830           registry. Shares defined in smb.conf take precedence over shares
7831           with the same name defined in registry. See the section on
7832           registry-based configuration for details.
7833
7834           Note that this parameter defaults to no, but it is set to yes when
7835           config backend is set to registry.
7836
7837           Default: registry shares = no
7838
7839           Example: registry shares = yes
7840
7841       reject md5 clients (G)
7842
7843           This option is deprecated and will be removed in a future release,
7844           as it is a security problem if not set to "yes" (which will be the
7845           hardcoded behavior in the future).
7846
7847           This option controls whether the netlogon server (currently only in
7848           'active directory domain controller' mode), will reject clients
7849           which does not support NETLOGON_NEG_SUPPORTS_AES.
7850
7851           Support for NETLOGON_NEG_SUPPORTS_AES was added in Windows starting
7852           with Server 2008R2 and Windows 7, it's available in Samba starting
7853           with 4.0, however third party domain members like NetApp ONTAP
7854           still uses RC4 (HMAC-MD5), see
7855           https://www.samba.org/samba/security/CVE-2022-38023.html for more
7856           details.
7857
7858           The default changed from 'no' to 'yes', with the patches for
7859           CVE-2022-38023 see
7860           https://bugzilla.samba.org/show_bug.cgi?id=15240.
7861
7862           Avoid using this option!  Use an explicit per machine account
7863           'server reject md5 schannel:COMPUTERACCOUNT' instead! Which is
7864           available with the patches for CVE-2022-38023 see
7865           https://bugzilla.samba.org/show_bug.cgi?id=15240.
7866
7867           Samba will log an error in the log files at log level 0 if legacy a
7868           client is rejected or allowed without an explicit, 'server reject
7869           md5 schannel:COMPUTERACCOUNT = no' option for the client. The
7870           message will indicate the explicit 'server reject md5
7871           schannel:COMPUTERACCOUNT = no' line to be added, if the legacy
7872           client software requires it. (The log level can be adjusted with
7873           'CVE_2022_38023:error_debug_level = 1' in order to complain only at
7874           a higher log level).
7875
7876           This allows admins to use "no" only for a short grace period, in
7877           order to collect the explicit 'server reject md5
7878           schannel:COMPUTERACCOUNT = no' options.
7879
7880           When set to 'yes' this option overrides the 'allow nt4
7881           crypto:COMPUTERACCOUNT' and 'allow nt4 crypto' options and implies
7882           'allow nt4 crypto:COMPUTERACCOUNT = no'.
7883
7884           Default: reject md5 clients = yes
7885
7886       server reject md5 schannel:COMPUTERACCOUNT (G)
7887
7888           If you still have legacy domain members or trusted domains, which
7889           required "reject md5 clients = no" before, it is possible to
7890           specify an explicit exception per computer account by setting
7891           'server reject md5 schannel:COMPUTERACCOUNT = no'. Note that
7892           COMPUTERACCOUNT has to be the sAMAccountName value of the computer
7893           account (including the trailing '$' sign).
7894
7895           Samba will log a complaint in the log files at log level 0 about
7896           the security problem if the option is set to "no", but the related
7897           computer does not require it. (The log level can be adjusted with
7898           'CVE_2022_38023:warn_about_unused_debug_level = 1' in order to
7899           complain only at a higher log level).
7900
7901           Samba will log a warning in the log files at log level 5 if a
7902           setting is still needed for the specified computer account.
7903
7904           See CVE-2022-38023,
7905           https://bugzilla.samba.org/show_bug.cgi?id=15240.
7906
7907           This option overrides the reject md5 clients option.
7908
7909           When set to 'yes' this option overrides the 'allow nt4
7910           crypto:COMPUTERACCOUNT' and 'allow nt4 crypto' options and implies
7911           'allow nt4 crypto:COMPUTERACCOUNT = no'.
7912
7913                    server reject md5 schannel:LEGACYCOMPUTER1$ = no
7914                    server reject md5 schannel:NASBOX$ = no
7915                    server reject md5 schannel:LEGACYCOMPUTER2$ = no
7916
7917
7918           No default
7919
7920       reject md5 servers (G)
7921
7922           This option controls whether winbindd requires support for aes
7923           support for the netlogon secure channel.
7924
7925           The following flags will be required NETLOGON_NEG_ARCFOUR,
7926           NETLOGON_NEG_SUPPORTS_AES, NETLOGON_NEG_PASSWORD_SET2 and
7927           NETLOGON_NEG_AUTHENTICATED_RPC.
7928
7929           You can set this to yes if all domain controllers support aes. This
7930           will prevent downgrade attacks.
7931
7932           The behavior can be controlled per netbios domain by using 'reject
7933           md5 servers:NETBIOSDOMAIN = no' as option.
7934
7935           The default changed from 'no' to 'yes, with the patches for
7936           CVE-2022-38023, see
7937           https://bugzilla.samba.org/show_bug.cgi?id=15240
7938
7939           This option overrides the require strong key option.
7940
7941           Default: reject md5 servers = yes
7942
7943       remote announce (G)
7944
7945           This option allows you to setup nmbd(8) to periodically announce
7946           itself to arbitrary IP addresses with an arbitrary workgroup name.
7947
7948           This is useful if you want your Samba server to appear in a remote
7949           workgroup for which the normal browse propagation rules don't work.
7950           The remote workgroup can be anywhere that you can send IP packets
7951           to.
7952
7953           For example:
7954
7955               remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF
7956
7957           the above line would cause nmbd to announce itself to the two given
7958           IP addresses using the given workgroup names. If you leave out the
7959           workgroup name, then the one given in the workgroup parameter is
7960           used instead.
7961
7962           The IP addresses you choose would normally be the broadcast
7963           addresses of the remote networks, but can also be the IP addresses
7964           of known browse masters if your network config is that stable.
7965
7966           See the chapter on Network Browsing in the Samba-HOWTO book.
7967
7968           Default: remote announce =
7969
7970       remote browse sync (G)
7971
7972           This option allows you to setup nmbd(8) to periodically request
7973           synchronization of browse lists with the master browser of a Samba
7974           server that is on a remote segment. This option will allow you to
7975           gain browse lists for multiple workgroups across routed networks.
7976           This is done in a manner that does not work with any non-Samba
7977           servers.
7978
7979           This is useful if you want your Samba server and all local clients
7980           to appear in a remote workgroup for which the normal browse
7981           propagation rules don't work. The remote workgroup can be anywhere
7982           that you can send IP packets to.
7983
7984           For example:
7985
7986               remote browse sync = 192.168.2.255 192.168.4.255
7987
7988           the above line would cause nmbd to request the master browser on
7989           the specified subnets or addresses to synchronize their browse
7990           lists with the local server.
7991
7992           The IP addresses you choose would normally be the broadcast
7993           addresses of the remote networks, but can also be the IP addresses
7994           of known browse masters if your network config is that stable. If a
7995           machine IP address is given Samba makes NO attempt to validate that
7996           the remote machine is available, is listening, nor that it is in
7997           fact the browse master on its segment.
7998
7999           The remote browse sync may be used on networks where there is no
8000           WINS server, and may be used on disjoint networks where each
8001           network has its own WINS server.
8002
8003           Default: remote browse sync =
8004
8005       rename user script (G)
8006
8007           This is the full pathname to a script that will be run as root by
8008           smbd(8) under special circumstances described below.
8009
8010           When a user with admin authority or SeAddUserPrivilege rights
8011           renames a user (e.g.: from the NT4 User Manager for Domains), this
8012           script will be run to rename the POSIX user. Two variables, %uold
8013           and %unew, will be substituted with the old and new usernames,
8014           respectively. The script should return 0 upon successful
8015           completion, and nonzero otherwise.
8016
8017               Note
8018               The script has all responsibility to rename all the necessary
8019               data that is accessible in this posix method. This can mean
8020               different requirements for different backends. The tdbsam and
8021               smbpasswd backends will take care of the contents of their
8022               respective files, so the script is responsible only for
8023               changing the POSIX username, and other data that may required
8024               for your circumstances, such as home directory. Please also
8025               consider whether or not you need to rename the actual home
8026               directories themselves. The ldapsam backend will not make any
8027               changes, because of the potential issues with renaming the LDAP
8028               naming attribute. In this case the script is responsible for
8029               changing the attribute that samba uses (uid) for locating
8030               users, as well as any data that needs to change for other
8031               applications using the same directory.
8032           Default: rename user script =
8033
8034       require strong key (G)
8035
8036           This option controls whether winbindd requires support for md5
8037           strong key support for the netlogon secure channel.
8038
8039           The following flags will be required NETLOGON_NEG_STRONG_KEYS,
8040           NETLOGON_NEG_ARCFOUR and NETLOGON_NEG_AUTHENTICATED_RPC.
8041
8042           You can set this to no if some domain controllers only support des.
8043           This might allows weak crypto to be negotiated, may via downgrade
8044           attacks.
8045
8046           The behavior can be controlled per netbios domain by using 'require
8047           strong key:NETBIOSDOMAIN = no' as option.
8048
8049           Note for active directory domain this option is hardcoded to 'yes'
8050
8051           This option is over-ridden by the reject md5 servers option.
8052
8053           This option overrides the client schannel option.
8054
8055           Default: require strong key = yes
8056
8057       reset on zero vc (G)
8058
8059           This boolean option controls whether an incoming SMB1 session setup
8060           should kill other connections coming from the same IP. This matches
8061           the default Windows 2003 behaviour. Setting this parameter to yes
8062           becomes necessary when you have a flaky network and windows decides
8063           to reconnect while the old connection still has files with share
8064           modes open. These files become inaccessible over the new
8065           connection. The client sends a zero VC on the new connection, and
8066           Windows 2003 kills all other connections coming from the same IP.
8067           This way the locked files are accessible again. Please be aware
8068           that enabling this option will kill connections behind a
8069           masquerading router, and will not trigger for clients that only use
8070           SMB2 or SMB3.
8071
8072           Default: reset on zero vc = no
8073
8074       restrict anonymous (G)
8075
8076           The setting of this parameter determines whether SAMR and LSA
8077           DCERPC services can be accessed anonymously. This corresponds to
8078           the following Windows Server registry options:
8079
8080                         HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous
8081
8082
8083           The option also affects the browse option which is required by
8084           legacy clients which rely on Netbios browsing. While modern Windows
8085           version should be fine with restricting the access there could
8086           still be applications relying on anonymous access.
8087
8088           Setting restrict anonymous = 1 will disable anonymous SAMR access.
8089
8090           Setting restrict anonymous = 2 will, in addition to restricting
8091           SAMR access, disallow anonymous connections to the IPC$ share in
8092           general. Setting guest ok = yes on any share will remove the
8093           security advantage.
8094
8095           Default: restrict anonymous = 0
8096
8097       root
8098
8099           This parameter is a synonym for root directory.
8100
8101       root dir
8102
8103           This parameter is a synonym for root directory.
8104
8105       root directory (G)
8106
8107           The server will chroot() (i.e. Change its root directory) to this
8108           directory on startup. This is not strictly necessary for secure
8109           operation. Even without it the server will deny access to files not
8110           in one of the service entries. It may also check for, and deny
8111           access to, soft links to other parts of the filesystem, or attempts
8112           to use ".." in file names to access other directories (depending on
8113           the setting of the wide links parameter).
8114
8115           Adding a root directory entry other than "/" adds an extra level of
8116           security, but at a price. It absolutely ensures that no access is
8117           given to files not in the sub-tree specified in the root directory
8118           option, including some files needed for complete operation of the
8119           server. To maintain full operability of the server you will need to
8120           mirror some system files into the root directory tree. In
8121           particular you will need to mirror /etc/passwd (or a subset of it),
8122           and any binaries or configuration files needed for printing (if
8123           required). The set of files that must be mirrored is operating
8124           system dependent.
8125
8126           Default: root directory =
8127
8128           Example: root directory = /homes/smb
8129
8130       root postexec (S)
8131
8132           This is the same as the postexec parameter except that the command
8133           is run as root. This is useful for unmounting filesystems (such as
8134           CDROMs) after a connection is closed.
8135
8136           Default: root postexec =
8137
8138       root preexec (S)
8139
8140           This is the same as the preexec parameter except that the command
8141           is run as root. This is useful for mounting filesystems (such as
8142           CDROMs) when a connection is opened.
8143
8144           Default: root preexec =
8145
8146       root preexec close (S)
8147
8148           This is the same as the preexec close parameter except that the
8149           command is run as root.
8150
8151           Default: root preexec close = no
8152
8153       rpc big endian (G)
8154
8155           Setting this option will force the RPC client and server to
8156           transfer data in big endian.
8157
8158           If it is disabled, data will be transferred in little endian.
8159
8160           The behaviour is independent of the endianness of the host machine.
8161
8162           Default: rpc big endian = no
8163
8164       rpc server dynamic port range (G)
8165
8166           This parameter tells the RPC server which port range it is allowed
8167           to use to create a listening socket for LSA, SAM, Netlogon and
8168           others without wellknown tcp ports. The first value is the lowest
8169           number of the port range and the second the highest.
8170
8171           This applies to RPC servers in all server roles.
8172
8173           Default: rpc server dynamic port range = 49152-65535
8174
8175       rpc server port (G)
8176
8177           Specifies which port the server should listen on for DCE/RPC over
8178           TCP/IP traffic.
8179
8180           This controls the default port for all protocols, except for
8181           NETLOGON.
8182
8183           If unset, the first available port from rpc server dynamic port
8184           range is used, e.g. 49152.
8185
8186           The NETLOGON server will use the next available port, e.g. 49153.
8187           To change this port use (eg) rpc server port:netlogon = 4000.
8188
8189           Furthermore, all RPC servers can have the port they use specified
8190           independenty, with (for example) rpc server port:drsuapi = 5000.
8191
8192           This option applies currently only when samba(8) runs as an active
8193           directory domain controller.
8194
8195           The default value 0 causes Samba to select the first available port
8196           from rpc server dynamic port range.
8197
8198           Default: rpc server port = 0
8199
8200       rpc start on demand helpers (G)
8201
8202           This global parameter determines if samba-dcerpcd should be started
8203           on demand to service named pipe (np) DCE-RPC requests from smbd or
8204           winbindd. This is the normal case where no startup scripts have
8205           been modified to start samba-dcerpcd as a daemon.
8206
8207           If samba-dcerpcd is started as a daemon or via a system service
8208           manager such as systemd, this parameter MUST be set to "no",
8209           otherwise samba-dcerpcd will fail to start.
8210
8211           Default: rpc start on demand helpers = yes
8212
8213       samba kcc command (G)
8214
8215           This option specifies the path to the Samba KCC command. This
8216           script is used for replication topology replication.
8217
8218           It should not be necessary to modify this option except for testing
8219           purposes or if the samba_kcc was installed in a non-default
8220           location.
8221
8222           Default: samba kcc command =
8223           /builddir/build/BUILD/samba-4.18.9/source4/scripting/bin/samba_kcc
8224
8225           Example: samba kcc command = /usr/local/bin/kcc
8226
8227       security (G)
8228
8229           This option affects how clients respond to Samba and is one of the
8230           most important settings in the smb.conf file.
8231
8232           Unless server role is specified, the default is security = user, as
8233           this is the most common setting, used for a standalone file server
8234           or a DC.
8235
8236           The alternatives to security = user are security = ads or security
8237           = domain, which support joining Samba to a Windows domain
8238
8239           You should use security = user and map to guest if you want to
8240           mainly setup shares without a password (guest shares). This is
8241           commonly used for a shared printer server.
8242
8243           The different settings will now be explained.
8244
8245           SECURITY = AUTO
8246
8247           This is the default security setting in Samba, and causes Samba to
8248           consult the server role parameter (if set) to determine the
8249           security mode.
8250
8251           SECURITY = USER
8252
8253           If server role is not specified, this is the default security
8254           setting in Samba. With user-level security a client must first
8255           "log-on" with a valid username and password (which can be mapped
8256           using the username map parameter). Encrypted passwords (see the
8257           encrypt passwords parameter) can also be used in this security
8258           mode. Parameters such as force user and guest only if set are then
8259           applied and may change the UNIX user to use on this connection, but
8260           only after the user has been successfully authenticated.
8261
8262           Note that the name of the resource being requested is not sent to
8263           the server until after the server has successfully authenticated
8264           the client. This is why guest shares don't work in user level
8265           security without allowing the server to automatically map unknown
8266           users into the guest account. See the map to guest parameter for
8267           details on doing this.
8268
8269           SECURITY = DOMAIN
8270
8271           This mode will only work correctly if net(8) has been used to add
8272           this machine into a Windows NT Domain. It expects the encrypt
8273           passwords parameter to be set to yes. In this mode Samba will try
8274           to validate the username/password by passing it to a Windows NT
8275           Primary or Backup Domain Controller, in exactly the same way that a
8276           Windows NT Server would do.
8277
8278           Note that a valid UNIX user must still exist as well as the account
8279           on the Domain Controller to allow Samba to have a valid UNIX
8280           account to map file access to.
8281
8282           Note that from the client's point of view security = domain is the
8283           same as security = user. It only affects how the server deals with
8284           the authentication, it does not in any way affect what the client
8285           sees.
8286
8287           Note that the name of the resource being requested is not sent to
8288           the server until after the server has successfully authenticated
8289           the client. This is why guest shares don't work in user level
8290           security without allowing the server to automatically map unknown
8291           users into the guest account. See the map to guest parameter for
8292           details on doing this.
8293
8294           See also the password server parameter and the encrypt passwords
8295           parameter.
8296
8297           SECURITY = ADS
8298
8299           In this mode, Samba will act as a domain member in an ADS realm. To
8300           operate in this mode, the machine running Samba will need to have
8301           Kerberos installed and configured and Samba will need to be joined
8302           to the ADS realm using the net utility.
8303
8304           Note that this mode does NOT make Samba operate as a Active
8305           Directory Domain Controller.
8306
8307           Note that this forces require strong key = yes and client schannel
8308           = yes for the primary domain.
8309
8310           Read the chapter about Domain Membership in the HOWTO for details.
8311
8312           Default: security = AUTO
8313
8314           Example: security = DOMAIN
8315
8316       security mask (S)
8317
8318           This parameter has been removed for Samba 4.0.0.
8319
8320           No default
8321
8322       server addresses (S)
8323
8324           This is a per-share parameter to limit share visibility and
8325           accessibility to specific server IP addresses. Multi-homed servers
8326           can offer a different set of shares per interface.
8327
8328           An empty list means to offer a share on all interfaces.
8329
8330           Default: server addresses =
8331
8332       max protocol
8333
8334           This parameter is a synonym for server max protocol.
8335
8336       protocol
8337
8338           This parameter is a synonym for server max protocol.
8339
8340       server max protocol (G)
8341
8342           The value of the parameter (a string) is the highest protocol level
8343           that will be supported by the server.
8344
8345           Possible values are :
8346
8347LANMAN1: First modern version of the protocol. Long
8348                      filename support.
8349
8350LANMAN2: Updates to Lanman1 protocol.
8351
8352NT1: Current up to date version of the protocol. Used by
8353                      Windows NT. Known as CIFS.
8354
8355SMB2: Re-implementation of the SMB protocol. Used by
8356                      Windows Vista and later versions of Windows. SMB2 has
8357                      sub protocols available.
8358
8359SMB2_02: The earliest SMB2 version.
8360
8361SMB2_10: Windows 7 SMB2 version.
8362
8363                      By default SMB2 selects the SMB2_10 variant.
8364
8365SMB3: The same as SMB2. Used by Windows 8. SMB3 has sub
8366                      protocols available.
8367
8368SMB3_00: Windows 8 SMB3 version.
8369
8370SMB3_02: Windows 8.1 SMB3 version.
8371
8372SMB3_11: Windows 10 SMB3 version.
8373
8374                      By default SMB3 selects the SMB3_11 variant.
8375
8376           Normally this option should not be set as the automatic negotiation
8377           phase in the SMB protocol takes care of choosing the appropriate
8378           protocol.
8379
8380           Default: server max protocol = SMB3
8381
8382           Example: server max protocol = LANMAN1
8383
8384       min protocol
8385
8386           This parameter is a synonym for server min protocol.
8387
8388       server min protocol (G)
8389
8390           This setting controls the minimum protocol version that the server
8391           will allow the client to use.
8392
8393           Normally this option should not be set as the automatic negotiation
8394           phase in the SMB protocol takes care of choosing the appropriate
8395           protocol unless you have legacy clients which are SMB1 capable
8396           only.
8397
8398           See Related command: server max protocol for a full list of
8399           available protocols.
8400
8401           Default: server min protocol = SMB2_02
8402
8403           Example: server min protocol = NT1
8404
8405       server multi channel support (G)
8406
8407           This boolean parameter controls whether smbd(8) will support SMB3
8408           multi-channel.
8409
8410           This parameter was added with version 4.4.
8411
8412           Note that this feature was still considered experimental up to
8413           4.14.
8414
8415           Due to dependencies to kernel APIs of Linux or FreeBSD, it's only
8416           possible to use this feature on Linux and FreeBSD for now. For
8417           testing this restriction can be overwritten by specifying
8418           force:server multi channel support=yes in addition.
8419
8420           This option is enabled by default starting with to 4.15 (on Linux
8421           and FreeBSD).
8422
8423           Default: server multi channel support = yes
8424
8425       server role (G)
8426
8427           This option determines the basic operating mode of a Samba server
8428           and is one of the most important settings in the smb.conf file.
8429
8430           The default is server role = auto, as causes Samba to operate
8431           according to the security setting, or if not specified as a simple
8432           file server that is not connected to any domain.
8433
8434           The alternatives are server role = standalone or server role =
8435           member server, which support joining Samba to a Windows domain,
8436           along with server role = domain controller, which run Samba as a
8437           Windows domain controller.
8438
8439           You should use server role = standalone and map to guest if you
8440           want to mainly setup shares without a password (guest shares). This
8441           is commonly used for a shared printer server.
8442
8443           SERVER ROLE = AUTO
8444
8445           This is the default server role in Samba, and causes Samba to
8446           consult the security parameter (if set) to determine the server
8447           role, giving compatible behaviours to previous Samba versions.
8448
8449           SERVER ROLE = STANDALONE
8450
8451           If security is also not specified, this is the default security
8452           setting in Samba. In standalone operation, a client must first
8453           "log-on" with a valid username and password (which can be mapped
8454           using the username map parameter) stored on this machine. Encrypted
8455           passwords (see the encrypt passwords parameter) are by default used
8456           in this security mode. Parameters such as force user and guest only
8457           if set are then applied and may change the UNIX user to use on this
8458           connection, but only after the user has been successfully
8459           authenticated.
8460
8461           SERVER ROLE = MEMBER SERVER
8462
8463           This mode will only work correctly if net(8) has been used to add
8464           this machine into a Windows Domain. It expects the encrypt
8465           passwords parameter to be set to yes. In this mode Samba will try
8466           to validate the username/password by passing it to a Windows or
8467           Samba Domain Controller, in exactly the same way that a Windows
8468           Server would do.
8469
8470           Note that a valid UNIX user must still exist as well as the account
8471           on the Domain Controller to allow Samba to have a valid UNIX
8472           account to map file access to. Winbind can provide this.
8473
8474           SERVER ROLE = CLASSIC PRIMARY DOMAIN CONTROLLER
8475
8476           This mode of operation runs a classic Samba primary domain
8477           controller, providing domain logon services to Windows and Samba
8478           clients of an NT4-like domain. Clients must be joined to the domain
8479           to create a secure, trusted path across the network. There must be
8480           only one PDC per NetBIOS scope (typcially a broadcast network or
8481           clients served by a single WINS server).
8482
8483           SERVER ROLE = CLASSIC BACKUP DOMAIN CONTROLLER
8484
8485           This mode of operation runs a classic Samba backup domain
8486           controller, providing domain logon services to Windows and Samba
8487           clients of an NT4-like domain. As a BDC, this allows multiple Samba
8488           servers to provide redundant logon services to a single NetBIOS
8489           scope.
8490
8491           SERVER ROLE = ACTIVE DIRECTORY DOMAIN CONTROLLER
8492
8493           This mode of operation runs Samba as an active directory domain
8494           controller, providing domain logon services to Windows and Samba
8495           clients of the domain. This role requires special configuration,
8496           see the Samba4 HOWTO
8497
8498           SERVER ROLE = IPA DOMAIN CONTROLLER
8499
8500           This mode of operation runs Samba in a hybrid mode for IPA domain
8501           controller, providing forest trust to Active Directory. This role
8502           requires special configuration performed by IPA installers and
8503           should not be used manually by any administrator.
8504
8505           Default: server role = AUTO
8506
8507           Example: server role = ACTIVE DIRECTORY DOMAIN CONTROLLER
8508
8509       server schannel (G)
8510
8511           This option is deprecated and will be removed in future, as it is a
8512           security problem if not set to "yes" (which will be the hardcoded
8513           behavior in future).
8514
8515           Avoid using this option!  Use explicit 'server require
8516           schannel:COMPUTERACCOUNT = no' instead!
8517
8518           Samba will log an error in the log files at log level 0 if legacy a
8519           client is rejected or allowed without an explicit, 'server require
8520           schannel:COMPUTERACCOUNT = no' option for the client. The message
8521           will indicate the explicit 'server require schannel:COMPUTERACCOUNT
8522           = no' line to be added, if the legacy client software requires it.
8523           (The log level can be adjusted with
8524           'CVE_2020_1472:error_debug_level = 1' in order to complain only at
8525           a higher log level).
8526
8527           This allows admins to use "auto" only for a short grace period, in
8528           order to collect the explicit 'server require
8529           schannel:COMPUTERACCOUNT = no' options.
8530
8531           See CVE-2020-1472(ZeroLogon),
8532           https://bugzilla.samba.org/show_bug.cgi?id=14497.
8533
8534           This option is over-ridden by the server require
8535           schannel:COMPUTERACCOUNT option.
8536
8537           This option is over-ridden by the effective value of 'yes' from the
8538           'server schannel require seal:COMPUTERACCOUNT' and/or 'server
8539           schannel require seal' options.
8540
8541           Default: server schannel = yes
8542
8543       server require schannel:COMPUTERACCOUNT (G)
8544
8545           If you still have legacy domain members, which required "server
8546           schannel = auto" before, it is possible to specify explicit
8547           exception per computer account by using 'server require
8548           schannel:COMPUTERACCOUNT = no' as option. Note that COMPUTERACCOUNT
8549           has to be the sAMAccountName value of the computer account
8550           (including the trailing '$' sign).
8551
8552           Samba will complain in the log files at log level 0, about the
8553           security problem if the option is not set to "no", but the related
8554           computer is actually using the netlogon secure channel (schannel)
8555           feature. (The log level can be adjusted with
8556           'CVE_2020_1472:warn_about_unused_debug_level = 1' in order to
8557           complain only at a higher log level).
8558
8559           Samba will warn in the log files at log level 5, if a setting is
8560           still needed for the specified computer account.
8561
8562           See CVE-2020-1472(ZeroLogon),
8563           https://bugzilla.samba.org/show_bug.cgi?id=14497.
8564
8565           This option overrides the server schannel option.
8566
8567           This option is over-ridden by the effective value of 'yes' from the
8568           'server schannel require seal:COMPUTERACCOUNT' and/or 'server
8569           schannel require seal' options.
8570
8571           Which means 'server require schannel:COMPUTERACCOUNT = no' is only
8572           useful in combination with 'server schannel require
8573           seal:COMPUTERACCOUNT = no'
8574
8575                    server require schannel:LEGACYCOMPUTER1$ = no
8576                    server require schannel seal:LEGACYCOMPUTER1$ = no
8577                    server require schannel:NASBOX$ = no
8578                    server require schannel seal:NASBOX$ = no
8579                    server require schannel:LEGACYCOMPUTER2$ = no
8580                    server require schannel seal:LEGACYCOMPUTER2$ = no
8581
8582
8583           No default
8584
8585       server schannel require seal (G)
8586
8587           This option is deprecated and will be removed in future, as it is a
8588           security problem if not set to "yes" (which will be the hardcoded
8589           behavior in future).
8590
8591           This option controls whether the netlogon server, will reject the
8592           usage of netlogon secure channel without privacy/enryption.
8593
8594           The option is modelled after the registry key available on Windows.
8595
8596                    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\RequireSeal=2
8597
8598
8599           Avoid using this option!  Use the per computer account specific
8600           option 'server schannel require seal:COMPUTERACCOUNT' instead!
8601           Which is available with the patches for CVE-2022-38023 see
8602           https://bugzilla.samba.org/show_bug.cgi?id=15240.
8603
8604           Samba will log an error in the log files at log level 0 if legacy a
8605           client is rejected or allowed without an explicit, 'server schannel
8606           require seal:COMPUTERACCOUNT = no' option for the client. The
8607           message will indicate the explicit 'server schannel require
8608           seal:COMPUTERACCOUNT = no' line to be added, if the legacy client
8609           software requires it. (The log level can be adjusted with
8610           'CVE_2022_38023:error_debug_level = 1' in order to complain only at
8611           a higher log level).
8612
8613           This allows admins to use "no" only for a short grace period, in
8614           order to collect the explicit 'server schannel require
8615           seal:COMPUTERACCOUNT = no' options.
8616
8617           When set to 'yes' this option overrides the 'server require
8618           schannel:COMPUTERACCOUNT' and 'server schannel' options and implies
8619           'server require schannel:COMPUTERACCOUNT = yes'.
8620
8621           This option is over-ridden by the server schannel require
8622           seal:COMPUTERACCOUNT option.
8623
8624           Default: server schannel require seal = yes
8625
8626       server schannel require seal:COMPUTERACCOUNT (G)
8627
8628           If you still have legacy domain members, which required "server
8629           schannel require seal = no" before, it is possible to specify
8630           explicit exception per computer account by using 'server schannel
8631           require seal:COMPUTERACCOUNT = no' as option. Note that
8632           COMPUTERACCOUNT has to be the sAMAccountName value of the computer
8633           account (including the trailing '$' sign).
8634
8635           Samba will log a complaint in the log files at log level 0 about
8636           the security problem if the option is set to "no", but the related
8637           computer does not require it. (The log level can be adjusted with
8638           'CVE_2022_38023:warn_about_unused_debug_level = 1' in order to
8639           complain only at a higher log level).
8640
8641           Samba will warn in the log files at log level 5, if a setting is
8642           still needed for the specified computer account.
8643
8644           See CVE-2022-38023,
8645           https://bugzilla.samba.org/show_bug.cgi?id=15240.
8646
8647           This option overrides the 'server schannel require seal' option.
8648
8649           When set to 'yes' this option overrides the 'server require
8650           schannel:COMPUTERACCOUNT' and 'server schannel' options and implies
8651           'server require schannel:COMPUTERACCOUNT = yes'.
8652
8653                    server require schannel seal:LEGACYCOMPUTER1$ = no
8654                    server require schannel seal:NASBOX$ = no
8655                    server require schannel seal:LEGACYCOMPUTER2$ = no
8656
8657
8658           No default
8659
8660       server services (G)
8661
8662           This option contains the services that the Samba daemon will run.
8663
8664           An entry in the smb.conf file can either override the previous
8665           value completely or entries can be removed from or added to it by
8666           prefixing them with + or -.
8667
8668           Default: server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc,
8669           drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
8670
8671           Example: server services = -s3fs, +smb
8672
8673       server signing (G)
8674
8675           This controls whether the client is allowed or required to use SMB1
8676           and SMB2 signing. Possible values are default, auto, mandatory and
8677           disabled.
8678
8679           By default, and when smb signing is set to default, smb signing is
8680           required when server role is active directory domain controller and
8681           disabled otherwise.
8682
8683           When set to auto, SMB1 signing is offered, but not enforced. When
8684           set to mandatory, SMB1 signing is required and if set to disabled,
8685           SMB signing is not offered either.
8686
8687           For the SMB2 protocol, by design, signing cannot be disabled. In
8688           the case where SMB2 is negotiated, if this parameter is set to
8689           disabled, it will be treated as auto. Setting it to mandatory will
8690           still require SMB2 clients to use signing.
8691
8692           Default: server signing = default
8693
8694       server smb encrypt (S)
8695
8696           This parameter controls whether a remote client is allowed or
8697           required to use SMB encryption. It has different effects depending
8698           on whether the connection uses SMB1 or SMB2 and newer:
8699
8700                  •   If the connection uses SMB1, then this option controls
8701                      the use of a Samba-specific extension to the SMB
8702                      protocol introduced in Samba 3.2 that makes use of the
8703                      Unix extensions.
8704
8705                  •   If the connection uses SMB2 or newer, then this option
8706                      controls the use of the SMB-level encryption that is
8707                      supported in SMB version 3.0 and above and available in
8708                      Windows 8 and newer.
8709
8710           This parameter can be set globally and on a per-share bases.
8711           Possible values are off, if_required, desired, and required. A
8712           special value is default which is the implicit default setting of
8713           if_required.
8714
8715           Effects for SMB1
8716               The Samba-specific encryption of SMB1 connections is an
8717               extension to the SMB protocol negotiated as part of the UNIX
8718               extensions. SMB encryption uses the GSSAPI (SSPI on Windows)
8719               ability to encrypt and sign every request/response in a SMB
8720               protocol stream. When enabled it provides a secure method of
8721               SMB/CIFS communication, similar to an ssh protected session,
8722               but using SMB/CIFS authentication to negotiate encryption and
8723               signing keys. Currently this is only supported smbclient of by
8724               Samba 3.2 and newer, and hopefully soon Linux CIFSFS and
8725               MacOS/X clients. Windows clients do not support this feature.
8726
8727               This may be set on a per-share basis, but clients may chose to
8728               encrypt the entire session, not just traffic to a specific
8729               share. If this is set to mandatory then all traffic to a share
8730               must be encrypted once the connection has been made to the
8731               share. The server would return "access denied" to all
8732               non-encrypted requests on such a share. Selecting encrypted
8733               traffic reduces throughput as smaller packet sizes must be used
8734               (no huge UNIX style read/writes allowed) as well as the
8735               overhead of encrypting and signing all the data.
8736
8737               If SMB encryption is selected, Windows style SMB signing (see
8738               the server signing option) is no longer necessary, as the
8739               GSSAPI flags use select both signing and sealing of the data.
8740
8741               When set to auto or default, SMB encryption is offered, but not
8742               enforced. When set to mandatory, SMB encryption is required and
8743               if set to disabled, SMB encryption can not be negotiated.
8744
8745           Effects for SMB2 and newer
8746               Native SMB transport encryption is available in SMB version 3.0
8747               or newer. It is only offered by Samba if server max protocol is
8748               set to SMB3 or newer. Clients supporting this type of
8749               encryption include Windows 8 and newer, Windows server 2012 and
8750               newer, and smbclient of Samba 4.1 and newer.
8751
8752               The protocol implementation offers various options:
8753
8754                      •   The capability to perform SMB encryption can be
8755                          negotiated during protocol negotiation.
8756
8757                      •   Data encryption can be enabled globally. In that
8758                          case, an encryption-capable connection will have all
8759                          traffic in all its sessions encrypted. In particular
8760                          all share connections will be encrypted.
8761
8762                      •   Data encryption can also be enabled per share if not
8763                          enabled globally. For an encryption-capable
8764                          connection, all connections to an encryption-enabled
8765                          share will be encrypted.
8766
8767                      •   Encryption can be enforced. This means that session
8768                          setups will be denied on non-encryption-capable
8769                          connections if data encryption has been enabled
8770                          globally. And tree connections will be denied for
8771                          non-encryption capable connections to shares with
8772                          data encryption enabled.
8773
8774               These features can be controlled with settings of server smb
8775               encrypt as follows:
8776
8777                      •   Leaving it as default, explicitly setting default,
8778                          or setting it to if_required globally will enable
8779                          negotiation of encryption but will not turn on data
8780                          encryption globally or per share.
8781
8782                      •   Setting it to desired globally will enable
8783                          negotiation and will turn on data encryption on
8784                          sessions and share connections for those clients
8785                          that support it.
8786
8787                      •   Setting it to required globally will enable
8788                          negotiation and turn on data encryption on sessions
8789                          and share connections. Clients that do not support
8790                          encryption will be denied access to the server.
8791
8792                      •   Setting it to off globally will completely disable
8793                          the encryption feature for all connections. Setting
8794                          server smb encrypt = required for individual shares
8795                          (while it's globally off) will deny access to this
8796                          shares for all clients.
8797
8798                      •   Setting it to desired on a share will turn on data
8799                          encryption for this share for clients that support
8800                          encryption if negotiation has been enabled globally.
8801
8802                      •   Setting it to required on a share will enforce data
8803                          encryption for this share if negotiation has been
8804                          enabled globally. I.e. clients that do not support
8805                          encryption will be denied access to the share.
8806
8807                          Note that this allows per-share enforcing to be
8808                          controlled in Samba differently from Windows: In
8809                          Windows, RejectUnencryptedAccess is a global
8810                          setting, and if it is set, all shares with data
8811                          encryption turned on are automatically enforcing
8812                          encryption. In order to achieve the same effect in
8813                          Samba, one has to globally set server smb encrypt to
8814                          if_required, and then set all shares that should be
8815                          encrypted to required. Additionally, it is possible
8816                          in Samba to have some shares with encryption
8817                          required and some other shares with encryption only
8818                          desired, which is not possible in Windows.
8819
8820                      •   Setting it to off or if_required for a share has no
8821                          effect.
8822
8823
8824           Default: server smb encrypt = default
8825
8826       server smb3 encryption algorithms (G)
8827
8828           This parameter specifies the availability and order of encryption
8829           algorithms which are available for negotiation in the SMB3_11
8830           dialect.
8831
8832           It is also possible to remove individual algorithms from the
8833           default list, by prefixing them with '-'. This can avoid having to
8834           specify a hardcoded list.
8835
8836           Note: that the removal of AES-128-CCM from the list will result in
8837           SMB3_00 and SMB3_02 being unavailable, as it is the default and
8838           only available algorithm for these dialects.
8839
8840           Default: server smb3 encryption algorithms = AES-128-GCM,
8841           AES-128-CCM, AES-256-GCM, AES-256-CCM
8842
8843           Example: server smb3 encryption algorithms = AES-256-GCM
8844
8845           Example: server smb3 encryption algorithms = -AES-128-GCM
8846           -AES-128-CCM
8847
8848       server smb3 signing algorithms (G)
8849
8850           This parameter specifies the availability and order of signing
8851           algorithms which are available for negotiation in the SMB3_11
8852           dialect.
8853
8854           It is also possible to remove individual algorithms from the
8855           default list, by prefixing them with '-'. This can avoid having to
8856           specify a hardcoded list.
8857
8858           Note: that the removal of AES-128-CMAC from the list will result in
8859           SMB3_00 and SMB3_02 being unavailable, and the removal of
8860           HMAC-SHA256 will result in SMB2_02 and SMB2_10 being unavailable,
8861           as these are the default and only available algorithms for these
8862           dialects.
8863
8864           Default: server smb3 signing algorithms = AES-128-GMAC,
8865           AES-128-CMAC, HMAC-SHA256
8866
8867           Example: server smb3 signing algorithms = AES-128-CMAC, HMAC-SHA256
8868
8869           Example: server smb3 signing algorithms = -AES-128-CMAC
8870
8871       server string (G)
8872
8873           This controls what string will show up in the printer comment box
8874           in print manager and next to the IPC connection in net view. It can
8875           be any string that you wish to show to your users.
8876
8877           It also sets what will appear in browse lists next to the machine
8878           name.
8879
8880           A %v will be replaced with the Samba version number.
8881
8882           A %h will be replaced with the hostname.
8883
8884           Default: server string = Samba %v
8885
8886           Example: server string = University of GNUs Samba Server
8887
8888       set primary group script (G)
8889
8890           Thanks to the Posix subsystem in NT a Windows User has a primary
8891           group in addition to the auxiliary groups. This script sets the
8892           primary group in the unix user database when an administrator sets
8893           the primary group from the windows user manager or when fetching a
8894           SAM with net rpc vampire.  %u will be replaced with the user whose
8895           primary group is to be set.  %g will be replaced with the group to
8896           set.
8897
8898           Default: set primary group script =
8899
8900           Example: set primary group script = /usr/sbin/usermod -g '%g' '%u'
8901
8902       set quota command (G)
8903
8904           The set quota command should only be used whenever there is no
8905           operating system API available from the OS that samba can use.
8906
8907           This option is only available if Samba was compiled with quota
8908           support.
8909
8910           This parameter should specify the path to a script that can set
8911           quota for the specified arguments.
8912
8913           The specified script should take the following arguments:
8914
8915                  •   1 - path to where the quota needs to be set. This needs
8916                      to be interpreted relative to the current working
8917                      directory that the script may also check for.
8918
8919                  •   2 - quota type
8920
8921                             •   1 - user quotas
8922
8923                             •   2 - user default quotas (uid = -1)
8924
8925                             •   3 - group quotas
8926
8927                             •   4 - group default quotas (gid = -1)
8928
8929
8930                  •   3 - id (uid for user, gid for group, -1 if N/A)
8931
8932                  •   4 - quota state (0 = disable, 1 = enable, 2 = enable and
8933                      enforce)
8934
8935                  •   5 - block softlimit
8936
8937                  •   6 - block hardlimit
8938
8939                  •   7 - inode softlimit
8940
8941                  •   8 - inode hardlimit
8942
8943                  •   9(optional) - block size, defaults to 1024
8944
8945           The script should output at least one line of data on success. And
8946           nothing on failure.
8947
8948           Default: set quota command =
8949
8950           Example: set quota command = /usr/local/sbin/set_quota
8951
8952       share:fake_fscaps (G)
8953
8954           This is needed to support some special application that makes
8955           QFSINFO calls to check whether we set the SPARSE_FILES bit (0x40).
8956           If this bit is not set that particular application refuses to work
8957           against Samba. With share:fake_fscaps = 64 the SPARSE_FILES file
8958           system capability flag is set. Use other decimal values to specify
8959           the bitmask you need to fake.
8960
8961           Default: share:fake_fscaps = 0
8962
8963       short preserve case (S)
8964
8965           This boolean parameter controls if new files which conform to 8.3
8966           syntax, that is all in upper case and of suitable length, are
8967           created upper case, or if they are forced to be the default case.
8968           This option can be use with preserve case = yes to permit long
8969           filenames to retain their case, while short names are lowered.
8970
8971           See the section on NAME MANGLING.
8972
8973           Default: short preserve case = yes
8974
8975       show add printer wizard (G)
8976
8977           With the introduction of MS-RPC based printing support for Windows
8978           NT/2000 client in Samba 2.2, a "Printers..." folder will appear on
8979           Samba hosts in the share listing. Normally this folder will contain
8980           an icon for the MS Add Printer Wizard (APW). However, it is
8981           possible to disable this feature regardless of the level of
8982           privilege of the connected user.
8983
8984           Under normal circumstances, the Windows NT/2000 client will open a
8985           handle on the printer server with OpenPrinterEx() asking for
8986           Administrator privileges. If the user does not have administrative
8987           access on the print server (i.e is not root or has granted the
8988           SePrintOperatorPrivilege), the OpenPrinterEx() call fails and the
8989           client makes another open call with a request for a lower privilege
8990           level. This should succeed, however the APW icon will not be
8991           displayed.
8992
8993           Disabling the show add printer wizard parameter will always cause
8994           the OpenPrinterEx() on the server to fail. Thus the APW icon will
8995           never be displayed.
8996
8997               Note
8998               This does not prevent the same user from having administrative
8999               privilege on an individual printer.
9000           Default: show add printer wizard = yes
9001
9002       shutdown script (G)
9003
9004           This a full path name to a script called by smbd(8) that should
9005           start a shutdown procedure.
9006
9007           If the connected user possesses the SeRemoteShutdownPrivilege,
9008           right, this command will be run as root.
9009
9010           The %z %t %r %f variables are expanded as follows:
9011
9012%z will be substituted with the shutdown message sent to
9013                      the server.
9014
9015%t will be substituted with the number of seconds to
9016                      wait before effectively starting the shutdown procedure.
9017
9018%r will be substituted with the switch -r. It means
9019                      reboot after shutdown for NT.
9020
9021%f will be substituted with the switch -f. It means
9022                      force the shutdown even if applications do not respond
9023                      for NT.
9024
9025           Shutdown script example:
9026
9027               #!/bin/bash
9028
9029               time=$2
9030               let time="${time} / 60"
9031               let time="${time} + 1"
9032
9033               /sbin/shutdown $3 $4 +$time $1 &
9034
9035
9036           Shutdown does not return so we need to launch it in background.
9037
9038           Default: shutdown script =
9039
9040           Example: shutdown script = /usr/local/samba/sbin/shutdown %m %t %r
9041           %f
9042
9043       unix extensions
9044
9045           This parameter is a synonym for smb1 unix extensions.
9046
9047       smb1 unix extensions (G)
9048
9049           This boolean parameter controls whether Samba implements the
9050           SMB1/CIFS UNIX extensions, as defined by HP. These extensions
9051           enable Samba to better serve UNIX SMB1/CIFS clients by supporting
9052           features such as symbolic links, hard links, etc... These
9053           extensions require a similarly enabled client, and are of no
9054           current use to Windows clients.
9055
9056           Note if this parameter is turned on, the wide links parameter will
9057           automatically be disabled.
9058
9059           See the parameter allow insecure wide links if you wish to change
9060           this coupling between the two parameters.
9061
9062           Default: smb1 unix extensions = yes
9063
9064       smb2 disable lock sequence checking (G)
9065
9066           This boolean parameter controls whether smbd(8) will disable lock
9067           sequence checking even for multi-channel connections as well as
9068           durable handles.
9069
9070           The [MS-SMB2] specification (under 3.3.5.14 Receiving an SMB2 LOCK
9071           Request) documents that a server should do lock sequence if
9072           Open.IsResilient or Open.IsDurable or Open.IsPersistent is TRUE or
9073           if Connection.Dialect belongs to the SMB 3.x dialect family and
9074           Connection.ServerCapabilities includes
9075           SMB2_GLOBAL_CAP_MULTI_CHANNEL.
9076
9077           But Windows Server (at least up to v2004) only does these checks
9078           for the Open.IsResilient and Open.IsPersistent. That means they do
9079           not implement the behavior specified in [MS-SMB2].
9080
9081           By default Samba behaves according to the specification and
9082           implements lock sequence checking when multi-channel is used.
9083
9084           Warning: Only enable this option if existing clients can't handle
9085           lock sequence checking for handles without Open.IsResilient and
9086           Open.IsPersistent. And it turns out that the Windows Server
9087           behavior is required.
9088
9089           Note: it's likely that this option will be removed again if future
9090           Windows versions change their behavior.
9091
9092           Note: Samba does not implement Open.IsResilient and
9093           Open.IsPersistent yet.
9094
9095           Default: smb2 disable lock sequence checking = no
9096
9097           Example: smb2 disable lock sequence checking = yes
9098
9099       smb2 disable oplock break retry (G)
9100
9101           This boolean parameter controls whether smbd(8) will trigger smb2
9102           oplock break notification retries when using server multi channel
9103           support = yes.
9104
9105           The [MS-SMB2] specification documents that a server should send
9106           smb2 oplock break notification retries on all available channel to
9107           the given client.
9108
9109           But Windows Server versions (at least up to 2019) do not send smb2
9110           oplock break notification retries on channel failures. That means
9111           they do not implement the behavior specified in [MS-SMB2].
9112
9113           By default Samba behaves according to the specification and send
9114           smb2 oplock break notification retries.
9115
9116           Warning: Only enable this option if existing clients can't handle
9117           possible retries and it turns out that the Windows Server behavior
9118           is required.
9119
9120           Note: it's likely that this option gets removed again if future
9121           Windows versions change their behavior.
9122
9123           Note: this only applies to oplocks and not SMB2 leases.
9124
9125           Default: smb2 disable oplock break retry = no
9126
9127           Example: smb2 disable oplock break retry = yes
9128
9129       smb2 leases (G)
9130
9131           This boolean option tells smbd whether to globally negotiate SMB2
9132           leases on file open requests. Leasing is an SMB2-only feature which
9133           allows clients to aggressively cache files locally above and beyond
9134           the caching allowed by SMB1 oplocks.
9135
9136           This is only available with oplocks = yes and kernel oplocks = no.
9137
9138           Default: smb2 leases = yes
9139
9140       smb2 max credits (G)
9141
9142           This option controls the maximum number of outstanding simultaneous
9143           SMB2 operations that Samba tells the client it will allow. This is
9144           similar to the max mux parameter for SMB1. You should never need to
9145           set this parameter.
9146
9147           The default is 8192 credits, which is the same as a Windows 2008R2
9148           SMB2 server.
9149
9150           Default: smb2 max credits = 8192
9151
9152       smb2 max read (G)
9153
9154           This option specifies the protocol value that smbd(8) will return
9155           to a client, informing the client of the largest size that may be
9156           returned by a single SMB2 read call.
9157
9158           The maximum is 8388608 bytes (8MiB), which is the same as a Windows
9159           Server 2012 r2.
9160
9161           Please note that the default is 8MiB, but it's limit is based on
9162           the smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB >= 2.1 with
9163           LargeMTU). Large MTU is not supported over NBT (tcp port 139).
9164
9165           Default: smb2 max read = 8388608
9166
9167       smb2 max trans (G)
9168
9169           This option specifies the protocol value that smbd(8) will return
9170           to a client, informing the client of the largest size of buffer
9171           that may be used in querying file meta-data via QUERY_INFO and
9172           related SMB2 calls.
9173
9174           The maximum is 8388608 bytes (8MiB), which is the same as a Windows
9175           Server 2012 r2.
9176
9177           Please note that the default is 8MiB, but it's limit is based on
9178           the smb2 dialect (64KiB for SMB == 2.0, 1MiB for SMB >= 2.1 with
9179           LargeMTU). Large MTU is not supported over NBT (tcp port 139).
9180
9181           Default: smb2 max trans = 8388608
9182
9183       smb2 max write (G)
9184
9185           This option specifies the protocol value that smbd(8) will return
9186           to a client, informing the client of the largest size that may be
9187           sent to the server by a single SMB2 write call.
9188
9189           The maximum is 8388608 bytes (8MiB), which is the same as a Windows
9190           Server 2012 r2.
9191
9192           Please note that the default is 8MiB, but it's limit is based on
9193           the smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB => 2.1 with
9194           LargeMTU). Large MTU is not supported over NBT (tcp port 139).
9195
9196           Default: smb2 max write = 8388608
9197
9198       smb3 unix extensions (G)
9199
9200           Incomplete SMB 3.11 Unix Extensions. This is only available if
9201           Samba is compiled in DEVELOPER mode.
9202
9203           Default: smb3 unix extensions = no
9204
9205       smbd async dosmode (S)
9206
9207           This parameter control whether the fileserver will use sync or
9208           async methods for fetching the DOS attributes when doing a
9209           directory listing. By default sync methods will be used.
9210
9211           Default: smbd async dosmode = no
9212
9213       smbd getinfo ask sharemode (S)
9214
9215           This parameter allows disabling fetching file write time from the
9216           open file handle database locking.tdb when a client requests file
9217           or directory metadata. It's a performance optimisation at the
9218           expense of protocol correctness.
9219
9220           Default: smbd getinfo ask sharemode = yes
9221
9222       smbd max async dosmode (S)
9223
9224           This parameter controls how many async operations to fetch the DOS
9225           attributes the fileserver will queue when doing directory listings.
9226
9227           Default: smbd max async dosmode = aio max threads * 2
9228
9229       smbd max xattr size (S)
9230
9231           This parameter controls the maximum size of extended attributes
9232           that may be written to the server as EAs or as alternate data
9233           streams if vfs_streams_xattr is enabled. The maximum size of
9234           extended attributes depends on the Samba server's operating system
9235           and the underlying filesystem. The Linux VFS currently sets an
9236           upper boundary of 64 KiB per extended attribute. FreeBSD does not
9237           set a practical upper limit, but since pread() and pwrite() are not
9238           possible via the extattr on FreeBSD, it is not recommended to
9239           increase this value above a few MiB. If a client attempts to write
9240           an overly-large alternate datastream, the Samba server will return
9241           STATUS_FILESYSTEM_LIMITATION. If this error is encountered, users
9242           may try increasing the maximum size supported for xattr writes. If
9243           this is not possible, and writes are from a MacOS client and to an
9244           AFP_Resource extended attribute, the user may enable the vfs_fruit
9245           module and configure to allow stream writes for AFP_Resource to an
9246           alternative storage location. See vfs_fruit documentation for
9247           further details.
9248
9249           Default: smbd max xattr size = 65536
9250
9251       smbd profiling level (G)
9252
9253           This parameter allows the administrator to enable profiling
9254           support.
9255
9256           Possible values are off, count and on.
9257
9258           Default: smbd profiling level = off
9259
9260           Example: smbd profiling level = on
9261
9262       smbd search ask sharemode (S)
9263
9264           This parameter allows disabling fetching file write time from the
9265           open file handle database locking.tdb. It's a performance
9266           optimisation at the expense of protocol correctness.
9267
9268           Default: smbd search ask sharemode = yes
9269
9270       smb encrypt (S)
9271
9272           This is a synonym for server smb encrypt.
9273
9274           Default: smb encrypt = default
9275
9276       smb passwd file (G)
9277
9278           This option sets the path to the encrypted smbpasswd file. By
9279           default the path to the smbpasswd file is compiled into Samba.
9280
9281           An example of use is:
9282
9283               smb passwd file = /etc/samba/smbpasswd
9284
9285           Default: smb passwd file = /var/lib/samba/private/smbpasswd
9286
9287       smb ports (G)
9288
9289           Specifies which ports the server should listen on for SMB traffic.
9290
9291           Default: smb ports = 445 139
9292
9293       socket options (G)
9294
9295               Warning
9296               Modern server operating systems are tuned for high network
9297               performance in the majority of situations; when you set socket
9298               options you are overriding those settings. Linux in particular
9299               has an auto-tuning mechanism for buffer sizes that will be
9300               disabled if you specify a socket buffer size. This can
9301               potentially cripple your TCP/IP stack.
9302
9303               Getting the socket options correct can make a big difference to
9304               your performance, but getting them wrong can degrade it by just
9305               as much. As with any other low level setting, if you must make
9306               changes to it, make small changes and test the effect before
9307               making any large changes.
9308
9309           This option allows you to set socket options to be used when
9310           talking with the client.
9311
9312           Socket options are controls on the networking layer of the
9313           operating systems which allow the connection to be tuned.
9314
9315           This option will typically be used to tune your Samba server for
9316           optimal performance for your local network. There is no way that
9317           Samba can know what the optimal parameters are for your net, so you
9318           must experiment and choose them yourself. We strongly suggest you
9319           read the appropriate documentation for your operating system first
9320           (perhaps man setsockopt will help).
9321
9322           You may find that on some systems Samba will say "Unknown socket
9323           option" when you supply an option. This means you either
9324           incorrectly typed it or you need to add an include file to
9325           includes.h for your OS. If the latter is the case please send the
9326           patch to samba-technical@lists.samba.org.
9327
9328           Any of the supported socket options may be combined in any way you
9329           like, as long as your OS allows it.
9330
9331           This is the list of socket options currently settable using this
9332           option:
9333
9334                  •   SO_KEEPALIVE
9335
9336                  •   SO_REUSEADDR
9337
9338                  •   SO_BROADCAST
9339
9340                  •   TCP_NODELAY
9341
9342                  •   TCP_KEEPCNT *
9343
9344                  •   TCP_KEEPIDLE *
9345
9346                  •   TCP_KEEPINTVL *
9347
9348                  •   IPTOS_LOWDELAY
9349
9350                  •   IPTOS_THROUGHPUT
9351
9352                  •   SO_REUSEPORT
9353
9354                  •   SO_SNDBUF *
9355
9356                  •   SO_RCVBUF *
9357
9358                  •   SO_SNDLOWAT *
9359
9360                  •   SO_RCVLOWAT *
9361
9362                  •   SO_SNDTIMEO *
9363
9364                  •   SO_RCVTIMEO *
9365
9366                  •   TCP_FASTACK *
9367
9368                  •   TCP_QUICKACK
9369
9370                  •   TCP_NODELAYACK
9371
9372                  •   TCP_KEEPALIVE_THRESHOLD *
9373
9374                  •   TCP_KEEPALIVE_ABORT_THRESHOLD *
9375
9376                  •   TCP_DEFER_ACCEPT *
9377
9378                  •   TCP_USER_TIMEOUT *
9379
9380           Those marked with a '*' take an integer argument. The others can
9381           optionally take a 1 or 0 argument to enable or disable the option,
9382           by default they will be enabled if you don't specify 1 or 0.
9383
9384           To specify an argument use the syntax SOME_OPTION = VALUE for
9385           example SO_SNDBUF = 8192. Note that you must not have any spaces
9386           before or after the = sign.
9387
9388           If you are on a local network then a sensible option might be:
9389
9390           socket options = IPTOS_LOWDELAY
9391
9392           If you have a local network then you could try:
9393
9394           socket options = IPTOS_LOWDELAY TCP_NODELAY
9395
9396           If you are on a wide area network then perhaps try setting
9397           IPTOS_THROUGHPUT.
9398
9399           Note that several of the options may cause your Samba server to
9400           fail completely. Use these options with caution!
9401
9402           Default: socket options = TCP_NODELAY
9403
9404           Example: socket options = IPTOS_LOWDELAY
9405
9406       spn update command (G)
9407
9408           This option sets the command that for updating servicePrincipalName
9409           names from spn_update_list.
9410
9411           Default: spn update command =
9412           /builddir/build/BUILD/samba-4.18.9/source4/scripting/bin/samba_spnupdate
9413
9414           Example: spn update command = /usr/local/sbin/spnupdate
9415
9416       spoolss: architecture (G)
9417
9418           Windows spoolss print clients only allow association of server-side
9419           drivers with printers when the driver architecture matches the
9420           advertised print server architecture. Samba's spoolss print server
9421           architecture can be changed using this parameter.
9422
9423           Default: spoolss: architecture = Windows x64
9424
9425           Example: spoolss: architecture = Windows NT x86
9426
9427       spoolss: os_major (G)
9428
9429           Windows might require a new os version number. This option allows
9430           to modify the build number. The complete default version number is:
9431           5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
9432
9433           Default: spoolss: os_major = 5
9434
9435           Example: spoolss: os_major = 6
9436
9437       spoolss: os_minor (G)
9438
9439           Windows might require a new os version number. This option allows
9440           to modify the build number. The complete default version number is:
9441           5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
9442
9443           Default: spoolss: os_minor = 0
9444
9445           Example: spoolss: os_minor = 1
9446
9447       spoolss: os_build (G)
9448
9449           Windows might require a new os version number. This option allows
9450           to modify the build number. The complete default version number is:
9451           5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
9452
9453           Default: spoolss: os_build = 2195
9454
9455           Example: spoolss: os_build = 7601
9456
9457       spoolss_client: os_major (G)
9458
9459           Windows might require a new os version number. This option allows
9460           to modify the build number. The complete default version number is:
9461           6.1.7007 (Windows 7 and Windows Server 2008 R2).
9462
9463           Default: spoolss_client: os_major = 6
9464
9465       spoolss_client: os_minor (G)
9466
9467           Windows might require a new os version number. This option allows
9468           to modify the build number. The complete default version number is:
9469           6.1.7007 (Windows 7 and Windows Server 2008 R2).
9470
9471           Default: spoolss_client: os_minor = 1
9472
9473       spoolss_client: os_build (G)
9474
9475           Windows might require a new os version number. This option allows
9476           to modify the build number. The complete default version number is:
9477           6.1.7007 (Windows 7 and Windows Server 2008 R2).
9478
9479           Default: spoolss_client: os_build = 7007
9480
9481       spotlight (S)
9482
9483           This parameter controls whether Samba allows Spotlight queries on a
9484           share. For controlling indexing of filesystems you also have to use
9485           Tracker's own configuration system.
9486
9487           Spotlight has several prerequisites:
9488
9489                  •   Samba must be configured and built with Spotlight
9490                      support.
9491
9492                  •   Tracker integration must be setup and the share must be
9493                      indexed by Tracker.
9494
9495           For a detailed set of instructions please see
9496           https://wiki.samba.org/index.php/Spotlight.
9497
9498           Default: spotlight = no
9499
9500       spotlight backend (S)
9501
9502           Spotlight search backend. Available backends:
9503
9504noindex - a backend that returns no results.
9505
9506
9507tracker - Gnome Tracker.
9508
9509elasticsearch - a backend that uses JSON and REST over
9510                      HTTP(s) to query an Elasticsearch server.
9511
9512
9513           Default: spotlight backend = noindex
9514
9515       stat cache (G)
9516
9517           This parameter determines if smbd(8) will use a cache in order to
9518           speed up case insensitive name mappings. You should never need to
9519           change this parameter.
9520
9521           Default: stat cache = yes
9522
9523       state directory (G)
9524
9525           Usually, most of the TDB files are stored in the lock directory.
9526           Since Samba 3.4.0, it is possible to differentiate between TDB
9527           files with persistent data and TDB files with non-persistent data
9528           using the state directory and the cache directory options.
9529
9530           This option specifies the directory where TDB files containing
9531           important persistent data will be stored.
9532
9533           Default: state directory = /var/lib/samba
9534
9535           Example: state directory = /var/run/samba/locks/state
9536
9537       store dos attributes (S)
9538
9539           If this parameter is set Samba attempts to first read DOS
9540           attributes (SYSTEM, HIDDEN, ARCHIVE or READ-ONLY) from a filesystem
9541           extended attribute, before mapping DOS attributes to UNIX
9542           permission bits (such as occurs with map hidden and map readonly).
9543           When set, DOS attributes will be stored onto an extended attribute
9544           in the UNIX filesystem, associated with the file or directory. When
9545           this parameter is set it will override the parameters map hidden,
9546           map system, map archive and map readonly and they will behave as if
9547           they were set to off. This parameter writes the DOS attributes as a
9548           string into the extended attribute named "user.DOSATTRIB". This
9549           extended attribute is explicitly hidden from smbd clients
9550           requesting an EA list. On Linux the filesystem must have been
9551           mounted with the mount option user_xattr in order for extended
9552           attributes to work, also extended attributes must be compiled into
9553           the Linux kernel. In Samba 3.5.0 and above the "user.DOSATTRIB"
9554           extended attribute has been extended to store the create time for a
9555           file as well as the DOS attributes. This is done in a backwards
9556           compatible way so files created by Samba 3.5.0 and above can still
9557           have the DOS attribute read from this extended attribute by earlier
9558           versions of Samba, but they will not be able to read the create
9559           time stored there. Storing the create time separately from the
9560           normal filesystem meta-data allows Samba to faithfully reproduce
9561           NTFS semantics on top of a POSIX filesystem. The default has
9562           changed to yes in Samba release 4.9.0 and above to allow better
9563           Windows fileserver compatibility in a default install.
9564
9565           Default: store dos attributes = yes
9566
9567       strict allocate (S)
9568
9569           This is a boolean that controls the handling of disk space
9570           allocation in the server. When this is set to yes the server will
9571           change from UNIX behaviour of not committing real disk storage
9572           blocks when a file is extended to the Windows behaviour of actually
9573           forcing the disk system to allocate real storage blocks when a file
9574           is created or extended to be a given size. In UNIX terminology this
9575           means that Samba will stop creating sparse files.
9576
9577           This option is really designed for file systems that support fast
9578           allocation of large numbers of blocks such as extent-based file
9579           systems. On file systems that don't support extents (most notably
9580           ext3) this can make Samba slower. When you work with large files
9581           over >100MB on file systems without extents you may even run into
9582           problems with clients running into timeouts.
9583
9584           When you have an extent based filesystem it's likely that we can
9585           make use of unwritten extents which allows Samba to allocate even
9586           large amounts of space very fast and you will not see any timeout
9587           problems caused by strict allocate. With strict allocate in use you
9588           will also get much better out of quota messages in case you use
9589           quotas. Another advantage of activating this setting is that it
9590           will help to reduce file fragmentation.
9591
9592           To give you an idea on which filesystems this setting might
9593           currently be a good option for you: XFS, ext4, btrfs, ocfs2 on
9594           Linux and JFS2 on AIX support unwritten extents. On Filesystems
9595           that do not support it, preallocation is probably an expensive
9596           operation where you will see reduced performance and risk to let
9597           clients run into timeouts when creating large files. Examples are
9598           ext3, ZFS, HFS+ and most others, so be aware if you activate this
9599           setting on those filesystems.
9600
9601           Default: strict allocate = no
9602
9603       strict locking (S)
9604
9605           This is an enumerated type that controls the handling of file
9606           locking in the server. When this is set to yes, the server will
9607           check every read and write access for file locks, and deny access
9608           if locks exist. This can be slow on some systems.
9609
9610           When strict locking is set to Auto (the default), the server
9611           performs file lock checks only on non-oplocked files. As most
9612           Windows redirectors perform file locking checks locally on oplocked
9613           files this is a good trade off for improved performance.
9614
9615           When strict locking is disabled, the server performs file lock
9616           checks only when the client explicitly asks for them.
9617
9618           Well-behaved clients always ask for lock checks when it is
9619           important. So in the vast majority of cases, strict locking = Auto
9620           or strict locking = no is acceptable.
9621
9622           Default: strict locking = Auto
9623
9624       strict rename (S)
9625
9626           By default a Windows SMB server prevents directory renames when
9627           there are open file or directory handles below it in the filesystem
9628           hierarchy. Historically Samba has always allowed this as POSIX
9629           filesystem semantics require it.
9630
9631           This boolean parameter allows Samba to match the Windows behavior.
9632           Setting this to "yes" is a very expensive change, as it forces
9633           Samba to travers the entire open file handle database on every
9634           directory rename request. In a clustered Samba system the cost is
9635           even greater than the non-clustered case.
9636
9637           When set to "no" smbd only checks the local process the client is
9638           attached to for open files below a directory being renamed, instead
9639           of checking for open files across all smbd processes.
9640
9641           Because of the expense in fully searching the database, the default
9642           is "no", and it is recommended to be left that way unless a
9643           specific Windows application requires it to be changed.
9644
9645           If the client has requested UNIX extensions (POSIX pathnames) then
9646           renames are always allowed and this parameter has no effect.
9647
9648           Default: strict rename = no
9649
9650       strict sync (S)
9651
9652           This parameter controls whether Samba honors a request from an SMB
9653           client to ensure any outstanding operating system buffer contents
9654           held in memory are safely written onto stable storage on disk. If
9655           set to yes, which is the default, then Windows applications can
9656           force the smbd server to synchronize unwritten data onto the disk.
9657           If set to no then smbd will ignore client requests to synchronize
9658           unwritten data onto stable storage on disk.
9659
9660           In Samba 4.7.0, the default for this parameter changed from no to
9661           yes to better match the expectations of SMB2/3 clients and improve
9662           application safety when running against smbd.
9663
9664           The flush request from SMB2/3 clients is handled asynchronously
9665           inside smbd, so leaving the parameter as the default value of yes
9666           does not block the processing of other requests to the smbd
9667           process.
9668
9669           Legacy Windows applications (such as the Windows 98 explorer shell)
9670           seemed to confuse writing buffer contents to the operating system
9671           with synchronously writing outstanding data onto stable storage on
9672           disk. Changing this parameter to no means that smbd(8) will ignore
9673           the Windows applications request to synchronize unwritten data onto
9674           disk. Only consider changing this if smbd is serving obsolete SMB1
9675           Windows clients prior to Windows XP (Windows 98 and below). There
9676           should be no need to change this setting for normal operations.
9677
9678           Default: strict sync = yes
9679
9680       svcctl list (G)
9681
9682           This option defines a list of init scripts that smbd will use for
9683           starting and stopping Unix services via the Win32 ServiceControl
9684           API. This allows Windows administrators to utilize the MS
9685           Management Console plug-ins to manage a Unix server running Samba.
9686
9687           The administrator must create a directory name svcctl in Samba's
9688           $(libdir) and create symbolic links to the init scripts in
9689           /etc/init.d/. The name of the links must match the names given as
9690           part of the svcctl list.
9691
9692           Default: svcctl list =
9693
9694           Example: svcctl list = cups postfix portmap httpd
9695
9696       sync always (S)
9697
9698           This is a boolean parameter that controls whether writes will
9699           always be written to stable storage before the write call returns.
9700           If this is no then the server will be guided by the client's
9701           request in each write call (clients can set a bit indicating that a
9702           particular write should be synchronous). If this is yes then every
9703           write will be followed by a fsync() call to ensure the data is
9704           written to disk. Note that the strict sync parameter must be set to
9705           yes in order for this parameter to have any effect.
9706
9707           Default: sync always = no
9708
9709       syslog (G)
9710
9711           This parameter maps how Samba debug messages are logged onto the
9712           system syslog logging levels. Samba debug level zero maps onto
9713           syslog LOG_ERR, debug level one maps onto LOG_WARNING, debug level
9714           two maps onto LOG_NOTICE, debug level three maps onto LOG_INFO. All
9715           higher levels are mapped to LOG_DEBUG.
9716
9717           This parameter sets the threshold for sending messages to syslog.
9718           Only messages with debug level less than this value will be sent to
9719           syslog. There still will be some logging to log.[sn]mbd even if
9720           syslog only is enabled.
9721
9722           The logging parameter should be used instead. When logging is set,
9723           it overrides the syslog parameter.
9724
9725           Default: syslog = 1
9726
9727       syslog only (G)
9728
9729           If this parameter is set then Samba debug messages are logged into
9730           the system syslog only, and not to the debug log files. There still
9731           will be some logging to log.[sn]mbd even if syslog only is enabled.
9732
9733           The logging parameter should be used instead. When logging is set,
9734           it overrides the syslog only parameter.
9735
9736           Default: syslog only = no
9737
9738       template homedir (G)
9739
9740           When filling out the user information for a Windows NT user, the
9741           winbindd(8) daemon uses this parameter to fill in the home
9742           directory for that user. If the string %D is present it is
9743           substituted with the user's Windows NT domain name. If the string
9744           %U is present it is substituted with the user's Windows NT user
9745           name.
9746
9747           Default: template homedir = /home/%D/%U
9748
9749       template shell (G)
9750
9751           When filling out the user information for a Windows NT user, the
9752           winbindd(8) daemon uses this parameter to fill in the login shell
9753           for that user.
9754
9755           Default: template shell = /bin/false
9756
9757       time server (G)
9758
9759           This parameter determines if nmbd(8) advertises itself as a time
9760           server to Windows clients.
9761
9762           Default: time server = no
9763
9764       debug timestamp
9765
9766           This parameter is a synonym for timestamp logs.
9767
9768       timestamp logs (G)
9769
9770           Samba debug log messages are timestamped by default. If you are
9771           running at a high debug level these timestamps can be distracting.
9772           This boolean parameter allows timestamping to be turned off.
9773
9774           Default: timestamp logs = yes
9775
9776       tls cafile (G)
9777
9778           This option can be set to a file (PEM format) containing CA
9779           certificates of root CAs to trust to sign certificates or
9780           intermediate CA certificates.
9781
9782           This path is relative to private dir if the path does not start
9783           with a /.
9784
9785           Default: tls cafile = tls/ca.pem
9786
9787       tls certfile (G)
9788
9789           This option can be set to a file (PEM format) containing the RSA
9790           certificate.
9791
9792           This path is relative to private dir if the path does not start
9793           with a /.
9794
9795           Default: tls certfile = tls/cert.pem
9796
9797       tls crlfile (G)
9798
9799           This option can be set to a file containing a certificate
9800           revocation list (CRL).
9801
9802           This path is relative to private dir if the path does not start
9803           with a /.
9804
9805           Default: tls crlfile =
9806
9807       tls dh params file (G)
9808
9809           This option can be set to a file with Diffie-Hellman parameters
9810           which will be used with DH ciphers.
9811
9812           This path is relative to private dir if the path does not start
9813           with a /.
9814
9815           Default: tls dh params file =
9816
9817       tls enabled (G)
9818
9819           If this option is set to yes, then Samba will use TLS when possible
9820           in communication.
9821
9822           Default: tls enabled = yes
9823
9824       tls keyfile (G)
9825
9826           This option can be set to a file (PEM format) containing the RSA
9827           private key. This file must be accessible without a pass-phrase,
9828           i.e. it must not be encrypted.
9829
9830           This path is relative to private dir if the path does not start
9831           with a /.
9832
9833           Default: tls keyfile = tls/key.pem
9834
9835       tls priority (G)
9836
9837           This option can be set to a string describing the TLS protocols to
9838           be supported in the parts of Samba that use GnuTLS, specifically
9839           the AD DC.
9840
9841           The string is appended to the default priority list of GnuTLS.
9842
9843           The valid options are described in the GNUTLS Priority-Strings
9844           documentation at
9845           http://gnutls.org/manual/html_node/Priority-Strings.html
9846
9847           The SSL3.0 protocol will be disabled.
9848
9849           Default: tls priority = NORMAL:-VERS-SSL3.0
9850
9851       tls verify peer (G)
9852
9853           This controls if and how strict the client will verify the peer's
9854           certificate and name. Possible values are (in increasing order):
9855           no_check, ca_only, ca_and_name_if_available, ca_and_name and
9856           as_strict_as_possible.
9857
9858           When set to no_check the certificate is not verified at all, which
9859           allows trivial man in the middle attacks.
9860
9861           When set to ca_only the certificate is verified to be signed from a
9862           ca specified in the tls ca file option. Setting tls ca file to a
9863           valid file is required. The certificate lifetime is also verified.
9864           If the tls crl file option is configured, the certificate is also
9865           verified against the ca crl.
9866
9867           When set to ca_and_name_if_available all checks from ca_only are
9868           performed. In addition, the peer hostname is verified against the
9869           certificate's name, if it is provided by the application layer and
9870           not given as an ip address string.
9871
9872           When set to ca_and_name all checks from ca_and_name_if_available
9873           are performed. In addition the peer hostname needs to be provided
9874           and even an ip address is checked against the certificate's name.
9875
9876           When set to as_strict_as_possible all checks from ca_and_name are
9877           performed. In addition the tls crl file needs to be configured.
9878           Future versions of Samba may implement additional checks.
9879
9880           Default: tls verify peer = as_strict_as_possible
9881
9882       unicode (G)
9883
9884           Specifies whether the server and client should support unicode.
9885
9886           If this option is set to false, the use of ASCII will be forced.
9887
9888           Default: unicode = yes
9889
9890       unix charset (G)
9891
9892           Specifies the charset the unix machine Samba runs on uses. Samba
9893           needs to know this in order to be able to convert text to the
9894           charsets other SMB clients use.
9895
9896           This is also the charset Samba will use when specifying arguments
9897           to scripts that it invokes.
9898
9899           Default: unix charset = UTF-8
9900
9901           Example: unix charset = ASCII
9902
9903       unix password sync (G)
9904
9905           This boolean parameter controls whether Samba attempts to
9906           synchronize the UNIX password with the SMB password when the
9907           encrypted SMB password in the smbpasswd file is changed. If this is
9908           set to yes the program specified in the passwd program parameter is
9909           called AS ROOT - to allow the new UNIX password to be set without
9910           access to the old UNIX password (as the SMB password change code
9911           has no access to the old password cleartext, only the new).
9912
9913           This option has no effect if samba is running as an active
9914           directory domain controller, in that case have a look at the
9915           password hash gpg key ids option and the samba-tool user
9916           syncpasswords command.
9917
9918           Default: unix password sync = no
9919
9920       use client driver (S)
9921
9922           This parameter applies only to Windows NT/2000 clients. It has no
9923           effect on Windows 95/98/ME clients. When serving a printer to
9924           Windows NT/2000 clients without first installing a valid printer
9925           driver on the Samba host, the client will be required to install a
9926           local printer driver. From this point on, the client will treat the
9927           print as a local printer and not a network printer connection. This
9928           is much the same behavior that will occur when disable spoolss =
9929           yes.
9930
9931           The differentiating factor is that under normal circumstances, the
9932           NT/2000 client will attempt to open the network printer using
9933           MS-RPC. The problem is that because the client considers the
9934           printer to be local, it will attempt to issue the OpenPrinterEx()
9935           call requesting access rights associated with the logged on user.
9936           If the user possesses local administrator rights but not root
9937           privilege on the Samba host (often the case), the OpenPrinterEx()
9938           call will fail. The result is that the client will now display an
9939           "Access Denied; Unable to connect" message in the printer queue
9940           window (even though jobs may successfully be printed).
9941
9942           If this parameter is enabled for a printer, then any attempt to
9943           open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
9944           to PRINTER_ACCESS_USE instead. Thus allowing the OpenPrinterEx()
9945           call to succeed.  This parameter MUST not be enabled on a print
9946           share which has valid print driver installed on the Samba server.
9947
9948           Default: use client driver = no
9949
9950       use mmap (G)
9951
9952           This global parameter determines if the tdb internals of Samba can
9953           depend on mmap working correctly on the running system. Samba
9954           requires a coherent mmap/read-write system memory cache. Currently
9955           only OpenBSD and HPUX do not have such a coherent cache, and on
9956           those platforms this parameter is overridden internally to be
9957           effeceively no. On all systems this parameter should be left alone.
9958           This parameter is provided to help the Samba developers track down
9959           problems with the tdb internal code.
9960
9961           Default: use mmap = yes
9962
9963       username level (G)
9964
9965           This option helps Samba to try and 'guess' at the real UNIX
9966           username, as many DOS clients send an all-uppercase username. By
9967           default Samba tries all lowercase, followed by the username with
9968           the first letter capitalized, and fails if the username is not
9969           found on the UNIX machine.
9970
9971           If this parameter is set to non-zero the behavior changes. This
9972           parameter is a number that specifies the number of uppercase
9973           combinations to try while trying to determine the UNIX user name.
9974           The higher the number the more combinations will be tried, but the
9975           slower the discovery of usernames will be. Use this parameter when
9976           you have strange usernames on your UNIX machine, such as
9977           AstrangeUser .
9978
9979           This parameter is needed only on UNIX systems that have case
9980           sensitive usernames.
9981
9982           Default: username level = 0
9983
9984           Example: username level = 5
9985
9986       username map (G)
9987
9988           This option allows you to specify a file containing a mapping of
9989           usernames from the clients to the server. This can be used for
9990           several purposes. The most common is to map usernames that users
9991           use on DOS or Windows machines to those that the UNIX box uses. The
9992           other is to map multiple users to a single username so that they
9993           can more easily share files.
9994
9995           Please note that for user mode security, the username map is
9996           applied prior to validating the user credentials. Domain member
9997           servers (domain or ads) apply the username map after the user has
9998           been successfully authenticated by the domain controller and
9999           require fully qualified entries in the map table (e.g. biddle =
10000           DOMAIN\foo).
10001
10002           The map file is parsed line by line. Each line should contain a
10003           single UNIX username on the left then a '=' followed by a list of
10004           usernames on the right. The list of usernames on the right may
10005           contain names of the form @group in which case they will match any
10006           UNIX username in that group. The special client name '*' is a
10007           wildcard and matches any name. Each line of the map file may be up
10008           to 1023 characters long.
10009
10010           The file is processed on each line by taking the supplied username
10011           and comparing it with each username on the right hand side of the
10012           '=' signs. If the supplied name matches any of the names on the
10013           right hand side then it is replaced with the name on the left.
10014           Processing then continues with the next line.
10015
10016           If any line begins with a '#' or a ';' then it is ignored.
10017
10018           If any line begins with an '!' then the processing will stop after
10019           that line if a mapping was done by the line. Otherwise mapping
10020           continues with every line being processed. Using '!' is most useful
10021           when you have a wildcard mapping line later in the file.
10022
10023           For example to map from the name admin or administrator to the UNIX
10024           name
10025            root you would use:
10026
10027               root = admin administrator
10028
10029           Or to map anyone in the UNIX group system to the UNIX name sys you
10030           would use:
10031
10032               sys = @system
10033
10034           You can have as many mappings as you like in a username map file.
10035
10036           If your system supports the NIS NETGROUP option then the netgroup
10037           database is checked before the /etc/group database for matching
10038           groups.
10039
10040           You can map Windows usernames that have spaces in them by using
10041           double quotes around the name. For example:
10042
10043               tridge = "Andrew Tridgell"
10044
10045           would map the windows username "Andrew Tridgell" to the unix
10046           username "tridge".
10047
10048           The following example would map mary and fred to the unix user sys,
10049           and map the rest to guest. Note the use of the '!' to tell Samba to
10050           stop processing if it gets a match on that line:
10051
10052               !sys = mary fred
10053               guest = *
10054
10055           Note that the remapping is applied to all occurrences of usernames.
10056           Thus if you connect to \\server\fred and fred is remapped to mary
10057           then you will actually be connecting to \\server\mary and will need
10058           to supply a password suitable for mary not fred. The only exception
10059           to this is the username passed to a Domain Controller (if you have
10060           one). The DC will receive whatever username the client supplies
10061           without modification.
10062
10063           Also note that no reverse mapping is done. The main effect this has
10064           is with printing. Users who have been mapped may have trouble
10065           deleting print jobs as PrintManager under WfWg will think they
10066           don't own the print job.
10067
10068           Samba versions prior to 3.0.8 would only support reading the fully
10069           qualified username (e.g.: DOMAIN\user) from the username map when
10070           performing a kerberos login from a client. However, when looking up
10071           a map entry for a user authenticated by NTLM[SSP], only the login
10072           name would be used for matches. This resulted in inconsistent
10073           behavior sometimes even on the same server.
10074
10075           The following functionality is obeyed in version 3.0.8 and later:
10076
10077           When performing local authentication, the username map is applied
10078           to the login name before attempting to authenticate the connection.
10079
10080           When relying upon a external domain controller for validating
10081           authentication requests, smbd will apply the username map to the
10082           fully qualified username (i.e.  DOMAIN\user) only after the user
10083           has been successfully authenticated.
10084
10085           An example of use is:
10086
10087               username map = /usr/local/samba/lib/users.map
10088
10089           Default: username map =  # no username map
10090
10091       username map cache time (G)
10092
10093           Mapping usernames with the username map or username map script
10094           features of Samba can be relatively expensive. During login of a
10095           user, the mapping is done several times. In particular, calling the
10096           username map script can slow down logins if external databases have
10097           to be queried from the script being called.
10098
10099           The parameter username map cache time controls a mapping cache. It
10100           specifies the number of seconds a mapping from the username map
10101           file or script is to be efficiently cached. The default of 0 means
10102           no caching is done.
10103
10104           Default: username map cache time = 0
10105
10106           Example: username map cache time = 60
10107
10108       username map script (G)
10109
10110           This script is a mutually exclusive alternative to the username map
10111           parameter. This parameter specifies an external program or script
10112           that must accept a single command line option (the username
10113           transmitted in the authentication request) and return a line on
10114           standard output (the name to which the account should mapped). In
10115           this way, it is possible to store username map tables in an LDAP
10116           directory services.
10117
10118           Default: username map script =
10119
10120           Example: username map script = /etc/samba/scripts/mapusers.sh
10121
10122       usershare allow guests (G)
10123
10124           This parameter controls whether user defined shares are allowed to
10125           be accessed by non-authenticated users or not. It is the equivalent
10126           of allowing people who can create a share the option of setting
10127           guest ok = yes in a share definition. Due to its security sensitive
10128           nature, the default is set to off.
10129
10130           Default: usershare allow guests = no
10131
10132       usershare max shares (G)
10133
10134           This parameter specifies the number of user defined shares that are
10135           allowed to be created by users belonging to the group owning the
10136           usershare directory. If set to zero (the default) user defined
10137           shares are ignored.
10138
10139           Default: usershare max shares = 0
10140
10141       usershare owner only (G)
10142
10143           This parameter controls whether the pathname exported by a user
10144           defined shares must be owned by the user creating the user defined
10145           share or not. If set to True (the default) then smbd checks that
10146           the directory path being shared is owned by the user who owns the
10147           usershare file defining this share and refuses to create the share
10148           if not. If set to False then no such check is performed and any
10149           directory path may be exported regardless of who owns it.
10150
10151           Default: usershare owner only = yes
10152
10153       usershare path (G)
10154
10155           This parameter specifies the absolute path of the directory on the
10156           filesystem used to store the user defined share definition files.
10157           This directory must be owned by root, and have no access for other,
10158           and be writable only by the group owner. In addition the "sticky"
10159           bit must also be set, restricting rename and delete to owners of a
10160           file (in the same way the /tmp directory is usually configured).
10161           Members of the group owner of this directory are the users allowed
10162           to create usershares.
10163
10164           For example, a valid usershare directory might be
10165           /usr/local/samba/lib/usershares, set up as follows.
10166
10167                    ls -ld /usr/local/samba/lib/usershares/
10168                    drwxrwx--T  2 root power_users 4096 2006-05-05 12:27 /usr/local/samba/lib/usershares/
10169
10170
10171           In this case, only members of the group "power_users" can create
10172           user defined shares.
10173
10174           Default: usershare path = /var/lib/samba/usershares
10175
10176       usershare prefix allow list (G)
10177
10178           This parameter specifies a list of absolute pathnames the root of
10179           which are allowed to be exported by user defined share definitions.
10180           If the pathname to be exported doesn't start with one of the
10181           strings in this list, the user defined share will not be allowed.
10182           This allows the Samba administrator to restrict the directories on
10183           the system that can be exported by user defined shares.
10184
10185           If there is a "usershare prefix deny list" and also a "usershare
10186           prefix allow list" the deny list is processed first, followed by
10187           the allow list, thus leading to the most restrictive
10188           interpretation.
10189
10190           Default: usershare prefix allow list =
10191
10192           Example: usershare prefix allow list = /home /data /space
10193
10194       usershare prefix deny list (G)
10195
10196           This parameter specifies a list of absolute pathnames the root of
10197           which are NOT allowed to be exported by user defined share
10198           definitions. If the pathname exported starts with one of the
10199           strings in this list the user defined share will not be allowed.
10200           Any pathname not starting with one of these strings will be allowed
10201           to be exported as a usershare. This allows the Samba administrator
10202           to restrict the directories on the system that can be exported by
10203           user defined shares.
10204
10205           If there is a "usershare prefix deny list" and also a "usershare
10206           prefix allow list" the deny list is processed first, followed by
10207           the allow list, thus leading to the most restrictive
10208           interpretation.
10209
10210           Default: usershare prefix deny list =
10211
10212           Example: usershare prefix deny list = /etc /dev /private
10213
10214       usershare template share (G)
10215
10216           User defined shares only have limited possible parameters such as
10217           path, guest ok, etc. This parameter allows usershares to "cloned"
10218           from an existing share. If "usershare template share" is set to the
10219           name of an existing share, then all usershares created have their
10220           defaults set from the parameters set on this share.
10221
10222           The target share may be set to be invalid for real file sharing by
10223           setting the parameter "-valid = False" on the template share
10224           definition. This causes it not to be seen as a real exported share
10225           but to be able to be used as a template for usershares.
10226
10227           Default: usershare template share =
10228
10229           Example: usershare template share = template_share
10230
10231       use sendfile (S)
10232
10233           If this parameter is yes, and the sendfile() system call is
10234           supported by the underlying operating system, then some SMB read
10235           calls (mainly ReadAndX and ReadRaw) will use the more efficient
10236           sendfile system call for files that are exclusively oplocked. This
10237           may make more efficient use of the system CPU's and cause Samba to
10238           be faster. Samba automatically turns this off for clients that use
10239           protocol levels lower than NT LM 0.12 and when it detects a client
10240           is Windows 9x (using sendfile from Linux will cause these clients
10241           to fail).
10242
10243           Default: use sendfile = no
10244
10245       utmp (G)
10246
10247           This boolean parameter is only available if Samba has been
10248           configured and compiled with the option --with-utmp. If set to yes
10249           then Samba will attempt to add utmp or utmpx records (depending on
10250           the UNIX system) whenever a connection is made to a Samba server.
10251           Sites may use this to record the user connecting to a Samba share.
10252
10253           Due to the requirements of the utmp record, we are required to
10254           create a unique identifier for the incoming user. Enabling this
10255           option creates an n^2 algorithm to find this number. This may
10256           impede performance on large installations.
10257
10258           Default: utmp = no
10259
10260       utmp directory (G)
10261
10262           This parameter is only available if Samba has been configured and
10263           compiled with the option --with-utmp. It specifies a directory
10264           pathname that is used to store the utmp or utmpx files (depending
10265           on the UNIX system) that record user connections to a Samba server.
10266           By default this is not set, meaning the system will use whatever
10267           utmp file the native system is set to use (usually /var/run/utmp on
10268           Linux).
10269
10270           Default: utmp directory =  # Determined automatically
10271
10272           Example: utmp directory = /var/run/utmp
10273
10274       -valid (S)
10275
10276           This parameter indicates whether a share is valid and thus can be
10277           used. When this parameter is set to false, the share will be in no
10278           way visible nor accessible.
10279
10280           This option should not be used by regular users but might be of
10281           help to developers. Samba uses this option internally to mark
10282           shares as deleted.
10283
10284           Default: -valid = yes
10285
10286       valid users (S)
10287
10288           This is a list of users that should be allowed to login to this
10289           service. Names starting with '@', '+' and '&' are interpreted using
10290           the same rules as described in the invalid users parameter.
10291
10292           If this is empty (the default) then any user can login. If a
10293           username is in both this list and the invalid users list then
10294           access is denied for that user.
10295
10296           The current servicename is substituted for %S. This is useful in
10297           the [homes] section.
10298
10299           Note: When used in the [global] section this parameter may have
10300           unwanted side effects. For example: If samba is configured as a
10301           MASTER BROWSER (see local master, os level, domain master,
10302           preferred master) this option will prevent workstations from being
10303           able to browse the network.
10304
10305           Default: valid users =  # No valid users list (anyone can login)
10306
10307           Example: valid users = greg, @pcusers
10308
10309       veto files (S)
10310
10311           This is a list of files and directories that are neither visible
10312           nor accessible. Each entry in the list must be separated by a '/',
10313           which allows spaces to be included in the entry. '*' and '?' can be
10314           used to specify multiple files or directories as in DOS wildcards.
10315
10316           Each entry must be a unix path, not a DOS path and must not include
10317           the unix directory separator '/'.
10318
10319           Note that the case sensitive option is applicable in vetoing files.
10320
10321           One feature of the veto files parameter that it is important to be
10322           aware of is Samba's behaviour when trying to delete a directory. If
10323           a directory that is to be deleted contains nothing but veto files
10324           this deletion will fail unless you also set the delete veto files
10325           parameter to yes.
10326
10327           Setting this parameter will affect the performance of Samba, as it
10328           will be forced to check all files and directories for a match as
10329           they are scanned.
10330
10331           Examples of use include:
10332
10333               ; Veto any files containing the word Security,
10334               ; any ending in .tmp, and any directory containing the
10335               ; word root.
10336               veto files = /*Security*/*.tmp/*root*/
10337
10338               ; Veto the Apple specific files that a NetAtalk server
10339               ; creates.
10340               veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
10341
10342           Default: veto files =  # No files or directories are vetoed
10343
10344       veto oplock files (S)
10345
10346           This parameter is only valid when the oplocks parameter is turned
10347           on for a share. It allows the Samba administrator to selectively
10348           turn off the granting of oplocks on selected files that match a
10349           wildcarded list, similar to the wildcarded list used in the veto
10350           files parameter.
10351
10352           You might want to do this on files that you know will be heavily
10353           contended for by clients. A good example of this is in the NetBench
10354           SMB benchmark program, which causes heavy client contention for
10355           files ending in .SEM. To cause Samba not to grant oplocks on these
10356           files you would use the line (either in the [global] section or in
10357           the section for the particular NetBench share.
10358
10359           An example of use is:
10360
10361               veto oplock files = /.*SEM/
10362
10363           Default: veto oplock files =  # No files are vetoed for oplock
10364           grants
10365
10366       vfs object
10367
10368           This parameter is a synonym for vfs objects.
10369
10370       vfs objects (S)
10371
10372           This parameter specifies the backend names which are used for Samba
10373           VFS I/O operations. By default, normal disk I/O operations are used
10374           but these can be overloaded with one or more VFS objects. Be aware
10375           that the definition of this parameter will overwrite a possible
10376           previous definition of the vfs objects parameter.
10377
10378           Default: vfs objects =
10379
10380           Example: vfs objects = extd_audit recycle
10381
10382       volume (S)
10383
10384           This allows you to override the volume label returned for a share.
10385           Useful for CDROMs with installation programs that insist on a
10386           particular volume label.
10387
10388           Default: volume =  # the name of the share
10389
10390       volume serial number (S)
10391
10392           This allows to override the volume serial number (a 32bit value)
10393           reported for a share.
10394
10395           The special value -1 (default) stands for a unique number that is
10396           calculated for each share.
10397
10398           Default: volume serial number = -1
10399
10400           Example: volume serial number = 0xabcdefgh
10401
10402       wide links (S)
10403
10404           This parameter controls whether or not links in the UNIX file
10405           system may be followed by the server. Links that point to areas
10406           within the directory tree exported by the server are always
10407           allowed; this parameter controls access only to areas that are
10408           outside the directory tree being exported.
10409
10410           Note: Turning this parameter on when UNIX extensions are enabled
10411           will allow UNIX clients to create symbolic links on the share that
10412           can point to files or directories outside restricted path exported
10413           by the share definition. This can cause access to areas outside of
10414           the share. Due to this problem, this parameter will be
10415           automatically disabled (with a message in the log file) if the unix
10416           extensions option is on.
10417
10418           See the parameter allow insecure wide links if you wish to change
10419           this coupling between the two parameters.
10420
10421           Default: wide links = no
10422
10423       winbind cache time (G)
10424
10425           This parameter specifies the number of seconds the winbindd(8)
10426           daemon will cache user and group information before querying a
10427           Windows NT server again.
10428
10429           This does not apply to authentication requests, these are always
10430           evaluated in real time unless the winbind offline logon option has
10431           been enabled.
10432
10433           Default: winbind cache time = 300
10434
10435       winbindd socket directory (G)
10436
10437           This setting controls the location of the winbind daemon's socket.
10438
10439           Except within automated test scripts, this should not be altered,
10440           as the client tools (nss_winbind etc) do not honour this parameter.
10441           Client tools must then be advised of the altered path with the
10442           WINBINDD_SOCKET_DIR environment variable.
10443
10444           Default: winbindd socket directory = /run/samba/winbindd
10445
10446       winbind enum groups (G)
10447
10448           On large installations using winbindd(8) it may be necessary to
10449           suppress the enumeration of groups through the setgrent(),
10450           getgrent() and endgrent() group of system calls. If the winbind
10451           enum groups parameter is no, calls to the getgrent() system call
10452           will not return any data.
10453
10454               Warning
10455               Turning off group enumeration may cause some programs to behave
10456               oddly.
10457           Default: winbind enum groups = no
10458
10459       winbind enum users (G)
10460
10461           On large installations using winbindd(8) it may be necessary to
10462           suppress the enumeration of users through the setpwent(),
10463           getpwent() and endpwent() group of system calls. If the winbind
10464           enum users parameter is no, calls to the getpwent system call will
10465           not return any data.
10466
10467               Warning
10468               Turning off user enumeration may cause some programs to behave
10469               oddly. For example, the finger program relies on having access
10470               to the full user list when searching for matching usernames.
10471           Default: winbind enum users = no
10472
10473       winbind expand groups (G)
10474
10475           This option controls the maximum depth that winbindd will traverse
10476           when flattening nested group memberships of Windows domain groups.
10477           This is different from the winbind nested groups option which
10478           implements the Windows NT4 model of local group nesting. The
10479           "winbind expand groups" parameter specifically applies to the
10480           membership of domain groups.
10481
10482           This option also affects the return of non nested group memberships
10483           of Windows domain users. With the new default "winbind expand
10484           groups = 0" winbind does not query group memberships at all.
10485
10486           Be aware that a high value for this parameter can result in system
10487           slowdown as the main parent winbindd daemon must perform the group
10488           unrolling and will be unable to answer incoming NSS or
10489           authentication requests during this time.
10490
10491           The default value was changed from 1 to 0 with Samba 4.2. Some
10492           broken applications (including some implementations of newgrp and
10493           sg) calculate the group memberships of users by traversing groups,
10494           such applications will require "winbind expand groups = 1". But the
10495           new default makes winbindd more reliable as it doesn't require SAMR
10496           access to domain controllers of trusted domains.
10497
10498           Default: winbind expand groups = 0
10499
10500       winbind:ignore domains (G)
10501
10502           Allows one to enter a list of trusted domains winbind should ignore
10503           (untrust). This can avoid the overhead of resources from attempting
10504           to login to DCs that should not be communicated with.
10505
10506           Default: winbind:ignore domains =
10507
10508           Example: winbind:ignore domains = DOMAIN1, DOMAIN2
10509
10510       winbind max clients (G)
10511
10512           This parameter specifies the maximum number of clients the
10513           winbindd(8) daemon can connect with. The parameter is not a hard
10514           limit. The winbindd(8) daemon configures itself to be able to
10515           accept at least that many connections, and if the limit is reached,
10516           an attempt is made to disconnect idle clients.
10517
10518           Default: winbind max clients = 200
10519
10520       winbind max domain connections (G)
10521
10522           This parameter specifies the maximum number of simultaneous
10523           connections that the winbindd(8) daemon should open to the domain
10524           controller of one domain. Setting this parameter to a value greater
10525           than 1 can improve scalability with many simultaneous winbind
10526           requests, some of which might be slow.
10527
10528           Note that if winbind offline logon is set to Yes, then only one DC
10529           connection is allowed per domain, regardless of this setting.
10530
10531           Default: winbind max domain connections = 1
10532
10533           Example: winbind max domain connections = 10
10534
10535       winbind nested groups (G)
10536
10537           If set to yes, this parameter activates the support for nested
10538           groups. Nested groups are also called local groups or aliases. They
10539           work like their counterparts in Windows: Nested groups are defined
10540           locally on any machine (they are shared between DC's through their
10541           SAM) and can contain users and global groups from any trusted SAM.
10542           To be able to use nested groups, you need to run nss_winbind.
10543
10544           Default: winbind nested groups = yes
10545
10546       winbind normalize names (G)
10547
10548           This parameter controls whether winbindd will replace whitespace in
10549           user and group names with an underscore (_) character. For example,
10550           whether the name "Space Kadet" should be replaced with the string
10551           "space_kadet". Frequently Unix shell scripts will have difficulty
10552           with usernames contains whitespace due to the default field
10553           separator in the shell. If your domain possesses names containing
10554           the underscore character, this option may cause problems unless the
10555           name aliasing feature is supported by your nss_info plugin.
10556
10557           This feature also enables the name aliasing API which can be used
10558           to make domain user and group names to a non-qualified version.
10559           Please refer to the manpage for the configured idmap and nss_info
10560           plugin for the specifics on how to configure name aliasing for a
10561           specific configuration. Name aliasing takes precedence (and is
10562           mutually exclusive) over the whitespace replacement mechanism
10563           discussed previously.
10564
10565           Default: winbind normalize names = no
10566
10567           Example: winbind normalize names = yes
10568
10569       winbind nss info (G)
10570
10571           This parameter is designed to control how Winbind retrieves Name
10572           Service Information to construct a user's home directory and login
10573           shell. Currently the following settings are available:
10574
10575template - The default, using the parameters of template
10576                      shell and template homedir)
10577
10578<sfu | sfu20 | rfc2307 > - When Samba is running in
10579                      security = ads and your Active Directory Domain
10580                      Controller does support the Microsoft "Services for
10581                      Unix" (SFU) LDAP schema, winbind can retrieve the login
10582                      shell and the home directory attributes directly from
10583                      your Directory Server. For SFU 3.0 or 3.5 simply choose
10584                      "sfu", if you use SFU 2.0 please choose "sfu20".
10585
10586                      Note that for the idmap backend idmap_ad you need to
10587                      configure those settings in the idmap configuration
10588                      section. Make sure to consult the documentation of the
10589                      idmap backend that you are using.
10590
10591
10592           Default: winbind nss info = template
10593
10594           Example: winbind nss info = sfu
10595
10596       winbind offline logon (G)
10597
10598           This parameter is designed to control whether Winbind should allow
10599           one to login with the pam_winbind module using Cached Credentials.
10600           If enabled, winbindd will store user credentials from successful
10601           logins encrypted in a local cache.
10602
10603           Default: winbind offline logon = no
10604
10605           Example: winbind offline logon = yes
10606
10607       winbind reconnect delay (G)
10608
10609           This parameter specifies the number of seconds the winbindd(8)
10610           daemon will wait between attempts to contact a Domain controller
10611           for a domain that is determined to be down or not contactable.
10612
10613           Default: winbind reconnect delay = 30
10614
10615       winbind refresh tickets (G)
10616
10617           This parameter is designed to control whether Winbind should
10618           refresh Kerberos Tickets retrieved using the pam_winbind module.
10619
10620           Default: winbind refresh tickets = no
10621
10622           Example: winbind refresh tickets = yes
10623
10624       winbind request timeout (G)
10625
10626           This parameter specifies the number of seconds the winbindd(8)
10627           daemon will wait before disconnecting either a client connection
10628           with no outstanding requests (idle) or a client connection with a
10629           request that has remained outstanding (hung) for longer than this
10630           number of seconds.
10631
10632           Default: winbind request timeout = 60
10633
10634       winbind rpc only (G)
10635
10636           Setting this parameter to yes forces winbindd to use RPC instead of
10637           LDAP to retrieve information from Domain Controllers.
10638
10639           Default: winbind rpc only = no
10640
10641       winbind scan trusted domains (G)
10642
10643           This option only takes effect when the security option is set to
10644           domain or ads. If it is set to yes, winbindd periodically tries to
10645           scan for new trusted domains and adds them to a global list inside
10646           of winbindd. The list can be extracted with wbinfo
10647           --trusted-domains --verbose. Setting it to yes matches the
10648           behaviour of Samba 4.7 and older.
10649
10650           The construction of that global list is not reliable and often
10651           incomplete in complex trust setups. In most situations the list is
10652           not needed any more for winbindd to operate correctly. E.g. for
10653           plain file serving via SMB using a simple idmap setup with autorid,
10654           tdb or ad. However some more complex setups require the list, e.g.
10655           if you specify idmap backends for specific domains. Some
10656           pam_winbind setups may also require the global list.
10657
10658           If you have a setup that doesn't require the global list, you
10659           should set winbind scan trusted domains = no.
10660
10661           Default: winbind scan trusted domains = no
10662
10663       winbind sealed pipes (G)
10664
10665           This option controls whether any requests from winbindd to domain
10666           controllers pipe will be sealed. Disabling sealing can be useful
10667           for debugging purposes.
10668
10669           The behavior can be controlled per netbios domain by using 'winbind
10670           sealed pipes:NETBIOSDOMAIN = no' as option.
10671
10672           Default: winbind sealed pipes = yes
10673
10674       winbind separator (G)
10675
10676           This parameter allows an admin to define the character used when
10677           listing a username of the form of DOMAIN \user. This parameter is
10678           only applicable when using the pam_winbind.so and nss_winbind.so
10679           modules for UNIX services.
10680
10681           Please note that setting this parameter to + causes problems with
10682           group membership at least on glibc systems, as the character + is
10683           used as a special character for NIS in /etc/group.
10684
10685           Default: winbind separator = \
10686
10687           Example: winbind separator = +
10688
10689       winbind use default domain (G)
10690
10691           This parameter specifies whether the winbindd(8) daemon should
10692           operate on users without domain component in their username. Users
10693           without a domain component are treated as is part of the winbindd
10694           server's own domain. While this does not benefit Windows users, it
10695           makes SSH, FTP and e-mail function in a way much closer to the way
10696           they would in a native unix system.
10697
10698           This option should be avoided if possible. It can cause confusion
10699           about responsibilities for a user or group. In many situations it
10700           is not clear whether winbind or /etc/passwd should be seen as
10701           authoritative for a user, likewise for groups.
10702
10703           Default: winbind use default domain = no
10704
10705           Example: winbind use default domain = yes
10706
10707       winbind use krb5 enterprise principals (G)
10708
10709           winbindd is able to get kerberos tickets for pam_winbind with
10710           krb5_auth or wbinfo -K/--krb5auth=.
10711
10712           winbindd (at least on a domain member) is never be able to have a
10713           complete picture of the trust topology (which is managed by the
10714           DCs). There might be uPNSuffixes and msDS-SPNSuffixes values, which
10715           don't belong to any AD domain at all.
10716
10717           With winbind scan trusted domains = no winbindd doesn't even get a
10718           complete picture of the topology.
10719
10720           It is not really required to know about the trust topology. We can
10721           just rely on the [K]DCs of our primary domain (e.g.
10722           PRIMARY.A.EXAMPLE.COM) and use enterprise principals e.g.
10723           upnfromB@B.EXAMPLE.COM@PRIMARY.A.EXAMPLE.COM and follow the
10724           WRONG_REALM referrals in order to find the correct DC. The final
10725           principal might be userfromB@INTERNALB.EXAMPLE.PRIVATE.
10726
10727           With winbind use krb5 enterprise principals = yes winbindd
10728           enterprise principals will be used.
10729
10730           Default: winbind use krb5 enterprise principals = yes
10731
10732           Example: winbind use krb5 enterprise principals = no
10733
10734       winsdb:local_owner (G)
10735
10736           This specifies the address that is stored in the winsOwner
10737           attribute, of locally registered winsRecord-objects. The default is
10738           to use the ip-address of the first network interface.
10739
10740           No default
10741
10742       winsdb:dbnosync (G)
10743
10744           This parameter disables fsync() after changes of the WINS database.
10745
10746           Default: winsdb:dbnosync = no
10747
10748       wins hook (G)
10749
10750           When Samba is running as a WINS server this allows you to call an
10751           external program for all changes to the WINS database. The primary
10752           use for this option is to allow the dynamic update of external name
10753           resolution databases such as dynamic DNS.
10754
10755           The wins hook parameter specifies the name of a script or
10756           executable that will be called as follows:
10757
10758           wins_hook operation name nametype ttl IP_list
10759
10760                  •   The first argument is the operation and is one of "add",
10761                      "delete", or "refresh". In most cases the operation can
10762                      be ignored as the rest of the parameters provide
10763                      sufficient information. Note that "refresh" may
10764                      sometimes be called when the name has not previously
10765                      been added, in that case it should be treated as an add.
10766
10767                  •   The second argument is the NetBIOS name. If the name is
10768                      not a legal name then the wins hook is not called. Legal
10769                      names contain only letters, digits, hyphens, underscores
10770                      and periods.
10771
10772                  •   The third argument is the NetBIOS name type as a 2 digit
10773                      hexadecimal number.
10774
10775                  •   The fourth argument is the TTL (time to live) for the
10776                      name in seconds.
10777
10778                  •   The fifth and subsequent arguments are the IP addresses
10779                      currently registered for that name. If this list is
10780                      empty then the name should be deleted.
10781
10782           An example script that calls the BIND dynamic DNS update program
10783           nsupdate is provided in the examples directory of the Samba source
10784           code.
10785
10786           No default
10787
10788       wins proxy (G)
10789
10790           This is a boolean that controls if nmbd(8) will respond to
10791           broadcast name queries on behalf of other hosts. You may need to
10792           set this to yes for some older clients.
10793
10794           Default: wins proxy = no
10795
10796       wins server (G)
10797
10798           This specifies the IP address (or DNS name: IP address for
10799           preference) of the WINS server that nmbd(8) should register with.
10800           If you have a WINS server on your network then you should set this
10801           to the WINS server's IP.
10802
10803           You should point this at your WINS server if you have a
10804           multi-subnetted network.
10805
10806           If you want to work in multiple namespaces, you can give every wins
10807           server a 'tag'. For each tag, only one (working) server will be
10808           queried for a name. The tag should be separated from the ip address
10809           by a colon.
10810
10811               Note
10812               You need to set up Samba to point to a WINS server if you have
10813               multiple subnets and wish cross-subnet browsing to work
10814               correctly.
10815           See the chapter in the Samba3-HOWTO on Network Browsing.
10816
10817           Default: wins server =
10818
10819           Example: wins server = mary:192.9.200.1 fred:192.168.3.199
10820           mary:192.168.2.61 # For this example when querying a certain name,
10821           192.19.200.1 will be asked first and if that doesn't respond
10822           192.168.2.61. If either of those doesn't know the name
10823           192.168.3.199 will be queried.
10824
10825           Example: wins server = 192.9.200.1 192.168.2.61
10826
10827       wins support (G)
10828
10829           This boolean controls if the nmbd(8) process in Samba will act as a
10830           WINS server. You should not set this to yes unless you have a
10831           multi-subnetted network and you wish a particular nmbd to be your
10832           WINS server. Note that you should NEVER set this to yes on more
10833           than one machine in your network.
10834
10835           Default: wins support = no
10836
10837       workgroup (G)
10838
10839           This controls what workgroup your server will appear to be in when
10840           queried by clients. Note that this parameter also controls the
10841           Domain name used with the security = domain setting.
10842
10843           Default: workgroup = WORKGROUP
10844
10845           Example: workgroup = MYGROUP
10846
10847       wreplsrv:periodic_interval (G)
10848
10849           This maximum interval in seconds between 2 periodically scheduled
10850           runs where we check for wins.ldb changes and do push notifications
10851           to our push partners. Also wins_config.ldb changes are checked in
10852           that interval and partner configuration reloads are done.
10853
10854           Default: wreplsrv:periodic_interval = 15
10855
10856       wreplsrv:propagate name releases (G)
10857
10858           If this parameter is enabled, then explicit (from the client) and
10859           implicit (via the scavenging) name releases are propagated to the
10860           other servers directly, even if there are still other addresses
10861           active, this applies to SPECIAL GROUP (2) and MULTIHOMED (3)
10862           entries. Also the replication conflict merge algorithm for SPECIAL
10863           GROUP (2) entries discards replica addresses where the address
10864           owner is the local server, if the address was not stored locally
10865           before. The merge result is propagated directly in case an address
10866           was discarded. A Windows servers doesn't propagate name releases of
10867           SPECIAL GROUP (2) and MULTIHOMED (3) entries directly, which means
10868           that Windows servers may return different results to name queries
10869           for SPECIAL GROUP (2) and MULTIHOMED (3) names. The option doesn't
10870           have much negative impact if Windows servers are around, but be
10871           aware that they might return unexpected results.
10872
10873           Default: wreplsrv:propagate name releases = no
10874
10875       wreplsrv:scavenging_interval (G)
10876
10877           This is the interval in s between 2 scavenging runs which clean up
10878           the WINS database and changes the states of expired name records.
10879           Defaults to half of the value of wreplsrv:renew_interval.
10880
10881           No default
10882
10883       wreplsrv:tombstone_extra_timeout (G)
10884
10885           This is the time in s the server needs to be up till we'll remove
10886           tombstone records from our database. Defaults to 3 days.
10887
10888           Default: wreplsrv:tombstone_extra_timeout = 259200
10889
10890       wreplsrv:tombstone_interval (G)
10891
10892           This is the interval in s till released records of the WINS server
10893           become tombstone. Defaults to 6 days.
10894
10895           Default: wreplsrv:tombstone_interval = 518400
10896
10897       wreplsrv:tombstone_timeout (G)
10898
10899           This is the interval in s till tombstone records are deleted from
10900           the WINS database. Defaults to 1 day.
10901
10902           Default: wreplsrv:tombstone_timeout = 86400
10903
10904       wreplsrv:verify_interval (G)
10905
10906           This is the interval in s till we verify active replica records
10907           with the owning WINS server. Unfortunately not implemented yet.
10908           Defaults to 24 days.
10909
10910           Default: wreplsrv:verify_interval = 2073600
10911
10912       writable
10913
10914           This parameter is a synonym for writeable.
10915
10916       write ok
10917
10918           This parameter is a synonym for writeable.
10919
10920       writeable (S)
10921
10922           Inverted synonym for read only.
10923
10924           Default: writeable = no
10925
10926       write list (S)
10927
10928           This is a list of users that are given read-write access to a
10929           service. If the connecting user is in this list then they will be
10930           given write access, no matter what the read only option is set to.
10931           The list can include group names using the @group syntax.
10932
10933           Note that if a user is in both the read list and the write list
10934           then they will be given write access.
10935
10936           Default: write list =
10937
10938           Example: write list = admin, root, @staff
10939
10940       write raw (G)
10941
10942           This is ignored if async smb echo handler is set, because this
10943           feature is incompatible with raw write SMB requests
10944
10945           If enabled, raw writes allow writes of 65535 bytes in one packet.
10946           This typically provides a major performance benefit for some very,
10947           very old clients.
10948
10949           However, some clients either negotiate the allowable block size
10950           incorrectly or are incapable of supporting larger block sizes, and
10951           for these clients you may need to disable raw writes.
10952
10953           In general this parameter should be viewed as a system tuning tool
10954           and left severely alone.
10955
10956           Default: write raw = yes
10957
10958       wtmp directory (G)
10959
10960           This parameter is only available if Samba has been configured and
10961           compiled with the option --with-utmp. It specifies a directory
10962           pathname that is used to store the wtmp or wtmpx files (depending
10963           on the UNIX system) that record user connections to a Samba server.
10964           The difference with the utmp directory is the fact that user info
10965           is kept after a user has logged out.
10966
10967           By default this is not set, meaning the system will use whatever
10968           utmp file the native system is set to use (usually /var/run/wtmp on
10969           Linux).
10970
10971           Default: wtmp directory =
10972
10973           Example: wtmp directory = /var/log/wtmp
10974

WARNINGS

10976       Although the configuration file permits service names to contain
10977       spaces, your client software may not. Spaces will be ignored in
10978       comparisons anyway, so it shouldn't be a problem - but be aware of the
10979       possibility.
10980
10981       On a similar note, many clients - especially DOS clients - limit
10982       service names to eight characters.  smbd(8) has no such limitation, but
10983       attempts to connect from such clients will fail if they truncate the
10984       service names. For this reason you should probably keep your service
10985       names down to eight characters in length.
10986
10987       Use of the [homes] and [printers] special sections make life for an
10988       administrator easy, but the various combinations of default attributes
10989       can be tricky. Take extreme care when designing these sections. In
10990       particular, ensure that the permissions on spool directories are
10991       correct.
10992

VERSION

10994       This man page is part of version 4.18.9 of the Samba suite.
10995

SEE ALSO

10997       samba(7), smbpasswd(8), smbd(8), nmbd(8), winbindd(8), samba(8), samba-
10998       tool(8), smbclient(1), nmblookup(1), testparm(1).
10999

AUTHOR

11001       The original Samba software and related utilities were created by
11002       Andrew Tridgell. Samba is now developed by the Samba Team as an Open
11003       Source project similar to the way the Linux kernel is developed.
11004
11005
11006
11007Samba 4.18.9                      11/30/2023                       SMB.CONF(5)
Impressum