This commit was manufactured by cvs2svn to create branch 'SAMBA_2_2'.
[Samba/ekacnet.git] / docs / yodldocs / smb.conf.5.yo
blob71d527e83f28d836f853a1376a81b46a90fb4f96
1 mailto(samba@samba.org) 
3 manpage(smb.conf htmlcommand((5)))(5)(23 Oct 1998)(Samba)(SAMBA)
5 label(NAME)
6 manpagename(smb.conf)(The configuration file for the Samba suite)
8 label(SYNOPSIS)
9 manpagesynopsis() 
11 bf(smb.conf) The bf(smb.conf) file is a configuration file for the
12 Samba suite. bf(smb.conf) contains runtime configuration information
13 for the Samba programs. The bf(smb.conf) file is designed to be
14 configured and administered by the url(bf(swat (8)))(swat.8.html)
15 program. The complete description of the file format and possible
16 parameters held within are here for reference purposes.
18 label(FILEFORMAT)
19 manpagesection(FILE FORMAT)
21 The file consists of sections and parameters. A section begins with
22 the name of the section in square brackets and continues until the
23 next section begins. Sections contain parameters of the form 
25 tt('name = value')
27 The file is line-based - that is, each newline-terminated line
28 represents either a comment, a section name or a parameter.
30 Section and parameter names are not case sensitive.
32 Only the first equals sign in a parameter is significant. Whitespace
33 before or after the first equals sign is discarded. Leading, trailing
34 and internal whitespace in section and parameter names is
35 irrelevant. Leading and trailing whitespace in a parameter value is
36 discarded. Internal whitespace within a parameter value is retained
37 verbatim.
39 Any line beginning with a semicolon (';') or a hash ('#') character is
40 ignored, as are lines containing only whitespace.
42 Any line ending in a tt('\') is "continued" on the next line in the
43 customary UNIX fashion.
45 The values following the equals sign in parameters are all either a
46 string (no quotes needed) or a boolean, which may be given as yes/no,
47 0/1 or true/false. Case is not significant in boolean values, but is
48 preserved in string values. Some items such as create modes are
49 numeric.
51 label(SECTIONDESCRIPTIONS)
52 manpagesection(SECTION DESCRIPTIONS)
54 Each section in the configuration file (except for the
55 link(bf([global]))(global) section) describes a shared resource (known
56 as a em("share")). The section name is the name of the shared resource
57 and the parameters within the section define the shares attributes.
59 There are three special sections, link(bf([global]))(global),
60 link(bf([homes]))(homes) and link(bf([printers]))(printers), which are
61 described under link(bf('special sections'))(SPECIALSECTIONS). The
62 following notes apply to ordinary section descriptions.
64 A share consists of a directory to which access is being given plus
65 a description of the access rights which are granted to the user of
66 the service. Some housekeeping options are also specifiable.
68 Sections are either filespace services (used by the client as an
69 extension of their native file systems) or printable services (used by
70 the client to access print services on the host running the server).
72 Sections may be designated link(bf(guest))(guestok) services, in which
73 case no password is required to access them. A specified UNIX
74 link(bf(guest account))(guestaccount) is used to define access
75 privileges in this case.
77 Sections other than guest services will require a password to access
78 them. The client provides the username. As older clients only provide
79 passwords and not usernames, you may specify a list of usernames to
80 check against the password using the link(bf("user="))(user) option in
81 the share definition. For modern clients such as Windows 95/98 and
82 Windows NT, this should not be necessary.
84 Note that the access rights granted by the server are masked by the
85 access rights granted to the specified or guest UNIX user by the host
86 system. The server does not grant more access than the host system
87 grants.
89 The following sample section defines a file space share. The user has
90 write access to the path tt(/home/bar). The share is accessed via
91 the share name "foo":
93 verb(
95         [foo]
96                 path = /home/bar
97                 writeable = true
101 The following sample section defines a printable share. The share
102 is readonly, but printable. That is, the only write access permitted
103 is via calls to open, write to and close a spool file. The
104 link(bf('guest ok'))(guestok) parameter means access will be permitted
105 as the default guest user (specified elsewhere):
107 verb(
108         [aprinter]
109                 path = /usr/spool/public
110                 writeable = false
111                 printable = true
112                 guest ok = true
115 label(SPECIALSECTIONS)
116 manpagesection(SPECIAL SECTIONS)
118 startdit()
120 label(global)
121 dit(bf(The [global] section))
123 Parameters in this section apply to the server as a whole, or are
124 defaults for sections which do not specifically define certain
125 items. See the notes under link(bf('PARAMETERS'))(PARAMETERS) for more
126 information.
128 label(homes)
129 dit(bf(The [homes] section))
131 If a section called tt('homes') is included in the configuration file,
132 services connecting clients to their home directories can be created
133 on the fly by the server.
135 When the connection request is made, the existing sections are
136 scanned. If a match is found, it is used. If no match is found, the
137 requested section name is treated as a user name and looked up in the
138 local password file. If the name exists and the correct password has
139 been given, a share is created by cloning the [homes] section.
141 Some modifications are then made to the newly created share:
143 startit()
145 it() The share name is changed from tt('homes') to the located
146 username
148 it() If no path was given, the path is set to the user's home
149 directory.
151 endit()
153 If you decide to use a link(bf(path=))(path) line in your [homes]
154 section then you may find it useful to use the link(bf(%S))(percentS)
155 macro. For example :
157 tt(path=/data/pchome/%S)
159 would be useful if you have different home directories for your PCs
160 than for UNIX access.
162 This is a fast and simple way to give a large number of clients access
163 to their home directories with a minimum of fuss.
165 A similar process occurs if the requested section name is tt("homes"),
166 except that the share name is not changed to that of the requesting
167 user. This method of using the [homes] section works well if different
168 users share a client PC.
170 The [homes] section can specify all the parameters a normal service
171 section can specify, though some make more sense than others. The
172 following is a typical and suitable [homes] section:
174 verb(
175         [homes]
176                 writeable = yes
179 An important point is that if guest access is specified in the [homes]
180 section, all home directories will be visible to all clients
181 bf(without a password). In the very unlikely event that this is
182 actually desirable, it would be wise to also specify link(bf(read only
183 access))(readonly).
185 Note that the link(bf(browseable))(browseable) flag for auto home
186 directories will be inherited from the global browseable flag, not the
187 [homes] browseable flag. This is useful as it means setting
188 browseable=no in the [homes] section will hide the [homes] share but
189 make any auto home directories visible.
191 label(printers)
192 dit(bf(The [printers] section))
194 This section works like link(bf([homes]))(homes), but for printers.
196 If a bf([printers]) section occurs in the configuration file, users are
197 able to connect to any printer specified in the local host's printcap
198 file.
200 When a connection request is made, the existing sections are
201 scanned. If a match is found, it is used. If no match is found, but a
202 link(bf([homes]))(homes) section exists, it is used as described
203 above. Otherwise, the requested section name is treated as a printer
204 name and the appropriate printcap file is scanned to see if the
205 requested section name is a valid printer share name. If a match is
206 found, a new printer share is created by cloning the bf([printers])
207 section.
209 A few modifications are then made to the newly created share:
211 startit()
213 it() The share name is set to the located printer name
215 it() If no printer name was given, the printer name is set to the
216 located printer name
218 it() If the share does not permit guest access and no username was
219 given, the username is set to the located printer name.
221 endit()
223 Note that the bf([printers]) service MUST be printable - if you specify
224 otherwise, the server will refuse to load the configuration file.
226 Typically the path specified would be that of a world-writeable spool
227 directory with the sticky bit set on it. A typical bf([printers]) entry
228 would look like this:
230 verb(
231         [printers]
232                 path = /usr/spool/public
233                 guest ok = yes
234                 printable = yes 
237 All aliases given for a printer in the printcap file are legitimate
238 printer names as far as the server is concerned. If your printing
239 subsystem doesn't work like that, you will have to set up a
240 pseudo-printcap. This is a file consisting of one or more lines like
241 this:
243 verb(        alias|alias|alias|alias...    )
245 Each alias should be an acceptable printer name for your printing
246 subsystem. In the link(bf([global]))(global) section, specify the new
247 file as your printcap.  The server will then only recognize names
248 found in your pseudo-printcap, which of course can contain whatever
249 aliases you like. The same technique could be used simply to limit
250 access to a subset of your local printers.
252 An alias, by the way, is defined as any component of the first entry
253 of a printcap record. Records are separated by newlines, components
254 (if there are more than one) are separated by vertical bar symbols
255 ("|").
257 NOTE: On SYSV systems which use lpstat to determine what printers are
258 defined on the system you may be able to use link(bf("printcap name =
259 lpstat"))(printcapname) to automatically obtain a list of
260 printers. See the link(bf("printcap name"))(printcapname) option for
261 more details.
263 enddit()
265 label(PARAMETERS)
266 manpagesection(PARAMETERS)
268 Parameters define the specific attributes of sections.
270 Some parameters are specific to the link(bf([global]))(global) section
271 (e.g., link(bf(security))(security)).  Some parameters are usable in
272 all sections (e.g., link(bf(create mode))(createmode)). All others are
273 permissible only in normal sections. For the purposes of the following
274 descriptions the link(bf([homes]))(homes) and
275 link(bf([printers]))(printers) sections will be considered normal.
276 The letter tt('G') in parentheses indicates that a parameter is
277 specific to the link(bf([global]))(global) section. The letter tt('S')
278 indicates that a parameter can be specified in a service specific
279 section. Note that all tt('S') parameters can also be specified in the
280 link(bf([global]))(global) section - in which case they will define
281 the default behavior for all services.
283 Parameters are arranged here in alphabetical order - this may not
284 create best bedfellows, but at least you can find them! Where there
285 are synonyms, the preferred synonym is described, others refer to the
286 preferred synonym.
288 label(VARIABLESUBSTITUTIONS)
289 manpagesection(VARIABLE SUBSTITUTIONS)
291 Many of the strings that are settable in the config file can take
292 substitutions. For example the option link(bf(tt("path =
293 /tmp/%u")))(path) would be interpreted as tt("path = /tmp/john") if
294 the user connected with the username john.
296 These substitutions are mostly noted in the descriptions below, but
297 there are some general substitutions which apply whenever they might
298 be relevant. These are:
300 startit()
302 label(percentS) 
303 it() bf(%S) = the name of the current service, if any.
305 label(percentP)
306 it() bf(%P) = the root directory of the current service, if any.
308 label(percentu)
309 it() bf(%u) = user name of the current service, if any.
311 label(percentg)
312 it() bf(%g) = primary group name of link(bf(%u))(percentu).
314 label(percentU) 
315 it() bf(%U) = session user name (the user name that
316 the client wanted, not necessarily the same as the one they got).
318 label(percentG)
319 it() bf(%G) = primary group name of link(bf(%U))(percentU).
321 label(percentH)
322 it() bf(%H) = the home directory of the user given by link(bf(%u))(percentu).
324 label(percentv)
325 it() bf(%v) = the Samba version.
327 label(percenth)
328 it() bf(%h) = the internet hostname that Samba is running on.
330 label(percentm)
331 it() bf(%m) = the NetBIOS name of the client machine (very useful).
333 label(percentL)
334 it() bf(%L) = the NetBIOS name of the server. This allows you to change your
335 config based on what the client calls you. Your server can have a "dual
336 personality".
338 label(percentM) 
339 it() bf(%M) = the internet name of the client machine.
341 label(percentN)
342 it() bf(%N) = the name of your NIS home directory server.  This is
343 obtained from your NIS auto.map entry.  If you have not compiled Samba
344 with the bf(--with-automount) option then this value will be the same
345 as link(bf(%L))(percentL).
347 label(percentp)
348 it() bf(%p) = the path of the service's home directory, obtained from your NIS
349 auto.map entry. The NIS auto.map entry is split up as "%N:%p".
351 label(percentR) 
352 it() bf(%R) = the selected protocol level after protocol
353 negotiation. It can be one of CORE, COREPLUS, LANMAN1, LANMAN2 or NT1.
355 label(percentd)
356 it() bf(%d) = The process id of the current server process.
358 label(percenta) 
359 it() bf(%a) = the architecture of the remote
360 machine. Only some are recognized, and those may not be 100%
361 reliable. It currently recognizes Samba, WfWg, WinNT and
362 Win95. Anything else will be known as "UNKNOWN". If it gets it wrong
363 then sending a level 3 log to email(samba@samba.org)
364 should allow it to be fixed.
366 label(percentI)
367 it() bf(%I) = The IP address of the client machine.
369 label(percentT)
370 it() bf(%T) = the current date and time.
372 endit()
374 There are some quite creative things that can be done with these
375 substitutions and other smb.conf options.
377 label(NAMEMANGLING)
378 manpagesection(NAME MANGLING)
380 Samba supports em("name mangling") so that DOS and Windows clients can
381 use files that don't conform to the 8.3 format. It can also be set to
382 adjust the case of 8.3 format filenames.
384 There are several options that control the way mangling is performed,
385 and they are grouped here rather than listed separately. For the
386 defaults look at the output of the testparm program.
388 All of these options can be set separately for each service (or
389 globally, of course).
391 The options are:
393 label(manglecaseoption)
394 bf("mangle case = yes/no") controls if names that have characters that
395 aren't of the "default" case are mangled. For example, if this is yes
396 then a name like tt("Mail") would be mangled. Default em(no).
398 label(casesensitiveoption)
399 bf("case sensitive = yes/no") controls whether filenames are case
400 sensitive. If they aren't then Samba must do a filename search and
401 match on passed names. Default em(no).
403 label(defaultcaseoption)
404 bf("default case = upper/lower") controls what the default case is for new
405 filenames. Default em(lower).
407 label(preservecaseoption)
408 bf("preserve case = yes/no") controls if new files are created with the
409 case that the client passes, or if they are forced to be the tt("default")
410 case. Default em(Yes).
412 label(shortpreservecaseoption)
414 bf("short preserve case = yes/no") controls if new files which conform
415 to 8.3 syntax, that is all in upper case and of suitable length, are
416 created upper case, or if they are forced to be the tt("default")
417 case. This option can be use with link(bf("preserve case =
418 yes"))(preservecaseoption) to permit long filenames to retain their
419 case, while short names are lowered. Default em(Yes).
421 By default, Samba 2.0 has the same semantics as a Windows NT
422 server, in that it is case insensitive but case preserving.
424 label(NOTEABOUTUSERNAMEPASSWORDVALIDATION)
425 manpagesection(NOTE ABOUT USERNAME/PASSWORD VALIDATION)
427 There are a number of ways in which a user can connect to a
428 service. The server follows the following steps in determining if it
429 will allow a connection to a specified service. If all the steps fail
430 then the connection request is rejected. If one of the steps pass then
431 the following steps are not checked.
433 If the service is marked link(bf("guest only = yes"))(guestonly) then
434 steps 1 to 5 are skipped.
436 starteit()
438 eit() Step 1: If the client has passed a username/password pair and
439 that username/password pair is validated by the UNIX system's password
440 programs then the connection is made as that username. Note that this
441 includes the tt(\\server\service%username) method of passing a
442 username.
444 eit() Step 2: If the client has previously registered a username with
445 the system and now supplies a correct password for that username then
446 the connection is allowed.
448 eit() Step 3: The client's netbios name and any previously used user
449 names are checked against the supplied password, if they match then
450 the connection is allowed as the corresponding user.
452 eit() Step 4: If the client has previously validated a
453 username/password pair with the server and the client has passed the
454 validation token then that username is used. 
456 eit() Step 5: If a link(bf("user = "))(user) field is given in the
457 smb.conf file for the service and the client has supplied a password,
458 and that password matches (according to the UNIX system's password
459 checking) with one of the usernames from the link(bf(user=))(user)
460 field then the connection is made as the username in the
461 link(bf("user="))(user) line. If one of the username in the
462 link(bf(user=))(user) list begins with a tt('@') then that name
463 expands to a list of names in the group of the same name.
465 eit() Step 6: If the service is a guest service then a connection is
466 made as the username given in the link(bf("guest account
467 ="))(guestaccount) for the service, irrespective of the supplied
468 password.
470 endeit()
472 label(COMPLETELISTOFGLOBALPARAMETERS)
473 manpagesection(COMPLETE LIST OF GLOBAL PARAMETERS)
475 Here is a list of all global parameters. See the section of each
476 parameter for details.  Note that some are synonyms.
478 startit()
480 it() link(bf(add user script))(adduserscript)
482 it() link(bf(allow trusted domains))(allowtrusteddomains)
484 it() link(bf(announce as))(announceas)
486 it() link(bf(announce version))(announceversion)
488 it() link(bf(auto services))(autoservices)
490 it() link(bf(bind interfaces only))(bindinterfacesonly)
492 it() link(bf(browse list))(browselist)
494 it() link(bf(change notify timeout))(changenotifytimeout)
496 it() link(bf(character set))(characterset)
498 it() link(bf(client code page))(clientcodepage)
500 it() link(bf(coding system))(codingsystem)
502 it() link(bf(config file))(configfile)
504 it() link(bf(deadtime))(deadtime)
506 it() link(bf(debug hires timestamp))(debughirestimestamp)
508 it() link(bf(debug pid))(debugpid)
510 it() link(bf(debug timestamp))(debugtimestamp)
512 it() link(bf(debug uid))(debuguid)
514 it() link(bf(debug level))(debuglevel)
516 it() link(bf(default))(default)
518 it() link(bf(default service))(defaultservice)
520 it() link(bf(delete user script))(deleteuserscript)
522 it() link(bf(dfree command))(dfreecommand)
524 it() link(bf(dns proxy))(dnsproxy)
526 it() link(bf(domain admin group))(domainadmingroup)
528 it() link(bf(domain admin users))(domainadminusers)
530 it() link(bf(domain groups))(domaingroups)
532 it() link(bf(domain guest group))(domainguestgroup)
534 it() link(bf(domain guest users))(domainguestusers)
536 it() link(bf(domain logons))(domainlogons)
538 it() link(bf(domain master))(domainmaster)
540 it() link(bf(encrypt passwords))(encryptpasswords)
542 it() link(bf(getwd cache))(getwdcache)
544 it() link(bf(homedir map))(homedirmap)
546 it() link(bf(hosts equiv))(hostsequiv)
548 it() link(bf(interfaces))(interfaces)
550 it() link(bf(keepalive))(keepalive)
552 it() link(bf(kernel oplocks))(kerneloplocks)
554 it() link(bf(ldap filter))(ldapfilter)
556 it() link(bf(ldap port))(ldapport)
558 it() link(bf(ldap root))(ldaproot)
560 it() link(bf(ldap root passwd))(ldaprootpasswd)
562 it() link(bf(ldap server))(ldapserver)
564 it() link(bf(ldap suffix))(ldapsuffix)
566 it() link(bf(lm announce))(lmannounce)
568 it() link(bf(lm interval))(lminterval)
570 it() link(bf(load printers))(loadprinters)
572 it() link(bf(local master))(localmaster)
574 it() link(bf(lock dir))(lockdir)
576 it() link(bf(lock directory))(lockdirectory)
578 it() link(bf(log file))(logfile)
580 it() link(bf(log level))(loglevel)
582 it() link(bf(logon drive))(logondrive)
584 it() link(bf(logon home))(logonhome)
586 it() link(bf(logon path))(logonpath)
588 it() link(bf(logon script))(logonscript)
590 it() link(bf(lpq cache time))(lpqcachetime)
592 it() link(bf(machine password timeout))(machinepasswordtimeout)
594 it() link(bf(mangled stack))(mangledstack)
596 it() link(bf(map to guest))(maptoguest)
598 it() link(bf(max disk size))(maxdisksize)
600 it() link(bf(max log size))(maxlogsize)
602 it() link(bf(max mux))(maxmux)
604 it() link(bf(max open files))(maxopenfiles)
606 it() link(bf(max packet))(maxpacket)
608 it() link(bf(max ttl))(maxttl)
610 it() link(bf(max wins ttl))(maxwinsttl)
612 it() link(bf(max xmit))(maxxmit)
614 it() link(bf(message command))(messagecommand)
616 it() link(bf(min passwd length))(minpasswdlength)
618 it() link(bf(min password length))(minpasswordlength)
620 it() link(bf(min wins ttl))(minwinsttl)
622 it() link(bf(name resolve order))(nameresolveorder)
624 it() link(bf(netbios aliases))(netbiosaliases)
626 it() link(bf(netbios name))(netbiosname)
628 it() link(bf(netbios scope))(netbiosscope)
630 it() link(bf(nis homedir))(nishomedir)
632 it() link(bf(nt acl support))(ntaclsupport)
634 it() link(bf(nt pipe support))(ntpipesupport)
636 it() link(bf(nt smb support))(ntsmbsupport)
638 it() link(bf(null passwords))(nullpasswords)
640 it() link(bf(ole locking compatibility))(olelockingcompatibility)
642 it() link(bf(oplock break wait time))(oplockbreakwaittime)
644 it() link(bf(os level))(oslevel)
646 it() link(bf(packet size))(packetsize)
648 it() link(bf(panic action))(panicaction)
650 it() link(bf(passwd chat))(passwdchat)
652 it() link(bf(passwd chat debug))(passwdchatdebug)
654 it() link(bf(passwd program))(passwdprogram)
656 it() link(bf(password level))(passwordlevel)
658 it() link(bf(password server))(passwordserver)
660 it() link(bf(prefered master))(preferedmaster)
662 it() link(bf(preferred master))(preferredmaster)
664 it() link(bf(preload))(preload)
666 it() link(bf(printcap))(printcap)
668 it() link(bf(printcap name))(printcapname)
670 it() link(bf(printer driver file))(printerdriverfile)
672 it() link(bf(protocol))(protocol)
674 it() link(bf(read bmpx))(readbmpx)
676 it() link(bf(read prediction))(readprediction)
678 it() link(bf(read raw))(readraw)
680 it() link(bf(read size))(readsize)
682 it() link(bf(remote announce))(remoteannounce)
684 it() link(bf(remote browse sync))(remotebrowsesync)
686 it() link(bf(restrict anonymous))(restrictanonymous)
688 it() link(bf(root))(root)
690 it() link(bf(root dir))(rootdir)
692 it() link(bf(root directory))(rootdirectory)
694 it() link(bf(security))(security)
696 it() link(bf(server string))(serverstring)
698 it() link(bf(shared mem size))(sharedmemsize)
700 it() link(bf(smb passwd file))(smbpasswdfile)
702 it() link(bf(smbrun))(smbrun)
704 it() link(bf(socket address))(socketaddress)
706 it() link(bf(socket options))(socketoptions)
708 it() link(bf(source environment))(sourceenvironment)
710 it() link(bf(ssl))(ssl)
712 it() link(bf(ssl CA certDir))(sslCAcertDir)
714 it() link(bf(ssl CA certFile))(sslCAcertFile)
716 it() link(bf(ssl ciphers))(sslciphers)
718 it() link(bf(ssl client cert))(sslclientcert)
720 it() link(bf(ssl client key))(sslclientkey)
722 it() link(bf(ssl compatibility))(sslcompatibility)
724 it() link(bf(ssl hosts))(sslhosts)
726 it() link(bf(ssl hosts resign))(sslhostsresign)
728 it() link(bf(ssl require clientcert))(sslrequireclientcert)
730 it() link(bf(ssl require servercert))(sslrequireservercert)
732 it() link(bf(ssl server cert))(sslservercert)
734 it() link(bf(ssl server key))(sslserverkey)
736 it() link(bf(ssl version))(sslversion)
738 it() link(bf(stat cache))(statcache)
740 it() link(bf(stat cache size))(statcachesize)
742 it() link(bf(strip dot))(stripdot)
744 it() link(bf(syslog))(syslog)
746 it() link(bf(syslog only))(syslogonly)
748 it() link(bf(template homedir))(templatehomedir)
750 it() link(bf(template shell))(templateshell)
752 it() link(bf(time offset))(timeoffset)
754 it() link(bf(time server))(timeserver)
756 it() link(bf(timestamp logs))(timestamplogs)
758 it() link(bf(unix password sync))(unixpasswordsync)
760 it() link(bf(unix realname))(unixrealname)
762 it() link(bf(update encrypted))(updateencrypted)
764 it() link(bf(use rhosts))(userhosts)
766 it() link(bf(username level))(usernamelevel)
768 it() link(bf(username map))(usernamemap)
770 it() link(bf(utmp directory))(utmpdirectory)
772 it() link(bf(valid chars))(validchars)
774 it() link(bf(winbind cache time))(winbindcachetime)
776 it() link(bf(winbind gid))(winbindgid)
778 it() link(bf(winbind uid))(winbinduid)
780 it() link(bf(wins hook))(winshook)
782 it() link(bf(wins proxy))(winsproxy)
784 it() link(bf(wins server))(winsserver)
786 it() link(bf(wins support))(winssupport)
788 it() link(bf(workgroup))(workgroup)
790 it() link(bf(write raw))(writeraw)
792 endit()
794 label(COMPLETELISTOFSERVICEPARAMETERS)
795 manpagesection(COMPLETE LIST OF SERVICE PARAMETERS)
797 Here is a list of all service parameters. See the section of each
798 parameter for details. Note that some are synonyms.
800 startit()
802 it() link(bf(admin users))(adminusers)
804 it() link(bf(allow hosts))(allowhosts)
806 it() link(bf(alternate permissions))(alternatepermissions)
808 it() link(bf(available))(available)
810 it() link(bf(blocking locks))(blockinglocks)
812 it() link(bf(browsable))(browsable)
814 it() link(bf(browseable))(browseable)
816 it() link(bf(case sensitive))(casesensitive)
818 it() link(bf(casesignames))(casesignames)
820 it() link(bf(comment))(comment)
822 it() link(bf(copy))(copy)
824 it() link(bf(create mask))(createmask)
826 it() link(bf(create mode))(createmode)
828 it() link(bf(default case))(defaultcase)
830 it() link(bf(delete readonly))(deletereadonly)
832 it() link(bf(delete veto files))(deletevetofiles)
834 it() link(bf(deny hosts))(denyhosts)
836 it() link(bf(directory))(directory)
838 it() link(bf(directory mask))(directorymask)
840 it() link(bf(directory mode))(directorymode)
842 it() link(bf(directory security mask))(directorysecuritymask)
844 it() link(bf(dont descend))(dontdescend)
846 it() link(bf(dos filetime resolution))(dosfiletimeresolution)
848 it() link(bf(dos filetimes))(dosfiletimes)
850 it() link(bf(exec))(exec)
852 it() link(bf(fake directory create times))(fakedirectorycreatetimes)
854 it() link(bf(fake oplocks))(fakeoplocks)
856 it() link(bf(follow symlinks))(followsymlinks)
858 it() link(bf(force create mode))(forcecreatemode)
860 it() link(bf(force directory mode))(forcedirectorymode)
862 it() link(bf(force directory security mode))(forcedirectorysecuritymode)
864 it() link(bf(force group))(forcegroup)
866 it() link(bf(force security mode))(forcesecuritymode)
868 it() link(bf(force user))(forceuser)
870 it() link(bf(fstype))(fstype)
872 it() link(bf(group))(group)
874 it() link(bf(guest account))(guestaccount)
876 it() link(bf(guest ok))(guestok)
878 it() link(bf(guest only))(guestonly)
880 it() link(bf(hide dot files))(hidedotfiles)
882 it() link(bf(hide files))(hidefiles)
884 it() link(bf(hosts allow))(hostsallow)
886 it() link(bf(hosts deny))(hostsdeny)
888 it() link(bf(include))(include)
890 it() link(bf(inherit permissions))(inheritpermissions)
892 it() link(bf(invalid users))(invalidusers)
894 it() link(bf(level2 oplocks))(level2oplocks)
896 it() link(bf(locking))(locking)
898 it() link(bf(lppause command))(lppausecommand)
900 it() link(bf(lpq command))(lpqcommand)
902 it() link(bf(lpresume command))(lpresumecommand)
904 it() link(bf(lprm command))(lprmcommand)
906 it() link(bf(magic output))(magicoutput)
908 it() link(bf(magic script))(magicscript)
910 it() link(bf(mangle case))(manglecase)
912 it() link(bf(mangle locks))(manglelocks)
914 it() link(bf(mangled map))(mangledmap)
916 it() link(bf(mangled names))(manglednames)
918 it() link(bf(mangling char))(manglingchar)
920 it() link(bf(map archive))(maparchive)
922 it() link(bf(map hidden))(maphidden)
924 it() link(bf(map system))(mapsystem)
926 it() link(bf(max connections))(maxconnections)
928 it() link(bf(min print space))(minprintspace)
930 it() link(bf(only guest))(onlyguest)
932 it() link(bf(only user))(onlyuser)
934 it() link(bf(oplock contention limit))(oplockcontentionlimit)
936 it() link(bf(oplocks))(oplocks)
938 it() link(bf(path))(path)
940 it() link(bf(postexec))(postexec)
942 it() link(bf(postscript))(postscript)
944 it() link(bf(preexec))(preexec)
946 it() link(bf(preexec close))(preexecclose)
948 it() link(bf(preserve case))(preservecase)
950 it() link(bf(print command))(printcommand)
952 it() link(bf(print ok))(printok)
954 it() link(bf(printable))(printable)
956 it() link(bf(printer))(printer)
958 it() link(bf(printer admin))(printer admin)
960 it() link(bf(printer driver))(printerdriver)
962 it() link(bf(printer driver location))(printerdriverlocation)
964 it() link(bf(printer name))(printername)
966 it() link(bf(printing))(printing)
968 it() link(bf(public))(public)
970 it() link(bf(queuepause command))(queuepausecommand)
972 it() link(bf(queueresume command))(queueresumecommand)
974 it() link(bf(read list))(readlist)
976 it() link(bf(read only))(readonly)
978 it() link(bf(root postexec))(rootpostexec)
980 it() link(bf(root preexec))(rootpreexec)
982 it() link(bf(root preexec close))(rootpreexecclose)
984 it() link(bf(security mask))(securitymask)
986 it() link(bf(set directory))(setdirectory)
988 it() link(bf(share modes))(sharemodes)
990 it() link(bf(short preserve case))(shortpreservecase)
992 it() link(bf(status))(status)
994 it() link(bf(strict locking))(strictlocking)
996 it() link(bf(strict sync))(strictsync)
998 it() link(bf(sync always))(syncalways)
1000 it() link(bf(user))(user)
1002 it() link(bf(username))(username)
1004 it() link(bf(users))(users)
1006 it() link(bf(utmp))(utmp)
1008 it() link(bf(valid users))(validusers)
1010 it() link(bf(veto files))(vetofiles)
1012 it() link(bf(veto oplock files))(vetooplockfiles)
1014 it() link(bf(volume))(volume)
1016 it() link(bf(wide links))(widelinks)
1018 it() link(bf(writable))(writable)
1020 it() link(bf(write cache size))(writecachesize)
1022 it() link(bf(write list))(writelist)
1024 it() link(bf(write ok))(writeok)
1026 it() link(bf(writeable))(writeable)
1028 endit()
1030 label(EXPLANATIONOFEACHPARAMETER)
1031 manpagesection(EXPLANATION OF EACH PARAMETER)
1033 startdit()
1035 label(adduserscript)
1036 dit(bf(add user script (G)))
1038 This is the full pathname to a script that will be run em(AS ROOT) by
1039 url(bf(smbd (8)))(smbd.8.html) under special circumstances decribed
1040 below.
1042 Normally, a Samba server requires that UNIX users are created for all
1043 users accessing files on this server. For sites that use Windows NT
1044 account databases as their primary user database creating these users
1045 and keeping the user list in sync with the Windows NT PDC is an
1046 onerous task. This option allows url(bf(smbd))(smbd.8.html) to create
1047 the required UNIX users em(ON DEMAND) when a user accesses the Samba
1048 server.
1050 In order to use this option, url(bf(smbd))(smbd.8.html) must be set to
1051 link(bf(security=server))(securityequalserver) or
1052 link(bf(security=domain))(securityequaldomain) and bf("add user script")
1053 must be set to a full pathname for a script that will create a UNIX user
1054 given one argument of bf(%u), which expands into the UNIX user name to
1055 create.
1057 When the Windows user attempts to access the Samba server, at
1058 em("login")(session setup in the SMB protocol) time,
1059 url(bf(smbd))(smbd.8.html) contacts the link(bf(password
1060 server))(passwordserver) and attempts to authenticate the given user
1061 with the given password. If the authentication succeeds then
1062 url(bf(smbd))(smbd.8.html) attempts to find a UNIX user in the UNIX
1063 password database to map the Windows user into. If this lookup fails,
1064 and bf("add user script") is set then url(bf(smbd))(smbd.8.html) will
1065 call the specified script em(AS ROOT), expanding any bf(%u) argument
1066 to be the user name to create.
1068 If this script successfully creates the user then
1069 url(bf(smbd))(smbd.8.html) will continue on as though the UNIX user
1070 already existed. In this way, UNIX users are dynamically created to
1071 match existing Windows NT accounts.
1073 See also link(bf(security=server))(securityequalserver),
1074 link(bf(security=domain))(securityequaldomain), link(bf(password
1075 server))(passwordserver), link(bf(delete user
1076 script))(deleteuserscript).
1078   bf(Default:)
1079 tt(     add user script = <empty string>)
1081   bf(Example:)
1082 tt(     add user script = /usr/local/samba/bin/add_user %u)
1084 label(adminusers)
1085 dit(bf(admin users (S)))
1087 This is a list of users who will be granted administrative privileges
1088 on the share. This means that they will do all file operations as the
1089 super-user (root).
1091 You should use this option very carefully, as any user in this list
1092 will be able to do anything they like on the share, irrespective of
1093 file permissions.
1095   bf(Default:) nl()
1096 tt(     no admin users)
1098   bf(Example:) nl()
1099 tt(     admin users = jason)
1101 label(allow hosts)
1102 dit(bf(allow hosts (S)))
1104 Synonym for link(bf(hosts allow))(hostsallow).
1106 label(allowtrusteddomains)
1107 dit(bf(allow trusted domains (G)))
1109 This option only takes effect when the link(bf(security))(security)
1110 option is set to bf(server) or bf(domain).  If it is set to no,
1111 then attempts to connect to a resource from a domain or workgroup other than
1112 the one which smbd is running in will fail, even if that domain
1113 is trusted by the remote server doing the authentication.
1115 This is useful if you only want your Samba server to serve resources
1116 to users in the domain it is a member of. As an example, suppose that there are
1117 two domains DOMA and DOMB.  DOMB is trusted by DOMA, which contains
1118 the Samba server.  Under normal circumstances, a user with an account
1119 in DOMB can then access the resources of a UNIX account with the same
1120 account name on the Samba server even if they do not have an account
1121 in DOMA.  This can make implementing a security boundary difficult.
1123   bf(Default:)
1124 tt(     allow trusted domains = Yes)
1126   bf(Example:)
1127 tt(     allow trusted domains = No)
1129 label(alternatepermissions)
1130 dit(bf(alternate permissions (S)))
1132 This is a deprecated parameter. It no longer has any effect in Samba2.0.
1133 In previous versions of Samba it affected the way the DOS "read only"
1134 attribute was mapped for a file. In Samba2.0 a file is marked "read only"
1135 if the UNIX file does not have the 'w' bit set for the owner of the file,
1136 regardless if the owner of the file is the currently logged on user or not.
1138 label(announceas)
1139 dit(bf(announce as (G)))
1141 This specifies what type of server url(bf(nmbd))(nmbd.8.html) will
1142 announce itself as, to a network neighborhood browse list. By default
1143 this is set to Windows NT. The valid options are : "NT", which is a
1144 synonym for "NT Server", "NT Server", "NT Workstation", "Win95" or
1145 "WfW" meaning Windows NT Server, Windows NT Workstation, Windows 95
1146 and Windows for Workgroups respectively. Do not change this parameter
1147 unless you have a specific need to stop Samba appearing as an NT server
1148 as this may prevent Samba servers from participating as browser servers correctly.
1150   bf(Default:)
1151 tt(     announce as = NT Server)
1153   bf(Example)
1154 tt(     announce as = Win95)
1156 label(announceversion)
1157 dit(bf(announce version (G)))
1159 This specifies the major and minor version numbers that nmbd will use
1160 when announcing itself as a server. The default is 4.2.  Do not change
1161 this parameter unless you have a specific need to set a Samba server
1162 to be a downlevel server.
1164   bf(Default:)
1165 tt(     announce version = 4.2)
1167   bf(Example:)
1168 tt(     announce version = 2.0)
1171 label(autoservices)
1172 dit(bf(auto services (G)))
1174 This is a list of services that you want to be automatically added to
1175 the browse lists. This is most useful for homes and printers services
1176 that would otherwise not be visible.
1178 Note that if you just want all printers in your printcap file loaded
1179 then the link(bf("load printers"))(loadprinters) option is easier.
1181   bf(Default:)
1182 tt(     no auto services)
1184   bf(Example:)
1185 tt(     auto services = fred lp colorlp)
1187 label(available)
1188 dit(bf(available (S)))
1190 This parameter lets you em('turn off') a service. If tt('available = no'),
1191 then em(ALL) attempts to connect to the service will fail. Such failures
1192 are logged.
1194   bf(Default:)
1195 tt(     available = yes)
1197   bf(Example:)
1198 tt(     available = no)
1200 label(bindinterfacesonly)
1201 dit(bf(bind interfaces only (G)))
1203 This global parameter allows the Samba admin to limit what interfaces
1204 on a machine will serve smb requests. If affects file service
1205 url(bf(smbd))(smbd.8.html) and name service url(bf(nmbd))(nmbd.8.html)
1206 in slightly different ways.
1208 For name service it causes url(bf(nmbd))(nmbd.8.html) to bind to ports
1209 137 and 138 on the interfaces listed in the
1210 link(bf('interfaces'))(interfaces)
1211 parameter. url(bf(nmbd))(nmbd.8.html) also binds to the 'all
1212 addresses' interface (0.0.0.0) on ports 137 and 138 for the purposes
1213 of reading broadcast messages. If this option is not set then
1214 url(bf(nmbd))(nmbd.8.html) will service name requests on all of these
1215 sockets. If bf("bind interfaces only") is set then
1216 url(bf(nmbd))(nmbd.8.html) will check the source address of any
1217 packets coming in on the broadcast sockets and discard any that don't
1218 match the broadcast addresses of the interfaces in the
1219 link(bf('interfaces'))(interfaces) parameter list. As unicast packets
1220 are received on the other sockets it allows url(bf(nmbd))(nmbd.8.html)
1221 to refuse to serve names to machines that send packets that arrive
1222 through any interfaces not listed in the
1223 link(bf("interfaces"))(interfaces) list.  IP Source address spoofing
1224 does defeat this simple check, however so it must not be used
1225 seriously as a security feature for url(bf(nmbd))(nmbd.8.html).
1227 For file service it causes url(bf(smbd))(smbd.8.html) to bind only to
1228 the interface list given in the link(bf('interfaces'))(interfaces)
1229 parameter. This restricts the networks that url(bf(smbd))(smbd.8.html)
1230 will serve to packets coming in those interfaces.  Note that you
1231 should not use this parameter for machines that are serving PPP or
1232 other intermittent or non-broadcast network interfaces as it will not
1233 cope with non-permanent interfaces.
1235 If bf("bind interfaces only") is set then unless the network address
1236 em(127.0.0.1) is added to the link(bf('interfaces'))(interfaces) parameter
1237 list url(bf(smbpasswd))(smbpasswd.8.html) and
1238 url(bf(swat))(swat.8.html) may not work as expected due to the
1239 reasons covered below.
1241 To change a users SMB password, the url(bf(smbpasswd))(smbpasswd.8.html)
1242 by default connects to the em("localhost" - 127.0.0.1) address as an SMB
1243 client to issue the password change request. If bf("bind interfaces only")
1244 is set then unless the network address em(127.0.0.1) is added to the
1245 link(bf('interfaces'))(interfaces) parameter list then
1246 url(bf(smbpasswd))(smbpasswd.8.html) will fail to connect in it's
1247 default mode. url(bf(smbpasswd))(smbpasswd.8.html) can be forced to
1248 use the primary IP interface of the local host by using its
1249 url(bf("-r remote machine"))(smbpasswd.8.html#minusr) parameter, with
1250 bf("remote machine") set to the IP name of the primary interface
1251 of the local host.
1253 The url(bf(swat))(swat.8.html) status page tries to connect with
1254 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html) at the address 
1255 em(127.0.0.1) to determine if they are running.  Not adding em(127.0.0.1)  will cause
1256 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html) to always show
1257 "not running" even if they really are.  This can prevent
1258 url(bf(swat))(swat.8.html) from starting/stopping/restarting
1259 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html).
1261   bf(Default:)
1262 tt(     bind interfaces only = False)
1264   bf(Example:)
1265 tt(     bind interfaces only = True)
1267 label(blockinglocks)
1268 dit(bf(blocking locks (S)))
1270 This parameter controls the behavior of url(bf(smbd))(smbd.8.html) when
1271 given a request by a client to obtain a byte range lock on a region
1272 of an open file, and the request has a time limit associated with it.
1274 If this parameter is set and the lock range requested cannot be
1275 immediately satisfied, Samba 2.0 will internally queue the lock 
1276 request, and periodically attempt to obtain the lock until the
1277 timeout period expires.
1279 If this parameter is set to "False", then Samba 2.0 will behave
1280 as previous versions of Samba would and will fail the lock
1281 request immediately if the lock range cannot be obtained.
1283 This parameter can be set per share.
1285   bf(Default:)
1286 tt(     blocking locks = True)
1288   bf(Example:)
1289 tt(     blocking locks = False)
1291 label(browsable)
1292 dit(bf(browsable (S)))
1294 Synonym for link(bf(browseable))(browseable).
1296 label(browselist)
1297 dit(bf(browse list(G)))
1299 This controls whether url(bf(smbd))(smbd.8.html) will serve a browse
1300 list to a client doing a NetServerEnum call. Normally set to true. You
1301 should never need to change this.
1303   bf(Default:)
1304 tt(     browse list = Yes)
1306 label(browseable)
1307 dit(bf(browseable))
1309 This controls whether this share is seen in the list of available
1310 shares in a net view and in the browse list.
1312   bf(Default:)
1313 tt(     browseable = Yes)
1315   bf(Example:)
1316 tt(     browseable = No)
1318 label(casesensitive)
1319 dit(bf(case sensitive (S)))
1321 See the discussion in the section link(bf(NAME MANGLING))(NAMEMANGLING).
1323 label(casesignames)
1324 dit(bf(casesignames (S)))
1326 Synonym for link(bf("case sensitive"))(casesensitive).
1328 label(changenotifytimeout)
1329 dit(bf(change notify timeout (G)))
1331 One of the new NT SMB requests that Samba 2.0 supports is the
1332 "ChangeNotify" requests. This SMB allows a client to tell a server to
1333 em("watch") a particular directory for any changes and only reply to
1334 the SMB request when a change has occurred. Such constant scanning of
1335 a directory is expensive under UNIX, hence an
1336 url(bf(smbd))(smbd.8.html) daemon only performs such a scan on each
1337 requested directory once every bf(change notify timeout) seconds.
1339 bf(change notify timeout) is specified in units of seconds.
1341   bf(Default:)
1342 tt(     change notify timeout = 60)
1344   bf(Example:)
1345 tt(     change notify timeout = 300)
1347 Would change the scan time to every 5 minutes.
1349 label(characterset)
1350 dit(bf(character set (G)))
1352 This allows a smbd to map incoming filenames from a DOS Code page (see
1353 the link(bf(client code page))(clientcodepage) parameter) to several
1354 built in UNIX character sets. The built in code page translations are:
1356 startit()
1358 it() bf(ISO8859-1) Western European UNIX character set. The parameter
1359 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1360 page 850 if the bf(character set) parameter is set to iso8859-1
1361 in order for the conversion to the UNIX character set to be done
1362 correctly.
1364 it() bf(ISO8859-2) Eastern European UNIX character set. The parameter
1365 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1366 page 852 if the bf(character set) parameter is set to ISO8859-2
1367 in order for the conversion to the UNIX character set to be done
1368 correctly. 
1370 it() bf(ISO8859-5) Russian Cyrillic UNIX character set. The parameter
1371 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1372 page 866 if the bf(character set) parameter is set to ISO8859-5
1373 in order for the conversion to the UNIX character set to be done
1374 correctly. 
1376 it() bf(ISO8859-7) Greek UNIX character set. The parameter
1377 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1378 page 737 if the bf(character set) parameter is set to ISO8859-7
1379 in order for the conversion to the UNIX character set to be done
1380 correctly. 
1382 it() bf(KOI8-R) Alternate mapping for Russian Cyrillic UNIX
1383 character set. The parameter link(bf(client code
1384 page))(clientcodepage) em(MUST) be set to code page 866 if the
1385 bf(character set) parameter is set to KOI8-R in order for the
1386 conversion to the UNIX character set to be done correctly.
1388 endit()
1390 em(BUG). These MSDOS code page to UNIX character set mappings should
1391 be dynamic, like the loading of MS DOS code pages, not static.
1393 See also link(bf(client code page))(clientcodepage).  Normally this
1394 parameter is not set, meaning no filename translation is done.
1396   bf(Default:)
1397 tt(     character set = <empty string>)
1399   bf(Example:)
1400 tt(     character set = ISO8859-1)
1402 label(clientcodepage)
1403 dit(bf(client code page (G)))
1405 This parameter specifies the DOS code page that the clients accessing
1406 Samba are using. To determine what code page a Windows or DOS client
1407 is using, open a DOS command prompt and type the command "chcp". This
1408 will output the code page. The default for USA MS-DOS, Windows 95, and
1409 Windows NT releases is code page 437. The default for western european
1410 releases of the above operating systems is code page 850.
1412 This parameter tells url(bf(smbd))(smbd.8.html) which of the
1413 tt(codepage.XXX) files to dynamically load on startup. These files,
1414 described more fully in the manual page url(bf(make_smbcodepage
1415 (1)))(make_smbcodepage.1.html), tell url(bf(smbd))(smbd.8.html) how
1416 to map lower to upper case characters to provide the case insensitivity
1417 of filenames that Windows clients expect.
1419 Samba currently ships with the following code page files :
1421 startit()
1423 it() bf(Code Page 437 - MS-DOS Latin US)
1425 it() bf(Code Page 737 - Windows '95 Greek)
1427 it() bf(Code Page 850 - MS-DOS Latin 1)
1429 it() bf(Code Page 852 - MS-DOS Latin 2)
1431 it() bf(Code Page 861 - MS-DOS Icelandic)
1433 it() bf(Code Page 866 - MS-DOS Cyrillic)
1435 it() bf(Code Page 932 - MS-DOS Japanese SJIS)
1437 it() bf(Code Page 936 - MS-DOS Simplified Chinese)
1439 it() bf(Code Page 949 - MS-DOS Korean Hangul)
1441 it() bf(Code Page 950 - MS-DOS Traditional Chinese)
1443 endit()
1445 Thus this parameter may have any of the values 437, 737, 850, 852,
1446 861, 932, 936, 949, or 950.  If you don't find the codepage you need,
1447 read the comments in one of the other codepage files and the
1448 url(bf(make_smbcodepage (1)))(make_smbcodepage.1.html) man page and
1449 write one. Please remember to donate it back to the Samba user
1450 community.
1452 This parameter co-operates with the link(bf("valid
1453 chars"))(validchars) parameter in determining what characters are
1454 valid in filenames and how capitalization is done. If you set both
1455 this parameter and the link(bf("valid chars"))(validchars) parameter
1456 the bf("client code page") parameter em(MUST) be set before the
1457 link(bf("valid chars"))(validchars) parameter in the bf(smb.conf)
1458 file. The link(bf("valid chars"))(validchars) string will then augment
1459 the character settings in the "client code page" parameter.
1461 If not set, bf("client code page") defaults to 850.
1463 See also : link(bf("valid chars"))(validchars)
1465   bf(Default:)
1466 tt(     client code page = 850)
1468   bf(Example:)
1469 tt(     client code page = 936)
1471 label(codingsystem)
1472 dit(bf(codingsystem (G)))
1474 This parameter is used to determine how incoming Shift-JIS Japanese
1475 characters are mapped from the incoming link(bf("client code
1476 page"))(clientcodepage) used by the client, into file names in the
1477 UNIX filesystem. Only useful if link(bf("client code
1478 page"))(clientcodepage) is set to 932 (Japanese Shift-JIS).
1480 The options are :
1482 startit()
1484 it() bf(SJIS)  Shift-JIS. Does no conversion of the incoming filename.
1486 it() bf(JIS8, J8BB, J8BH, J8@B, J8@J, J8@H ) Convert from incoming
1487 Shift-JIS to eight bit JIS code with different shift-in, shift out
1488 codes.
1490 it() bf(JIS7, J7BB, J7BH, J7@B, J7@J, J7@H ) Convert from incoming
1491 Shift-JIS to seven bit JIS code with different shift-in, shift out
1492 codes.
1494 it() bf(JUNET, JUBB, JUBH, JU@B, JU@J, JU@H ) Convert from incoming
1495 Shift-JIS to JUNET code with different shift-in, shift out codes.
1497 it() bf(EUC)  Convert an incoming Shift-JIS character to EUC code.
1499 it() bf(HEX) Convert an incoming Shift-JIS character to a 3 byte hex
1500 representation, i.e. tt(:AB).
1502 it() bf(CAP) Convert an incoming Shift-JIS character to the 3 byte hex
1503 representation used by the Columbia AppleTalk Program (CAP),
1504 i.e. tt(:AB).  This is used for compatibility between Samba and CAP.
1506 endit()
1508 label(comment)
1509 dit(bf(comment (S)))
1511 This is a text field that is seen next to a share when a client does a
1512 queries the server, either via the network neighborhood or via "net
1513 view" to list what shares are available.
1515 If you want to set the string that is displayed next to the machine
1516 name then see the server string command.
1518   bf(Default:)
1519 tt(     No comment string)
1521   bf(Example:)
1522 tt(     comment = Fred's Files)
1524 label(configfile)
1525 dit(bf(config file (G)))
1527 This allows you to override the config file to use, instead of the
1528 default (usually bf(smb.conf)). There is a chicken and egg problem
1529 here as this option is set in the config file!
1531 For this reason, if the name of the config file has changed when the
1532 parameters are loaded then it will reload them from the new config
1533 file.
1535 This option takes the usual substitutions, which can be very useful.
1537 If the config file doesn't exist then it won't be loaded (allowing you
1538 to special case the config files of just a few clients).
1540   bf(Example:)
1541 tt(     config file = /usr/local/samba/lib/smb.conf.%m)
1543 label(copy)
1544 dit(bf(copy (S)))
1546 This parameter allows you to em('clone') service entries. The specified
1547 service is simply duplicated under the current service's name. Any
1548 parameters specified in the current section will override those in the
1549 section being copied.
1551 This feature lets you set up a 'template' service and create similar
1552 services easily. Note that the service being copied must occur earlier
1553 in the configuration file than the service doing the copying.
1555   bf(Default:)
1556 tt(     none)
1558   bf(Example:)
1559 tt(     copy = otherservice)
1561 label(createmask)
1562 dit(bf(create mask (S)))
1564 A synonym for this parameter is link(bf('create mode'))(createmode).
1566 When a file is created, the necessary permissions are calculated
1567 according to the mapping from DOS modes to UNIX permissions, and the
1568 resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
1569 This parameter may be thought of as a bit-wise MASK for the UNIX modes
1570 of a file. Any bit em(*not*) set here will be removed from the modes set
1571 on a file when it is created.
1573 The default value of this parameter removes the 'group' and 'other'
1574 write and execute bits from the UNIX modes.
1576 Following this Samba will bit-wise 'OR' the UNIX mode created from
1577 this parameter with the value of the "force create mode" parameter
1578 which is set to 000 by default.
1580 This parameter does not affect directory modes. See the parameter
1581 link(bf('directory mode'))(directorymode) for details.
1583 See also the link(bf("force create mode"))(forcecreatemode) parameter
1584 for forcing particular mode bits to be set on created files. See also
1585 the link(bf("directory mode"))(directorymode) parameter for masking
1586 mode bits on created directories.
1587 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
1589   bf(Default:)
1590 tt(     create mask = 0744)
1592   bf(Example:)
1593 tt(     create mask = 0775)
1595 label(createmode)
1596 dit(bf(create mode (S)))
1598 This is a synonym for link(bf(create mask))(createmask).
1600 label(deadtime)
1601 dit(bf(deadtime (G)))
1603 The value of the parameter (a decimal integer) represents the number
1604 of minutes of inactivity before a connection is considered dead, and
1605 it is disconnected. The deadtime only takes effect if the number of
1606 open files is zero.
1608 This is useful to stop a server's resources being exhausted by a large
1609 number of inactive connections.
1611 Most clients have an auto-reconnect feature when a connection is
1612 broken so in most cases this parameter should be transparent to users.
1614 Using this parameter with a timeout of a few minutes is recommended
1615 for most systems.
1617 A deadtime of zero indicates that no auto-disconnection should be
1618 performed.
1620   bf(Default:)
1621 tt(     deadtime = 0)
1623   bf(Example:)
1624 tt(     deadtime = 15)
1626 label(debughirestimestamp)
1627 dit(bf(debug hires timestamp (G)))
1629 Sometimes the timestamps in the log messages are needed with a
1630 resolution of higher that seconds, this boolean parameter adds
1631 microsecond resolution to the timestamp message header when turned on.
1633 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1634 must be on for this to have an effect.
1636   bf(Default:)
1637 tt( debug hires timestamp = No)
1639   bf(Example:)
1640 tt( debug hires timestamp = Yes)
1642 label(debugtimestamp)
1643 dit(bf(debug timestamp (G)))
1645 Samba2.0 debug log messages are timestamped by default. If you are
1646 running at a high link(bf("debug level"))(debuglevel) these timestamps
1647 can be distracting. This boolean parameter allows timestamping to be turned
1648 off.
1650   bf(Default:)
1651 tt(     debug timestamp = Yes)
1653   bf(Example:)
1654 tt(     debug timestamp = No)
1656 label(debugpid)
1657 dit(bf(debug pid (G)))
1659 When using only one log file for more then one forked smbd-process
1660 there may be hard to follow which process outputs which message.
1661 This boolean parameter is adds the process-id to the timestamp message
1662 headers in the logfile when turned on.
1664 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1665 must be on for this to have an effect.
1667   bf(Default:)
1668 tt(     debug pid = No)
1670   bf(Example:)
1671 tt(     debug pid = Yes)
1673 label(debuguid)
1674 dit(bf(debug uid (G)))
1676 Samba is sometimes run as root and sometime run as the connected
1677 user, this boolean parameter inserts the current euid, egid, uid
1678 and gid to the timestamp message headers in the log file if turned on.
1680 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1681 must be on for this to have an effect.
1683   bf(Default:)
1684 tt(     debug uid = No)
1686   bf(Example:)
1687 tt(     debug uid = Yes)
1689 label(debuglevel)
1690 dit(bf(debug level (G)))
1692 The value of the parameter (an integer) allows the debug level
1693 (logging level) to be specified in the bf(smb.conf) file. This is to
1694 give greater flexibility in the configuration of the system.
1696 The default will be the debug level specified on the command line
1697 or level zero if none was specified.
1699   bf(Example:)
1700 tt(     debug level = 3)
1702 label(default)
1703 dit(bf(default (G)))
1705 A synonym for link(bf(default service))(defaultservice).
1707 label(defaultcase)
1708 dit(bf(default case (S)))
1710 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING). Also note
1711 the link(bf("short preserve case"))(shortpreservecase) parameter.
1713 label(defaultservice)
1714 dit(bf(default service (G)))
1716 This parameter specifies the name of a service which will be connected
1717 to if the service actually requested cannot be found. Note that the
1718 square brackets are em(NOT) given in the parameter value (see example
1719 below).
1721 There is no default value for this parameter. If this parameter is not
1722 given, attempting to connect to a nonexistent service results in an
1723 error.
1725 Typically the default service would be a link(bf(guest ok))(guestok),
1726 link(bf(read-only))(readonly) service.
1728 Also note that the apparent service name will be changed to equal that
1729 of the requested service, this is very useful as it allows you to use
1730 macros like link(bf(%S))(percentS) to make a wildcard service.
1732 Note also that any tt('_') characters in the name of the service used
1733 in the default service will get mapped to a tt('/'). This allows for
1734 interesting things.
1737   bf(Example:)
1738 verb(
1739         default service = pub
1740         
1741         [pub]
1742                 path = /%S
1745 label(deleteuserscript)
1746 dit(bf(delete user script (G)))
1748 This is the full pathname to a script that will be run em(AS ROOT) by
1749 url(bf(smbd (8)))(smbd.8.html) under special circumstances decribed
1750 below.
1752 Normally, a Samba server requires that UNIX users are created for all
1753 users accessing files on this server. For sites that use Windows NT
1754 account databases as their primary user database creating these users
1755 and keeping the user list in sync with the Windows NT PDC is an
1756 onerous task. This option allows url(bf(smbd))(smbd.8.html) to delete
1757 the required UNIX users em(ON DEMAND) when a user accesses the Samba
1758 server and the Windows NT user no longer exists.
1760 In order to use this option, url(bf(smbd))(smbd.8.html) must be set to
1761 link(bf(security=domain))(securityequaldomain) and bf("delete user
1762 script") must be set to a full pathname for a script that will delete
1763 a UNIX user given one argument of bf(%u), which expands into the UNIX
1764 user name to delete. em(NOTE) that this is different to the
1765 link(bf(add user script))(adduserscript) which will work with the
1766 link(bf(security=server))(securityequalserver) option as well as
1767 link(bf(security=domain))(securityequaldomain). The reason for this
1768 is only when Samba is a domain member does it get the information
1769 on an attempted user logon that a user no longer exists. In the
1770 link(bf(security=server))(securityequalserver) mode a missing user
1771 is treated the same as an invalid password logon attempt. Deleting
1772 the user in this circumstance would not be a good idea.
1774 When the Windows user attempts to access the Samba server, at
1775 em("login")(session setup in the SMB protocol) time,
1776 url(bf(smbd))(smbd.8.html) contacts the link(bf(password
1777 server))(passwordserver) and attempts to authenticate the given user
1778 with the given password. If the authentication fails with the specific
1779 Domain error code meaning that the user no longer exists then
1780 url(bf(smbd))(smbd.8.html) attempts to find a UNIX user in the UNIX
1781 password database that matches the Windows user account. If this lookup succeeds,
1782 and bf("delete user script") is set then url(bf(smbd))(smbd.8.html) will
1783 call the specified script em(AS ROOT), expanding any bf(%u) argument
1784 to be the user name to delete.
1786 This script should delete the given UNIX username. In this way, UNIX
1787 users are dynamically deleted to match existing Windows NT accounts.
1789 See also link(bf(security=domain))(securityequaldomain),
1790 link(bf(password server))(passwordserver), link(bf(add user
1791 script))(adduserscript).
1793   bf(Default:)
1794 tt(     delete user script = <empty string>)
1796   bf(Example:)
1797 tt(     delete user script = /usr/local/samba/bin/del_user %u)
1799 label(deletereadonly)
1800 dit(bf(delete readonly (S)))
1802 This parameter allows readonly files to be deleted.  This is not
1803 normal DOS semantics, but is allowed by UNIX.
1805 This option may be useful for running applications such as rcs, where
1806 UNIX file ownership prevents changing file permissions, and DOS
1807 semantics prevent deletion of a read only file.
1809   bf(Default:)
1810 tt(     delete readonly = No)
1812   bf(Example:)
1813 tt(     delete readonly = Yes)
1815 label(deletevetofiles)
1816 dit(bf(delete veto files (S)))
1818 This option is used when Samba is attempting to delete a directory
1819 that contains one or more vetoed directories (see the link(bf('veto
1820 files'))(vetofiles) option).  If this option is set to False (the
1821 default) then if a vetoed directory contains any non-vetoed files or
1822 directories then the directory delete will fail. This is usually what
1823 you want.
1825 If this option is set to True, then Samba will attempt to recursively
1826 delete any files and directories within the vetoed directory. This can
1827 be useful for integration with file serving systems such as bf(NetAtalk),
1828 which create meta-files within directories you might normally veto
1829 DOS/Windows users from seeing (e.g. tt(.AppleDouble))
1831 Setting tt('delete veto files = True') allows these directories to be 
1832 transparently deleted when the parent directory is deleted (so long
1833 as the user has permissions to do so).
1835 See also the link(bf(veto files))(vetofiles) parameter.
1837   bf(Default:)
1838 tt(     delete veto files = False)
1840   bf(Example:)
1841 tt(     delete veto files = True)
1843 label(denyhosts)
1844 dit(bf(deny hosts (S)))
1846 Synonym for link(bf(hosts deny))(hostsdeny).
1848 label(dfreecommand)
1849 dit(bf(dfree command (G)))
1851 The dfree command setting should only be used on systems where a
1852 problem occurs with the internal disk space calculations. This has
1853 been known to happen with Ultrix, but may occur with other operating
1854 systems. The symptom that was seen was an error of "Abort Retry
1855 Ignore" at the end of each directory listing.
1857 This setting allows the replacement of the internal routines to
1858 calculate the total disk space and amount available with an external
1859 routine. The example below gives a possible script that might fulfill
1860 this function.
1862 The external program will be passed a single parameter indicating a
1863 directory in the filesystem being queried. This will typically consist
1864 of the string tt("./"). The script should return two integers in
1865 ascii. The first should be the total disk space in blocks, and the
1866 second should be the number of available blocks. An optional third
1867 return value can give the block size in bytes. The default blocksize
1868 is 1024 bytes.
1870 Note: Your script should em(NOT) be setuid or setgid and should be
1871 owned by (and writeable only by) root!
1873   bf(Default:)
1874 tt(     By default internal routines for determining the disk capacity
1875 and remaining space will be used.)
1877   bf(Example:)
1878 tt(     dfree command = /usr/local/samba/bin/dfree)
1880 Where the script dfree (which must be made executable) could be:
1882 verb(
1883         #!/bin/sh
1884         df $1 | tail -1 | awk '{print $2" "$4}'
1887 or perhaps (on Sys V based systems):
1889 verb(
1890         #!/bin/sh
1891         /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
1894         Note that you may have to replace the command names with full
1895 path names on some systems.
1897 label(directory)
1898 dit(bf(directory (S)))
1900 Synonym for link(bf(path))(path).
1902 label(directorymask)
1903 dit(bf(directory mask (S)))
1905 This parameter is the octal modes which are used when converting DOS
1906 modes to UNIX modes when creating UNIX directories.
1908 When a directory is created, the necessary permissions are calculated
1909 according to the mapping from DOS modes to UNIX permissions, and the
1910 resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
1911 This parameter may be thought of as a bit-wise MASK for the UNIX modes
1912 of a directory. Any bit em(*not*) set here will be removed from the
1913 modes set on a directory when it is created.
1915 The default value of this parameter removes the 'group' and 'other'
1916 write bits from the UNIX mode, allowing only the user who owns the
1917 directory to modify it.
1919 Following this Samba will bit-wise 'OR' the UNIX mode created from
1920 this parameter with the value of the "force directory mode"
1921 parameter. This parameter is set to 000 by default (i.e. no extra mode
1922 bits are added).
1924 See the link(bf("force directory mode"))(forcedirectorymode) parameter
1925 to cause particular mode bits to always be set on created directories.
1927 See also the link(bf("create mode"))(createmode) parameter for masking
1928 mode bits on created files, and the link(bf("directory security mask"))(directorysecuritymask)
1929 parameter.
1931 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
1933   bf(Default:)
1934 tt(     directory mask = 0755)
1936   bf(Example:)
1937 tt(     directory mask = 0775)
1939 label(directorymode)
1940 dit(bf(directory mode (S)))
1942 Synonym for link(bf(directory mask))(directorymask).
1944 label(directorysecuritymask)
1945 dit(bf(directory security mask (S)))
1947 This parameter controls what UNIX permission bits can be modified
1948 when a Windows NT client is manipulating the UNIX permission on a
1949 directory using the native NT security dialog box.
1951 This parameter is applied as a mask (AND'ed with) to the changed
1952 permission bits, thus preventing any bits not in this mask from
1953 being modified. Essentially, zero bits in this mask may be treated
1954 as a set of bits the user is not allowed to change.
1956 If not set explicitly this parameter is set to the same value as the
1957 link(bf(directory mask))(directorymask) parameter. To allow a user to
1958 modify all the user/group/world permissions on a directory, set this
1959 parameter to 0777.
1961 em(Note) that users who can access the Samba server through other
1962 means can easily bypass this restriction, so it is primarily
1963 useful for standalone "appliance" systems.  Administrators of
1964 most normal systems will probably want to set it to 0777.
1966 See also the link(bf(force directory security
1967 mode))(forcedirectorysecuritymode), link(bf(security
1968 mask))(securitymask), link(bf(force security mode))(forcesecuritymode)
1969 parameters.
1971   bf(Default:)
1972 tt(     directory security mask = <same as directory mask>)
1974   bf(Example:)
1975 tt(     directory security mask = 0777)
1977 label(dnsproxy)
1978 dit(bf(dns proxy (G)))
1980 Specifies that url(bf(nmbd))(nmbd.8.html) when acting as a WINS
1981 server and finding that a NetBIOS name has not been registered, should
1982 treat the NetBIOS name word-for-word as a DNS name and do a lookup
1983 with the DNS server for that name on behalf of the name-querying
1984 client.
1986 Note that the maximum length for a NetBIOS name is 15 characters, so
1987 the DNS name (or DNS alias) can likewise only be 15 characters,
1988 maximum.
1990 url(bf(nmbd))(nmbd.8.html) spawns a second copy of itself to do the
1991 DNS name lookup requests, as doing a name lookup is a blocking action.
1993 See also the parameter link(bf(wins support))(winssupport).
1995   bf(Default:)
1996 tt(     dns proxy = yes)
1998 label(domainadmingroup)
1999 bf(domain admin group (G))
2001 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2002 Samba NT Domain Controller Code. It may be removed in a later release.
2003 To work with the latest code builds that may have more support for
2004 Samba NT Domain Controller functionality please subscribe to the
2005 mailing list bf(Samba-ntdom) available by visiting the web page at
2006 url(http://lists.samba.org/)(http://lists.samba.org/)
2008 label(domainadminusers) 
2009 dit(bf(domain admin users (G)))
2011 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2012 Samba NT Domain Controller Code. It may be removed in a later release.
2013 To work with the latest code builds that may have more support for
2014 Samba NT Domain Controller functionality please subscribe to the
2015 mailing list bf(Samba-ntdom) available by visiting the web page at
2016 url(http://lists.samba.org/)(http://lists.samba.org/)
2018 label(domaingroups)
2019 dit(bf(domain groups (G)))
2021 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2022 Samba NT Domain Controller Code. It may be removed in a later release.
2023 To work with the latest code builds that may have more support for
2024 Samba NT Domain Controller functionality please subscribe to the
2025 mailing list bf(Samba-ntdom) available by visiting the web page at
2026 url(http://lists.samba.org/)(http://lists.samba.org/)
2028 label(domainguestgroup)
2029 dit(bf(domain guest group (G)))
2031 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2032 Samba NT Domain Controller Code. It may be removed in a later release.
2033 To work with the latest code builds that may have more support for
2034 Samba NT Domain Controller functionality please subscribe to the
2035 mailing list bf(Samba-ntdom) available by visiting the web page at 
2036 url(http://lists.samba.org/)(http://lists.samba.org/)
2038 label(domainguestusers)
2039 dit(bf(domain guest users (G)))
2041 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2042 Samba NT Domain Controller Code. It may be removed in a later release.
2043 To work with the latest code builds that may have more support for
2044 Samba NT Domain Controller functionality please subscribe to the
2045 mailing list bf(Samba-ntdom) available by visiting the web page at
2046 url(http://lists.samba.org/)(http://lists.samba.org/)
2048 label(domainlogons)
2049 dit(bf(domain logons (G)))
2051 If set to true, the Samba server will serve Windows 95/98 Domain
2052 logons for the link(bf(workgroup))(workgroup) it is in. For more
2053 details on setting up this feature see the file DOMAINS.txt in the
2054 Samba documentation directory tt(docs/) shipped with the source code.
2056 Note that Win95/98 Domain logons are em(NOT) the same as Windows
2057 NT Domain logons. NT Domain logons require a Primary Domain Controller
2058 (PDC) for the Domain. It is intended that in a future release Samba
2059 will be able to provide this functionality for Windows NT clients
2060 also.
2062   bf(Default:)
2063 tt(     domain logons = no)
2065 label(domainmaster)
2066 dit(bf(domain master (G)))
2068 Tell url(bf(nmbd))(nmbd.8.html) to enable WAN-wide browse list
2069 collation. Setting this option causes url(bf(nmbd))(nmbd.8.html) to
2070 claim a special domain specific NetBIOS name that identifies it as a
2071 domain master browser for its given
2072 link(bf(workgroup))(workgroup). Local master browsers in the same
2073 link(bf(workgroup))(workgroup) on broadcast-isolated subnets will give
2074 this url(bf(nmbd))(nmbd.8.html) their local browse lists, and then
2075 ask url(bf(smbd))(smbd.8.html) for a complete copy of the browse list
2076 for the whole wide area network.  Browser clients will then contact
2077 their local master browser, and will receive the domain-wide browse
2078 list, instead of just the list for their broadcast-isolated subnet.
2080 Note that Windows NT Primary Domain Controllers expect to be able to
2081 claim this link(bf(workgroup))(workgroup) specific special NetBIOS
2082 name that identifies them as domain master browsers for that
2083 link(bf(workgroup))(workgroup) by default (i.e. there is no way to
2084 prevent a Windows NT PDC from attempting to do this). This means that
2085 if this parameter is set and url(bf(nmbd))(nmbd.8.html) claims the
2086 special name for a link(bf(workgroup))(workgroup) before a Windows NT
2087 PDC is able to do so then cross subnet browsing will behave strangely
2088 and may fail.
2090   bf(Default:)
2091 tt(     domain master = no)
2093 label(dont descend)
2094 dit(bf(dont descend (S)))
2096 There are certain directories on some systems (e.g., the tt(/proc) tree
2097 under Linux) that are either not of interest to clients or are
2098 infinitely deep (recursive). This parameter allows you to specify a
2099 comma-delimited list of directories that the server should always show
2100 as empty.
2102 Note that Samba can be very fussy about the exact format of the "dont
2103 descend" entries. For example you may need tt("./proc") instead of
2104 just tt("/proc"). Experimentation is the best policy :-)
2106   bf(Default:)
2107 tt(     none (i.e., all directories are OK to descend))
2109   bf(Example:)
2110 tt(     dont descend = /proc,/dev)
2112 label(dosfiletimeresolution)
2113 dit(bf(dos filetime resolution (S)))
2115 Under the DOS and Windows FAT filesystem, the finest granularity on
2116 time resolution is two seconds. Setting this parameter for a share
2117 causes Samba to round the reported time down to the nearest two second
2118 boundary when a query call that requires one second resolution is made
2119 to url(bf(smbd))(smbd.8.html).
2121 This option is mainly used as a compatibility option for Visual C++
2122 when used against Samba shares. If oplocks are enabled on a share,
2123 Visual C++ uses two different time reading calls to check if a file
2124 has changed since it was last read. One of these calls uses a
2125 one-second granularity, the other uses a two second granularity. As
2126 the two second call rounds any odd second down, then if the file has a
2127 timestamp of an odd number of seconds then the two timestamps will not
2128 match and Visual C++ will keep reporting the file has changed. Setting
2129 this option causes the two timestamps to match, and Visual C++ is
2130 happy.
2132   bf(Default:)
2133 tt(     dos filetime resolution = False)
2135   bf(Example:)
2136 tt(     dos filetime resolution = True)
2138 label(dos filetimes)
2139 dit(bf(dos filetimes (S)))
2141 Under DOS and Windows, if a user can write to a file they can change
2142 the timestamp on it. Under POSIX semantics, only the owner of the file
2143 or root may change the timestamp. By default, Samba runs with POSIX
2144 semantics and refuses to change the timestamp on a file if the user
2145 smbd is acting on behalf of is not the file owner. Setting this option
2146 to True allows DOS semantics and smbd will change the file timestamp as
2147 DOS requires.
2149   bf(Default:)
2150 tt(     dos filetimes = False)
2152   bf(Example:)
2153 tt(     dos filetimes = True)
2155 label(encryptpasswords)
2156 dit(bf(encrypt passwords (G)))
2158 This boolean controls whether encrypted passwords will be negotiated
2159 with the client. Note that Windows NT 4.0 SP3 and above and also
2160 Windows 98 will by default expect encrypted passwords unless a
2161 registry entry is changed. To use encrypted passwords in Samba see the
2162 file ENCRYPTION.txt in the Samba documentation directory tt(docs/)
2163 shipped with the source code.
2165 In order for encrypted passwords to work correctly
2166 url(bf(smbd))(smbd.8.html) must either have access to a local
2167 url(bf(smbpasswd (5)))(smbpasswd.5.html) file (see the
2168 url(bf(smbpasswd (8)))(smbpasswd.8.html) program for information on
2169 how to set up and maintain this file), or set the
2170 link(bf(security=))(security) parameter to either
2171 link(bf("server"))(securityequalserver) or
2172 link(bf("domain"))(securityequaldomain) which causes
2173 url(bf(smbd))(smbd.8.html) to authenticate against another server.
2175 label(exec)
2176 dit(bf(exec (S)))
2178 This is a synonym for link(bf(preexec))(preexec).
2180 label(fake directory create times)
2181 dit(bf(fake directory create times (S)))
2183 NTFS and Windows VFAT file systems keep a create time for all files
2184 and directories. This is not the same as the ctime - status change
2185 time - that Unix keeps, so Samba by default reports the earliest of
2186 the various times Unix does keep. Setting this parameter for a share
2187 causes Samba to always report midnight 1-1-1980 as the create time for
2188 directories.
2190 This option is mainly used as a compatibility option for Visual C++
2191 when used against Samba shares. Visual C++ generated makefiles have
2192 the object directory as a dependency for each object file, and a make
2193 rule to create the directory. Also, when NMAKE compares timestamps it
2194 uses the creation time when examining a directory. Thus the object
2195 directory will be created if it does not exist, but once it does exist
2196 it will always have an earlier timestamp than the object files it
2197 contains.
2199 However, Unix time semantics mean that the create time reported by
2200 Samba will be updated whenever a file is created or deleted in the
2201 directory. NMAKE therefore finds all object files in the object
2202 directory bar the last one built are out of date compared to the
2203 directory and rebuilds them. Enabling this option ensures directories
2204 always predate their contents and an NMAKE build will proceed as
2205 expected.
2207   bf(Default:)
2208 tt(     fake directory create times = False)
2210   bf(Example:)
2211 tt(     fake directory create times = True)
2213 label(fakeoplocks)
2214 dit(bf(fake oplocks (S)))
2216 Oplocks are the way that SMB clients get permission from a server to
2217 locally cache file operations. If a server grants an oplock
2218 (opportunistic lock) then the client is free to assume that it is the
2219 only one accessing the file and it will aggressively cache file
2220 data. With some oplock types the client may even cache file open/close
2221 operations. This can give enormous performance benefits.
2223 When you set tt("fake oplocks = yes") url(bf(smbd))(smbd.8.html) will
2224 always grant oplock requests no matter how many clients are using the
2225 file.
2227 It is generally much better to use the real link(bf(oplocks))(oplocks)
2228 support rather than this parameter.
2230 If you enable this option on all read-only shares or shares that you
2231 know will only be accessed from one client at a time such as
2232 physically read-only media like CDROMs, you will see a big performance
2233 improvement on many operations. If you enable this option on shares
2234 where multiple clients may be accessing the files read-write at the
2235 same time you can get data corruption. Use this option carefully!
2237 This option is disabled by default.
2239 label(followsymlinks)
2240 dit(bf(follow symlinks (S)))
2242 This parameter allows the Samba administrator to stop
2243 url(bf(smbd))(smbd.8.html) from following symbolic links in a
2244 particular share. Setting this parameter to em("No") prevents any file
2245 or directory that is a symbolic link from being followed (the user
2246 will get an error).  This option is very useful to stop users from
2247 adding a symbolic link to tt(/etc/passwd) in their home directory for
2248 instance.  However it will slow filename lookups down slightly.
2250 This option is enabled (i.e. url(bf(smbd))(smbd.8.html) will follow
2251 symbolic links) by default.
2253 label(forcecreatemode)
2254 dit(bf(force create mode (S)))
2256 This parameter specifies a set of UNIX mode bit permissions that will
2257 em(*always*) be set on a file by Samba. This is done by bitwise
2258 'OR'ing these bits onto the mode bits of a file that is being created
2259 or having its permissions changed. The default for this parameter is
2260 (in octal) 000. The modes in this parameter are bitwise 'OR'ed onto
2261 the file mode after the mask set in the link(bf("create
2262 mask"))(createmask) parameter is applied.
2264 See also the parameter link(bf("create mask"))(createmask) for details
2265 on masking mode bits on files.
2267 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
2269   bf(Default:)
2270 tt(     force create mode = 000)
2272   bf(Example:)
2273 tt(     force create mode = 0755)
2275 would force all created files to have read and execute permissions set
2276 for 'group' and 'other' as well as the read/write/execute bits set for
2277 the 'user'.
2279 label(forcedirectorymode)
2280 dit(bf(force directory mode (S)))
2282 This parameter specifies a set of UNIX mode bit permissions that will
2283 em(*always*) be set on a directory created by Samba. This is done by
2284 bitwise 'OR'ing these bits onto the mode bits of a directory that is
2285 being created. The default for this parameter is (in octal) 0000 which
2286 will not add any extra permission bits to a created directory. This
2287 operation is done after the mode mask in the parameter
2288 link(bf("directory mask"))(directorymask) is applied.
2290 See also the parameter link(bf("directory mask"))(directorymask) for
2291 details on masking mode bits on created directories.
2293 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
2295   bf(Default:)
2296 tt(     force directory mode = 000)
2298   bf(Example:)
2299 tt(     force directory mode = 0755)
2301 would force all created directories to have read and execute
2302 permissions set for 'group' and 'other' as well as the
2303 read/write/execute bits set for the 'user'.
2305 label(forcedirectorysecuritymode)
2306 dit(bf(force directory security mode (S)))
2308 This parameter controls what UNIX permission bits can be modified when
2309 a Windows NT client is manipulating the UNIX permission on a directory
2310 using the native NT security dialog box.
2312 This parameter is applied as a mask (OR'ed with) to the changed
2313 permission bits, thus forcing any bits in this mask that the user may
2314 have modified to be on. Essentially, one bits in this mask may be
2315 treated as a set of bits that, when modifying security on a directory,
2316 the user has always set to be 'on'.
2318 If not set explicitly this parameter is set to the same value as the
2319 link(bf(force directory mode))(forcedirectorymode) parameter. To allow
2320 a user to modify all the user/group/world permissions on a directory,
2321 with restrictions set this parameter to 000.
2323 em(Note) that users who can access the Samba server through other
2324 means can easily bypass this restriction, so it is primarily
2325 useful for standalone "appliance" systems.  Administrators of
2326 most normal systems will probably want to set it to 0000.
2328 See also the link(bf(directory security mask))(directorysecuritymask),
2329 link(bf(security mask))(securitymask), link(bf(force security
2330 mode))(forcesecuritymode) parameters.
2332   bf(Default:)
2333 tt(     force directory security mode = <same as force directory mode>)
2335   bf(Example:)
2336 tt(     force directory security mode = 0)
2338 label(forcegroup)
2339 dit(bf(force group (S)))
2341 This specifies a UNIX group name that will be assigned as the default
2342 primary group for all users connecting to this service. This is useful
2343 for sharing files by ensuring that all access to files on service will
2344 use the named group for their permissions checking. Thus, by assigning
2345 permissions for this group to the files and directories within this
2346 service the Samba administrator can restrict or allow sharing of these
2347 files.
2349 In Samba 2.0.5 and above this parameter has extended functionality in the following
2350 way. If the group name listed here has a '+' character prepended to it
2351 then the current user accessing the share only has the primary group 
2352 default assigned to this group if they are already assigned as a member
2353 of that group. This allows an administrator to decide that only users
2354 who are already in a particular group will create files with group 
2355 ownership set to that group. This gives a finer granularity of ownership
2356 assignment. For example, the setting tt(force group = +sys) means
2357 that only users who are already in group sys will have their default
2358 primary group assigned to sys when accessing this Samba share. All
2359 other users will retain their ordinary primary group.
2361 If the link(bf("force user"))(forceuser) parameter is also set the
2362 group specified in bf(force group) will override the primary group
2363 set in link(bf("force user"))(forceuser).
2365 See also link(bf("force user"))(forceuser)
2367   bf(Default:)
2368 tt(     no forced group)
2370   bf(Example:)
2371 tt(     force group = agroup)
2373 label(forcesecuritymode)
2374 dit(bf(force security mode (S)))
2376 This parameter controls what UNIX permission bits can be modified when
2377 a Windows NT client is manipulating the UNIX permission on a file
2378 using the native NT security dialog box.
2380 This parameter is applied as a mask (OR'ed with) to the changed
2381 permission bits, thus forcing any bits in this mask that the user may
2382 have modified to be on. Essentially, one bits in this mask may be
2383 treated as a set of bits that, when modifying security on a file, the
2384 user has always set to be 'on'.
2386 If not set explicitly this parameter is set to the same value as the
2387 link(bf(force create mode))(forcecreatemode) parameter. To allow
2388 a user to modify all the user/group/world permissions on a file,
2389 with no restrictions set this parameter to 000.
2391 em(Note) that users who can access the Samba server through other
2392 means can easily bypass this restriction, so it is primarily
2393 useful for standalone "appliance" systems.  Administrators of
2394 most normal systems will probably want to set it to 0000.
2396 See also the link(bf(force directory security
2397 mode))(forcedirectorysecuritymode), link(bf(directory security
2398 mask))(directorysecuritymask), link(bf(security mask))(securitymask)
2399 parameters.
2401   bf(Default:)
2402 tt(     force security mode = <same as force create mode>)
2404   bf(Example:)
2405 tt(     force security mode = 0)
2407 label(forceuser)
2408 dit(bf(force user (S)))
2410 This specifies a UNIX user name that will be assigned as the default
2411 user for all users connecting to this service. This is useful for
2412 sharing files. You should also use it carefully as using it
2413 incorrectly can cause security problems.
2415 This user name only gets used once a connection is established. Thus
2416 clients still need to connect as a valid user and supply a valid
2417 password. Once connected, all file operations will be performed as the
2418 tt("forced user"), no matter what username the client connected as.
2420 This can be very useful.
2422 In Samba 2.0.5 and above this parameter also causes the primary
2423 group of the forced user to be used as the primary group for all
2424 file activity. Prior to 2.0.5 the primary group was left as the
2425 primary group of the connecting user (this was a bug).
2427 See also link(bf("force group"))(forcegroup)
2429   bf(Default:)
2430 tt(     no forced user)
2432   bf(Example:)
2433 tt(     force user = auser)
2435 label(fstype)
2436 dit(bf(fstype (S)))
2438 This parameter allows the administrator to configure the string that
2439 specifies the type of filesystem a share is using that is reported by
2440 url(bf(smbd))(smbd.8.html) when a client queries the filesystem type
2441 for a share. The default type is bf("NTFS") for compatibility with
2442 Windows NT but this can be changed to other strings such as "Samba" or
2443 "FAT" if required.
2445   bf(Default:)
2446 tt(     fstype = NTFS)
2448   bf(Example:)
2449 tt(     fstype = Samba)
2451 label(getwdcache)
2452 dit(bf(getwd cache (G)))
2454 This is a tuning option. When this is enabled a caching algorithm
2455 will be used to reduce the time taken for getwd() calls. This can have
2456 a significant impact on performance, especially when the
2457 link(bf(widelinks))(widelinks) parameter is set to False.
2459   bf(Default:)
2460 tt(     getwd cache = No)
2462   bf(Example:)
2463 tt(     getwd cache = Yes)
2465 label(group)
2466 dit(bf(group (S)))
2468 Synonym for link(bf("force group"))(forcegroup).
2470 label(guestaccount)
2471 dit(bf(guest account (S)))
2473 This is a username which will be used for access to services which are
2474 specified as link(bf('guest ok'))(guestok) (see below). Whatever
2475 privileges this user has will be available to any client connecting to
2476 the guest service. Typically this user will exist in the password
2477 file, but will not have a valid login. The user account bf("ftp") is
2478 often a good choice for this parameter. If a username is specified in
2479 a given service, the specified username overrides this one.
2481 One some systems the default guest account "nobody" may not be able to
2482 print. Use another account in this case. You should test this by
2483 trying to log in as your guest user (perhaps by using the tt("su -")
2484 command) and trying to print using the system print command such as
2485 bf(lpr (1)) or bf(lp (1)).
2487   bf(Default:)
2488 tt(     specified at compile time, usually "nobody")
2490   bf(Example:)
2491 tt(     guest account = ftp)
2493 label(guestok)
2494 dit(bf(guest ok (S)))
2496 If this parameter is em('yes') for a service, then no password is
2497 required to connect to the service. Privileges will be those of the
2498 link(bf(guest account))(guestaccount).
2500 See the section below on link(bf(security))(security) for more
2501 information about this option.
2503   bf(Default:)
2504 tt(     guest ok = no)
2506   bf(Example:)
2507 tt(     guest ok = yes)
2509 label(guestonly)
2510 dit(bf(guest only (S)))
2512 If this parameter is em('yes') for a service, then only guest
2513 connections to the service are permitted. This parameter will have no
2514 affect if link(bf("guest ok"))(guestok) or link(bf("public"))(public)
2515 is not set for the service.
2517 See the section below on link(bf(security))(security) for more
2518 information about this option.
2520   bf(Default:)
2521 tt(     guest only = no)
2523   bf(Example:)
2524 tt(     guest only = yes)
2526 label(hidedotfiles)
2527 dit(bf(hide dot files (S)))
2529 This is a boolean parameter that controls whether files starting with
2530 a dot appear as hidden files.
2532   bf(Default:)
2533 tt(     hide dot files = yes)
2535   bf(Example:)
2536 tt(     hide dot files = no)
2539 label(hidefiles)
2540 dit(bf(hide files(S)))
2542 This is a list of files or directories that are not visible but are
2543 accessible.  The DOS 'hidden' attribute is applied to any files or
2544 directories that match.
2546 Each entry in the list must be separated by a tt('/'), which allows
2547 spaces to be included in the entry.  tt('*') and tt('?') can be used
2548 to specify multiple files or directories as in DOS wildcards.
2550 Each entry must be a Unix path, not a DOS path and must not include the 
2551 Unix directory separator tt('/').
2553 Note that the case sensitivity option is applicable in hiding files.
2555 Setting this parameter will affect the performance of Samba, as it
2556 will be forced to check all files and directories for a match as they
2557 are scanned.
2559 See also link(bf("hide dot files"))(hidedotfiles), link(bf("veto
2560 files"))(vetofiles) and link(bf("case sensitive"))(casesensitive).
2562   bf(Default)
2563 verb(
2564         No files or directories are hidden by this option (dot files are
2565         hidden by default because of the "hide dot files" option).
2568   bf(Example)
2569 tt(     hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/)
2571 The above example is based on files that the Macintosh SMB client
2572 (DAVE) available from url(bf(Thursby))(http://www.thursby.com) creates for
2573 internal use, and also still hides all files beginning with a dot.
2575 label(homedirmap)
2576 dit(bf(homedir map (G)))
2578 If link(bf("nis homedir"))(nishomedir) is true, and
2579 url(bf(smbd))(smbd.8.html) is also acting as a Win95/98 link(bf(logon
2580 server))(domainlogons) then this parameter specifies the NIS (or YP)
2581 map from which the server for the user's home directory should be
2582 extracted.  At present, only the Sun auto.home map format is
2583 understood. The form of the map is:
2585 tt(username     server:/some/file/system)
2587 and the program will extract the servername from before the first
2588 tt(':').  There should probably be a better parsing system that copes
2589 with different map formats and also Amd (another automounter) maps.
2591 NB: A working NIS is required on the system for this option to work.
2593 See also link(bf("nis homedir"))(nishomedir), link(bf(domain
2594 logons))(domainlogons).
2596   bf(Default:)
2597 tt(     homedir map = auto.home)
2599   bf(Example:)
2600 tt(     homedir map = amd.homedir)
2602 label(hostsallow)
2603 dit(bf(hosts allow (S)))
2605 A synonym for this parameter is link(bf('allow hosts'))(allowhosts)
2607 This parameter is a comma, space, or tab delimited set of hosts which
2608 are permitted to access a service.
2610 If specified in the link(bf([global]))(global) section then it will
2611 apply to all services, regardless of whether the individual service
2612 has a different setting.
2614 You can specify the hosts by name or IP number. For example, you could
2615 restrict access to only the hosts on a Class C subnet with something
2616 like tt("allow hosts = 150.203.5."). The full syntax of the list is
2617 described in the man page bf(hosts_access (5)). Note that this man
2618 page may not be present on your system, so a brief description will
2619 be given here also.
2621 Note that the localhost address 127.0.0.1 will always be allowed
2622 access unless specifically denied by a "hosts deny" option.
2624 You can also specify hosts by network/netmask pairs and by netgroup
2625 names if your system supports netgroups. The em(EXCEPT) keyword can also
2626 be used to limit a wildcard list. The following examples may provide
2627 some help:
2629 bf(Example 1): allow all IPs in 150.203.*.* except one
2631 tt(     hosts allow = 150.203. EXCEPT 150.203.6.66)
2633 bf(Example 2): allow hosts that match the given network/netmask
2635 tt(     hosts allow = 150.203.15.0/255.255.255.0)
2637 bf(Example 3): allow a couple of hosts
2639 tt(     hosts allow = lapland, arvidsjaur)
2641 bf(Example 4): allow only hosts in NIS netgroup "foonet", but 
2642 deny access from one particular host
2644 tt(     hosts allow = @foonet)
2646 tt(     hosts deny = pirate)
2648 Note that access still requires suitable user-level passwords.
2650 See url(bf(testparm (1)))(testparm.1.html) for a way of testing your
2651 host access to see if it does what you expect.
2653   bf(Default:)
2654 tt(     none (i.e., all hosts permitted access))
2656   bf(Example:)
2657 tt(     allow hosts = 150.203.5. myhost.mynet.edu.au)
2660 label(hostsdeny)
2661 dit(bf(hosts deny (S)))
2663 The opposite of link(bf('hosts allow'))(hostsallow) - hosts listed
2664 here are em(NOT) permitted access to services unless the specific
2665 services have their own lists to override this one. Where the lists
2666 conflict, the link(bf('allow'))(hostsallow) list takes precedence.
2668   bf(Default:)
2669 tt(     none (i.e., no hosts specifically excluded))
2671   bf(Example:)
2672 tt(     hosts deny = 150.203.4. badhost.mynet.edu.au)
2674 label(hostsequiv)
2675 dit(bf(hosts equiv (G)))
2677 If this global parameter is a non-null string, it specifies the name
2678 of a file to read for the names of hosts and users who will be allowed
2679 access without specifying a password.
2681 This is not be confused with link(bf(hosts allow))(hostsallow) which
2682 is about hosts access to services and is more useful for guest
2683 services. bf(hosts equiv) may be useful for NT clients which will not
2684 supply passwords to samba.
2686 NOTE: The use of bf(hosts equiv) can be a major security hole. This is
2687 because you are trusting the PC to supply the correct username. It is
2688 very easy to get a PC to supply a false username. I recommend that the
2689 bf(hosts equiv) option be only used if you really know what you are
2690 doing, or perhaps on a home network where you trust your spouse and
2691 kids. And only if you em(really) trust them :-).
2693   bf(Default)
2694 tt(     No host equivalences)
2696   bf(Example)
2697 tt(     hosts equiv = /etc/hosts.equiv)
2699 label(include)
2700 dit(bf(include (G)))
2702 This allows you to include one config file inside another.  The file
2703 is included literally, as though typed in place.
2705 It takes the standard substitutions, except link(bf(%u))(percentu),
2706 link(bf(%P))(percentP) and link(bf(%S))(percentS).
2708 label(inheritpermissions)
2709 dit(bf(inherit permissions (S)))
2711 The permissions on new files and directories are normally governed by
2712 link(bf("create mask"))(createmask),
2713 link(bf("directory mask"))(directorymask),
2714 link(bf("force create mode"))(forcecreatemode) and
2715 link(bf("force directory mode"))(forcedirectorymode)
2716 but the boolean inherit permissions parameter overrides this.
2718 New directories inherit the mode of the parent directory,
2719 including bits such as setgid.
2721 New files inherit their read/write bits from the parent directory.
2722 Their execute bits continue to be determined by
2723 link(bf("map archive"))(maparchive),
2724 link(bf("map hidden"))(maphidden) and
2725 link(bf("map system"))(mapsystem) as usual.
2727 Note that the setuid bit is *never* set via inheritance
2728 (the code explicitly prohibits this).
2730 This can be particularly useful on large systems with many users,
2731 perhaps several thousand,
2732 to allow a single bf([homes]) share to be used flexibly by each user.
2734 See also link(bf("create mask"))(createmask), link(bf("directory mask"))(directorymask),
2735 link(bf("force create mode"))(forcecreatemode) and
2736 link(bf("force directory mode"))(forcedirectorymode).
2738   bf(Default)
2739 tt(   inherit permissions = no)
2741   bf(Example)
2742 tt(   inherit permissions = yes)
2744 label(interfaces)
2745 dit(bf(interfaces (G)))
2747 This option allows you to override the default network interfaces list
2748 that Samba will use for browsing, name registration and other NBT
2749 traffic. By default Samba will query the kernel for the list of all
2750 active interfaces and use any interfaces except 127.0.0.1 that are
2751 broadcast capable.
2753 The option takes a list of interface strings. Each string can be in
2754 any of the following forms:
2756 startit()
2757 it() a network interface name (such as eth0). This may include
2758      shell-like wildcards so eth* will match any interface starting
2759      with the substring "eth"
2760 it() an IP address. In this case the netmask is determined
2761      from the list of interfaces obtained from the kernel
2762 it() an IP/mask pair. 
2763 it() a broadcast/mask pair. 
2764 endit()
2766 The "mask" parameters can either be a bit length (such as 24 for a C
2767 class network) or a full netmask in dotted decmal form.
2769 The "IP" parameters above can either be a full dotted decimal IP
2770 address or a hostname which will be looked up via the OSes normal
2771 hostname resolution mechanisms.
2773 For example, the following line:
2775 tt(interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0)
2777 would configure three network interfaces corresponding to the eth0
2778 device and IP addresses 192.168.2.10 and 192.168.3.10. The netmasks of
2779 the latter two interfaces would be set to 255.255.255.0.
2781 See also link(bf("bind interfaces only"))(bindinterfacesonly).
2783 label(invalidusers)
2784 dit(bf(invalid users (S)))
2786 This is a list of users that should not be allowed to login to this
2787 service. This is really a em("paranoid") check to absolutely ensure an
2788 improper setting does not breach your security.
2790 A name starting with a tt('@') is interpreted as an NIS netgroup first
2791 (if your system supports NIS), and then as a UNIX group if the name
2792 was not found in the NIS netgroup database.
2794 A name starting with tt('+') is interpreted only by looking in the
2795 UNIX group database. A name starting with tt('&') is interpreted only
2796 by looking in the NIS netgroup database (this requires NIS to be
2797 working on your system). The characters tt('+') and tt('&') may be
2798 used at the start of the name in either order so the value
2799 tt("+&group") means check the UNIX group database, followed by the NIS
2800 netgroup database, and the value tt("&+group") means check the NIS
2801 netgroup database, followed by the UNIX group database (the same as
2802 the tt('@') prefix).
2804 The current servicename is substituted for
2805 link(bf(%S))(percentS). This is useful in the link(bf([homes]))(homes)
2806 section.
2808 See also link(bf("valid users"))(validusers).
2810   bf(Default:)
2811 tt(     No invalid users)
2813   bf(Example:)
2814 tt(     invalid users = root fred admin @wheel)
2816 label(keepalive)
2817 dit(bf(keepalive (G)))
2819 The value of the parameter (an integer) represents the number of
2820 seconds between bf('keepalive') packets. If this parameter is zero, no
2821 keepalive packets will be sent. Keepalive packets, if sent, allow the
2822 server to tell whether a client is still present and responding.
2824 Keepalives should, in general, not be needed if the socket being used
2825 has the SO_KEEPALIVE attribute set on it (see link(bf("socket
2826 options"))(socketoptions)). Basically you should only use this option
2827 if you strike difficulties.
2829   bf(Default:)
2830 tt(     keepalive = 0)
2832   bf(Example:)
2833 tt(     keepalive = 60)
2835 label(kerneloplocks)
2836 dit(bf(kernel oplocks (G)))
2838 For UNIXs that support kernel based link(bf(oplocks))(oplocks)
2839 (currently only IRIX but hopefully also Linux and FreeBSD soon) this
2840 parameter allows the use of them to be turned on or off.
2842 Kernel oplocks support allows Samba link(bf(oplocks))(oplocks) to be
2843 broken whenever a local UNIX process or NFS operation accesses a file
2844 that url(bf(smbd))(smbd.8.html) has oplocked. This allows complete
2845 data consistency between SMB/CIFS, NFS and local file access (and is a
2846 em(very) cool feature :-).
2848 This parameter defaults to em("On") on systems that have the support,
2849 and em("off") on systems that don't. You should never need to touch
2850 this parameter.
2852 See also the link(bf("oplocks"))(oplocks) and link(bf("level2 oplocks"))(level2oplocks)
2853 parameters.
2855 label(ldapfilter)
2856 dit(bf(ldap filter (G)))
2858 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2859 password database stored on an LDAP server back-end. These options
2860 are only available if your version of Samba was configured with
2861 the bf(--with-ldap) option.
2863 This parameter specifies an LDAP search filter used to search for a
2864 user name in the LDAP database. It must contain the string
2865 link(bf(%u))(percentU) which will be replaced with the user being
2866 searched for.
2868   bf(Default:)
2869 tt(     empty string.)
2871 label(ldapport)
2872 dit(bf(ldap port (G)))
2874 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2875 password database stored on an LDAP server back-end. These options
2876 are only available if your version of Samba was configured with
2877 the bf(--with-ldap) option.
2879 This parameter specifies the TCP port number to use to contact
2880 the LDAP server on.
2882   bf(Default:)
2883 tt(     ldap port = 389.)
2885 label(ldaproot)
2886 dit(bf(ldap root (G)))
2888 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2889 password database stored on an LDAP server back-end. These options
2890 are only available if your version of Samba was configured with
2891 the bf(--with-ldap) option.
2893 This parameter specifies the entity to bind to the LDAP server
2894 as (essentially the LDAP username) in order to be able to perform
2895 queries and modifications on the LDAP database.
2897 See also link(bf(ldap root passwd))(ldaprootpasswd).
2899   bf(Default:)
2900 tt(     empty string (no user defined))
2902 label(ldaprootpasswd)
2903 dit(bf(ldap root passwd (G)))
2905 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2906 password database stored on an LDAP server back-end. These options
2907 are only available if your version of Samba was configured with
2908 the bf(--with-ldap) option.
2910 This parameter specifies the password for the entity to bind to the
2911 LDAP server as (the password for this LDAP username) in order to be
2912 able to perform queries and modifications on the LDAP database.
2914 em(BUGS:) This parameter should em(NOT) be a readable parameter
2915 in the bf(smb.conf) file and will be removed once a correct
2916 storage place is found.
2918 See also link(bf(ldap root))(ldaproot).
2920   bf(Default:)
2921 tt(     empty string.)
2923 label(ldapserver)
2924 dit(bf(ldap server (G)))
2926 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2927 password database stored on an LDAP server back-end. These options
2928 are only available if your version of Samba was configured with
2929 the bf(--with-ldap) option.
2931 This parameter specifies the DNS name of the LDAP server to use
2932 for SMB/CIFS authentication purposes.
2934   bf(Default:)
2935 tt(     ldap server = localhost)
2937 label(ldapsuffix)
2938 dit(bf(ldap suffix (G)))
2940 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2941 password database stored on an LDAP server back-end. These options
2942 are only available if your version of Samba was configured with
2943 the bf(--with-ldap) option.
2945 This parameter specifies the tt("dn") or LDAP em("distinguished name")
2946 that tells url(bf(smbd))(smbd.8.html) to start from when searching
2947 for an entry in the LDAP password database.
2949   bf(Default:)
2950 tt(     empty string.)
2952 label(level2oplocks)
2953 dit(bf(level2 oplocks (S)))
2955 This parameter (new in Samba 2.0.5) controls whether Samba supports
2956 level2 (read-only) oplocks on a share. In Samba 2.0.5 this parameter
2957 defaults to "False" as the code is new, but will default to "True"
2958 in a later release.
2960 Level2, or read-only oplocks allow Windows NT clients that have an
2961 oplock on a file to downgrade from a read-write oplock to a read-only
2962 oplock once a second client opens the file (instead of releasing all
2963 oplocks on a second open, as in traditional, exclusive oplocks). This
2964 allows all openers of the file that support level2 oplocks to cache
2965 the file for read-ahead only (ie. they may not cache writes or lock
2966 requests) and increases performance for many acesses of files that
2967 are not commonly written (such as application .EXE files).
2969 Once one of the clients which have a read-only oplock writes to
2970 the file all clients are notified (no reply is needed or waited
2971 for) and told to break their oplocks to "none" and delete any
2972 read-ahead caches.
2974 It is recommended that this parameter be turned on to speed access
2975 to shared executables (and also to test the code :-).
2977 For more discussions on level2 oplocks see the CIFS spec.
2979 Currently, if link(bf("kernel oplocks"))(kerneloplocks) are supported
2980 then level2 oplocks are not granted (even if this parameter is set
2981 to tt("true")). Note also, the link(bf("oplocks"))(oplocks) parameter must
2982 be set to "true" on this share in order for this parameter to have any
2983 effect.
2985 See also the link(bf("oplocks"))(oplocks) and link(bf("kernel oplocks"))(kerneloplocks) parameters.
2987   bf(Default:)
2988 tt( level2 oplocks = False)
2990   bf(Example:)
2991 tt( level2 oplocks = True)
2993 label(lmannounce)
2994 dit(bf(lm announce (G)))
2996 This parameter determines if url(bf(nmbd))(nmbd.8.html) will produce
2997 Lanman announce broadcasts that are needed by bf(OS/2) clients in order
2998 for them to see the Samba server in their browse list. This parameter
2999 can have three values, tt("true"), tt("false"), or tt("auto"). The
3000 default is tt("auto").  If set to tt("false") Samba will never produce
3001 these broadcasts. If set to tt("true") Samba will produce Lanman
3002 announce broadcasts at a frequency set by the parameter link(bf("lm
3003 interval"))(lminterval). If set to tt("auto") Samba will not send Lanman
3004 announce broadcasts by default but will listen for them. If it hears
3005 such a broadcast on the wire it will then start sending them at a
3006 frequency set by the parameter link(bf("lm interval"))(lminterval).
3008 See also link(bf("lm interval"))(lminterval).
3010   bf(Default:)
3011 tt(     lm announce = auto)
3013   bf(Example:)
3014 tt(     lm announce = true)
3016 label(lminterval)
3017 dit(bf(lm interval (G)))
3019 If Samba is set to produce Lanman announce broadcasts needed by
3020 bf(OS/2) clients (see the link(bf("lm announce"))(lmannounce)
3021 parameter) then this parameter defines the frequency in seconds with
3022 which they will be made.  If this is set to zero then no Lanman
3023 announcements will be made despite the setting of the link(bf("lm
3024 announce"))(lmannounce) parameter.
3026 See also link(bf("lm announce"))(lmannounce).
3028   bf(Default:)
3029 tt(     lm interval = 60)
3031   bf(Example:)
3032 tt(     lm interval = 120)
3034 label(loadprinters)
3035 dit(bf(load printers (G)))
3037 A boolean variable that controls whether all printers in the printcap
3038 will be loaded for browsing by default. See the
3039 link(bf("printers"))(printers) section for more details.
3041   bf(Default:)
3042 tt(     load printers = yes)
3044   bf(Example:)
3045 tt(     load printers = no)
3047 label(localmaster)
3048 dit(bf(local master (G)))
3050 This option allows url(bf(nmbd))(nmbd.8.html) to try and become a
3051 local master browser on a subnet. If set to False then
3052 url(bf(nmbd))(nmbd.8.html) will not attempt to become a local master
3053 browser on a subnet and will also lose in all browsing elections. By
3054 default this value is set to true. Setting this value to true doesn't
3055 mean that Samba will em(become) the local master browser on a subnet,
3056 just that url(bf(nmbd))(nmbd.8.html) will em(participate) in
3057 elections for local master browser.
3059 Setting this value to False will cause url(bf(nmbd))(nmbd.8.html)
3060 em(never) to become a local master browser.
3062   bf(Default:)
3063 tt(     local master = yes)
3065 label(lock dir)
3066 dit(bf(lock dir (G)))
3068 Synonym for link(bf("lock directory"))(lockdirectory).
3070 label(lockdirectory)
3071 dit(bf(lock directory (G)))
3073 This option specifies the directory where lock files will be placed.
3074 The lock files are used to implement the link(bf("max
3075 connections"))(maxconnections) option.
3077   bf(Default:)
3078 tt(     lock directory = /tmp/samba)
3080   bf(Example:)
3081 tt(     lock directory = /usr/local/samba/var/locks)
3083 label(locking)
3084 dit(bf(locking (S)))
3086 This controls whether or not locking will be performed by the server
3087 in response to lock requests from the client.
3089 If tt("locking = no"), all lock and unlock requests will appear to
3090 succeed and all lock queries will indicate that the queried lock is
3091 clear.
3093 If tt("locking = yes"), real locking will be performed by the server.
3095 This option em(may) be useful for read-only filesystems which em(may)
3096 not need locking (such as cdrom drives), although setting this
3097 parameter of tt("no") is not really recommended even in this case.
3099 Be careful about disabling locking either globally or in a specific
3100 service, as lack of locking may result in data corruption. You should
3101 never need to set this parameter.
3103   bf(Default:)
3104 tt(     locking = yes)
3106   bf(Example:)
3107 tt(     locking = no)
3109 label(logfile)
3110 dit(bf(log file (G)))
3112 This options allows you to override the name of the Samba log file
3113 (also known as the debug file).
3115 This option takes the standard substitutions, allowing you to have
3116 separate log files for each user or machine.
3118   bf(Example:)
3119 tt(     log file = /usr/local/samba/var/log.%m)
3121 label(loglevel)
3122 dit(bf(log level (G)))
3124 Synonym for link(bf("debug level"))(debuglevel).
3126 label(logondrive)
3127 dit(bf(logon drive (G)))
3129 This parameter specifies the local path to which the home directory
3130 will be connected (see link(bf("logon home"))(logonhome)) and is only
3131 used by NT Workstations. 
3133 Note that this option is only useful if Samba is set up as a
3134 link(bf(logon server))(domainlogons).
3136   bf(Example:)
3137 tt(     logon drive = h:)
3139 label(logonhome)
3140 dit(bf(logon home (G)))
3142 This parameter specifies the home directory location when a Win95/98 or
3143 NT Workstation logs into a Samba PDC.  It allows you to do 
3145 tt("NET USE H: /HOME")
3147 from a command prompt, for example.
3149 This option takes the standard substitutions, allowing you to have
3150 separate logon scripts for each user or machine.
3152 This parameter can be used with Win9X workstations to ensure that
3153 roaming profiles are stored in a subdirectory of the user's home
3154 directory.  This is done in the following way:
3156 tt("     logon home = \\%L\%U\profile")
3158 This tells Samba to return the above string, with substitutions made
3159 when a client requests the info, generally in a NetUserGetInfo request.
3160 Win9X clients truncate the info to \\server\share when a user does tt("net use /home"),
3161 but use the whole string when dealing with profiles.
3163 Note that in prior versions of Samba, the tt("logon path") was returned rather than
3164 tt("logon home").  This broke tt("net use /home") but allowed profiles outside the 
3165 home directory.  The current implementation is correct, and can be used for profiles
3166 if you use the above trick.
3168 Note that this option is only useful if Samba is set up as a
3169 link(bf(logon server))(domainlogons).
3171   bf(Example:)
3172 tt(     logon home = "\\remote_smb_server\%U")
3174   bf(Default:)
3175 tt(     logon home = "\\%N\%U")
3177 label(logonpath)
3178 dit(bf(logon path (G)))
3180 This parameter specifies the home directory where roaming profiles
3181 (NTuser.dat etc files for Windows NT) are stored.  Contrary to previous 
3182 versions of these manual pages, it has nothing to do with Win 9X roaming
3183 profiles.  To find out how to handle roaming profiles for Win 9X system, see 
3184 the tt("logon home") parameter.
3186 This option takes the standard substitutions, allowing you to have
3187 separate logon scripts for each user or machine.  It also specifies
3188 the directory from which the tt("application data"), (tt("desktop"), tt("start menu"),
3189 tt("network neighborhood"), tt("programs") and other folders, and their
3190 contents, are loaded and displayed on your Windows NT client.
3192 The share and the path must be readable by the user for the
3193 preferences and directories to be loaded onto the Windows NT
3194 client.  The share must be writeable when the logs in for the first
3195 time, in order that the Windows NT client can create the NTuser.dat
3196 and other directories.
3198 Thereafter, the directories and any of the contents can, if required, be
3199 made read-only.  It is not advisable that the NTuser.dat file be made
3200 read-only - rename it to NTuser.man to achieve the desired effect (a
3201 em(MAN)datory profile). 
3203 Windows clients can sometimes maintain a connection to the [homes]
3204 share, even though there is no user logged in.  Therefore, it is vital
3205 that the logon path does not include a reference to the homes share
3206 (i.e. setting this parameter to tt(\\%N\HOMES\profile_path) will cause
3207 problems).
3209 This option takes the standard substitutions, allowing you to have
3210 separate logon scripts for each user or machine.
3212 Note that this option is only useful if Samba is set up as a
3213 link(bf(logon server))(domainlogons).
3215   bf(Default:)
3216 tt(     logon path = \\%N\%U\profile)
3218   bf(Example:)
3219 tt(     logon path = \\PROFILESERVER\HOME_DIR\%U\PROFILE)
3221 label(logonscript)
3222 dit(bf(logon script (G)))
3224 This parameter specifies the batch file (.bat) or NT command file
3225 (.cmd) to be downloaded and run on a machine when a user successfully
3226 logs in.  The file must contain the DOS style cr/lf line endings.
3227 Using a DOS-style editor to create the file is recommended.
3229 The script must be a relative path to the tt([netlogon]) service.  If
3230 the tt([netlogon]) service specifies a link(bf(path))(path) of
3231 /usr/local/samba/netlogon, and logon script = STARTUP.BAT, then the
3232 file that will be downloaded is:
3234 tt(/usr/local/samba/netlogon/STARTUP.BAT)
3236 The contents of the batch file is entirely your choice.  A suggested
3237 command would be to add tt(NET TIME \\SERVER /SET /YES), to force every
3238 machine to synchronize clocks with the same time server.  Another use
3239 would be to add tt(NET USE U: \\SERVER\UTILS) for commonly used
3240 utilities, or tt(NET USE Q: \\SERVER\ISO9001_QA) for example.
3242 Note that it is particularly important not to allow write access to
3243 the tt([netlogon]) share, or to grant users write permission on the
3244 batch files in a secure environment, as this would allow the batch
3245 files to be arbitrarily modified and security to be breached.
3247 This option takes the standard substitutions, allowing you to have
3248 separate logon scripts for each user or machine.
3250 Note that this option is only useful if Samba is set up as a
3251 link(bf(logon server))(domainlogons).
3253   bf(Example:)
3254 tt(     logon script = scripts\%U.bat)
3256 label(lppausecommand)
3257 dit(bf(lppause command (S)))
3259 This parameter specifies the command to be executed on the server host
3260 in order to stop printing or spooling a specific print job.
3262 This command should be a program or script which takes a printer name
3263 and job number to pause the print job. One way of implementing this is
3264 by using job priorities, where jobs having a too low priority won't be
3265 sent to the printer.
3267 If a tt("%p") is given then the printername is put in its place. A
3268 tt("%j") is replaced with the job number (an integer).  On HPUX (see
3269 link(bf(printing=hpux))(printing)), if the tt("-p%p") option is added
3270 to the lpq command, the job will show up with the correct status,
3271 i.e. if the job priority is lower than the set fence priority it will
3272 have the PAUSED status, whereas if the priority is equal or higher it
3273 will have the SPOOLED or PRINTING status.
3275 Note that it is good practice to include the absolute path in the
3276 lppause command as the PATH may not be available to the server.
3278 See also the link(bf("printing"))(printing) parameter.
3280   bf(Default:)
3281         Currently no default value is given to this string, unless the
3282 value of the link(bf("printing"))(printing) parameter is tt(SYSV), in
3283 which case the default is :
3285 tt(     lp -i %p-%j -H hold)
3287 or if the value of the link(bf("printing"))(printing) parameter is tt(softq),
3288 then the default is:
3290 tt(     qstat -s -j%j -h)
3292   bf(Example for HPUX:)
3293         lppause command = /usr/bin/lpalt %p-%j -p0
3295 label(lpqcachetime)
3296 dit(bf(lpq cache time (G)))
3298 This controls how long lpq info will be cached for to prevent the
3299 bf(lpq) command being called too often. A separate cache is kept for
3300 each variation of the bf(lpq) command used by the system, so if you
3301 use different bf(lpq) commands for different users then they won't
3302 share cache information.
3304 The cache files are stored in tt(/tmp/lpq.xxxx) where xxxx is a hash of
3305 the bf(lpq) command in use.
3307 The default is 10 seconds, meaning that the cached results of a
3308 previous identical bf(lpq) command will be used if the cached data is
3309 less than 10 seconds old. A large value may be advisable if your
3310 bf(lpq) command is very slow.
3312 A value of 0 will disable caching completely.
3314 See also the link(bf("printing"))(printing) parameter.
3316   bf(Default:)
3317 tt(     lpq cache time = 10)
3319   bf(Example:)
3320 tt(     lpq cache time = 30)
3322 label(lpqcommand)
3323 dit(bf(lpq command (S)))
3325 This parameter specifies the command to be executed on the server host
3326 in order to obtain tt("lpq")-style printer status information.
3328 This command should be a program or script which takes a printer name
3329 as its only parameter and outputs printer status information.
3331 Currently eight styles of printer status information are supported;
3332 BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX and SOFTQ. This covers most UNIX
3333 systems. You control which type is expected using the
3334 link(bf("printing ="))(printing) option.
3336 Some clients (notably Windows for Workgroups) may not correctly send
3337 the connection number for the printer they are requesting status
3338 information about. To get around this, the server reports on the first
3339 printer service connected to by the client. This only happens if the
3340 connection number sent is invalid.
3342 If a tt(%p) is given then the printername is put in its place. Otherwise
3343 it is placed at the end of the command.
3345 Note that it is good practice to include the absolute path in the bf(lpq
3346 command) as the PATH may not be available to the server.
3348 See also the link(bf("printing"))(printing) parameter.
3350   bf(Default:)
3351 tt(        depends on the setting of printing =)
3353   bf(Example:)
3354 tt(     lpq command = /usr/bin/lpq %p)
3356 label(lpresumecommand)
3357 dit(bf(lpresume command (S)))
3359 This parameter specifies the command to be executed on the server host
3360 in order to restart or continue printing or spooling a specific print
3361 job.
3363 This command should be a program or script which takes a printer name
3364 and job number to resume the print job. See also the link(bf("lppause
3365 command"))(lppausecommand) parameter.
3367 If a tt(%p) is given then the printername is put in its place. A
3368 tt(%j) is replaced with the job number (an integer).
3370 Note that it is good practice to include the absolute path in the bf(lpresume
3371 command) as the PATH may not be available to the server.
3373 See also the link(bf("printing"))(printing) parameter.
3375   bf(Default:)
3377         Currently no default value is given to this string, unless the
3378 value of the link(bf("printing"))(printing) parameter is tt(SYSV), in
3379 which case the default is :
3381 tt(     lp -i %p-%j -H resume)
3383 or if the value of the link(bf("printing"))(printing) parameter is tt(softq),
3384 then the default is:
3386 tt(     qstat -s -j%j -r)
3388   bf(Example for HPUX:)
3389 tt(        lpresume command = /usr/bin/lpalt %p-%j -p2)
3391 label(lprmcommand)
3392 dit(bf(lprm command (S)))
3394 This parameter specifies the command to be executed on the server host
3395 in order to delete a print job.
3397 This command should be a program or script which takes a printer name
3398 and job number, and deletes the print job.
3400 If a tt(%p) is given then the printername is put in its place. A
3401 tt(%j) is replaced with the job number (an integer).
3403 Note that it is good practice to include the absolute path in the
3404 bf(lprm command) as the PATH may not be available to the server.
3406 See also the link(bf("printing"))(printing) parameter.
3408   bf(Default:)
3409 tt(     depends on the setting of "printing =")
3411   bf(Example 1:)
3412 tt(     lprm command = /usr/bin/lprm -P%p %j)
3414   bf(Example 2:)
3415 tt(     lprm command = /usr/bin/cancel %p-%j)
3417 label(machinepasswordtimeout)
3418 dit(bf(machine password timeout (G)))
3420 If a Samba server is a member of an Windows NT Domain (see the
3421 link(bf("security=domain"))(securityequaldomain)) parameter) then
3422 periodically a running url(bf(smbd))(smbd.8.html) process will try and
3423 change the bf(MACHINE ACCOUNT PASWORD) stored in the file called
3424 tt(<Domain>.<Machine>.mac) where tt(<Domain>) is the name of the
3425 Domain we are a member of and tt(<Machine>) is the primary
3426 link(bf("NetBIOS name"))(netbiosname) of the machine
3427 url(bf(smbd))(smbd.8.html) is running on. This parameter specifies how
3428 often this password will be changed, in seconds. The default is one
3429 week (expressed in seconds), the same as a Windows NT Domain member
3430 server.
3432 See also url(bf(smbpasswd (8)))(smbpasswd.8.html), and the
3433 link(bf("security=domain"))(securityequaldomain)) parameter.
3435   bf(Default:)
3436 tt(     machine password timeout = 604800)
3438 label(magicoutput)
3439 dit(bf(magic output (S)))
3441 This parameter specifies the name of a file which will contain output
3442 created by a magic script (see the link(bf("magic
3443 script"))(magicscript) parameter below).
3445 Warning: If two clients use the same link(bf("magic
3446 script"))(magicscript) in the same directory the output file content
3447 is undefined.
3449   bf(Default:)
3450 tt(     magic output = <magic script name>.out)
3452   bf(Example:)
3453 tt(     magic output = myfile.txt)
3455 label(magicscript)
3456 dit(bf(magic script (S)))
3458 This parameter specifies the name of a file which, if opened, will be
3459 executed by the server when the file is closed. This allows a UNIX
3460 script to be sent to the Samba host and executed on behalf of the
3461 connected user.
3463 Scripts executed in this way will be deleted upon completion,
3464 permissions permitting.
3466 If the script generates output, output will be sent to the file
3467 specified by the link(bf("magic output"))(magicoutput) parameter (see
3468 above).
3470 Note that some shells are unable to interpret scripts containing
3471 carriage-return-linefeed instead of linefeed as the end-of-line
3472 marker. Magic scripts must be executable em("as is") on the host,
3473 which for some hosts and some shells will require filtering at the DOS
3474 end.
3476 Magic scripts are em(EXPERIMENTAL) and should em(NOT) be relied upon.
3478   bf(Default:)
3479 tt(     None. Magic scripts disabled.)
3481   bf(Example:)
3482 tt(     magic script = user.csh)
3484 label(manglecase)
3485 dit(bf(mangle case (S)))
3487 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING).
3489 label(manglelocks)
3490 dit(bf(mangle locks (S)))
3492 This option is was introduced with Samba 2.0.4 and above and has been
3493 removed in Samba 2.0.6 as Samba now dynamically configures such things
3494 on 32 bit systems.
3496 label(mangledmap)
3497 dit(bf(mangled map (S)))
3499 This is for those who want to directly map UNIX file names which can
3500 not be represented on Windows/DOS.  The mangling of names is not always
3501 what is needed.  In particular you may have documents with file
3502 extensions that differ between DOS and UNIX. For example, under UNIX
3503 it is common to use tt(".html") for HTML files, whereas under
3504 Windows/DOS tt(".htm") is more commonly used.
3506 So to map tt("html") to tt("htm") you would use:
3508 tt(  mangled map = (*.html *.htm))
3510 One very useful case is to remove the annoying tt(";1") off the ends
3511 of filenames on some CDROMS (only visible under some UNIXs). To do
3512 this use a map of (*;1 *).
3514   bf(default:)
3515 tt(     no mangled map)
3517   bf(Example:)
3518 tt(     mangled map = (*;1 *))
3520 label(manglednames)
3521 dit(bf(mangled names (S)))
3523 This controls whether non-DOS names under UNIX should be mapped to
3524 DOS-compatible names ("mangled") and made visible, or whether non-DOS
3525 names should simply be ignored.
3527 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING) for details
3528 on how to control the mangling process.
3530 If mangling is used then the mangling algorithm is as follows:
3532 startit()
3534 it() The first (up to) five alphanumeric characters before the
3535 rightmost dot of the filename are preserved, forced to upper case, and
3536 appear as the first (up to) five characters of the mangled name.
3538 it() A tilde tt("~") is appended to the first part of the mangled
3539 name, followed by a two-character unique sequence, based on the
3540 original root name (i.e., the original filename minus its final
3541 extension). The final extension is included in the hash calculation
3542 only if it contains any upper case characters or is longer than three
3543 characters.
3545 Note that the character to use may be specified using the
3546 link(bf("mangling char"))(manglingchar) option, if you don't like
3547 tt('~').
3549 it() The first three alphanumeric characters of the final extension
3550 are preserved, forced to upper case and appear as the extension of the
3551 mangled name. The final extension is defined as that part of the
3552 original filename after the rightmost dot. If there are no dots in the
3553 filename, the mangled name will have no extension (except in the case
3554 of link(bf("hidden files"))(hidefiles) - see below).
3556 it() Files whose UNIX name begins with a dot will be presented as DOS
3557 hidden files. The mangled name will be created as for other filenames,
3558 but with the leading dot removed and tt("___") as its extension regardless
3559 of actual original extension (that's three underscores).
3561 endit()
3563 The two-digit hash value consists of upper case alphanumeric
3564 characters.
3566 This algorithm can cause name collisions only if files in a directory
3567 share the same first five alphanumeric characters. The probability of
3568 such a clash is 1/1300.
3570 The name mangling (if enabled) allows a file to be copied between UNIX
3571 directories from Windows/DOS while retaining the long UNIX
3572 filename. UNIX files can be renamed to a new extension from
3573 Windows/DOS and will retain the same basename. Mangled names do not
3574 change between sessions.
3576   bf(Default:)
3577 tt(     mangled names = yes)
3579   bf(Example:)
3580 tt(     mangled names = no)
3582 label(manglingchar)
3583 dit(bf(mangling char (S)))
3585 This controls what character is used as the em("magic") character in
3586 link(bf(name mangling))(manglednames). The default is a tt('~') but
3587 this may interfere with some software. Use this option to set it to
3588 whatever you prefer.
3590   bf(Default:)
3591 tt(     mangling char = ~)
3593   bf(Example:)
3594 tt(     mangling char = ^)
3596 label(mangledstack)
3597 dit(bf(mangled stack (G)))
3599 This parameter controls the number of mangled names that should be
3600 cached in the Samba server url(bf(smbd))(smbd.8.html).
3602 This stack is a list of recently mangled base names (extensions are
3603 only maintained if they are longer than 3 characters or contains upper
3604 case characters).
3606 The larger this value, the more likely it is that mangled names can be
3607 successfully converted to correct long UNIX names. However, large
3608 stack sizes will slow most directory access. Smaller stacks save
3609 memory in the server (each stack element costs 256 bytes).
3611 It is not possible to absolutely guarantee correct long file names, so
3612 be prepared for some surprises!
3614   bf(Default:)
3615 tt(     mangled stack = 50)
3617   bf(Example:)
3618 tt(     mangled stack = 100)
3620 label(maparchive)
3621 dit(bf(map archive (S)))
3623 This controls whether the DOS archive attribute should be mapped to
3624 the UNIX owner execute bit.  The DOS archive bit is set when a file
3625 has been modified since its last backup.  One motivation for this
3626 option it to keep Samba/your PC from making any file it touches from
3627 becoming executable under UNIX.  This can be quite annoying for shared
3628 source code, documents, etc...
3630 Note that this requires the link(bf("create mask"))(createmask)
3631 parameter to be set such that owner execute bit is not masked out
3632 (i.e. it must include 100). See the parameter link(bf("create
3633 mask"))(createmask) for details.
3635   bf(Default:)
3636 tt(      map archive = yes)
3638   bf(Example:)
3639 tt(      map archive = no)
3641 label(maphidden)
3642 dit(bf(map hidden (S)))
3644 This controls whether DOS style hidden files should be mapped to the
3645 UNIX world execute bit.
3647 Note that this requires the link(bf("create mask"))(createmask) to be
3648 set such that the world execute bit is not masked out (i.e. it must
3649 include 001). See the parameter link(bf("create mask"))(createmask)
3650 for details.
3652   bf(Default:)
3653 tt(     map hidden = no)
3655   bf(Example:)
3656 tt(     map hidden = yes)
3658 label(mapsystem)
3659 dit(bf(map system (S)))
3661 This controls whether DOS style system files should be mapped to the
3662 UNIX group execute bit.
3664 Note that this requires the link(bf("create mask"))(createmask) to be
3665 set such that the group execute bit is not masked out (i.e. it must
3666 include 010). See the parameter link(bf("create mask"))(createmask)
3667 for details.
3669   bf(Default:)
3670 tt(     map system = no)
3672   bf(Example:)
3673 tt(     map system = yes)
3675 label(maptoguest)
3676 dit(bf(map to guest (G)))
3678 This parameter is only useful in link(bf(security))(security) modes
3679 other than link(bf("security=share"))(securityequalshare) - i.e. user,
3680 server, and domain.
3682 This parameter can take three different values, which tell
3683 url(bf(smbd))(smbd.8.html) what to do with user login requests that
3684 don't match a valid UNIX user in some way.
3686 The three settings are :
3688 startit()
3690 it() bf("Never") - Means user login requests with an invalid password
3691 are rejected. This is the default.
3693 it() bf("Bad User") - Means user logins with an invalid password are
3694 rejected, unless the username does not exist, in which case it is
3695 treated as a guest login and mapped into the link(bf("guest
3696 account"))(guestaccount).
3698 it() bf("Bad Password") - Means user logins with an invalid
3699 password are treated as a guest login and mapped into the
3700 link(bf("guest account"))(guestaccount). Note that this can
3701 cause problems as it means that any user incorrectly typing their
3702 password will be silently logged on a bf("guest") - and 
3703 will not know the reason they cannot access files they think
3704 they should - there will have been no message given to them
3705 that they got their password wrong. Helpdesk services will
3706 em(*hate*) you if you set the bf("map to guest") parameter
3707 this way :-).
3709 endit()
3711 Note that this parameter is needed to set up bf("Guest") share
3712 services when using link(bf(security))(security) modes other than
3713 share. This is because in these modes the name of the resource being
3714 requested is em(*not*) sent to the server until after the server has
3715 successfully authenticated the client so the server cannot make
3716 authentication decisions at the correct time (connection to the
3717 share) for bf("Guest") shares.
3719 For people familiar with the older Samba releases, this parameter
3720 maps to the old compile-time setting of the GUEST_SESSSETUP value
3721 in local.h.
3723   bf(Default:)
3724 tt(     map to guest = Never)
3725   bf(Example):
3726 tt(     map to guest = Bad User)
3728 label(maxconnections)
3729 dit(bf(max connections (S)))
3731 This option allows the number of simultaneous connections to a service
3732 to be limited. If bf("max connections") is greater than 0 then
3733 connections will be refused if this number of connections to the
3734 service are already open. A value of zero mean an unlimited number of
3735 connections may be made.
3737 Record lock files are used to implement this feature. The lock files
3738 will be stored in the directory specified by the link(bf("lock
3739 directory"))(lockdirectory) option.
3741   bf(Default:)
3742 tt(     max connections = 0)
3744   bf(Example:)
3745 tt(     max connections = 10)
3747 label(maxdisksize)
3748 dit(bf(max disk size (G)))
3750 This option allows you to put an upper limit on the apparent size of
3751 disks. If you set this option to 100 then all shares will appear to be
3752 not larger than 100 MB in size.
3754 Note that this option does not limit the amount of data you can put on
3755 the disk. In the above case you could still store much more than 100
3756 MB on the disk, but if a client ever asks for the amount of free disk
3757 space or the total disk size then the result will be bounded by the
3758 amount specified in bf("max disk size").
3760 This option is primarily useful to work around bugs in some pieces of
3761 software that can't handle very large disks, particularly disks over
3762 1GB in size.
3764 A bf("max disk size") of 0 means no limit.
3766   bf(Default:)
3767 tt(     max disk size = 0)
3769   bf(Example:)
3770 tt(     max disk size = 1000)
3772 label(maxlogsize)
3773 dit(bf(max log size (G)))
3775 This option (an integer in kilobytes) specifies the max size the log
3776 file should grow to. Samba periodically checks the size and if it is
3777 exceeded it will rename the file, adding a tt(".old") extension.
3779 A size of 0 means no limit.
3781   bf(Default:)
3782 tt(     max log size = 5000)
3784   bf(Example:)
3785 tt(     max log size = 1000)
3787 label(maxmux)
3788 dit(bf(max mux (G)))
3790 This option controls the maximum number of outstanding simultaneous
3791 SMB operations that samba tells the client it will allow. You should
3792 never need to set this parameter.
3794   bf(Default:)
3795 tt(     max mux = 50)
3797 label(maxopenfiles)
3798 dit(bf(max open files (G)))
3800 This parameter limits the maximum number of open files that one
3801 url(bf(smbd))(smbd.8.html) file serving process may have open for
3802 a client at any one time. The default for this parameter is set
3803 very high (10,000) as Samba uses only one bit per unopened file.
3805 The limit of the number of open files is usually set by the
3806 UNIX per-process file descriptor limit rather than this parameter
3807 so you should never need to touch this parameter.
3809   bf(Default:)
3810 tt(     max open files = 10000)
3812 label(maxpacket)
3813 dit(bf(max packet (G)))
3815 Synonym for link(bf("packet size"))(packetsize).
3817 label(maxttl)
3818 dit(bf(max ttl (G)))
3820 This option tells url(bf(nmbd))(nmbd.8.html) what the default 'time
3821 to live' of NetBIOS names should be (in seconds) when
3822 url(bf(nmbd))(nmbd.8.html) is requesting a name using either a
3823 broadcast packet or from a WINS server. You should never need to
3824 change this parameter. The default is 3 days.
3826   bf(Default:)
3827 tt(     max ttl = 259200)
3829 label(maxwinsttl)
3830 dit(bf(max wins ttl (G)))
3832 This option tells url(bf(nmbd))(nmbd.8.html) when acting as a WINS
3833 server link(bf((wins support =true)))(winssupport) what the maximum
3834 'time to live' of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
3835 grant will be (in seconds). You should never need to change this
3836 parameter.  The default is 6 days (518400 seconds).
3838 See also the link(bf("min wins ttl"))(minwinsttl) parameter.
3840   bf(Default:)
3841 tt(        max wins ttl = 518400)
3843 label(maxxmit)
3844 dit(bf(max xmit (G)))
3846 This option controls the maximum packet size that will be negotiated
3847 by Samba. The default is 65535, which is the maximum. In some cases
3848 you may find you get better performance with a smaller value. A value
3849 below 2048 is likely to cause problems.
3851   bf(Default:)
3852 tt(     max xmit = 65535)
3854   bf(Example:)
3855 tt(     max xmit = 8192)
3857 label(messagecommand)
3858 dit(bf(message command (G)))
3860 This specifies what command to run when the server receives a WinPopup
3861 style message.
3863 This would normally be a command that would deliver the message
3864 somehow. How this is to be done is up to your imagination.
3866 An example is:
3868 tt(   message command = csh -c 'xedit %s;rm %s' &)
3870 This delivers the message using bf(xedit), then removes it
3871 afterwards. em(NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN
3872 IMMEDIATELY). That's why I have the tt('&') on the end. If it doesn't
3873 return immediately then your PCs may freeze when sending messages
3874 (they should recover after 30secs, hopefully).
3876 All messages are delivered as the global guest user. The command takes
3877 the standard substitutions, although link(bf(%u))(percentu) won't work
3878 (link(bf(%U))(percentU) may be better in this case).
3880 Apart from the standard substitutions, some additional ones apply. In
3881 particular:
3883 startit()
3885 it() tt("%s") = the filename containing the message.
3887 it() tt("%t") = the destination that the message was sent to (probably the server
3888 name).
3890 it() tt("%f") = who the message is from.
3892 endit()
3894 You could make this command send mail, or whatever else takes your
3895 fancy. Please let us know of any really interesting ideas you have.
3897 Here's a way of sending the messages as mail to root:
3899 tt(message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s)
3901 If you don't have a message command then the message won't be
3902 delivered and Samba will tell the sender there was an
3903 error. Unfortunately WfWg totally ignores the error code and carries
3904 on regardless, saying that the message was delivered.
3906 If you want to silently delete it then try:
3908 tt("message command = rm %s").
3910   bf(Default:)
3911 tt(     no message command)
3913   bf(Example:)
3914 tt(        message command = csh -c 'xedit %s;rm %s' &)
3916 label(minprintspace)
3917 dit(bf(min print space (S)))
3919 This sets the minimum amount of free disk space that must be available
3920 before a user will be able to spool a print job. It is specified in
3921 kilobytes. The default is 0, which means a user can always spool a print
3922 job.
3924 See also the link(bf(printing))(printing) parameter.
3926   bf(Default:)
3927 tt(     min print space = 0)
3929   bf(Example:)
3930 tt(     min print space = 2000)
3932 label(minpasswdlength)
3933 dit(bf(min passwd length (G)))
3935 Synonym for link(bf("min password length"))(minpasswordlength).
3937 label(minpasswordlength)
3938 dit(bf(min password length (G)))
3940 This option sets the minimum length in characters of a plaintext password
3941 than smbd will accept when performing UNIX password changing.
3943 See also link(bf("unix password sync"))(unixpasswordsync),
3944 link(bf("passwd program"))(passwdprogram) and link(bf("passwd chat
3945 debug"))(passwdchatdebug).
3947   bf(Default:)
3948 tt(     min password length = 5)
3951 label(minwinsttl)
3952 dit(bf(min wins ttl (G)))
3954 This option tells url(bf(nmbd))(nmbd.8.html) when acting as a WINS
3955 server link(bf((wins support = true)))(winssupport) what the minimum
3956 'time to live' of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
3957 grant will be (in seconds). You should never need to change this
3958 parameter.  The default is 6 hours (21600 seconds).
3960   bf(Default:)
3961 tt(     min wins ttl = 21600)
3964 label(nameresolveorder)
3965 dit(bf(name resolve order (G)))
3967 This option is used by the programs in the Samba suite to determine
3968 what naming services and in what order to resolve host names to IP
3969 addresses. The option takes a space separated string of different name
3970 resolution options.
3972 The options are :"lmhosts", "host", "wins" and "bcast". They cause
3973 names to be resolved as follows :
3975 startit()
3977 it() bf(lmhosts) : Lookup an IP address in the Samba lmhosts file.
3978 If the line in lmhosts has no name type attached to the NetBIOS
3979 name (see the url(bf(lmhosts (5)))(lmhosts.5.html) for details) then
3980 any name type matches for lookup.
3982 it() bf(host) : Do a standard host name to IP address resolution,
3983 using the system /etc/hosts, NIS, or DNS lookups. This method of name
3984 resolution is operating system depended for instance on IRIX or
3985 Solaris this may be controlled by the em(/etc/nsswitch.conf) file).
3986 Note that this method is only used if the NetBIOS name type being
3987 queried is the 0x20 (server) name type, otherwise it is ignored.
3989 it() bf(wins) : Query a name with the IP address listed in the
3990 link(bf(wins server))(winsserver) parameter. If no WINS server has
3991 been specified this method will be ignored.
3993 it() bf(bcast) : Do a broadcast on each of the known local interfaces
3994 listed in the link(bf(interfaces))(interfaces) parameter. This is the
3995 least reliable of the name resolution methods as it depends on the
3996 target host being on a locally connected subnet.
3998 endit()
4000   bf(Default:)
4001 tt(     name resolve order = lmhosts host wins bcast)
4003   bf(Example:)
4004 tt(     name resolve order = lmhosts bcast host)
4006 This will cause the local lmhosts file to be examined first, followed
4007 by a broadcast attempt, followed by a normal system hostname lookup.
4009 label(netbiosaliases)
4010 dit(bf(netbios aliases (G)))
4012 This is a list of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
4013 advertise as additional names by which the Samba server is known. This
4014 allows one machine to appear in browse lists under multiple names. If
4015 a machine is acting as a link(bf(browse server))(localmaster) or
4016 link(bf(logon server))(domainlogons) none of these names will be
4017 advertised as either browse server or logon servers, only the primary
4018 name of the machine will be advertised with these capabilities.
4020 See also link(bf("netbios name"))(netbiosname).
4022   bf(Default:)
4023 tt(     empty string (no additional names))
4025   bf(Example:)
4026 tt(     netbios aliases = TEST TEST1 TEST2)
4028 label(netbiosname)
4029 dit(bf(netbios name (G)))
4031 This sets the NetBIOS name by which a Samba server is known. By
4032 default it is the same as the first component of the host's DNS name.
4033 If a machine is a link(bf(browse server))(localmaster) or
4034 link(bf(logon server))(domainlogons) this name (or the first component
4035 of the hosts DNS name) will be the name that these services are
4036 advertised under.
4038 See also link(bf("netbios aliases"))(netbiosaliases).
4040   bf(Default:)
4041 tt(     Machine DNS name.)
4043   bf(Example:)
4044 tt(     netbios name = MYNAME)
4046 label(netbiosscope)
4047 dit(bf(netbios scope (G)))
4049 This sets the NetBIOS scope that Samba will operate under. This should
4050 not be set unless every machine on your LAN also sets this value.
4052 label(nishomedir)
4053 dit(bf(nis homedir (G)))
4055 Get the home share server from a NIS map. For UNIX systems that use an
4056 automounter, the user's home directory will often be mounted on a
4057 workstation on demand from a remote server. 
4059 When the Samba logon server is not the actual home directory server,
4060 but is mounting the home directories via NFS then two network hops
4061 would be required to access the users home directory if the logon
4062 server told the client to use itself as the SMB server for home
4063 directories (one over SMB and one over NFS). This can be very
4064 slow.
4066 This option allows Samba to return the home share as being on a
4067 different server to the logon server and as long as a Samba daemon is
4068 running on the home directory server, it will be mounted on the Samba
4069 client directly from the directory server. When Samba is returning the
4070 home share to the client, it will consult the NIS map specified in
4071 link(bf("homedir map"))(homedirmap) and return the server listed
4072 there.
4074 Note that for this option to work there must be a working NIS
4075 system and the Samba server with this option must also be a
4076 link(bf(logon server))(domainlogons).
4078   bf(Default:)
4079 tt(     nis homedir = false)
4081   bf(Example:)
4082 tt(     nis homedir = true)
4084 label(ntaclsupport)
4085 dit(bf(nt acl support (G)))
4087 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4088 will attempt to map UNIX permissions into Windows NT access control lists.
4090   bf(Default:)
4091 tt(     nt acl support = yes)
4093   bf(Example:)
4094 tt(     nt acl support = no)
4096 label(ntpipesupport)
4097 dit(bf(nt pipe support (G)))
4099 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4100 will allow Windows NT clients to connect to the NT SMB specific
4101 tt(IPC$) pipes. This is a developer debugging option and can be left
4102 alone.
4104   bf(Default:)
4105 tt(     nt pipe support = yes)
4107 label(ntsmbsupport)
4108 dit(bf(nt smb support (G)))
4110 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4111 will negotiate NT specific SMB support with Windows NT
4112 clients. Although this is a developer debugging option and should be
4113 left alone, benchmarking has discovered that Windows NT clients give
4114 faster performance with this option set to tt("no"). This is still
4115 being investigated. If this option is set to tt("no") then Samba
4116 offers exactly the same SMB calls that versions prior to Samba2.0
4117 offered. This information may be of use if any users are having
4118 problems with NT SMB support.
4120   bf(Default:)
4121 tt(     nt support = yes)
4123 label(nullpasswords)
4124 dit(bf(null passwords (G)))
4126 Allow or disallow client access to accounts that have null passwords. 
4128 See also url(bf(smbpasswd (5)))(smbpasswd.5.html).
4130   bf(Default:)
4131 tt(     null passwords = no)
4133   bf(Example:)
4134 tt(     null passwords = yes)
4136 label(olelockingcompatibility)
4137 dit(bf(ole locking compatibility (G)))
4139 This parameter allows an administrator to turn off the byte range lock
4140 manipulation that is done within Samba to give compatibility for OLE
4141 applications. Windows OLE applications use byte range locking as a
4142 form of inter-process communication, by locking ranges of bytes around
4143 the 2^32 region of a file range. This can cause certain UNIX lock
4144 managers to crash or otherwise cause problems. Setting this parameter
4145 to tt("no") means you trust your UNIX lock manager to handle such cases
4146 correctly.
4148   bf(Default:)
4149 tt(     ole locking compatibility = yes)
4151   bf(Example:)
4152 tt(     ole locking compatibility = no)
4154 label(onlyguest)
4155 dit(bf(only guest (S)))
4157 A synonym for link(bf("guest only"))(guestonly).
4159 label(onlyuser)
4160 dit(bf(only user (S)))
4162 This is a boolean option that controls whether connections with
4163 usernames not in the link(bf(user=))(user) list will be allowed. By
4164 default this option is disabled so a client can supply a username to
4165 be used by the server.
4167 Note that this also means Samba won't try to deduce usernames from the
4168 service name. This can be annoying for the link(bf([homes]))(homes)
4169 section. To get around this you could use "link(bf(user))(user) =
4170 link(bf(%S))(percentS)" which means your link(bf("user"))(user) list
4171 will be just the service name, which for home directories is the name
4172 of the user.
4174 See also the link(bf(user))(user) parameter.
4176   bf(Default:)
4177 tt(     only user = False)
4179   bf(Example:)
4180 tt(     only user = True)
4182 label(oplocks)
4183 dit(bf(oplocks (S)))
4185 This boolean option tells smbd whether to issue oplocks (opportunistic
4186 locks) to file open requests on this share. The oplock code can
4187 dramatically (approx. 30% or more) improve the speed of access to files
4188 on Samba servers. It allows the clients to aggressively cache files
4189 locally and you may want to disable this option for unreliable network
4190 environments (it is turned on by default in Windows NT Servers).  For
4191 more information see the file Speed.txt in the Samba docs/ directory.
4193 Oplocks may be selectively turned off on certain files on a per share basis.
4194 See the 'veto oplock files' parameter. On some systems oplocks are recognized
4195 by the underlying operating system. This allows data synchronization between
4196 all access to oplocked files, whether it be via Samba or NFS or a local
4197 UNIX process. See the link(bf(kernel oplocks))(kerneloplocks) parameter
4198 for details.
4200 See also the link(bf("kernel oplocks"))(kerneloplocks) and
4201 link(bf("level2 oplocks"))(level2oplocks) parameters.
4203   bf(Default:)
4204 tt(     oplocks = True)
4206   bf(Example:)
4207 tt(     oplocks = False)
4209 label(oplockbreakwaittime)
4210 dit(bf(oplock break wait time (G)))
4212 This is a tuning parameter added due to bugs in both Windows 9x and WinNT.
4213 If Samba responds to a client too quickly when that client issues an SMB that
4214 can cause an oplock break request, then the client redirector can fail and
4215 not respond to the break request. This tuning parameter (which is set in
4216 milliseconds) is the amount of time Samba will wait before sending an
4217 oplock break request to such (broken) clients.
4219 em(DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA
4220 OPLOCK CODE).
4222   bf(Default:)
4223 tt(     oplock break wait time = 10)
4225 label(oplockcontentionlimit)
4226 dit(bf(oplock contention limit (S)))
4228 This is a em(very) advanced url(bf(smbd))(smbd.8.html) tuning option to improve
4229 the efficiency of the granting of oplocks under multiple client contention for the same file.
4231 In brief it specifies a number, which causes smbd not to grant an oplock even
4232 when requested if the approximate number of clients contending for an oplock on
4233 the same file goes over this limit. This causes url(bf(smbd))(smbd.8.html) to
4234 behave in a similar way to Windows NT.
4236 em(DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA
4237 OPLOCK CODE).
4239   bf(Default:)
4240 tt( oplock contention limit = 2)
4242 label(oslevel)
4243 dit(bf(os level (G)))
4245 This integer value controls what level Samba advertises itself as for
4246 browse elections. The value of this parameter determines whether
4247 url(bf(nmbd))(nmbd.8.html) has a chance of becoming a local master
4248 browser for the link(bf(WORKGROUP))(workgroup) in the local broadcast
4249 area. The default is zero, which means url(bf(nmbd))(nmbd.8.html) will
4250 lose elections to Windows machines. See BROWSING.txt in the Samba
4251 docs/ directory for details.
4253   bf(Default:)
4254 tt(     os level = 20)
4256   bf(Example:)
4257 tt(     os level = 65    ; This will win against any NT Server)
4259 label(packetsize)
4260 dit(bf(packet size (G)))
4262 This is a deprecated parameter that has no effect on the current
4263 Samba code. It is left in the parameter list to prevent breaking
4264 old bf(smb.conf) files.
4266 label(panicaction)
4267 dit(bf(panic action (G)))
4269 This is a Samba developer option that allows a system command to be
4270 called when either url(bf(smbd))(smbd.8.html) or
4271 url(bf(nmbd))(nmbd.8.html) crashes. This is usually used to draw
4272 attention to the fact that a problem occurred.
4274   bf(Default:)
4275 tt(     panic action = <empty string>)
4277 label(passwdchat)
4278 dit(bf(passwd chat (G)))
4280 This string controls the em("chat") conversation that takes places
4281 between url(bf(smbd))(smbd.8.html) and the local password changing
4282 program to change the users password. The string describes a sequence
4283 of response-receive pairs that url(bf(smbd))(smbd.8.html) uses to
4284 determine what to send to the link(bf(passwd))(passwdprogram) program
4285 and what to expect back. If the expected output is not received then
4286 the password is not changed.
4288 This chat sequence is often quite site specific, depending on what
4289 local methods are used for password control (such as NIS etc).
4291 The string can contain the macros tt("%o") and tt("%n") which are
4292 substituted for the old and new passwords respectively. It can also
4293 contain the standard macros tt("\n"), tt("\r"), tt("\t") and tt("\s")
4294 to give line-feed, carriage-return, tab and space.
4296 The string can also contain a tt('*') which matches any sequence of
4297 characters.
4299 Double quotes can be used to collect strings with spaces in them into
4300 a single string.
4302 If the send string in any part of the chat sequence is a fullstop
4303 tt(".")  then no string is sent. Similarly, is the expect string is a
4304 fullstop then no string is expected.
4306 Note that if the link(bf("unix password sync"))(unixpasswordsync)
4307 parameter is set to true, then this sequence is called em(*AS ROOT*)
4308 when the SMB password in the smbpasswd file is being changed, without
4309 access to the old password cleartext. In this case the old password
4310 cleartext is set to tt("") (the empty string).
4312 See also link(bf("unix password sync"))(unixpasswordsync),
4313 link(bf("passwd program"))(passwdprogram) and link(bf("passwd chat
4314 debug"))(passwdchatdebug).
4316   bf(Example:) 
4317 verb( passwd chat = "*Enter OLD password*" %o\n "*Enter NEW password*" %n\n \
4318                        "*Reenter NEW password*" %n\n "*Password changed*"
4321   bf(Default:)
4322 verb(       passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\n *changed*)
4324 label(passwdchatdebug)
4325 dit(bf(passwd chat debug (G)))
4327 This boolean specifies if the passwd chat script parameter is run in
4328 tt("debug") mode. In this mode the strings passed to and received from
4329 the passwd chat are printed in the url(bf(smbd))(smbd.8.html) log with
4330 a link(bf("debug level"))(debuglevel) of 100. This is a dangerous
4331 option as it will allow plaintext passwords to be seen in the
4332 url(bf(smbd))(smbd.8.html) log. It is available to help Samba admins
4333 debug their link(bf("passwd chat"))(passwdchat) scripts when calling
4334 the link(bf("passwd program"))(passwdprogram) and should be turned off
4335 after this has been done. This parameter is off by default.
4337 See also link(bf("passwd chat"))(passwdchat), link(bf("passwd
4338 program"))(passwdprogram).
4340   bf(Example:)
4341 tt(     passwd chat debug = True)
4343   bf(Default:)
4344 tt(     passwd chat debug = False)
4346 label(passwdprogram)
4347 dit(bf(passwd program (G)))
4349 The name of a program that can be used to set UNIX user passwords.
4350 Any occurrences of link(bf(%u))(percentu) will be replaced with the
4351 user name. The user name is checked for existence before calling the
4352 password changing program.
4354 Also note that many passwd programs insist in em("reasonable")
4355 passwords, such as a minimum length, or the inclusion of mixed case
4356 chars and digits. This can pose a problem as some clients (such as
4357 Windows for Workgroups) uppercase the password before sending it.
4359 em(Note) that if the link(bf("unix password sync"))(unixpasswordsync)
4360 parameter is set to tt("True") then this program is called em(*AS
4361 ROOT*) before the SMB password in the
4362 url(bf(smbpasswd))(smbpasswd.5.html) file is changed. If this UNIX
4363 password change fails, then url(bf(smbd))(smbd.8.html) will fail to
4364 change the SMB password also (this is by design).
4366 If the link(bf("unix password sync"))(unixpasswordsync) parameter is
4367 set this parameter em(MUST USE ABSOLUTE PATHS) for em(ALL) programs
4368 called, and must be examined for security implications. Note that by
4369 default link(bf("unix password sync"))(unixpasswordsync) is set to
4370 tt("False").
4372 See also link(bf("unix password sync"))(unixpasswordsync).
4374   bf(Default:)
4375 tt(     passwd program = /bin/passwd)
4377   bf(Example:)
4378 tt(     passwd program = /sbin/passwd %u)
4380 label(passwordlevel)
4381 dit(bf(password level (G)))
4383 Some client/server combinations have difficulty with mixed-case
4384 passwords.  One offending client is Windows for Workgroups, which for
4385 some reason forces passwords to upper case when using the LANMAN1
4386 protocol, but leaves them alone when using COREPLUS!
4388 This parameter defines the maximum number of characters that may be
4389 upper case in passwords.
4391 For example, say the password given was tt("FRED"). If bf(password
4392 level) is set to 1, the following combinations would be tried if
4393 tt("FRED") failed:
4395 tt("Fred"), tt("fred"), tt("fRed"), tt("frEd"), tt("freD")
4397 If bf(password level) was set to 2, the following combinations would
4398 also be tried: 
4400 tt("FRed"), tt("FrEd"), tt("FreD"), tt("fREd"), tt("fReD"),
4401 tt("frED"), tt(..)
4403 And so on.
4405 The higher value this parameter is set to the more likely it is that a
4406 mixed case password will be matched against a single case
4407 password. However, you should be aware that use of this parameter
4408 reduces security and increases the time taken to process a new
4409 connection.
4411 A value of zero will cause only two attempts to be made - the password
4412 as is and the password in all-lower case.
4414   bf(Default:)
4415 tt(     password level = 0)
4417   bf(Example:)
4418 tt(     password level = 4)
4420 label(passwordserver)
4421 dit(bf(password server (G)))
4423 By specifying the name of another SMB server (such as a WinNT box)
4424 with this option, and using link(bf("security = domain"))(security) or
4425 link(bf("security = server"))(security) you can get Samba to do all
4426 its username/password validation via a remote server.
4428 This options sets the name of the password server to use. It must be a
4429 NetBIOS name, so if the machine's NetBIOS name is different from its
4430 internet name then you may have to add its NetBIOS name to the lmhosts 
4431 file which is stored in the same directory as the bf(smb.conf) file.
4433 The name of the password server is looked up using the parameter
4434 link(bf("name resolve order="))(nameresolveorder) and so may resolved
4435 by any method and order described in that parameter.
4437 The password server much be a machine capable of using the "LM1.2X002"
4438 or the "LM NT 0.12" protocol, and it must be in user level security
4439 mode. 
4441 NOTE: Using a password server means your UNIX box (running Samba) is
4442 only as secure as your password server. em(DO NOT CHOOSE A PASSWORD
4443 SERVER THAT YOU DON'T COMPLETELY TRUST).
4445 Never point a Samba server at itself for password serving. This will
4446 cause a loop and could lock up your Samba server!
4448 The name of the password server takes the standard substitutions, but
4449 probably the only useful one is link(bf(%m))(percentm), which means
4450 the Samba server will use the incoming client as the password
4451 server. If you use this then you better trust your clients, and you
4452 better restrict them with hosts allow!
4454 If the link(bf("security"))(security) parameter is set to
4455 bf("domain"), then the list of machines in this option must be a list
4456 of Primary or Backup Domain controllers for the
4457 link(bf(Domain))(workgroup) or the character tt(*), as the Samba server is cryptographicly
4458 in that domain, and will use cryptographicly authenticated RPC calls
4459 to authenticate the user logging on. The advantage of using
4460 link(bf("security=domain"))(securityequaldomain) is that if you list
4461 several hosts in the bf("password server") option then
4462 url(bf(smbd))(smbd.8.html) will try each in turn till it finds one
4463 that responds. This is useful in case your primary server goes down.
4465 If the bf("password server") option is set to the character tt(*),
4466 then Samba will attempt to auto-locate the Primary or Backup Domain controllers
4467 to authenticate against by doing a query for the name tt(WORKGROUP<1C>)
4468 and then contacting each server returned in the list of IP addresses
4469 from the link(bf(name resolution))(nameresolveorder) source.
4471 If the link(bf("security"))(security) parameter is set to
4472 link(bf("server"))(securityequalserver), then there are different
4473 restrictions that link(bf("security=domain"))(securityequaldomain)
4474 doesn't suffer from:
4476 startit()
4478 it() You may list several password servers in the bf("password server")
4479 parameter, however if an url(bf(smbd))(smbd.8.html) makes a connection
4480 to a password server, and then the password server fails, no more
4481 users will be able to be authenticated from this
4482 url(bf(smbd))(smbd.8.html).  This is a restriction of the SMB/CIFS
4483 protocol when in link(bf("security=server"))(securityequalserver) mode
4484 and cannot be fixed in Samba.
4486 it() If you are using a Windows NT server as your password server then
4487 you will have to ensure that your users are able to login from the
4488 Samba server, as when in
4489 link(bf("security=server"))(securityequalserver) mode the network
4490 logon will appear to come from there rather than from the users
4491 workstation.
4493 endit()
4495 See also the link(bf("security"))(security) parameter.
4497   bf(Default:)
4498 tt(     password server = <empty string>)
4500   bf(Example:)
4501 tt(     password server = NT-PDC, NT-BDC1, NT-BDC2)
4503   bf(Example:)
4504 tt(     password server = *)
4506 label(path)
4507 dit(bf(path (S)))
4509 This parameter specifies a directory to which the user of the service
4510 is to be given access. In the case of printable services, this is
4511 where print data will spool prior to being submitted to the host for
4512 printing.
4514 For a printable service offering guest access, the service should be
4515 readonly and the path should be world-writeable and have the sticky bit
4516 set. This is not mandatory of course, but you probably won't get the
4517 results you expect if you do otherwise.
4519 Any occurrences of link(bf(%u))(percentu) in the path will be replaced
4520 with the UNIX username that the client is using on this
4521 connection. Any occurrences of link(bf(%m))(percentm) will be replaced
4522 by the NetBIOS name of the machine they are connecting from. These
4523 replacements are very useful for setting up pseudo home directories
4524 for users.
4526 Note that this path will be based on link(bf("root dir"))(rootdir) if
4527 one was specified.
4529   bf(Default:)
4530 tt(     none)
4532   bf(Example:)
4533 tt(     path = /home/fred)
4535 label(postexec)
4536 dit(bf(postexec (S)))
4538 This option specifies a command to be run whenever the service is
4539 disconnected. It takes the usual substitutions. The command may be run
4540 as the root on some systems.
4542 An interesting example may be do unmount server resources:
4544 tt(postexec = /etc/umount /cdrom)
4546 See also link(bf(preexec))(preexec).
4548   bf(Default:)
4549 tt(      none (no command executed))
4551   bf(Example:)
4552 tt(      postexec = echo "%u disconnected from %S from %m (%I)" >> /tmp/log)
4554 label(postscript)
4555 dit(bf(postscript (S)))
4557 This parameter forces a printer to interpret the print files as
4558 postscript. This is done by adding a tt(%!) to the start of print output.
4560 This is most useful when you have lots of PCs that persist in putting
4561 a control-D at the start of print jobs, which then confuses your
4562 printer.
4564   bf(Default:)
4565 tt(     postscript = False)
4567   bf(Example:)
4568 tt(     postscript = True)
4570 label(preexec)
4571 dit(bf(preexec (S)))
4573 This option specifies a command to be run whenever the service is
4574 connected to. It takes the usual substitutions.
4576 An interesting example is to send the users a welcome message every
4577 time they log in. Maybe a message of the day? Here is an example:
4579 verb(
4580         preexec = csh -c 'echo \"Welcome to %S!\" | \
4581                 /usr/local/samba/bin/smbclient -M %m -I %I' &
4584 Of course, this could get annoying after a while :-)
4586 See also link(bf(preexec close))(preexecclose) and link(bf(postexec))(postexec).
4588   bf(Default:)
4589 tt(     none (no command executed))
4591   bf(Example:)
4592 tt(        preexec = echo \"%u connected to %S from %m (%I)\" >> /tmp/log)
4594 label(preexecclose)
4595 dit(bf(preexec close (S)))
4597 This boolean option controls whether a non-zero return code from
4598 link(bf("preexec"))(preexec) should close the service being connected to.
4600   bf(Default:)
4601 tt(     preexec close = no)
4603   bf(Example:)
4604 tt(     preexec close = yes)
4606 label(preferredmaster)
4607 dit(bf(preferred master (G)))
4609 This boolean parameter controls if url(bf(nmbd))(nmbd.8.html) is a
4610 preferred master browser for its workgroup.
4612 If this is set to true, on startup, url(bf(nmbd))(nmbd.8.html) will
4613 force an election, and it will have a slight advantage in winning the
4614 election.  It is recommended that this parameter is used in
4615 conjunction with link(bf("domain master = yes"))(domainmaster), so
4616 that url(bf(nmbd))(nmbd.8.html) can guarantee becoming a domain
4617 master.
4619 Use this option with caution, because if there are several hosts
4620 (whether Samba servers, Windows 95 or NT) that are preferred master
4621 browsers on the same subnet, they will each periodically and
4622 continuously attempt to become the local master browser.  This will
4623 result in unnecessary broadcast traffic and reduced browsing
4624 capabilities.
4626 See also link(bf(os level))(oslevel).
4628   bf(Default:)
4629 tt(     preferred master = no)
4631   bf(Example:)
4632 tt(     preferred master = yes)
4634 label(preferedmaster)
4635 dit(bf(prefered master (G)))
4637 Synonym for link(bf("preferred master"))(preferredmaster) for people
4638 who cannot spell :-).
4640 label(preload)
4641 dit(bf(preload))
4642 Synonym for link(bf("auto services"))(autoservices).
4644 label(preservecase)
4645 dit(bf(preserve case (S)))
4647 This controls if new filenames are created with the case that the
4648 client passes, or if they are forced to be the tt("default") case.
4650   bf(Default:)
4651 tt(       preserve case = yes)
4653 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING) for a
4654 fuller discussion.
4656 label(printcommand)
4657 dit(bf(print command (S)))
4659 After a print job has finished spooling to a service, this command
4660 will be used via a tt(system()) call to process the spool
4661 file. Typically the command specified will submit the spool file to
4662 the host's printing subsystem, but there is no requirement that this
4663 be the case. The server will not remove the spool file, so whatever
4664 command you specify should remove the spool file when it has been
4665 processed, otherwise you will need to manually remove old spool files.
4667 The print command is simply a text string. It will be used verbatim,
4668 with two exceptions: All occurrences of tt("%s") and tt("%f") will be
4669 replaced by the appropriate spool file name, and all occurrences of
4670 tt("%p") will be replaced by the appropriate printer name. The spool
4671 file name is generated automatically by the server, the printer name
4672 is discussed below.
4674 The print command em(MUST) contain at least one occurrence of tt("%s")
4675 or tt("%f") - the tt("%p") is optional. At the time a job is
4676 submitted, if no printer name is supplied the tt("%p") will be
4677 silently removed from the printer command.
4679 If specified in the link(bf("[global]"))(global) section, the print
4680 command given will be used for any printable service that does not
4681 have its own print command specified.
4683 If there is neither a specified print command for a printable service
4684 nor a global print command, spool files will be created but not
4685 processed and (most importantly) not removed.
4687 Note that printing may fail on some UNIXs from the tt("nobody")
4688 account. If this happens then create an alternative guest account that
4689 can print and set the link(bf("guest account"))(guestaccount) in the
4690 link(bf("[global]"))(global) section.
4692 You can form quite complex print commands by realizing that they are
4693 just passed to a shell. For example the following will log a print
4694 job, print the file, then remove it. Note that tt(';') is the usual
4695 separator for command in shell scripts.
4697 tt(print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s)
4699 You may have to vary this command considerably depending on how you
4700 normally print files on your system. The default for the parameter
4701 varies depending on the setting of the link(bf("printing="))(printing)
4702 parameter.
4704   bf(Default:)
4705         For link(bf("printing="))(printing) BSD, AIX, QNX, LPRNG or PLP :
4706 tt(     print command = lpr -r -P%p %s)
4708         For link(bf("printing="))(printing) SYS or HPUX :
4709 tt(     print command = lp -c -d%p %s; rm %s)
4711         For link(bf("printing="))(printing) SOFTQ :
4712 tt(     print command = lp -d%p -s %s; rm %s)
4714   bf(Example:)
4715 tt(     print command = /usr/local/samba/bin/myprintscript %p %s)
4717 label(printok)
4718 dit(bf(print ok (S)))
4720 Synonym for link(bf(printable))(printable).
4722 label(printable)
4723 dit(bf(printable (S)))
4725 If this parameter is tt("yes"), then clients may open, write to and
4726 submit spool files on the directory specified for the service.
4728 Note that a printable service will ALWAYS allow writing to the service
4729 path (user privileges permitting) via the spooling of print data. The
4730 link(bf("writeable"))(writeable) parameter controls only non-printing
4731 access to the resource.
4733   bf(Default:)
4734 tt(     printable = no)
4736   bf(Example:)
4737 tt(     printable = yes)
4739 label(printcap)
4740 dit(bf(printcap (G)))
4742 Synonym for link(bf(printcapname))(printcapname).
4744 label(printer admin)
4745 dit(bf(printer admin (S)))
4747 This is a list of users that can do anything to printers via the
4748 remote administration interfaces offered by MSRPC (usually using a NT
4749 workstation). Note that the root user always has admin rights.
4751   bf(Default:)
4752 tt(     printer admin = <empty string>)
4754   bf(Example:)
4755 tt(     printer admin = admin, @staff)
4757 label(printcapname)
4758 dit(bf(printcap name (G)))
4760 This parameter may be used to override the compiled-in default
4761 printcap name used by the server (usually /etc/printcap). See the
4762 discussion of the link(bf([printers]))(printers) section above for
4763 reasons why you might want to do this.
4765 On System V systems that use bf(lpstat) to list available printers you
4766 can use tt("printcap name = lpstat") to automatically obtain lists of
4767 available printers. This is the default for systems that define SYSV
4768 at configure time in Samba (this includes most System V based
4769 systems). If bf("printcap name") is set to bf(lpstat) on these systems
4770 then Samba will launch tt("lpstat -v") and attempt to parse the output
4771 to obtain a printer list.
4773 A minimal printcap file would look something like this:
4775 verb(
4776         print1|My Printer 1
4777         print2|My Printer 2
4778         print3|My Printer 3
4779         print4|My Printer 4
4780         print5|My Printer 5
4783 where the tt('|') separates aliases of a printer. The fact that the
4784 second alias has a space in it gives a hint to Samba that it's a
4785 comment.
4787 em(NOTE): Under AIX the default printcap name is
4788 tt("/etc/qconfig"). Samba will assume the file is in AIX tt("qconfig")
4789 format if the string tt("/qconfig") appears in the printcap filename.
4791   bf(Default:)
4792 tt(     printcap name = /etc/printcap)
4794   bf(Example:)
4795 tt(     printcap name = /etc/myprintcap)
4797 label(printer)
4798 dit(bf(printer (S)))
4800 This parameter specifies the name of the printer to which print jobs
4801 spooled through a printable service will be sent.
4803 If specified in the link(bf([global]))(global) section, the printer
4804 name given will be used for any printable service that does not have
4805 its own printer name specified.
4807   bf(Default:)
4808         none (but may be tt("lp") on many systems)
4810   bf(Example:)
4811         printer name = laserwriter
4813 label(printerdriver)
4814 dit(bf(printer driver (S)))
4816 This option allows you to control the string that clients receive when
4817 they ask the server for the printer driver associated with a
4818 printer. If you are using Windows95 or WindowsNT then you can use this
4819 to automate the setup of printers on your system.
4821 You need to set this parameter to the exact string (case sensitive)
4822 that describes the appropriate printer driver for your system. If you
4823 don't know the exact string to use then you should first try with no
4824 bf("printer driver") option set and the client will give you a list of
4825 printer drivers. The appropriate strings are shown in a scrollbox
4826 after you have chosen the printer manufacturer.
4828 See also link(bf("printer driver file"))(printerdriverfile).
4830   bf(Example:)
4831         printer driver = HP LaserJet 4L
4833 label(printerdriverfile)
4834 dit(bf(printer driver file (G)))
4836 This parameter tells Samba where the printer driver definition file,
4837 used when serving drivers to Windows 95 clients, is to be found. If
4838 this is not set, the default is :
4840 tt(SAMBA_INSTALL_DIRECTORY/lib/printers.def)
4842 This file is created from Windows 95 tt("msprint.def") files found on
4843 the Windows 95 client system. For more details on setting up serving
4844 of printer drivers to Windows 95 clients, see the documentation file
4845 in the docs/ directory, PRINTER_DRIVER.txt.
4847   bf(Default:)
4848 tt(     None (set in compile).)
4850   bf(Example:)
4851 tt(     printer driver file = /usr/local/samba/printers/drivers.def)
4853 See also link(bf("printer driver location"))(printerdriverlocation).
4855 label(printerdriverlocation)
4856 dit(bf(printer driver location (S)))
4858 This parameter tells clients of a particular printer share where to
4859 find the printer driver files for the automatic installation of
4860 drivers for Windows 95 machines. If Samba is set up to serve printer
4861 drivers to Windows 95 machines, this should be set to
4863 tt(\\MACHINE\PRINTER$)
4865 Where MACHINE is the NetBIOS name of your Samba server, and PRINTER$
4866 is a share you set up for serving printer driver files. For more
4867 details on setting this up see the documentation file in the docs/
4868 directory, PRINTER_DRIVER.txt.
4870   bf(Default:)
4871 tt(     None)
4873   bf(Example:)
4874 tt(     printer driver location = \\MACHINE\PRINTER$)
4876 See also link(bf("printer driver file"))(printerdriverfile).
4878 label(printername)
4879 dit(bf(printer name (S)))
4881 Synonym for link(bf(printer))(printer).
4883 label(printing)
4884 dit(bf(printing (S)))
4886 This parameters controls how printer status information is interpreted
4887 on your system. It also affects the default values for the
4888 link(bf("print command"))(printcommand), link(bf("lpq
4889 command"))(lpqcommand) link(bf("lppause command"))(lppausecommand),
4890 link(bf("lpresume command"))(lpresumecommand), and link(bf("lprm
4891 command"))(lprmcommand) if specified in the link(bf([global]))(global)
4892 section.
4894 Currently eight printing styles are supported. They are
4895 bf("printing=BSD"), bf("printing=AIX"), 
4896 bf("printing=LPRNG"), bf("printing=PLP"), bf("printing=SYSV"), 
4897 bf("printing="HPUX"), bf("printing=QNX"), bf("printing=SOFTQ"),
4898 and bf("printing=CUPS").
4900 To see what the defaults are for the other print commands when using
4901 the various options use the url(bf("testparm"))(testparm.1.html) program.
4903 This option can be set on a per printer basis
4905 See also the discussion in the link(bf([printers]))(printers) section.
4907 label(protocol)
4908 dit(bf(protocol (G)))
4910 The value of the parameter (a string) is the highest protocol level
4911 that will be supported by the server.
4913 Possible values are :
4915 startit()
4917 it() CORE: Earliest version. No concept of user names.
4919 it() COREPLUS: Slight improvements on CORE for efficiency.
4921 it() LANMAN1: First em("modern") version of the protocol. Long
4922 filename support.
4924 it() LANMAN2: Updates to Lanman1 protocol.
4926 it() NT1: Current up to date version of the protocol. Used by Windows
4927 NT. Known as CIFS.
4929 endit()
4931 Normally this option should not be set as the automatic negotiation
4932 phase in the SMB protocol takes care of choosing the appropriate
4933 protocol.
4935   bf(Default:)
4936 tt(     protocol = NT1)
4938   bf(Example:)
4939 tt(     protocol = LANMAN1)
4941 label(public)
4942 dit(bf(public (S)))
4944 Synonym for link(bf("guest ok"))(guestok).
4946 label(queuepausecommand)
4947 dit(bf(queuepause command (S)))
4949 This parameter specifies the command to be executed on the server host
4950 in order to pause the printerqueue.
4952 This command should be a program or script which takes a printer name
4953 as its only parameter and stops the printerqueue, such that no longer
4954 jobs are submitted to the printer.
4956 This command is not supported by Windows for Workgroups, but can be
4957 issued from the Printer's window under Windows 95 & NT.
4959 If a tt("%p") is given then the printername is put in its
4960 place. Otherwise it is placed at the end of the command.
4962 Note that it is good practice to include the absolute path in the
4963 command as the PATH may not be available to the server.
4965   bf(Default:)
4966 tt(        depends on the setting of "printing =")
4968   bf(Example:)
4969 tt(      queuepause command = disable %p)
4971 label(queueresumecommand)
4972 dit(bf(queueresume command (S)))
4974 This parameter specifies the command to be executed on the server host
4975 in order to resume the printerqueue. It is the command to undo the
4976 behavior that is caused by the previous parameter
4977 (link(bf("queuepause command))(queuepausecommand)).
4979 This command should be a program or script which takes a printer name
4980 as its only parameter and resumes the printerqueue, such that queued
4981 jobs are resubmitted to the printer.
4983 This command is not supported by Windows for Workgroups, but can be
4984 issued from the Printer's window under Windows 95 & NT.
4986 If a tt("%p") is given then the printername is put in its
4987 place. Otherwise it is placed at the end of the command.
4989 Note that it is good practice to include the absolute path in the
4990 command as the PATH may not be available to the server.
4992   bf(Default:)
4993 tt(        depends on the setting of "printing =")
4995   bf(Example:)
4996 tt(      queuepause command = enable %p)
4998 label(read bmpx)
4999 dit(bf(read bmpx (G)))
5001 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
5002 will support the "Read Block Multiplex" SMB. This is now rarely used
5003 and defaults to off. You should never need to set this parameter.
5005   bf(Default:)
5006         read bmpx = No
5008 label(readlist)
5009 dit(bf(read list (S)))
5011 This is a list of users that are given read-only access to a
5012 service. If the connecting user is in this list then they will not be
5013 given write access, no matter what the link(bf("writeable"))(writeable)
5014 option is set to. The list can include group names using the syntax
5015 described in the link(bf("invalid users"))(invalidusers) parameter.
5017 See also the link(bf("write list"))(writelist) parameter and
5018 the link(bf("invalid users"))(invalidusers) parameter.
5020   bf(Default:)
5021 tt(     read list = <empty string>)
5023   bf(Example:)
5024 tt(     read list = mary, @students)
5026 label(readonly)
5027 dit(bf(read only (S)))
5029 Note that this is an inverted synonym for
5030 link(bf("writeable"))(writeable).
5032 label(readprediction)
5033 dit(bf(read prediction (G)))
5035 em(NOTE): This code is currently disabled in Samba2.0 and
5036 may be removed at a later date. Hence this parameter has
5037 no effect.
5039 This options enables or disables the read prediction code used to
5040 speed up reads from the server. When enabled the server will try to
5041 pre-read data from the last accessed file that was opened read-only
5042 while waiting for packets.
5044   bf(Default:)
5045 tt(     read prediction = False)
5047 label(readraw)
5048 dit(bf(read raw (G)))
5050 This parameter controls whether or not the server will support the raw
5051 read SMB requests when transferring data to clients.
5053 If enabled, raw reads allow reads of 65535 bytes in one packet. This
5054 typically provides a major performance benefit.
5056 However, some clients either negotiate the allowable block size
5057 incorrectly or are incapable of supporting larger block sizes, and for
5058 these clients you may need to disable raw reads.
5060 In general this parameter should be viewed as a system tuning tool and left
5061 severely alone. See also link(bf("write raw"))(writeraw).
5063   bf(Default:)
5064 tt(     read raw = yes)
5066 label(readsize)
5067 dit(bf(read size (G)))
5069 The option bf("read size") affects the overlap of disk reads/writes
5070 with network reads/writes. If the amount of data being transferred in
5071 several of the SMB commands (currently SMBwrite, SMBwriteX and
5072 SMBreadbraw) is larger than this value then the server begins writing
5073 the data before it has received the whole packet from the network, or
5074 in the case of SMBreadbraw, it begins writing to the network before
5075 all the data has been read from disk.
5077 This overlapping works best when the speeds of disk and network access
5078 are similar, having very little effect when the speed of one is much
5079 greater than the other.
5081 The default value is 16384, but very little experimentation has been
5082 done yet to determine the optimal value, and it is likely that the
5083 best value will vary greatly between systems anyway. A value over
5084 65536 is pointless and will cause you to allocate memory
5085 unnecessarily.
5087   bf(Default:)
5088 tt(     read size = 16384)
5090   bf(Example:)
5091 tt(     read size = 8192)
5093 label(remoteannounce)
5094 dit(bf(remote announce (G)))
5096 This option allows you to setup url(bf(nmbd))(nmbd.8.html) to
5097 periodically announce itself to arbitrary IP addresses with an
5098 arbitrary workgroup name.
5100 This is useful if you want your Samba server to appear in a remote
5101 workgroup for which the normal browse propagation rules don't
5102 work. The remote workgroup can be anywhere that you can send IP
5103 packets to.
5105 For example:
5107 tt(     remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF)
5109 the above line would cause nmbd to announce itself to the two given IP
5110 addresses using the given workgroup names. If you leave out the
5111 workgroup name then the one given in the
5112 link(bf("workgroup"))(workgroup) parameter is used instead.
5114 The IP addresses you choose would normally be the broadcast addresses
5115 of the remote networks, but can also be the IP addresses of known
5116 browse masters if your network config is that stable.
5118 See the documentation file BROWSING.txt in the docs/ directory.
5120   bf(Default:)
5121 tt(     remote announce = <empty string>)
5123   bf(Example:)
5124 tt(     remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF)
5126 label(remotebrowsesync)
5127 dit(bf(remote browse sync (G)))
5129 This option allows you to setup url(bf(nmbd))(nmbd.8.html) to
5130 periodically request synchronization of browse lists with the master
5131 browser of a samba server that is on a remote segment. This option
5132 will allow you to gain browse lists for multiple workgroups across
5133 routed networks. This is done in a manner that does not work with any
5134 non-samba servers.
5136 This is useful if you want your Samba server and all local clients to
5137 appear in a remote workgroup for which the normal browse propagation
5138 rules don't work. The remote workgroup can be anywhere that you can
5139 send IP packets to.
5141 For example:
5143 tt(     remote browse sync = 192.168.2.255 192.168.4.255)
5145 the above line would cause url(bf(nmbd))(nmbd.8.html) to request the
5146 master browser on the specified subnets or addresses to synchronize
5147 their browse lists with the local server.
5149 The IP addresses you choose would normally be the broadcast addresses
5150 of the remote networks, but can also be the IP addresses of known
5151 browse masters if your network config is that stable. If a machine IP
5152 address is given Samba makes NO attempt to validate that the remote
5153 machine is available, is listening, nor that it is in fact the browse
5154 master on it's segment.
5156   bf(Default:)
5157 tt(     remote browse sync = <empty string>)
5159   bf(Example:)
5160 tt(     remote browse sync = 192.168.2.255 192.168.4.255)
5163 label(restrict anonymous)
5164 dit(bf(restrict anonymous (G)))
5166 This is a boolean parameter.  If it is true, then anonymous access
5167 to the server will be restricted, namely in the case where the server
5168 is expecting the client to send a username, but it doesn't.  Setting
5169 it to true will force these anonymous connections to be denied, and
5170 the client will be required to always supply a username and password
5171 when connecting. Use of this parameter is only recommened for homogenous 
5172 NT client environments.
5174 This parameter makes the use of macro expansions that rely
5175 on the username (%U, %G, etc) consistant.  NT 4.0 likes to use
5176 anonymous connections when refreshing the share list, and this
5177 is a way to work around that.
5179 When restrict anonymous is true, all anonymous connections are denied
5180 no matter what they are for.  This can effect the ability of a machine
5181 to access the samba Primary Domain Controller to revalidate it's machine
5182 account after someone else has logged on the client interactively.  The
5183 NT client will display a message saying that the machine's account in 
5184 the domain doesn't exist or the password is bad.  The best way to deal 
5185 with this is to reboot NT client machines between interactive logons, 
5186 using "Shutdown and Restart", rather than "Close all programs and logon 
5187 as a different user".
5189   bf(Default:)
5190 tt(     restrict anonymous = false)
5192   bf(Example:)
5193 tt(     restrict anonymous = true)
5195 label(root)
5196 dit(bf(root (G)))
5198 Synonym for link(bf("root directory"))(rootdirectory).
5200 label(rootdir)
5201 dit(bf(root dir (G)))
5203 Synonym for link(bf("root directory"))(rootdirectory).
5205 label(rootdirectory)
5206 dit(bf(root directory (G)))
5208 The server will tt("chroot()") (i.e. Change it's root directory) to
5209 this directory on startup. This is not strictly necessary for secure
5210 operation. Even without it the server will deny access to files not in
5211 one of the service entries. It may also check for, and deny access to,
5212 soft links to other parts of the filesystem, or attempts to use
5213 tt("..") in file names to access other directories (depending on the
5214 setting of the link(bf("wide links"))(widelinks) parameter).
5216 Adding a bf("root directory") entry other than tt("/") adds an extra
5217 level of security, but at a price. It absolutely ensures that no
5218 access is given to files not in the sub-tree specified in the bf("root
5219 directory") option, em(*including*) some files needed for complete
5220 operation of the server. To maintain full operability of the server
5221 you will need to mirror some system files into the bf("root
5222 directory") tree. In particular you will need to mirror /etc/passwd
5223 (or a subset of it), and any binaries or configuration files needed
5224 for printing (if required). The set of files that must be mirrored is
5225 operating system dependent.
5227   bf(Default:)
5228 tt(     root directory = /)
5230 bf(Example:)
5231 tt(     root directory = /homes/smb)
5233 label(rootpostexec)
5234 dit(bf(root postexec (S)))
5236 This is the same as the link(bf("postexec"))(postexec) parameter
5237 except that the command is run as root. This is useful for unmounting
5238 filesystems (such as cdroms) after a connection is closed.
5240 See also link(bf("postexec"))(postexec).
5242 label(rootpreexec)
5243 dit(bf(root preexec (S)))
5245 This is the same as the link(bf("preexec"))(preexec) parameter except
5246 that the command is run as root. This is useful for mounting
5247 filesystems (such as cdroms) before a connection is finalized.
5249 See also link(bf("preexec"))(preexec)
5250 and link(bf("root preexec close"))(rootpreexecclose).
5252 label(rootpreexecclose)
5253 dit(bf(root preexec close (S)))
5255 This is the same as the link(bf("preexec close"))(preexecclose) parameter
5256 except that the command is run as root.
5258 See also link(bf("preexec"))(preexec), link(bf("preexec close"))(preexecclose).
5260 label(security)
5261 dit(bf(security (G)))
5263 This option affects how clients respond to Samba and is one of the most
5264 important settings in the bf(smb.conf) file.
5266 The option sets the tt("security mode bit") in replies to protocol
5267 negotiations with url(bf(smbd))(smbd.8.html) to turn share level
5268 security on or off. Clients decide based on this bit whether (and how)
5269 to transfer user and password information to the server.
5271 The default is link("security=user")(securityequaluser), as this is
5272 the most common setting needed when talking to Windows 98 and Windows
5275 The alternatives are link(bf("security = share"))(securityequalshare),
5276 link(bf("security = server"))(securityequalserver) or
5277 link(bf("security=domain"))(securityequaldomain).
5279 em(*****NOTE THAT THIS DEFAULT IS DIFFERENT IN SAMBA2.0 THAN FOR
5280 PREVIOUS VERSIONS OF SAMBA *******).
5282 In previous versions of Samba the default was
5283 link(bf("security=share"))(securityequalshare) mainly because that was
5284 the only option at one stage.
5286 There is a bug in WfWg that has relevance to this setting. When in
5287 user or server level security a WfWg client will totally ignore the
5288 password you type in the "connect drive" dialog box. This makes it
5289 very difficult (if not impossible) to connect to a Samba service as
5290 anyone except the user that you are logged into WfWg as.
5292 If your PCs use usernames that are the same as their usernames on the
5293 UNIX machine then you will want to use bf("security = user"). If you
5294 mostly use usernames that don't exist on the UNIX box then use
5295 bf("security = share").
5297 You should also use link(bf(security=share))(securityequalshare) if
5298 you want to mainly setup shares without a password (guest
5299 shares). This is commonly used for a shared printer server. It is more
5300 difficult to setup guest shares with
5301 link(bf(security=user))(securityequaluser), see the link(bf("map to
5302 guest"))(maptoguest)parameter for details.
5304 It is possible to use url(bf(smbd))(smbd.8.html) in a em("hybrid
5305 mode") where it is offers both user and share level security under
5306 different link(bf(NetBIOS aliases))(netbiosaliases). See the
5307 link(bf(NetBIOS aliases))(netbiosaliases) and the
5308 link(bf(include))(include) parameters for more information.
5310 The different settings will now be explained.
5312 startdit()
5314 label(securityequalshare)
5315 dit(bf("security=share")) When clients connect to a share level
5316 security server then need not log onto the server with a valid
5317 username and password before attempting to connect to a shared
5318 resource (although modern clients such as Windows 95/98 and Windows NT
5319 will send a logon request with a username but no password when talking
5320 to a bf(security=share) server). Instead, the clients send
5321 authentication information (passwords) on a per-share basis, at the
5322 time they attempt to connect to that share.
5324 Note that url(bf(smbd))(smbd.8.html) em(*ALWAYS*) uses a valid UNIX
5325 user to act on behalf of the client, even in bf("security=share")
5326 level security.
5328 As clients are not required to send a username to the server
5329 in share level security, url(bf(smbd))(smbd.8.html) uses several
5330 techniques to determine the correct UNIX user to use on behalf
5331 of the client.
5333 A list of possible UNIX usernames to match with the given
5334 client password is constructed using the following methods :
5336 startit()
5338 it() If the link(bf("guest only"))(guestonly) parameter is set, then
5339 all the other stages are missed and only the link(bf("guest
5340 account"))(guestaccount) username is checked.
5342 it() Is a username is sent with the share connection request, then
5343 this username (after mapping - see link(bf("username
5344 map"))(usernamemap)), is added as a potential username.
5346 it() If the client did a previous em("logon") request (the
5347 SessionSetup SMB call) then the username sent in this SMB
5348 will be added as a potential username.
5350 it() The name of the service the client requested is added
5351 as a potential username.
5353 it() The NetBIOS name of the client is added to the list as a
5354 potential username.
5356 it() Any users on the link(bf("user"))(user) list are added
5357 as potential usernames.
5359 endit()
5361 If the link(bf("guest only"))(guestonly) parameter is not set, then
5362 this list is then tried with the supplied password. The first user for
5363 whom the password matches will be used as the UNIX user.
5365 If the link(bf("guest only"))(guestonly) parameter is set, or no
5366 username can be determined then if the share is marked as available to
5367 the link(bf("guest account"))(guestaccount), then this guest user will
5368 be used, otherwise access is denied.
5370 Note that it can be em(*very*) confusing in share-level security as to
5371 which UNIX username will eventually be used in granting access.
5373 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5374 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5376 label(securityequaluser)
5377 dit(bf("security=user"))
5379 This is the default security setting in Samba2.0. With user-level
5380 security a client must first tt("log-on") with a valid username and
5381 password (which can be mapped using the link(bf("username
5382 map"))(usernamemap) parameter). Encrypted passwords (see the
5383 link(bf("encrypted passwords"))(encryptpasswords) parameter) can also
5384 be used in this security mode. Parameters such as
5385 link(bf("user"))(user) and link(bf("guest only"))(guestonly), if set
5386 are then applied and may change the UNIX user to use on this
5387 connection, but only after the user has been successfully
5388 authenticated.
5390 em(Note) that the name of the resource being requested is
5391 em(*not*) sent to the server until after the server has successfully
5392 authenticated the client. This is why guest shares don't work in user
5393 level security without allowing the server to automatically map unknown
5394 users into the link(bf("guest account"))(guestaccount). See the
5395 link(bf("map to guest"))(maptoguest) parameter for details on
5396 doing this.
5398 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5399 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5401 label(securityequalserver)
5402 dit(bf("security=server"))
5404 In this mode Samba will try to validate the username/password by
5405 passing it to another SMB server, such as an NT box. If this fails it
5406 will revert to bf("security = user"), but note that if encrypted
5407 passwords have been negotiated then Samba cannot revert back to
5408 checking the UNIX password file, it must have a valid smbpasswd file
5409 to check users against. See the documentation file in the docs/
5410 directory ENCRYPTION.txt for details on how to set this up.
5412 em(Note) that from the clients point of view bf("security=server") is
5413 the same as link(bf("security=user"))(securityequaluser). It only
5414 affects how the server deals with the authentication, it does not in
5415 any way affect what the client sees.
5417 em(Note) that the name of the resource being requested is
5418 em(*not*) sent to the server until after the server has successfully
5419 authenticated the client. This is why guest shares don't work in server
5420 level security without allowing the server to automatically map unknown
5421 users into the link(bf("guest account"))(guestaccount). See the
5422 link(bf("map to guest"))(maptoguest) parameter for details on
5423 doing this.
5425 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5426 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5428 See also the link(bf("password server"))(passwordserver) parameter.
5429 and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
5431 label(securityequaldomain)
5432 dit(bf("security=domain"))
5434 This mode will only work correctly if
5435 url(bf(smbpasswd))(smbpasswd.8.html) has been used to add this machine
5436 into a Windows NT Domain. It expects the link(bf("encrypted
5437 passwords"))(encryptpasswords) parameter to be set to tt("true"). In
5438 this mode Samba will try to validate the username/password by passing
5439 it to a Windows NT Primary or Backup Domain Controller, in exactly the
5440 same way that a Windows NT Server would do.
5442 em(Note) that a valid UNIX user must still exist as well as the
5443 account on the Domain Controller to allow Samba to have a valid
5444 UNIX account to map file access to.
5446 em(Note) that from the clients point of view bf("security=domain") is
5447 the same as link(bf("security=user"))(securityequaluser). It only
5448 affects how the server deals with the authentication, it does not in
5449 any way affect what the client sees.
5451 em(Note) that the name of the resource being requested is
5452 em(*not*) sent to the server until after the server has successfully
5453 authenticated the client. This is why guest shares don't work in domain
5454 level security without allowing the server to automatically map unknown
5455 users into the link(bf("guest account"))(guestaccount). See the
5456 link(bf("map to guest"))(maptoguest) parameter for details on
5457 doing this.
5459 em(BUG:) There is currently a bug in the implementation of
5460 bf("security=domain) with respect to multi-byte character
5461 set usernames. The communication with a Domain Controller
5462 must be done in UNICODE and Samba currently does not widen
5463 multi-byte user names to UNICODE correctly, thus a multi-byte
5464 username will not be recognized correctly at the Domain Controller.
5465 This issue will be addressed in a future release.
5467 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5468 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5470 See also the link(bf("password server"))(passwordserver) parameter.
5471 and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
5473 enddit()
5475   bf(Default:)
5476 tt(     security = USER)
5478   bf(Example:)
5479 tt(     security = DOMAIN)
5481 label(securitymask)
5482 dit(bf(security mask (S)))
5484 This parameter controls what UNIX permission bits can be modified
5485 when a Windows NT client is manipulating the UNIX permission on a
5486 file using the native NT security dialog box.
5488 This parameter is applied as a mask (AND'ed with) to the changed
5489 permission bits, thus preventing any bits not in this mask from
5490 being modified. Essentially, zero bits in this mask may be treated
5491 as a set of bits the user is not allowed to change.
5493 If not set explicitly this parameter is set to the same value as the
5494 link(bf(create mask))(createmask) parameter. To allow a user to
5495 modify all the user/group/world permissions on a file, set this
5496 parameter to 0777.
5498 em(Note) that users who can access the Samba server through other
5499 means can easily bypass this restriction, so it is primarily
5500 useful for standalone "appliance" systems.  Administrators of
5501 most normal systems will probably want to set it to 0777.
5503 See also the link(bf(force directory security
5504 mode))(forcedirectorysecuritymode), link(bf(directory security
5505 mask))(directorysecuritymask), link(bf(force security
5506 mode))(forcesecuritymode) parameters.
5508   bf(Default:)
5509 tt(     security mask = <same as create mask>)
5511   bf(Example:)
5512 tt(     security mask = 0777)
5515 label(serverstring)
5516 dit(bf(server string (G)))
5518 This controls what string will show up in the printer comment box in
5519 print manager and next to the IPC connection in tt("net view"). It can be
5520 any string that you wish to show to your users.
5522 It also sets what will appear in browse lists next to the machine
5523 name.
5525 A tt("%v") will be replaced with the Samba version number.
5527 A tt("%h") will be replaced with the hostname.
5529   bf(Default:)
5530 tt(     server string = Samba %v)
5532   bf(Example:)
5533 tt(     server string = University of GNUs Samba Server)
5535 label(setdirectory)
5536 dit(bf(set directory (S)))
5538 If tt("set directory = no"), then users of the service may not use the
5539 setdir command to change directory.
5541 The setdir command is only implemented in the Digital Pathworks
5542 client. See the Pathworks documentation for details.
5544   bf(Default:)
5545 tt(     set directory = no)
5547   bf(Example:)
5548 tt(     set directory = yes)
5550 label(sharemodes)
5551 dit(bf(share modes (S)))
5553 This enables or disables the honoring of the tt("share modes") during a
5554 file open. These modes are used by clients to gain exclusive read or
5555 write access to a file.
5557 These open modes are not directly supported by UNIX, so they are
5558 simulated using shared memory, or lock files if your UNIX doesn't
5559 support shared memory (almost all do).
5561 The share modes that are enabled by this option are DENY_DOS,
5562 DENY_ALL, DENY_READ, DENY_WRITE, DENY_NONE and DENY_FCB.
5564 This option gives full share compatibility and enabled by default.
5566 You should em(*NEVER*) turn this parameter off as many Windows
5567 applications will break if you do so.
5569   bf(Default:)
5570 tt(     share modes = yes)
5572 label(sharedmemsize)
5573 dit(bf(shared mem size (G)))
5575 It specifies the size of the shared memory (in bytes) to use between
5576 url(bf(smbd))(smbd.8.html) processes. This parameter defaults to one
5577 megabyte of shared memory. It is possible that if you have a large
5578 server with many files open simultaneously that you may need to
5579 increase this parameter. Signs that this parameter is set too low are
5580 users reporting strange problems trying to save files (locking errors)
5581 and error messages in the smbd log looking like tt("ERROR
5582 smb_shm_alloc : alloc of XX bytes failed").
5584 If your OS refuses the size that Samba asks for then Samba will try a
5585 smaller size, reducing by a factor of 0.8 until the OS accepts it.
5587   bf(Default:)
5588 tt(     shared mem size = 1048576)
5590   bf(Example:)
5591 tt(     shared mem size = 5242880 ; Set to 5mb for a large number of files.)
5593 label(shortpreservecase)
5594 dit(bf(short preserve case (S)))
5596 This boolean parameter controls if new files which conform to 8.3
5597 syntax, that is all in upper case and of suitable length, are created
5598 upper case, or if they are forced to be the tt("default") case. This
5599 option can be use with link(bf("preserve case
5600 =yes"))(preservecaseoption) to permit long filenames to retain their
5601 case, while short names are lowered. Default em(Yes).
5603 See the section on link(bf(NAME MANGLING))(NAMEMANGLING).
5605   bf(Default:)
5606 tt(     short preserve case = yes)
5608 label(smbpasswdfile)
5609 dit(bf(smb passwd file (G)))
5611 This option sets the path to the encrypted smbpasswd file.  By default
5612 the path to the smbpasswd file is compiled into Samba.
5614   bf(Default:)
5615 tt(     smb passwd file= <compiled default>)
5617   bf(Example:)
5618 tt(     smb passwd file = /usr/samba/private/smbpasswd)
5620 label(smbrun)
5621 dit(bf(smbrun (G)))
5623 This sets the full path to the bf(smbrun) binary. This defaults to the
5624 value in the Makefile.
5626 You must get this path right for many services to work correctly.
5628 You should not need to change this parameter so long as Samba
5629 is installed correctly.
5631   bf(Default:)
5632 tt(     smbrun=<compiled default>)
5634   bf(Example:)
5635 tt(     smbrun = /usr/local/samba/bin/smbrun)
5637 label(socketaddress)
5638 dit(bf(socket address (G)))
5640 This option allows you to control what address Samba will listen for
5641 connections on. This is used to support multiple virtual interfaces on
5642 the one server, each with a different configuration.
5644 By default samba will accept connections on any address.
5646   bf(Example:)
5647 tt(     socket address = 192.168.2.20)
5649 label(socketoptions)
5650 dit(bf(socket options (G)))
5652 This option allows you to set socket options to be used when talking
5653 with the client.
5655 Socket options are controls on the networking layer of the operating
5656 systems which allow the connection to be tuned.
5658 This option will typically be used to tune your Samba server for
5659 optimal performance for your local network. There is no way that Samba
5660 can know what the optimal parameters are for your net, so you must
5661 experiment and choose them yourself. We strongly suggest you read the
5662 appropriate documentation for your operating system first (perhaps
5663 bf("man setsockopt") will help).
5665 You may find that on some systems Samba will say "Unknown socket
5666 option" when you supply an option. This means you either incorrectly 
5667 typed it or you need to add an include file to includes.h for your OS. 
5668 If the latter is the case please send the patch to
5669 email(samba@samba.org).
5671 Any of the supported socket options may be combined in any way you
5672 like, as long as your OS allows it.
5674 This is the list of socket options currently settable using this
5675 option:
5677 startit()
5679 it() SO_KEEPALIVE
5681 it() SO_REUSEADDR
5683 it() SO_BROADCAST
5685 it() TCP_NODELAY
5687 it() IPTOS_LOWDELAY
5689 it() IPTOS_THROUGHPUT
5691 it() SO_SNDBUF *
5693 it() SO_RCVBUF *
5695 it() SO_SNDLOWAT *
5697 it() SO_RCVLOWAT *
5699 endit()
5701 Those marked with a tt(*) take an integer argument. The others can
5702 optionally take a 1 or 0 argument to enable or disable the option, by
5703 default they will be enabled if you don't specify 1 or 0.
5705 To specify an argument use the syntax SOME_OPTION=VALUE for example
5706 tt(SO_SNDBUF=8192). Note that you must not have any spaces before or after
5707 the = sign.
5709 If you are on a local network then a sensible option might be
5711 tt(socket options = IPTOS_LOWDELAY)
5713 If you have a local network then you could try:
5715 tt(socket options = IPTOS_LOWDELAY TCP_NODELAY)
5717 If you are on a wide area network then perhaps try setting
5718 IPTOS_THROUGHPUT. 
5720 Note that several of the options may cause your Samba server to fail
5721 completely. Use these options with caution!
5723   bf(Default:)
5724 tt(     socket options = TCP_NODELAY)
5726   bf(Example:)
5727 tt(     socket options = IPTOS_LOWDELAY)
5729 label(sourceenvironment)
5730 dit(bf(source environment (G)))
5732 This parameter causes Samba to set environment variables as per the
5733 content of the file named.
5735 The file bf(must) be owned by root and not world writable in order
5736 to be read (this is a security check).
5738 If the value of this parameter starts with a "|" character then Samba will
5739 treat that value as a pipe command to open and will set the environment
5740 variables from the oput of the pipe. This command must not be world writable
5741 and must reside in a directory that is not world writable.
5743 The contents of the file or the output of the pipe should be formatted
5744 as the output of the standard Unix env(1) command. This is of the form :
5746 Example environment entry:
5747 tt( SAMBA_NETBIOS_NAME=myhostname )
5749   bf(Default:)
5750 tt(No default value)
5752   bf(Examples:)
5754 tt(     source environment = |/etc/smb.conf.sh)
5756 tt(     source environment = /usr/local/smb_env_vars)
5758 label(ssl)
5759 dit(bf(ssl (G)))
5761 This variable is part of SSL-enabled Samba. This is only available if
5762 the SSL libraries have been compiled on your system and the configure
5763 option tt("--with-ssl") was given at configure time.
5765 em(Note) that for export control reasons this code is em(**NOT**)
5766 enabled by default in any current binary version of Samba.
5768 This variable enables or disables the entire SSL mode. If it is set to
5769 "no", the SSL enabled samba behaves exactly like the non-SSL samba. If
5770 set to "yes", it depends on the variables link(bf("ssl
5771 hosts"))(sslhosts) and link(bf("ssl hosts resign"))(sslhostsresign)
5772 whether an SSL connection will be required.
5774   bf(Default:)
5775 tt(     ssl=no)
5776   bf(Example:)
5777 tt(     ssl=yes)
5779 label(sslCAcertDir)
5780 dit(bf(ssl CA certDir (G)))
5782 This variable is part of SSL-enabled Samba. This is only available if
5783 the SSL libraries have been compiled on your system and the configure
5784 option tt("--with-ssl") was given at configure time.
5786 em(Note) that for export control reasons this code is em(**NOT**)
5787 enabled by default in any current binary version of Samba.
5789 This variable defines where to look up the Certification
5790 Authorities. The given directory should contain one file for each CA
5791 that samba will trust.  The file name must be the hash value over the
5792 "Distinguished Name" of the CA. How this directory is set up is
5793 explained later in this document. All files within the directory that
5794 don't fit into this naming scheme are ignored. You don't need this
5795 variable if you don't verify client certificates.
5797   bf(Default:)
5798 tt(     ssl CA certDir = /usr/local/ssl/certs)
5800 label(sslCAcertFile)
5801 dit(bf(ssl CA certFile (G)))
5803 This variable is part of SSL-enabled Samba. This is only available if
5804 the SSL libraries have been compiled on your system and the configure
5805 option tt("--with-ssl") was given at configure time.
5807 em(Note) that for export control reasons this code is em(**NOT**)
5808 enabled by default in any current binary version of Samba.
5810 This variable is a second way to define the trusted CAs. The
5811 certificates of the trusted CAs are collected in one big file and this
5812 variable points to the file. You will probably only use one of the two
5813 ways to define your CAs. The first choice is preferable if you have
5814 many CAs or want to be flexible, the second is preferable if you only
5815 have one CA and want to keep things simple (you won't need to create
5816 the hashed file names). You don't need this variable if you don't
5817 verify client certificates.
5819   bf(Default:)
5820 tt(     ssl CA certFile = /usr/local/ssl/certs/trustedCAs.pem)
5822 label(sslciphers)
5823 dit(bf(ssl ciphers (G)))
5825 This variable is part of SSL-enabled Samba. This is only available if
5826 the SSL libraries have been compiled on your system and the configure
5827 option tt("--with-ssl") was given at configure time.
5829 em(Note) that for export control reasons this code is em(**NOT**)
5830 enabled by default in any current binary version of Samba.
5832 This variable defines the ciphers that should be offered during SSL
5833 negotiation. You should not set this variable unless you know what you
5834 are doing.
5836 label(sslclientcert)
5837 dit(bf(ssl client cert (G)))
5839 This variable is part of SSL-enabled Samba. This is only available if
5840 the SSL libraries have been compiled on your system and the configure
5841 option tt("--with-ssl") was given at configure time.
5843 em(Note) that for export control reasons this code is em(**NOT**)
5844 enabled by default in any current binary version of Samba.
5846 The certificate in this file is used by
5847 url(bf(smbclient))(smbclient.1.html) if it exists. It's needed if the
5848 server requires a client certificate.
5850   bf(Default:)
5851 tt(     ssl client cert = /usr/local/ssl/certs/smbclient.pem)
5853 label(sslclientkey)
5854 dit(bf(ssl client key (G)))
5856 This variable is part of SSL-enabled Samba. This is only available if
5857 the SSL libraries have been compiled on your system and the configure
5858 option tt("--with-ssl") was given at configure time.
5860 em(Note) that for export control reasons this code is em(**NOT**)
5861 enabled by default in any current binary version of Samba.
5863 This is the private key for url(bf(smbclient))(smbclient.1.html). It's
5864 only needed if the client should have a certificate.
5866   bf(Default:)
5867 tt(     ssl client key = /usr/local/ssl/private/smbclient.pem)
5869 label(sslcompatibility)
5870 dit(bf(ssl compatibility (G)))
5872 This variable is part of SSL-enabled Samba. This is only available if
5873 the SSL libraries have been compiled on your system and the configure
5874 option tt("--with-ssl") was given at configure time.
5876 em(Note) that for export control reasons this code is em(**NOT**)
5877 enabled by default in any current binary version of Samba.
5879 This variable defines whether SSLeay should be configured for bug
5880 compatibility with other SSL implementations. This is probably not
5881 desirable because currently no clients with SSL implementations other
5882 than SSLeay exist.
5884   bf(Default:)
5885 tt(     ssl compatibility = no)
5887 label(sslhosts)
5888 dit(bf(ssl hosts (G)))
5890 See link(bf("ssl hosts resign"))(sslhostsresign).
5892 label(sslhostsresign)
5893 dit(bf(ssl hosts resign (G)))
5895 This variable is part of SSL-enabled Samba. This is only available if
5896 the SSL libraries have been compiled on your system and the configure
5897 option tt("--with-ssl") was given at configure time.
5899 em(Note) that for export control reasons this code is em(**NOT**)
5900 enabled by default in any current binary version of Samba.
5902 These two variables define whether samba will go into SSL mode or
5903 not. If none of them is defined, samba will allow only SSL
5904 connections. If the link(bf("ssl hosts"))(sslhosts) variable lists
5905 hosts (by IP-address, IP-address range, net group or name), only these
5906 hosts will be forced into SSL mode. If the bf("ssl hosts resign")
5907 variable lists hosts, only these hosts will NOT be forced into SSL
5908 mode. The syntax for these two variables is the same as for the
5909 link(bf("hosts allow"))(hostsallow) and link(bf("hosts
5910 deny"))(hostsdeny) pair of variables, only that the subject of the
5911 decision is different: It's not the access right but whether SSL is
5912 used or not. See the link(bf("allow hosts"))(allowhosts) parameter for
5913 details. The example below requires SSL connections from all hosts
5914 outside the local net (which is 192.168.*.*).
5916   bf(Default:)
5917 tt(     ssl hosts = <empty string>)
5918 tt(     ssl hosts resign = <empty string>)
5920   bf(Example:)
5921 tt(     ssl hosts resign = 192.168.)
5923 label(sslrequireclientcert)
5924 dit(bf(ssl require clientcert (G)))
5926 This variable is part of SSL-enabled Samba. This is only available if
5927 the SSL libraries have been compiled on your system and the configure
5928 option tt("--with-ssl") was given at configure time.
5930 em(Note) that for export control reasons this code is em(**NOT**)
5931 enabled by default in any current binary version of Samba.
5933 If this variable is set to tt("yes"), the server will not tolerate
5934 connections from clients that don't have a valid certificate. The
5935 directory/file given in link(bf("ssl CA certDir"))(sslCAcertDir) and
5936 link(bf("ssl CA certFile"))(sslCAcertFile) will be used to look up the
5937 CAs that issued the client's certificate. If the certificate can't be
5938 verified positively, the connection will be terminated.  If this
5939 variable is set to tt("no"), clients don't need certificates. Contrary
5940 to web applications you really em(*should*) require client
5941 certificates. In the web environment the client's data is sensitive
5942 (credit card numbers) and the server must prove to be trustworthy. In
5943 a file server environment the server's data will be sensitive and the
5944 clients must prove to be trustworthy.
5946   bf(Default:)
5947 tt(     ssl require clientcert = no)
5949 label(sslrequireservercert)
5950 dit(bf(ssl require servercert (G)))
5952 This variable is part of SSL-enabled Samba. This is only available if
5953 the SSL libraries have been compiled on your system and the configure
5954 option tt("--with-ssl") was given at configure time.
5956 em(Note) that for export control reasons this code is em(**NOT**)
5957 enabled by default in any current binary version of Samba.
5959 If this variable is set to tt("yes"), the
5960 url(bf(smbclient))(smbclient.1.html) will request a certificate from
5961 the server. Same as link(bf("ssl require
5962 clientcert"))(sslrequireclientcert) for the server.
5964   bf(Default:)
5965 tt(     ssl require servercert = no)
5967 label(sslservercert)
5968 dit(bf(ssl server cert (G)))
5970 This variable is part of SSL-enabled Samba. This is only available if
5971 the SSL libraries have been compiled on your system and the configure
5972 option tt("--with-ssl") was given at configure time.
5974 em(Note) that for export control reasons this code is em(**NOT**)
5975 enabled by default in any current binary version of Samba.
5977 This is the file containing the server's certificate. The server _must_
5978 have a certificate. The file may also contain the server's private key.
5979 See later for how certificates and private keys are created.
5981   bf(Default:)
5982 tt(     ssl server cert = <empty string>)
5984 label(sslserverkey)
5985 dit(bf(ssl server key (G)))
5987 This variable is part of SSL-enabled Samba. This is only available if
5988 the SSL libraries have been compiled on your system and the configure
5989 option tt("--with-ssl") was given at configure time.
5991 em(Note) that for export control reasons this code is em(**NOT**)
5992 enabled by default in any current binary version of Samba.
5994 This file contains the private key of the server. If this variable is
5995 not defined, the key is looked up in the certificate file (it may be
5996 appended to the certificate). The server em(*must*) have a private key
5997 and the certificate em(*must*) match this private key.
5999   bf(Default:)
6000 tt(     ssl server key = <empty string>)
6002 label(sslversion)
6003 dit(bf(ssl version (G)))
6005 This variable is part of SSL-enabled Samba. This is only available if
6006 the SSL libraries have been compiled on your system and the configure
6007 option tt("--with-ssl") was given at configure time.
6009 em(Note) that for export control reasons this code is em(**NOT**)
6010 enabled by default in any current binary version of Samba.
6012 This enumeration variable defines the versions of the SSL protocol
6013 that will be used. tt("ssl2or3") allows dynamic negotiation of SSL v2
6014 or v3, tt("ssl2") results in SSL v2, tt("ssl3") results in SSL v3 and
6015 "tls1" results in TLS v1. TLS (Transport Layer Security) is the
6016 (proposed?) new standard for SSL.
6018   bf(Default:)
6019 tt(     ssl version = "ssl2or3")
6021 label(statcache)
6022 dit(bf(stat cache (G)))
6024 This parameter determines if url(bf(smbd))(smbd.8.html) will use a
6025 cache in order to speed up case insensitive name mappings. You should
6026 never need to change this parameter.
6028   bf(Default:)
6029 tt(     stat cache = yes)
6031 label(statcachesize)
6032 dit(bf(stat cache size (G)))
6034 This parameter determines the number of entries in the link(bf(stat
6035 cache))(statcache).  You should never need to change this parameter.
6037   bf(Default:)
6038 tt(     stat cache size = 50)
6040 label(status)
6041 dit(bf(status (G)))
6043 This enables or disables logging of connections to a status file that
6044 url(bf(smbstatus))(smbstatus.1.html) can read.
6046 With this disabled url(bf(smbstatus))(smbstatus.1.html) won't be able
6047 to tell you what connections are active. You should never need to
6048 change this parameter.
6050   bf(Default:)
6051         status = yes
6053 label(strictlocking)
6054 dit(bf(strict locking (S)))
6056 This is a boolean that controls the handling of file locking in the
6057 server. When this is set to tt("yes") the server will check every read and
6058 write access for file locks, and deny access if locks exist. This can
6059 be slow on some systems.
6061 When strict locking is tt("no") the server does file lock checks only
6062 when the client explicitly asks for them.
6064 Well behaved clients always ask for lock checks when it is important,
6065 so in the vast majority of cases bf("strict locking = no") is
6066 preferable.
6068   bf(Default:)
6069 tt(     strict locking = no)
6071   bf(Example:)
6072 tt(     strict locking = yes)
6074 label(strictsync)
6075 dit(bf(strict sync (S)))
6077 Many Windows applications (including the Windows 98 explorer shell)
6078 seem to confuse flushing buffer contents to disk with doing a sync to
6079 disk. Under UNIX, a sync call forces the process to be suspended until
6080 the kernel has ensured that all outstanding data in kernel disk
6081 buffers has been safely stored onto stable storage. This is very slow
6082 and should only be done rarely. Setting this parameter to "no" (the
6083 default) means that smbd ignores the Windows applications requests for
6084 a sync call. There is only a possibility of losing data if the
6085 operating system itself that Samba is running on crashes, so there is
6086 little danger in this default setting. In addition, this fixes many
6087 performance problems that people have reported with the new Windows98
6088 explorer shell file copies.
6090 See also the link(bf("sync always"))(syncalways) parameter.
6092   bf(Default:)
6093 tt(     strict sync = no)
6095   bf(Example:)
6096 tt(     strict sync = yes)
6098 label(stripdot)
6099 dit(bf(strip dot (G)))
6101 This is a boolean that controls whether to strip trailing dots off
6102 UNIX filenames. This helps with some CDROMs that have filenames ending
6103 in a single dot.
6105   bf(Default:)
6106 tt(     strip dot = no)
6108   bf(Example:)
6109 tt(     strip dot = yes)
6111 label(syncalways)
6112 dit(bf(sync always (S)))
6114 This is a boolean parameter that controls whether writes will always
6115 be written to stable storage before the write call returns. If this is
6116 false then the server will be guided by the client's request in each
6117 write call (clients can set a bit indicating that a particular write
6118 should be synchronous). If this is true then every write will be
6119 followed by a fsync() call to ensure the data is written to disk.
6120 Note that the link(bf("strict sync"))(strictsync) parameter must be
6121 set to tt("yes") in order for this parameter to have any affect.
6123 See also the link(bf("strict sync"))(strictsync) parameter.
6125   bf(Default:)
6126 tt(     sync always = no)
6128   bf(Example:)
6129 tt(     sync always = yes)
6131 label(syslog)
6132 dit(bf(syslog (G)))
6134 This parameter maps how Samba debug messages are logged onto the
6135 system syslog logging levels. Samba debug level zero maps onto syslog
6136 LOG_ERR, debug level one maps onto LOG_WARNING, debug level two maps
6137 onto LOG_NOTICE, debug level three maps onto LOG_INFO. All higher 
6138 levels are mapped to LOG_DEBUG.
6140 This paramter sets the threshold for sending messages to syslog. 
6141 Only messages with debug level less than this value will be sent 
6142 to syslog.
6144   bf(Default:)
6145 tt(     syslog = 1)
6147 label(syslogonly)
6148 dit(bf(syslog only (G)))
6150 If this parameter is set then Samba debug messages are logged into the
6151 system syslog only, and not to the debug log files.
6153   bf(Default:)
6154 tt(     syslog only = no)
6156 label(templatehomedir)
6157 dit(bf(template homedir (G)))
6159 NOTE: this parameter is only available in Samba 3.0.
6161 When filling out the user information for a Windows NT user, the
6162 url(bf(winbindd))(winbindd.8.html) daemon uses this parameter to fill in
6163 the home directory for that user.  If the string tt(%D) is present it is
6164 substituted with the user's Windows NT domain name.  If the string tt(%U)
6165 is present it is substituted with the user's Windows NT user name.
6167   bf(Default:)
6168 tt(     template homedir = /home/%D/%U)
6170 label(templateshell)
6171 dit(bf(template shell (G)))
6173 NOTE: this parameter is only available in Samba 3.0.
6175 When filling out the user information for a Windows NT user, the
6176 url(bf(winbindd))(winbindd.8.html) daemon uses this parameter to fill in
6177 the login shell for that user.
6179   bf(Default:)
6180 tt(     template shell = /bin/false)
6182 label(timeoffset)
6183 dit(bf(time offset (G)))
6185 This parameter is a setting in minutes to add to the normal GMT to
6186 local time conversion. This is useful if you are serving a lot of PCs
6187 that have incorrect daylight saving time handling.
6189   bf(Default:)
6190 tt(     time offset = 0)
6192   bf(Example:)
6193 tt(     time offset = 60)
6195 label(timeserver)
6197 dit(bf(time server (G)))
6199 This parameter determines if url(bf(nmbd))(nmbd.8.html) advertises
6200 itself as a time server to Windows clients. The default is False.
6202   bf(Default:)
6203 tt(     time server = False)
6205   bf(Example:)
6206 tt(     time server = True)
6208 label(timestamplogs)
6209 dit(bf(timestamp logs (G)))
6211 Synonym for url(bf("debug timestamp"))(debugtimestamp).
6213 label(unixpasswordsync)
6214 dit(bf(unix password sync (G)))
6216 This boolean parameter controls whether Samba attempts to synchronize
6217 the UNIX password with the SMB password when the encrypted SMB
6218 password in the smbpasswd file is changed. If this is set to true the
6219 program specified in the link(bf("passwd program"))(passwdprogram)
6220 parameter is called em(*AS ROOT*) - to allow the new UNIX password to be
6221 set without access to the old UNIX password (as the SMB password has
6222 change code has no access to the old password cleartext, only the
6223 new). By default this is set to tt("false").
6225 See also link(bf("passwd program"))(passwdprogram), link(bf("passwd
6226 chat"))(passwdchat).
6228   bf(Default:)
6229 tt(     unix password sync = False)
6231   bf(Example:)
6232 tt(     unix password sync = True)
6234 label(unixrealname)
6235 dit(bf(unix realname (G)))
6237 This boolean parameter when set causes samba to supply the real name
6238 field from the unix password file to the client. This is useful for
6239 setting up mail clients and WWW browsers on systems used by more than
6240 one person.
6242   bf(Default:)
6243 tt(     unix realname = no)
6245   bf(Example:)
6246 tt(     unix realname = yes)
6248 label(updateencrypted)
6249 dit(bf(update encrypted (G)))
6251 This boolean parameter allows a user logging on with a plaintext
6252 password to have their encrypted (hashed) password in the smbpasswd
6253 file to be updated automatically as they log on. This option allows a
6254 site to migrate from plaintext password authentication (users
6255 authenticate with plaintext password over the wire, and are checked
6256 against a UNIX account database) to encrypted password authentication
6257 (the SMB challenge/response authentication mechanism) without forcing
6258 all users to re-enter their passwords via smbpasswd at the time the
6259 change is made. This is a convenience option to allow the change over
6260 to encrypted passwords to be made over a longer period. Once all users
6261 have encrypted representations of their passwords in the smbpasswd
6262 file this parameter should be set to tt("off").
6264 In order for this parameter to work correctly the link(bf("encrypt
6265 passwords"))(encryptpasswords) parameter must be set to tt("no") when
6266 this parameter is set to tt("yes").
6268 Note that even when this parameter is set a user authenticating to
6269 smbd must still enter a valid password in order to connect correctly,
6270 and to update their hashed (smbpasswd) passwords.
6272   bf(Default:)
6273 tt(     update encrypted = no)
6275   bf(Example:)
6276 tt(     update encrypted = yes)
6278 label(userhosts)
6279 dit(bf(use rhosts (G)))
6281 If this global parameter is a true, it specifies that the UNIX users
6282 tt(".rhosts") file in their home directory will be read to find the
6283 names of hosts and users who will be allowed access without specifying
6284 a password.
6286 NOTE: The use of bf(use rhosts) can be a major security hole. This is
6287 because you are trusting the PC to supply the correct username. It is
6288 very easy to get a PC to supply a false username. I recommend that the
6289 bf(use rhosts) option be only used if you really know what you are
6290 doing.
6292   bf(Default:)
6293 tt(     use rhosts = no)
6295   bf(Example:)
6296 tt(     use rhosts = yes)
6298 label(user)
6299 dit(bf(user (S)))
6301 Synonym for link(bf("username"))(username).
6303 label(users)
6304 dit(bf(users (S)))
6306 Synonym for link(bf("username"))(username).
6308 label(username)
6309 dit(bf(username (S)))
6311 Multiple users may be specified in a comma-delimited list, in which
6312 case the supplied password will be tested against each username in
6313 turn (left to right).
6315 The bf(username=) line is needed only when the PC is unable to supply
6316 its own username. This is the case for the COREPLUS protocol or where
6317 your users have different WfWg usernames to UNIX usernames. In both
6318 these cases you may also be better using the tt(\\server\share%user)
6319 syntax instead.
6321 The bf(username=) line is not a great solution in many cases as it
6322 means Samba will try to validate the supplied password against each of
6323 the usernames in the username= line in turn. This is slow and a bad
6324 idea for lots of users in case of duplicate passwords. You may get
6325 timeouts or security breaches using this parameter unwisely.
6327 Samba relies on the underlying UNIX security. This parameter does not
6328 restrict who can login, it just offers hints to the Samba server as to
6329 what usernames might correspond to the supplied password. Users can
6330 login as whoever they please and they will be able to do no more
6331 damage than if they started a telnet session. The daemon runs as the
6332 user that they log in as, so they cannot do anything that user cannot
6335 To restrict a service to a particular set of users you can use the
6336 link(bf("valid users="))(validusers) parameter.
6338 If any of the usernames begin with a tt('@') then the name will be
6339 looked up first in the yp netgroups list (if Samba is compiled with
6340 netgroup support), followed by a lookup in the UNIX groups database
6341 and will expand to a list of all users in the group of that name.
6343 If any of the usernames begin with a tt('+') then the name will be
6344 looked up only in the UNIX groups database and will expand to a list
6345 of all users in the group of that name.
6347 If any of the usernames begin with a tt('&') then the name will be
6348 looked up only in the yp netgroups database (if Samba is compiled with
6349 netgroup support) and will expand to a list of all users in the
6350 netgroup group of that name.
6352 Note that searching though a groups database can take quite some time,
6353 and some clients may time out during the search.
6355 See the section link(bf("NOTE ABOUT USERNAME/PASSWORD
6356 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION) for more
6357 information on how this parameter determines access to the services.
6359   bf(Default:)
6360 tt(     The guest account if a guest service, else the name of the service.)
6362   bf(Examples:)
6363 verb(
6364         username = fred
6365         username = fred, mary, jack, jane, @users, @pcgroup
6368 label(usernamelevel)
6369 dit(bf(username level (G)))
6371 This option helps Samba to try and 'guess' at the real UNIX username,
6372 as many DOS clients send an all-uppercase username. By default Samba
6373 tries all lowercase, followed by the username with the first letter
6374 capitalized, and fails if the username is not found on the UNIX
6375 machine.
6377 If this parameter is set to non-zero the behavior changes. This
6378 parameter is a number that specifies the number of uppercase
6379 combinations to try whilst trying to determine the UNIX user name. The
6380 higher the number the more combinations will be tried, but the slower
6381 the discovery of usernames will be. Use this parameter when you have
6382 strange usernames on your UNIX machine, such as tt("AstrangeUser").
6384   bf(Default:)
6385 tt(     username level = 0)
6387   bf(Example:)
6388 tt(     username level = 5)
6390 label(usernamemap)
6391 dit(bf(username map (G)))
6393 This option allows you to specify a file containing a mapping of
6394 usernames from the clients to the server. This can be used for several
6395 purposes. The most common is to map usernames that users use on DOS or
6396 Windows machines to those that the UNIX box uses. The other is to map
6397 multiple users to a single username so that they can more easily share
6398 files.
6400 The map file is parsed line by line. Each line should contain a single
6401 UNIX username on the left then a tt('=') followed by a list of
6402 usernames on the right. The list of usernames on the right may contain
6403 names of the form @group in which case they will match any UNIX
6404 username in that group. The special client name tt('*') is a wildcard
6405 and matches any name. Each line of the map file may be up to 1023
6406 characters long.
6408 The file is processed on each line by taking the supplied username and
6409 comparing it with each username on the right hand side of the tt('=')
6410 signs. If the supplied name matches any of the names on the right hand
6411 side then it is replaced with the name on the left. Processing then
6412 continues with the next line.
6414 If any line begins with a tt('#') or a tt(';') then it is ignored
6416 If any line begins with an tt('!') then the processing will stop after
6417 that line if a mapping was done by the line. Otherwise mapping
6418 continues with every line being processed. Using tt('!') is most
6419 useful when you have a wildcard mapping line later in the file.
6421 For example to map from the name tt("admin") or tt("administrator") to
6422 the UNIX name tt("root") you would use:
6425 tt(     root = admin administrator)
6427 Or to map anyone in the UNIX group tt("system") to the UNIX name
6428 tt("sys") you would use:
6430 tt(     sys = @system)
6432 You can have as many mappings as you like in a username map file.
6434 If your system supports the NIS NETGROUP option then the netgroup
6435 database is checked before the tt(/etc/group) database for matching
6436 groups.
6438 You can map Windows usernames that have spaces in them by using double
6439 quotes around the name. For example:
6441 tt(     tridge = "Andrew Tridgell")
6443 would map the windows username tt("Andrew Tridgell") to the unix
6444 username tridge.
6446 The following example would map mary and fred to the unix user sys,
6447 and map the rest to guest. Note the use of the tt('!') to tell Samba
6448 to stop processing if it gets a match on that line.
6450 verb(
6451         !sys = mary fred
6452         guest = *
6455 Note that the remapping is applied to all occurrences of
6456 usernames. Thus if you connect to tt("\\server\fred") and tt("fred")
6457 is remapped to tt("mary") then you will actually be connecting to
6458 tt("\\server\mary") and will need to supply a password suitable for
6459 tt("mary") not tt("fred"). The only exception to this is the username
6460 passed to the link(bf("password server"))(passwordserver) (if you have
6461 one). The password server will receive whatever username the client
6462 supplies without modification.
6464 Also note that no reverse mapping is done. The main effect this has is
6465 with printing. Users who have been mapped may have trouble deleting
6466 print jobs as PrintManager under WfWg will think they don't own the
6467 print job.
6469   bf(Default:)
6470 tt(     no username map)
6472   bf(Example:)
6473 tt(     username map = /usr/local/samba/lib/users.map)
6475 label(utmp)
6476 dit(bf(utmp (S)))
6478 This boolean parameter is only available if Samba has been configured and compiled 
6479 with the option tt(--with-utmp). If set to True then Samba will attempt
6480 to add utmp or utmpx records (depending on the UNIX system) whenever a
6481 connection is made to a Samba server. Sites may use this to record the
6482 user connecting to a Samba share.
6484 See also the link(bf("utmp directory"))(utmpdirectory) parameter.
6486   bf(Default:)
6487 tt(utmp = False)
6489   bf(Example:)
6490 tt(utmp = True)
6492 label(utmpdirectory)
6493 dit(bf(utmp directory(G)))
6495 This parameter is only available if Samba has been configured and compiled
6496 with the option tt(--with-utmp). It specifies a directory pathname that is
6497 used to store the utmp or utmpx files (depending on the UNIX system) that
6498 record user connections to a Samba server. See also the link(bf("utmp"))(utmp)
6499 parameter. By default this is not set, meaning the system will use whatever
6500 utmp file the native system is set to use (usually /var/run/utmp on Linux).
6502   bf(Default:)
6503 tt(no utmp directory)
6505   bf(Example:)
6506 tt(utmp directory = /var/adm/)
6508 label(winbindcachetime)
6509 dit(winbind cache time)
6511 NOTE: this parameter is only available in Samba 3.0.
6513 This parameter specifies the number of seconds the
6514 url(bf(winbindd))(winbindd.8.html) daemon will cache user and group
6515 information before querying a Windows NT server again.
6517   bf(Default:)
6518 tt(     winbind cache type = 15)
6520 label(winbindgid)
6521 dit(winbind gid)
6523 NOTE: this parameter is only available in Samba 3.0.
6525 The winbind gid parameter specifies the range of group ids that are
6526 allocated by the url(bf(winbindd))(winbindd.8.html) daemon.  This range of
6527 group ids should have no existing local or nis groups within it as strange
6528 conflicts can occur otherwise.
6530   bf(Default:)
6531 tt(     winbind gid = <empty string>)
6533   bf(Example:)
6534 tt(     winbind gid = 10000-20000)
6536 label(winbinduid)
6537 dit(winbind uid)
6539 NOTE: this parameter is only available in Samba 3.0.
6541 The winbind uid parameter specifies the range of user ids that are
6542 allocated by the url(bf(winbindd))(winbindd.8.html) daemon.  This range of
6543 ids should have no existing local or nis users within it as strange
6544 conflicts can occur otherwise.
6546   bf(Default:)
6547 tt(     winbind uid = <empty string>)
6549   bf(Example:)
6550 tt(     winbind uid = 10000-20000)
6552 label(validchars)
6553 dit(bf(valid chars (G)))
6555 The option allows you to specify additional characters that should be
6556 considered valid by the server in filenames. This is particularly
6557 useful for national character sets, such as adding u-umlaut or a-ring.
6559 The option takes a list of characters in either integer or character
6560 form with spaces between them. If you give two characters with a colon
6561 between them then it will be taken as an lowercase:uppercase pair.
6563 If you have an editor capable of entering the characters into the
6564 config file then it is probably easiest to use this method. Otherwise
6565 you can specify the characters in octal, decimal or hexadecimal form
6566 using the usual C notation.
6568 For example to add the single character tt('Z') to the charset (which
6569 is a pointless thing to do as it's already there) you could do one of
6570 the following
6572 verb(
6573         valid chars = Z
6574         valid chars = z:Z
6575         valid chars = 0132:0172
6578 The last two examples above actually add two characters, and alter the
6579 uppercase and lowercase mappings appropriately.
6581 Note that you MUST specify this parameter after the link(bf("client
6582 code page"))(clientcodepage) parameter if you have both set. If
6583 link(bf("client code page"))(clientcodepage) is set after the
6584 bf("valid chars") parameter the bf("valid chars") settings will be
6585 overwritten.
6587 See also the link(bf("client code page"))(clientcodepage) parameter.
6589   bf(Default:)
6590 verb(
6591         Samba defaults to using a reasonable set of valid characters
6592         for English systems
6595   bf(Example)
6596 tt(     valid chars = 0345:0305 0366:0326 0344:0304)
6598 The above example allows filenames to have the Swedish characters in
6599 them.
6601 NOTE: It is actually quite difficult to correctly produce a bf("valid
6602 chars") line for a particular system. To automate the process
6603 email(tino@augsburg.net) has written a package called bf("validchars")
6604 which will automatically produce a complete bf("valid chars") line for
6605 a given client system. Look in the examples/validchars/ subdirectory
6606 of your Samba source code distribution for this package.
6608 label(validusers)
6609 dit(bf(valid users (S)))
6611 This is a list of users that should be allowed to login to this
6612 service. Names starting with tt('@'), tt('+') and tt('&') are
6613 interpreted using the same rules as described in the link(bf("invalid
6614 users"))(invalidusers) parameter.
6616 If this is empty (the default) then any user can login. If a username
6617 is in both this list and the link(bf("invalid users"))(invalidusers)
6618 list then access is denied for that user.
6620 The current servicename is substituted for
6621 link(bf("%S"))(percentS). This is useful in the
6622 link(bf([homes]))(homes) section.
6624 See also link(bf("invalid users"))(invalidusers).
6626   bf(Default:)
6627 tt(     No valid users list. (anyone can login))
6629   bf(Example:)
6630 tt(     valid users = greg, @pcusers)
6632 label(vetofiles)
6633 dit(bf(veto files(S)))
6635 This is a list of files and directories that are neither visible nor
6636 accessible.  Each entry in the list must be separated by a tt('/'),
6637 which allows spaces to be included in the entry. tt('*') and tt('?') 
6638 can be used to specify multiple files or directories as in DOS
6639 wildcards.
6641 Each entry must be a unix path, not a DOS path and must em(*not*) include the 
6642 unix directory separator tt('/').
6644 Note that the link(bf("case sensitive"))(casesensitive) option is
6645 applicable in vetoing files.
6647 One feature of the veto files parameter that it is important to be
6648 aware of, is that if a directory contains nothing but files that match
6649 the veto files parameter (which means that Windows/DOS clients cannot
6650 ever see them) is deleted, the veto files within that directory *are
6651 automatically deleted* along with it, if the user has UNIX permissions
6652 to do so.
6654 Setting this parameter will affect the performance of Samba, as it
6655 will be forced to check all files and directories for a match as they
6656 are scanned.
6658 See also link(bf("hide files"))(hidefiles) and link(bf("case
6659 sensitive"))(casesensitive).
6661   bf(Default:)
6662 tt(     No files or directories are vetoed.)
6664   bf(Examples:)
6666     Example 1.
6668 verb(
6670     Veto any files containing the word Security, 
6671     any ending in .tmp, and any directory containing the
6672     word root.
6674         veto files = /*Security*/*.tmp/*root*/
6677     Example 2.
6679 verb(
6680     Veto the Apple specific files that a NetAtalk server
6681     creates.
6683     veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
6686 label(vetooplockfiles)
6687 dit(bf(veto oplock files (S)))
6689 This parameter is only valid when the link(bf("oplocks"))(oplocks)
6690 parameter is turned on for a share. It allows the Samba administrator
6691 to selectively turn off the granting of oplocks on selected files that
6692 match a wildcarded list, similar to the wildcarded list used in the
6693 link(bf("veto files"))(vetofiles) parameter.
6695   bf(Default:)
6696 tt(     No files are vetoed for oplock grants.)
6698   bf(Examples:)
6700 You might want to do this on files that you know will be heavily
6701 contended for by clients. A good example of this is in the NetBench
6702 SMB benchmark program, which causes heavy client contention for files
6703 ending in tt(".SEM"). To cause Samba not to grant oplocks on these
6704 files you would use the line (either in the link(bf([global]))(global)
6705 section or in the section for the particular NetBench share :
6707 tt(     veto oplock files = /*.SEM/)
6709 label(volume)
6710 dit(bf(volume (S)))
6712 This allows you to override the volume label returned for a
6713 share. Useful for CDROMs with installation programs that insist on a
6714 particular volume label.
6716 The default is the name of the share.
6718 label(widelinks)
6719 dit(bf(wide links (S)))
6721 This parameter controls whether or not links in the UNIX file system
6722 may be followed by the server. Links that point to areas within the
6723 directory tree exported by the server are always allowed; this
6724 parameter controls access only to areas that are outside the directory
6725 tree being exported.
6727 Note that setting this parameter can have a negative effect on your
6728 server performance due to the extra system calls that Samba has to
6729 do in order to perform the link checks.
6731   bf(Default:)
6732 tt(     wide links = yes)
6734   bf(Example:)
6735 tt(     wide links = no)
6737 label(winsproxy)
6738 dit(bf(wins proxy (G)))
6740 This is a boolean that controls if url(bf(nmbd))(nmbd.8.html) will
6741 respond to broadcast name queries on behalf of other hosts. You may
6742 need to set this to tt("yes") for some older clients.
6744   bf(Default:)
6745 tt(     wins proxy = no)
6747 label(winsserver)
6748 dit(bf(wins server (G)))
6750 This specifies the IP address (or DNS name: IP address for preference)
6751 of the WINS server that url(bf(nmbd))(nmbd.8.html) should register with.
6752 If you have a WINS server on your network then you should set this to
6753 the WINS server's IP.        
6755 You should point this at your WINS server if you have a
6756 multi-subnetted network.
6758 em(NOTE). You need to set up Samba to point to a WINS server if you
6759 have multiple subnets and wish cross-subnet browsing to work correctly.
6761 See the documentation file BROWSING.txt in the docs/ directory of your
6762 Samba source distribution.
6764   bf(Default:)
6765 tt(     wins server = )
6767   bf(Example:)
6768 tt(     wins server = 192.9.200.1)
6770 label(winshook)
6771 dit(bf(wins hook (G)))
6773 When Samba is running as a WINS server this allows you to call an
6774 external program for all changes to the WINS database. The primary use
6775 for this option is to allow the dynamic update of external name
6776 resolution databases such as dynamic DNS.
6778 The wins hook parameter specifies the name of a script or executable
6779 that will be called as follows:
6781    wins_hook operation name nametype ttl IP_list
6783 The first argument is the operation and is one of "add", "delete",
6784 or "refresh". In most cases the operation can be ignored as the rest
6785 of the parameters provide sufficient information. Note that "refresh"
6786 may sometimes be called when the name has not previously been added,
6787 in that case it should be treated as an add.
6789 The second argument is the netbios name. If the name is not a legal
6790 name then the wins hook is not called. Legal names contain only
6791 letters, digits, hyphens, underscores and periods.
6793 The third argument is the netbios name type as a 2 digit hexadecimal
6794 number. 
6796 The fourth argument is the TTL (time to live) for the name in seconds.
6798 The fifth and subsequent arguments are the IP addresses currently
6799 registered for that name. If this list is empty then the name should
6800 be deleted.
6802 An example script that calls the BIND dynamic DNS update program
6803 "nsupdate" is provided in the examples directory of the Samba source
6804 code. 
6806 label(winssupport)
6807 dit(bf(wins support (G)))
6809 This boolean controls if the url(bf(nmbd))(nmbd.8.html) process in
6810 Samba will act as a WINS server. You should not set this to true
6811 unless you have a multi-subnetted network and you wish a particular
6812 url(bf(nmbd))(nmbd.8.html) to be your WINS server. Note that you
6813 should em(*NEVER*) set this to true on more than one machine in your
6814 network.
6816   bf(Default:)
6817 tt(     wins support = no)
6819 label(workgroup)
6820 dit(bf(workgroup (G)))
6822 This controls what workgroup your server will appear to be in when
6823 queried by clients. Note that this parameter also controls the Domain
6824 name used with the link(bf("security=domain"))(securityequaldomain)
6825 setting.
6827   bf(Default:)
6828 tt(     set at compile time to WORKGROUP)
6830   bf(Example:)
6831         workgroup = MYGROUP
6833 label(writable)
6834 dit(bf(writable (S)))
6836 Synonym for link(bf("writeable"))(writeable) for people who can't spell :-).
6838 label(writelist)
6839 dit(bf(write list (S)))
6841 This is a list of users that are given read-write access to a
6842 service. If the connecting user is in this list then they will be
6843 given write access, no matter what the link(bf("writeable"))(writeable)
6844 option is set to. The list can include group names using the @group
6845 syntax.
6847 Note that if a user is in both the read list and the write list then
6848 they will be given write access.
6850 See also the link(bf("read list"))(readlist) option.
6852   bf(Default:)
6853 tt(     write list = <empty string>)
6855   bf(Example:)
6856 tt(     write list = admin, root, @staff)
6858 label(writecachesize)
6859 dit(bf(write cache size (S)))
6861 This integer parameter (new with Samba 2.0.7) if set to non-zero causes Samba to create an in-memory
6862 cache for each oplocked file (it does bf(not) do this for non-oplocked files). All
6863 writes that the client does not request to be flushed directly to disk will be
6864 stored in this cache if possible. The cache is flushed onto disk when a write
6865 comes in whose offset would not fit into the cache or when the file is closed
6866 by the client. Reads for the file are also served from this cache if the data
6867 is stored within it.
6869 This cache allows Samba to batch client writes into a more efficient write
6870 size for RAID disks (ie. writes may be tuned to be the RAID stripe size) and
6871 can improve performance on systems where the disk subsystem is a bottleneck
6872 but there is free memory for userspace programs.
6874 The integer parameter specifies the size of this cache (per oplocked file)
6875 in bytes.
6877   bf(Default:)
6878 tt(     write cache size = 0)
6880   bf(Example:)
6881 tt(          write cache size = 262144)
6882 for a 256k cache size per file.
6884 label(writeok)
6885 dit(bf(write ok (S)))
6887 Synonym for link(bf(writeable))(writeable).
6889 label(writeraw)
6890 dit(bf(write raw (G)))
6892 This parameter controls whether or not the server will support raw
6893 writes SMB's when transferring data from clients. You should never
6894 need to change this parameter.
6896  bf(Default:)
6897 tt(     write raw = yes)
6899 label(writeable)
6900 dit(bf(writeable))
6902 An inverted synonym is link(bf("read only"))(readonly).
6904 If this parameter is tt("no"), then users of a service may not create
6905 or modify files in the service's directory.
6907 Note that a printable service link(bf(("printable = yes")))(printable)
6908 will em(*ALWAYS*) allow writing to the directory (user privileges
6909 permitting), but only via spooling operations.
6911   bf(Default:)
6912 tt(     writeable = no)
6914   bf(Examples:)
6915 verb(
6916         read only = no
6917         writeable = yes
6918         write ok = yes
6921 endit()
6923 label(WARNINGS)
6924 manpagesection(WARNINGS)
6926 Although the configuration file permits service names to contain
6927 spaces, your client software may not. Spaces will be ignored in
6928 comparisons anyway, so it shouldn't be a problem - but be aware of the
6929 possibility.
6931 On a similar note, many clients - especially DOS clients - limit
6932 service names to eight characters. url(bf(Smbd))(smbd.8.html) has no
6933 such limitation, but attempts to connect from such clients will fail
6934 if they truncate the service names.  For this reason you should
6935 probably keep your service names down to eight characters in length.
6937 Use of the link(bf([homes]))(homes) and link(bf([printers]))(printers)
6938 special sections make life for an administrator easy, but the various
6939 combinations of default attributes can be tricky. Take extreme care
6940 when designing these sections. In particular, ensure that the
6941 permissions on spool directories are correct.
6943 label(VERSION)
6944 manpagesection(VERSION)
6946 This man page is correct for version 2.0 of the Samba suite.
6948 label(SEEALSO)
6949 manpagesection(SEE ALSO)
6951 url(bf(smbd (8)))(smbd.8.html), url(bf(smbclient (1)))(smbclient.1.html),
6952 url(bf(nmbd (8)))(nmbd.8.html), url(bf(testparm (1)))(testparm.1.html),
6953 url(bf(testprns (1)))(testprns.1.html), url(bf(Samba))(samba.7.html),
6954 url(bf(nmblookup (1)))(nmblookup.1.html), url(bf(smbpasswd (5)))(smbpasswd.5.html),
6955 url(bf(smbpasswd (8)))(smbpasswd.8.html).
6957 label(AUTHOR)
6958 manpageauthor()
6960 The original Samba software and related utilities were created by
6961 Andrew Tridgell email(samba@samba.org). Samba is now developed
6962 by the Samba Team as an Open Source project similar to the way the
6963 Linux kernel is developed.
6965 The original Samba man pages were written by Karl Auer. The man page
6966 sources were converted to YODL format (another excellent piece of Open
6967 Source software, available at
6968 url(bf(ftp://ftp.icce.rug.nl/pub/unix/))(ftp://ftp.icce.rug.nl/pub/unix/))
6969 and updated for the Samba2.0 release by Jeremy Allison.
6970 email(samba@samba.org).
6972 See url(bf(samba (7)))(samba.7.html) to find out how to get a full
6973 list of contributors and details on how to submit bug reports,
6974 comments etc.