Changes from APPLIANCE_HEAD:
[ira/wip.git] / docs / yodldocs / smb.conf.5.yo
1 mailto(samba@samba.org) 
2
3 manpage(smb.conf htmlcommand((5)))(5)(23 Oct 1998)(Samba)(SAMBA)
4
5 label(NAME)
6 manpagename(smb.conf)(The configuration file for the Samba suite)
7
8 label(SYNOPSIS)
9 manpagesynopsis() 
10
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.
17
18 label(FILEFORMAT)
19 manpagesection(FILE FORMAT)
20
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 
24
25 tt('name = value')
26
27 The file is line-based - that is, each newline-terminated line
28 represents either a comment, a section name or a parameter.
29
30 Section and parameter names are not case sensitive.
31
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.
38
39 Any line beginning with a semicolon (';') or a hash ('#') character is
40 ignored, as are lines containing only whitespace.
41
42 Any line ending in a tt('\') is "continued" on the next line in the
43 customary UNIX fashion.
44
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.
50
51 label(SECTIONDESCRIPTIONS)
52 manpagesection(SECTION DESCRIPTIONS)
53
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.
58
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.
63
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.
67
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).
71
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.
76
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.
83
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.
88
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":
92
93 verb(
94
95         [foo]
96                 path = /home/bar
97                 writeable = true
98
99 )
100
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):
106
107 verb(
108         [aprinter]
109                 path = /usr/spool/public
110                 writeable = false
111                 printable = true
112                 guest ok = true
113 )
114
115 label(SPECIALSECTIONS)
116 manpagesection(SPECIAL SECTIONS)
117
118 startdit()
119
120 label(global)
121 dit(bf(The [global] section))
122
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.
127
128 label(homes)
129 dit(bf(The [homes] section))
130
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.
134
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.
140
141 Some modifications are then made to the newly created share:
142
143 startit()
144
145 it() The share name is changed from tt('homes') to the located
146 username
147
148 it() If no path was given, the path is set to the user's home
149 directory.
150
151 endit()
152
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 :
156
157 tt(path=/data/pchome/%S)
158
159 would be useful if you have different home directories for your PCs
160 than for UNIX access.
161
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.
164
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.
169
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:
173
174 verb(
175         [homes]
176                 writeable = yes
177 )
178
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).
184
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.
190
191 label(printers)
192 dit(bf(The [printers] section))
193
194 This section works like link(bf([homes]))(homes), but for printers.
195
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.
199
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.
208
209 A few modifications are then made to the newly created share:
210
211 startit()
212
213 it() The share name is set to the located printer name
214
215 it() If no printer name was given, the printer name is set to the
216 located printer name
217
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.
220
221 endit()
222
223 Note that the bf([printers]) service MUST be printable - if you specify
224 otherwise, the server will refuse to load the configuration file.
225
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:
229
230 verb(
231         [printers]
232                 path = /usr/spool/public
233                 guest ok = yes
234                 printable = yes 
235 )
236
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:
242
243 verb(        alias|alias|alias|alias...    )
244
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.
251
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 ("|").
256
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.
262
263 enddit()
264
265 label(PARAMETERS)
266 manpagesection(PARAMETERS)
267
268 Parameters define the specific attributes of sections.
269
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.
282
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.
287
288 label(VARIABLESUBSTITUTIONS)
289 manpagesection(VARIABLE SUBSTITUTIONS)
290
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.
295
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:
299
300 startit()
301
302 label(percentS) 
303 it() bf(%S) = the name of the current service, if any.
304
305 label(percentP)
306 it() bf(%P) = the root directory of the current service, if any.
307
308 label(percentu)
309 it() bf(%u) = user name of the current service, if any.
310
311 label(percentg)
312 it() bf(%g) = primary group name of link(bf(%u))(percentu).
313
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).
317
318 label(percentG)
319 it() bf(%G) = primary group name of link(bf(%U))(percentU).
320
321 label(percentH)
322 it() bf(%H) = the home directory of the user given by link(bf(%u))(percentu).
323
324 label(percentv)
325 it() bf(%v) = the Samba version.
326
327 label(percenth)
328 it() bf(%h) = the internet hostname that Samba is running on.
329
330 label(percentm)
331 it() bf(%m) = the NetBIOS name of the client machine (very useful).
332
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".
337
338 label(percentM) 
339 it() bf(%M) = the internet name of the client machine.
340
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).
346
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".
350
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.
354
355 label(percentd)
356 it() bf(%d) = The process id of the current server process.
357
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.
365
366 label(percentI)
367 it() bf(%I) = The IP address of the client machine.
368
369 label(percentT)
370 it() bf(%T) = the current date and time.
371
372 endit()
373
374 There are some quite creative things that can be done with these
375 substitutions and other smb.conf options.
376
377 label(NAMEMANGLING)
378 manpagesection(NAME MANGLING)
379
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.
383
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.
387
388 All of these options can be set separately for each service (or
389 globally, of course).
390
391 The options are:
392
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).
397
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).
402
403 label(defaultcaseoption)
404 bf("default case = upper/lower") controls what the default case is for new
405 filenames. Default em(lower).
406
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).
411
412 label(shortpreservecaseoption)
413
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).
420
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.
423
424 label(NOTEABOUTUSERNAMEPASSWORDVALIDATION)
425 manpagesection(NOTE ABOUT USERNAME/PASSWORD VALIDATION)
426
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.
432
433 If the service is marked link(bf("guest only = yes"))(guestonly) then
434 steps 1 to 5 are skipped.
435
436 starteit()
437
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.
443
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.
447
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.
451
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. 
455
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.
464
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.
469
470 endeit()
471
472 label(COMPLETELISTOFGLOBALPARAMETERS)
473 manpagesection(COMPLETE LIST OF GLOBAL PARAMETERS)
474
475 Here is a list of all global parameters. See the section of each
476 parameter for details.  Note that some are synonyms.
477
478 startit()
479
480 it() link(bf(add user script))(adduserscript)
481
482 it() link(bf(allow trusted domains))(allowtrusteddomains)
483
484 it() link(bf(announce as))(announceas)
485
486 it() link(bf(announce version))(announceversion)
487
488 it() link(bf(auto services))(autoservices)
489
490 it() link(bf(bind interfaces only))(bindinterfacesonly)
491
492 it() link(bf(browse list))(browselist)
493
494 it() link(bf(change notify timeout))(changenotifytimeout)
495
496 it() link(bf(character set))(characterset)
497
498 it() link(bf(client code page))(clientcodepage)
499
500 it() link(bf(coding system))(codingsystem)
501
502 it() link(bf(config file))(configfile)
503
504 it() link(bf(deadtime))(deadtime)
505
506 it() link(bf(debug hires timestamp))(debughirestimestamp)
507
508 it() link(bf(debug pid))(debugpid)
509
510 it() link(bf(debug timestamp))(debugtimestamp)
511
512 it() link(bf(debug uid))(debuguid)
513
514 it() link(bf(debug level))(debuglevel)
515
516 it() link(bf(default))(default)
517
518 it() link(bf(default service))(defaultservice)
519
520 it() link(bf(delete user script))(deleteuserscript)
521
522 it() link(bf(dfree command))(dfreecommand)
523
524 it() link(bf(dns proxy))(dnsproxy)
525
526 it() link(bf(domain admin group))(domainadmingroup)
527
528 it() link(bf(domain admin users))(domainadminusers)
529
530 it() link(bf(domain groups))(domaingroups)
531
532 it() link(bf(domain guest group))(domainguestgroup)
533
534 it() link(bf(domain guest users))(domainguestusers)
535
536 it() link(bf(domain logons))(domainlogons)
537
538 it() link(bf(domain master))(domainmaster)
539
540 it() link(bf(encrypt passwords))(encryptpasswords)
541
542 it() link(bf(getwd cache))(getwdcache)
543
544 it() link(bf(hide local users))(hidelocalusers)
545
546 it() link(bf(homedir map))(homedirmap)
547
548 it() link(bf(hosts equiv))(hostsequiv)
549
550 it() link(bf(interfaces))(interfaces)
551
552 it() link(bf(keepalive))(keepalive)
553
554 it() link(bf(kernel oplocks))(kerneloplocks)
555
556 it() link(bf(ldap filter))(ldapfilter)
557
558 it() link(bf(ldap port))(ldapport)
559
560 it() link(bf(ldap root))(ldaproot)
561
562 it() link(bf(ldap root passwd))(ldaprootpasswd)
563
564 it() link(bf(ldap server))(ldapserver)
565
566 it() link(bf(ldap suffix))(ldapsuffix)
567
568 it() link(bf(lm announce))(lmannounce)
569
570 it() link(bf(lm interval))(lminterval)
571
572 it() link(bf(load printers))(loadprinters)
573
574 it() link(bf(local master))(localmaster)
575
576 it() link(bf(lock dir))(lockdir)
577
578 it() link(bf(lock directory))(lockdirectory)
579
580 it() link(bf(log file))(logfile)
581
582 it() link(bf(log level))(loglevel)
583
584 it() link(bf(logon drive))(logondrive)
585
586 it() link(bf(logon home))(logonhome)
587
588 it() link(bf(logon path))(logonpath)
589
590 it() link(bf(logon script))(logonscript)
591
592 it() link(bf(lpq cache time))(lpqcachetime)
593
594 it() link(bf(machine password timeout))(machinepasswordtimeout)
595
596 it() link(bf(mangled stack))(mangledstack)
597
598 it() link(bf(map to guest))(maptoguest)
599
600 it() link(bf(max disk size))(maxdisksize)
601
602 it() link(bf(max log size))(maxlogsize)
603
604 it() link(bf(max mux))(maxmux)
605
606 it() link(bf(max open files))(maxopenfiles)
607
608 it() link(bf(max packet))(maxpacket)
609
610 it() link(bf(max ttl))(maxttl)
611
612 it() link(bf(max wins ttl))(maxwinsttl)
613
614 it() link(bf(max xmit))(maxxmit)
615
616 it() link(bf(message command))(messagecommand)
617
618 it() link(bf(min passwd length))(minpasswdlength)
619
620 it() link(bf(min password length))(minpasswordlength)
621
622 it() link(bf(min wins ttl))(minwinsttl)
623
624 it() link(bf(name resolve order))(nameresolveorder)
625
626 it() link(bf(netbios aliases))(netbiosaliases)
627
628 it() link(bf(netbios name))(netbiosname)
629
630 it() link(bf(netbios scope))(netbiosscope)
631
632 it() link(bf(nis homedir))(nishomedir)
633
634 it() link(bf(nt acl support))(ntaclsupport)
635
636 it() link(bf(nt pipe support))(ntpipesupport)
637
638 it() link(bf(nt smb support))(ntsmbsupport)
639
640 it() link(bf(null passwords))(nullpasswords)
641
642 it() link(bf(ole locking compatibility))(olelockingcompatibility)
643
644 it() link(bf(oplock break wait time))(oplockbreakwaittime)
645
646 it() link(bf(os level))(oslevel)
647
648 it() link(bf(packet size))(packetsize)
649
650 it() link(bf(panic action))(panicaction)
651
652 it() link(bf(passwd chat))(passwdchat)
653
654 it() link(bf(passwd chat debug))(passwdchatdebug)
655
656 it() link(bf(passwd program))(passwdprogram)
657
658 it() link(bf(password level))(passwordlevel)
659
660 it() link(bf(password server))(passwordserver)
661
662 it() link(bf(prefered master))(preferedmaster)
663
664 it() link(bf(preferred master))(preferredmaster)
665
666 it() link(bf(preload))(preload)
667
668 it() link(bf(printcap))(printcap)
669
670 it() link(bf(printcap name))(printcapname)
671
672 it() link(bf(printer driver file))(printerdriverfile)
673
674 it() link(bf(private dir))(privatedir)
675
676 it() link(bf(protocol))(protocol)
677
678 it() link(bf(read bmpx))(readbmpx)
679
680 it() link(bf(read prediction))(readprediction)
681
682 it() link(bf(read raw))(readraw)
683
684 it() link(bf(read size))(readsize)
685
686 it() link(bf(remote announce))(remoteannounce)
687
688 it() link(bf(remote browse sync))(remotebrowsesync)
689
690 it() link(bf(restrict anonymous))(restrictanonymous)
691
692 it() link(bf(root))(root)
693
694 it() link(bf(root dir))(rootdir)
695
696 it() link(bf(root directory))(rootdirectory)
697
698 it() link(bf(security))(security)
699
700 it() link(bf(server string))(serverstring)
701
702 it() link(bf(shared mem size))(sharedmemsize)
703
704 it() link(bf(smb passwd file))(smbpasswdfile)
705
706 it() link(bf(smbrun))(smbrun)
707
708 it() link(bf(socket address))(socketaddress)
709
710 it() link(bf(socket options))(socketoptions)
711
712 it() link(bf(source environment))(sourceenvironment)
713
714 it() link(bf(ssl))(ssl)
715
716 it() link(bf(ssl CA certDir))(sslCAcertDir)
717
718 it() link(bf(ssl CA certFile))(sslCAcertFile)
719
720 it() link(bf(ssl ciphers))(sslciphers)
721
722 it() link(bf(ssl client cert))(sslclientcert)
723
724 it() link(bf(ssl client key))(sslclientkey)
725
726 it() link(bf(ssl compatibility))(sslcompatibility)
727
728 it() link(bf(ssl hosts))(sslhosts)
729
730 it() link(bf(ssl hosts resign))(sslhostsresign)
731
732 it() link(bf(ssl require clientcert))(sslrequireclientcert)
733
734 it() link(bf(ssl require servercert))(sslrequireservercert)
735
736 it() link(bf(ssl server cert))(sslservercert)
737
738 it() link(bf(ssl server key))(sslserverkey)
739
740 it() link(bf(ssl version))(sslversion)
741
742 it() link(bf(stat cache))(statcache)
743
744 it() link(bf(stat cache size))(statcachesize)
745
746 it() link(bf(strip dot))(stripdot)
747
748 it() link(bf(syslog))(syslog)
749
750 it() link(bf(syslog only))(syslogonly)
751
752 it() link(bf(template homedir))(templatehomedir)
753
754 it() link(bf(template shell))(templateshell)
755
756 it() link(bf(time offset))(timeoffset)
757
758 it() link(bf(time server))(timeserver)
759
760 it() link(bf(timestamp logs))(timestamplogs)
761
762 it() link(bf(unix password sync))(unixpasswordsync)
763
764 it() link(bf(unix realname))(unixrealname)
765
766 it() link(bf(update encrypted))(updateencrypted)
767
768 it() link(bf(use rhosts))(userhosts)
769
770 it() link(bf(username level))(usernamelevel)
771
772 it() link(bf(username map))(usernamemap)
773
774 it() link(bf(utmp directory))(utmpdirectory)
775
776 it() link(bf(valid chars))(validchars)
777
778 it() link(bf(winbind cache time))(winbindcachetime)
779
780 it() link(bf(winbind gid))(winbindgid)
781
782 it() link(bf(winbind uid))(winbinduid)
783
784 it() link(bf(wins hook))(winshook)
785
786 it() link(bf(wins proxy))(winsproxy)
787
788 it() link(bf(wins server))(winsserver)
789
790 it() link(bf(wins support))(winssupport)
791
792 it() link(bf(workgroup))(workgroup)
793
794 it() link(bf(write raw))(writeraw)
795
796 endit()
797
798 label(COMPLETELISTOFSERVICEPARAMETERS)
799 manpagesection(COMPLETE LIST OF SERVICE PARAMETERS)
800
801 Here is a list of all service parameters. See the section of each
802 parameter for details. Note that some are synonyms.
803
804 startit()
805
806 it() link(bf(admin users))(adminusers)
807
808 it() link(bf(allow hosts))(allowhosts)
809
810 it() link(bf(alternate permissions))(alternatepermissions)
811
812 it() link(bf(available))(available)
813
814 it() link(bf(blocking locks))(blockinglocks)
815
816 it() link(bf(browsable))(browsable)
817
818 it() link(bf(browseable))(browseable)
819
820 it() link(bf(case sensitive))(casesensitive)
821
822 it() link(bf(casesignames))(casesignames)
823
824 it() link(bf(comment))(comment)
825
826 it() link(bf(copy))(copy)
827
828 it() link(bf(create mask))(createmask)
829
830 it() link(bf(create mode))(createmode)
831
832 it() link(bf(default case))(defaultcase)
833
834 it() link(bf(delete readonly))(deletereadonly)
835
836 it() link(bf(delete veto files))(deletevetofiles)
837
838 it() link(bf(deny hosts))(denyhosts)
839
840 it() link(bf(directory))(directory)
841
842 it() link(bf(directory mask))(directorymask)
843
844 it() link(bf(directory mode))(directorymode)
845
846 it() link(bf(directory security mask))(directorysecuritymask)
847
848 it() link(bf(dont descend))(dontdescend)
849
850 it() link(bf(dos filetime resolution))(dosfiletimeresolution)
851
852 it() link(bf(dos filetimes))(dosfiletimes)
853
854 it() link(bf(exec))(exec)
855
856 it() link(bf(fake directory create times))(fakedirectorycreatetimes)
857
858 it() link(bf(fake oplocks))(fakeoplocks)
859
860 it() link(bf(follow symlinks))(followsymlinks)
861
862 it() link(bf(force create mode))(forcecreatemode)
863
864 it() link(bf(force directory mode))(forcedirectorymode)
865
866 it() link(bf(force directory security mode))(forcedirectorysecuritymode)
867
868 it() link(bf(force group))(forcegroup)
869
870 it() link(bf(force security mode))(forcesecuritymode)
871
872 it() link(bf(force user))(forceuser)
873
874 it() link(bf(fstype))(fstype)
875
876 it() link(bf(group))(group)
877
878 it() link(bf(guest account))(guestaccount)
879
880 it() link(bf(guest ok))(guestok)
881
882 it() link(bf(guest only))(guestonly)
883
884 it() link(bf(hide dot files))(hidedotfiles)
885
886 it() link(bf(hide files))(hidefiles)
887
888 it() link(bf(hosts allow))(hostsallow)
889
890 it() link(bf(hosts deny))(hostsdeny)
891
892 it() link(bf(include))(include)
893
894 it() link(bf(inherit permissions))(inheritpermissions)
895
896 it() link(bf(invalid users))(invalidusers)
897
898 it() link(bf(level2 oplocks))(level2oplocks)
899
900 it() link(bf(locking))(locking)
901
902 it() link(bf(lppause command))(lppausecommand)
903
904 it() link(bf(lpq command))(lpqcommand)
905
906 it() link(bf(lpresume command))(lpresumecommand)
907
908 it() link(bf(lprm command))(lprmcommand)
909
910 it() link(bf(magic output))(magicoutput)
911
912 it() link(bf(magic script))(magicscript)
913
914 it() link(bf(mangle case))(manglecase)
915
916 it() link(bf(mangle locks))(manglelocks)
917
918 it() link(bf(mangled map))(mangledmap)
919
920 it() link(bf(mangled names))(manglednames)
921
922 it() link(bf(mangling char))(manglingchar)
923
924 it() link(bf(map archive))(maparchive)
925
926 it() link(bf(map hidden))(maphidden)
927
928 it() link(bf(map system))(mapsystem)
929
930 it() link(bf(max connections))(maxconnections)
931
932 it() link(bf(min print space))(minprintspace)
933
934 it() link(bf(only guest))(onlyguest)
935
936 it() link(bf(only user))(onlyuser)
937
938 it() link(bf(oplock contention limit))(oplockcontentionlimit)
939
940 it() link(bf(oplocks))(oplocks)
941
942 it() link(bf(path))(path)
943
944 it() link(bf(postexec))(postexec)
945
946 it() link(bf(postscript))(postscript)
947
948 it() link(bf(preexec))(preexec)
949
950 it() link(bf(preexec close))(preexecclose)
951
952 it() link(bf(preserve case))(preservecase)
953
954 it() link(bf(print command))(printcommand)
955
956 it() link(bf(print ok))(printok)
957
958 it() link(bf(printable))(printable)
959
960 it() link(bf(printer))(printer)
961
962 it() link(bf(printer admin))(printer admin)
963
964 it() link(bf(printer driver))(printerdriver)
965
966 it() link(bf(printer driver location))(printerdriverlocation)
967
968 it() link(bf(printer name))(printername)
969
970 it() link(bf(printing))(printing)
971
972 it() link(bf(public))(public)
973
974 it() link(bf(queuepause command))(queuepausecommand)
975
976 it() link(bf(queueresume command))(queueresumecommand)
977
978 it() link(bf(read list))(readlist)
979
980 it() link(bf(read only))(readonly)
981
982 it() link(bf(root postexec))(rootpostexec)
983
984 it() link(bf(root preexec))(rootpreexec)
985
986 it() link(bf(root preexec close))(rootpreexecclose)
987
988 it() link(bf(security mask))(securitymask)
989
990 it() link(bf(set directory))(setdirectory)
991
992 it() link(bf(share modes))(sharemodes)
993
994 it() link(bf(short preserve case))(shortpreservecase)
995
996 it() link(bf(status))(status)
997
998 it() link(bf(strict locking))(strictlocking)
999
1000 it() link(bf(strict sync))(strictsync)
1001
1002 it() link(bf(sync always))(syncalways)
1003
1004 it() link(bf(user))(user)
1005
1006 it() link(bf(username))(username)
1007
1008 it() link(bf(users))(users)
1009
1010 it() link(bf(utmp))(utmp)
1011
1012 it() link(bf(valid users))(validusers)
1013
1014 it() link(bf(veto files))(vetofiles)
1015
1016 it() link(bf(veto oplock files))(vetooplockfiles)
1017
1018 it() link(bf(volume))(volume)
1019
1020 it() link(bf(wide links))(widelinks)
1021
1022 it() link(bf(writable))(writable)
1023
1024 it() link(bf(write cache size))(writecachesize)
1025
1026 it() link(bf(write list))(writelist)
1027
1028 it() link(bf(write ok))(writeok)
1029
1030 it() link(bf(writeable))(writeable)
1031
1032 endit()
1033
1034 label(EXPLANATIONOFEACHPARAMETER)
1035 manpagesection(EXPLANATION OF EACH PARAMETER)
1036
1037 startdit()
1038
1039 label(adduserscript)
1040 dit(bf(add user script (G)))
1041
1042 This is the full pathname to a script that will be run em(AS ROOT) by
1043 url(bf(smbd (8)))(smbd.8.html) under special circumstances decribed
1044 below.
1045
1046 Normally, a Samba server requires that UNIX users are created for all
1047 users accessing files on this server. For sites that use Windows NT
1048 account databases as their primary user database creating these users
1049 and keeping the user list in sync with the Windows NT PDC is an
1050 onerous task. This option allows url(bf(smbd))(smbd.8.html) to create
1051 the required UNIX users em(ON DEMAND) when a user accesses the Samba
1052 server.
1053
1054 In order to use this option, url(bf(smbd))(smbd.8.html) must be set to
1055 link(bf(security=server))(securityequalserver) or
1056 link(bf(security=domain))(securityequaldomain) and bf("add user script")
1057 must be set to a full pathname for a script that will create a UNIX user
1058 given one argument of bf(%u), which expands into the UNIX user name to
1059 create.
1060
1061 When the Windows user attempts to access the Samba server, at
1062 em("login")(session setup in the SMB protocol) time,
1063 url(bf(smbd))(smbd.8.html) contacts the link(bf(password
1064 server))(passwordserver) and attempts to authenticate the given user
1065 with the given password. If the authentication succeeds then
1066 url(bf(smbd))(smbd.8.html) attempts to find a UNIX user in the UNIX
1067 password database to map the Windows user into. If this lookup fails,
1068 and bf("add user script") is set then url(bf(smbd))(smbd.8.html) will
1069 call the specified script em(AS ROOT), expanding any bf(%u) argument
1070 to be the user name to create.
1071
1072 If this script successfully creates the user then
1073 url(bf(smbd))(smbd.8.html) will continue on as though the UNIX user
1074 already existed. In this way, UNIX users are dynamically created to
1075 match existing Windows NT accounts.
1076
1077 See also link(bf(security=server))(securityequalserver),
1078 link(bf(security=domain))(securityequaldomain), link(bf(password
1079 server))(passwordserver), link(bf(delete user
1080 script))(deleteuserscript).
1081
1082   bf(Default:)
1083 tt(     add user script = <empty string>)
1084
1085   bf(Example:)
1086 tt(     add user script = /usr/local/samba/bin/add_user %u)
1087
1088 label(adminusers)
1089 dit(bf(admin users (S)))
1090
1091 This is a list of users who will be granted administrative privileges
1092 on the share. This means that they will do all file operations as the
1093 super-user (root).
1094
1095 You should use this option very carefully, as any user in this list
1096 will be able to do anything they like on the share, irrespective of
1097 file permissions.
1098
1099   bf(Default:) nl()
1100 tt(     no admin users)
1101
1102   bf(Example:) nl()
1103 tt(     admin users = jason)
1104
1105 label(allow hosts)
1106 dit(bf(allow hosts (S)))
1107
1108 Synonym for link(bf(hosts allow))(hostsallow).
1109
1110 label(allowtrusteddomains)
1111 dit(bf(allow trusted domains (G)))
1112
1113 This option only takes effect when the link(bf(security))(security)
1114 option is set to bf(server) or bf(domain).  If it is set to no,
1115 then attempts to connect to a resource from a domain or workgroup other than
1116 the one which smbd is running in will fail, even if that domain
1117 is trusted by the remote server doing the authentication.
1118
1119 This is useful if you only want your Samba server to serve resources
1120 to users in the domain it is a member of. As an example, suppose that there are
1121 two domains DOMA and DOMB.  DOMB is trusted by DOMA, which contains
1122 the Samba server.  Under normal circumstances, a user with an account
1123 in DOMB can then access the resources of a UNIX account with the same
1124 account name on the Samba server even if they do not have an account
1125 in DOMA.  This can make implementing a security boundary difficult.
1126
1127   bf(Default:)
1128 tt(     allow trusted domains = Yes)
1129
1130   bf(Example:)
1131 tt(     allow trusted domains = No)
1132
1133 label(alternatepermissions)
1134 dit(bf(alternate permissions (S)))
1135
1136 This is a deprecated parameter. It no longer has any effect in Samba2.0.
1137 In previous versions of Samba it affected the way the DOS "read only"
1138 attribute was mapped for a file. In Samba2.0 a file is marked "read only"
1139 if the UNIX file does not have the 'w' bit set for the owner of the file,
1140 regardless if the owner of the file is the currently logged on user or not.
1141
1142 label(announceas)
1143 dit(bf(announce as (G)))
1144
1145 This specifies what type of server url(bf(nmbd))(nmbd.8.html) will
1146 announce itself as, to a network neighborhood browse list. By default
1147 this is set to Windows NT. The valid options are : "NT", which is a
1148 synonym for "NT Server", "NT Server", "NT Workstation", "Win95" or
1149 "WfW" meaning Windows NT Server, Windows NT Workstation, Windows 95
1150 and Windows for Workgroups respectively. Do not change this parameter
1151 unless you have a specific need to stop Samba appearing as an NT server
1152 as this may prevent Samba servers from participating as browser servers correctly.
1153
1154   bf(Default:)
1155 tt(     announce as = NT Server)
1156
1157   bf(Example)
1158 tt(     announce as = Win95)
1159
1160 label(announceversion)
1161 dit(bf(announce version (G)))
1162
1163 This specifies the major and minor version numbers that nmbd will use
1164 when announcing itself as a server. The default is 4.2.  Do not change
1165 this parameter unless you have a specific need to set a Samba server
1166 to be a downlevel server.
1167
1168   bf(Default:)
1169 tt(     announce version = 4.2)
1170
1171   bf(Example:)
1172 tt(     announce version = 2.0)
1173
1174
1175 label(autoservices)
1176 dit(bf(auto services (G)))
1177
1178 This is a list of services that you want to be automatically added to
1179 the browse lists. This is most useful for homes and printers services
1180 that would otherwise not be visible.
1181
1182 Note that if you just want all printers in your printcap file loaded
1183 then the link(bf("load printers"))(loadprinters) option is easier.
1184
1185   bf(Default:)
1186 tt(     no auto services)
1187
1188   bf(Example:)
1189 tt(     auto services = fred lp colorlp)
1190
1191 label(available)
1192 dit(bf(available (S)))
1193
1194 This parameter lets you em('turn off') a service. If tt('available = no'),
1195 then em(ALL) attempts to connect to the service will fail. Such failures
1196 are logged.
1197
1198   bf(Default:)
1199 tt(     available = yes)
1200
1201   bf(Example:)
1202 tt(     available = no)
1203
1204 label(bindinterfacesonly)
1205 dit(bf(bind interfaces only (G)))
1206
1207 This global parameter allows the Samba admin to limit what interfaces
1208 on a machine will serve smb requests. If affects file service
1209 url(bf(smbd))(smbd.8.html) and name service url(bf(nmbd))(nmbd.8.html)
1210 in slightly different ways.
1211
1212 For name service it causes url(bf(nmbd))(nmbd.8.html) to bind to ports
1213 137 and 138 on the interfaces listed in the
1214 link(bf('interfaces'))(interfaces)
1215 parameter. url(bf(nmbd))(nmbd.8.html) also binds to the 'all
1216 addresses' interface (0.0.0.0) on ports 137 and 138 for the purposes
1217 of reading broadcast messages. If this option is not set then
1218 url(bf(nmbd))(nmbd.8.html) will service name requests on all of these
1219 sockets. If bf("bind interfaces only") is set then
1220 url(bf(nmbd))(nmbd.8.html) will check the source address of any
1221 packets coming in on the broadcast sockets and discard any that don't
1222 match the broadcast addresses of the interfaces in the
1223 link(bf('interfaces'))(interfaces) parameter list. As unicast packets
1224 are received on the other sockets it allows url(bf(nmbd))(nmbd.8.html)
1225 to refuse to serve names to machines that send packets that arrive
1226 through any interfaces not listed in the
1227 link(bf("interfaces"))(interfaces) list.  IP Source address spoofing
1228 does defeat this simple check, however so it must not be used
1229 seriously as a security feature for url(bf(nmbd))(nmbd.8.html).
1230
1231 For file service it causes url(bf(smbd))(smbd.8.html) to bind only to
1232 the interface list given in the link(bf('interfaces'))(interfaces)
1233 parameter. This restricts the networks that url(bf(smbd))(smbd.8.html)
1234 will serve to packets coming in those interfaces.  Note that you
1235 should not use this parameter for machines that are serving PPP or
1236 other intermittent or non-broadcast network interfaces as it will not
1237 cope with non-permanent interfaces.
1238
1239 If bf("bind interfaces only") is set then unless the network address
1240 em(127.0.0.1) is added to the link(bf('interfaces'))(interfaces) parameter
1241 list url(bf(smbpasswd))(smbpasswd.8.html) and
1242 url(bf(swat))(swat.8.html) may not work as expected due to the
1243 reasons covered below.
1244
1245 To change a users SMB password, the url(bf(smbpasswd))(smbpasswd.8.html)
1246 by default connects to the em("localhost" - 127.0.0.1) address as an SMB
1247 client to issue the password change request. If bf("bind interfaces only")
1248 is set then unless the network address em(127.0.0.1) is added to the
1249 link(bf('interfaces'))(interfaces) parameter list then
1250 url(bf(smbpasswd))(smbpasswd.8.html) will fail to connect in it's
1251 default mode. url(bf(smbpasswd))(smbpasswd.8.html) can be forced to
1252 use the primary IP interface of the local host by using its
1253 url(bf("-r remote machine"))(smbpasswd.8.html#minusr) parameter, with
1254 bf("remote machine") set to the IP name of the primary interface
1255 of the local host.
1256
1257 The url(bf(swat))(swat.8.html) status page tries to connect with
1258 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html) at the address 
1259 em(127.0.0.1) to determine if they are running.  Not adding em(127.0.0.1)  will cause
1260 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html) to always show
1261 "not running" even if they really are.  This can prevent
1262 url(bf(swat))(swat.8.html) from starting/stopping/restarting
1263 url(bf(smbd))(smbd.8.html) and url(bf(nmbd))(nmbd.8.html).
1264
1265   bf(Default:)
1266 tt(     bind interfaces only = False)
1267
1268   bf(Example:)
1269 tt(     bind interfaces only = True)
1270
1271 label(blockinglocks)
1272 dit(bf(blocking locks (S)))
1273
1274 This parameter controls the behavior of url(bf(smbd))(smbd.8.html) when
1275 given a request by a client to obtain a byte range lock on a region
1276 of an open file, and the request has a time limit associated with it.
1277
1278 If this parameter is set and the lock range requested cannot be
1279 immediately satisfied, Samba 2.0 will internally queue the lock 
1280 request, and periodically attempt to obtain the lock until the
1281 timeout period expires.
1282
1283 If this parameter is set to "False", then Samba 2.0 will behave
1284 as previous versions of Samba would and will fail the lock
1285 request immediately if the lock range cannot be obtained.
1286
1287 This parameter can be set per share.
1288
1289   bf(Default:)
1290 tt(     blocking locks = True)
1291
1292   bf(Example:)
1293 tt(     blocking locks = False)
1294
1295 label(browsable)
1296 dit(bf(browsable (S)))
1297
1298 Synonym for link(bf(browseable))(browseable).
1299
1300 label(browselist)
1301 dit(bf(browse list(G)))
1302
1303 This controls whether url(bf(smbd))(smbd.8.html) will serve a browse
1304 list to a client doing a NetServerEnum call. Normally set to true. You
1305 should never need to change this.
1306
1307   bf(Default:)
1308 tt(     browse list = Yes)
1309
1310 label(browseable)
1311 dit(bf(browseable))
1312
1313 This controls whether this share is seen in the list of available
1314 shares in a net view and in the browse list.
1315
1316   bf(Default:)
1317 tt(     browseable = Yes)
1318
1319   bf(Example:)
1320 tt(     browseable = No)
1321
1322 label(casesensitive)
1323 dit(bf(case sensitive (S)))
1324
1325 See the discussion in the section link(bf(NAME MANGLING))(NAMEMANGLING).
1326
1327 label(casesignames)
1328 dit(bf(casesignames (S)))
1329
1330 Synonym for link(bf("case sensitive"))(casesensitive).
1331
1332 label(changenotifytimeout)
1333 dit(bf(change notify timeout (G)))
1334
1335 One of the new NT SMB requests that Samba 2.0 supports is the
1336 "ChangeNotify" requests. This SMB allows a client to tell a server to
1337 em("watch") a particular directory for any changes and only reply to
1338 the SMB request when a change has occurred. Such constant scanning of
1339 a directory is expensive under UNIX, hence an
1340 url(bf(smbd))(smbd.8.html) daemon only performs such a scan on each
1341 requested directory once every bf(change notify timeout) seconds.
1342
1343 bf(change notify timeout) is specified in units of seconds.
1344
1345   bf(Default:)
1346 tt(     change notify timeout = 60)
1347
1348   bf(Example:)
1349 tt(     change notify timeout = 300)
1350
1351 Would change the scan time to every 5 minutes.
1352
1353 label(characterset)
1354 dit(bf(character set (G)))
1355
1356 This allows a smbd to map incoming filenames from a DOS Code page (see
1357 the link(bf(client code page))(clientcodepage) parameter) to several
1358 built in UNIX character sets. The built in code page translations are:
1359
1360 startit()
1361
1362 it() bf(ISO8859-1) Western European UNIX character set. The parameter
1363 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1364 page 850 if the bf(character set) parameter is set to iso8859-1
1365 in order for the conversion to the UNIX character set to be done
1366 correctly.
1367
1368 it() bf(ISO8859-2) Eastern European UNIX character set. The parameter
1369 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1370 page 852 if the bf(character set) parameter is set to ISO8859-2
1371 in order for the conversion to the UNIX character set to be done
1372 correctly. 
1373
1374 it() bf(ISO8859-5) Russian Cyrillic UNIX character set. The parameter
1375 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1376 page 866 if the bf(character set) parameter is set to ISO8859-5
1377 in order for the conversion to the UNIX character set to be done
1378 correctly. 
1379
1380 it() bf(ISO8859-7) Greek UNIX character set. The parameter
1381 link(bf(client code page))(clientcodepage) em(MUST) be set to code
1382 page 737 if the bf(character set) parameter is set to ISO8859-7
1383 in order for the conversion to the UNIX character set to be done
1384 correctly. 
1385
1386 it() bf(KOI8-R) Alternate mapping for Russian Cyrillic UNIX
1387 character set. The parameter link(bf(client code
1388 page))(clientcodepage) em(MUST) be set to code page 866 if the
1389 bf(character set) parameter is set to KOI8-R in order for the
1390 conversion to the UNIX character set to be done correctly.
1391
1392 endit()
1393
1394 em(BUG). These MSDOS code page to UNIX character set mappings should
1395 be dynamic, like the loading of MS DOS code pages, not static.
1396
1397 See also link(bf(client code page))(clientcodepage).  Normally this
1398 parameter is not set, meaning no filename translation is done.
1399
1400   bf(Default:)
1401 tt(     character set = <empty string>)
1402
1403   bf(Example:)
1404 tt(     character set = ISO8859-1)
1405
1406 label(clientcodepage)
1407 dit(bf(client code page (G)))
1408
1409 This parameter specifies the DOS code page that the clients accessing
1410 Samba are using. To determine what code page a Windows or DOS client
1411 is using, open a DOS command prompt and type the command "chcp". This
1412 will output the code page. The default for USA MS-DOS, Windows 95, and
1413 Windows NT releases is code page 437. The default for western european
1414 releases of the above operating systems is code page 850.
1415
1416 This parameter tells url(bf(smbd))(smbd.8.html) which of the
1417 tt(codepage.XXX) files to dynamically load on startup. These files,
1418 described more fully in the manual page url(bf(make_smbcodepage
1419 (1)))(make_smbcodepage.1.html), tell url(bf(smbd))(smbd.8.html) how
1420 to map lower to upper case characters to provide the case insensitivity
1421 of filenames that Windows clients expect.
1422
1423 Samba currently ships with the following code page files :
1424
1425 startit()
1426
1427 it() bf(Code Page 437 - MS-DOS Latin US)
1428
1429 it() bf(Code Page 737 - Windows '95 Greek)
1430
1431 it() bf(Code Page 850 - MS-DOS Latin 1)
1432
1433 it() bf(Code Page 852 - MS-DOS Latin 2)
1434
1435 it() bf(Code Page 861 - MS-DOS Icelandic)
1436
1437 it() bf(Code Page 866 - MS-DOS Cyrillic)
1438
1439 it() bf(Code Page 932 - MS-DOS Japanese SJIS)
1440
1441 it() bf(Code Page 936 - MS-DOS Simplified Chinese)
1442
1443 it() bf(Code Page 949 - MS-DOS Korean Hangul)
1444
1445 it() bf(Code Page 950 - MS-DOS Traditional Chinese)
1446
1447 endit()
1448
1449 Thus this parameter may have any of the values 437, 737, 850, 852,
1450 861, 932, 936, 949, or 950.  If you don't find the codepage you need,
1451 read the comments in one of the other codepage files and the
1452 url(bf(make_smbcodepage (1)))(make_smbcodepage.1.html) man page and
1453 write one. Please remember to donate it back to the Samba user
1454 community.
1455
1456 This parameter co-operates with the link(bf("valid
1457 chars"))(validchars) parameter in determining what characters are
1458 valid in filenames and how capitalization is done. If you set both
1459 this parameter and the link(bf("valid chars"))(validchars) parameter
1460 the bf("client code page") parameter em(MUST) be set before the
1461 link(bf("valid chars"))(validchars) parameter in the bf(smb.conf)
1462 file. The link(bf("valid chars"))(validchars) string will then augment
1463 the character settings in the "client code page" parameter.
1464
1465 If not set, bf("client code page") defaults to 850.
1466
1467 See also : link(bf("valid chars"))(validchars)
1468
1469   bf(Default:)
1470 tt(     client code page = 850)
1471
1472   bf(Example:)
1473 tt(     client code page = 936)
1474
1475 label(codingsystem)
1476 dit(bf(codingsystem (G)))
1477
1478 This parameter is used to determine how incoming Shift-JIS Japanese
1479 characters are mapped from the incoming link(bf("client code
1480 page"))(clientcodepage) used by the client, into file names in the
1481 UNIX filesystem. Only useful if link(bf("client code
1482 page"))(clientcodepage) is set to 932 (Japanese Shift-JIS).
1483
1484 The options are :
1485
1486 startit()
1487
1488 it() bf(SJIS)  Shift-JIS. Does no conversion of the incoming filename.
1489
1490 it() bf(JIS8, J8BB, J8BH, J8@B, J8@J, J8@H ) Convert from incoming
1491 Shift-JIS to eight bit JIS code with different shift-in, shift out
1492 codes.
1493
1494 it() bf(JIS7, J7BB, J7BH, J7@B, J7@J, J7@H ) Convert from incoming
1495 Shift-JIS to seven bit JIS code with different shift-in, shift out
1496 codes.
1497
1498 it() bf(JUNET, JUBB, JUBH, JU@B, JU@J, JU@H ) Convert from incoming
1499 Shift-JIS to JUNET code with different shift-in, shift out codes.
1500
1501 it() bf(EUC)  Convert an incoming Shift-JIS character to EUC code.
1502
1503 it() bf(HEX) Convert an incoming Shift-JIS character to a 3 byte hex
1504 representation, i.e. tt(:AB).
1505
1506 it() bf(CAP) Convert an incoming Shift-JIS character to the 3 byte hex
1507 representation used by the Columbia AppleTalk Program (CAP),
1508 i.e. tt(:AB).  This is used for compatibility between Samba and CAP.
1509
1510 endit()
1511
1512 label(comment)
1513 dit(bf(comment (S)))
1514
1515 This is a text field that is seen next to a share when a client does a
1516 queries the server, either via the network neighborhood or via "net
1517 view" to list what shares are available.
1518
1519 If you want to set the string that is displayed next to the machine
1520 name then see the server string command.
1521
1522   bf(Default:)
1523 tt(     No comment string)
1524
1525   bf(Example:)
1526 tt(     comment = Fred's Files)
1527
1528 label(configfile)
1529 dit(bf(config file (G)))
1530
1531 This allows you to override the config file to use, instead of the
1532 default (usually bf(smb.conf)). There is a chicken and egg problem
1533 here as this option is set in the config file!
1534
1535 For this reason, if the name of the config file has changed when the
1536 parameters are loaded then it will reload them from the new config
1537 file.
1538
1539 This option takes the usual substitutions, which can be very useful.
1540
1541 If the config file doesn't exist then it won't be loaded (allowing you
1542 to special case the config files of just a few clients).
1543
1544   bf(Example:)
1545 tt(     config file = /usr/local/samba/lib/smb.conf.%m)
1546
1547 label(copy)
1548 dit(bf(copy (S)))
1549
1550 This parameter allows you to em('clone') service entries. The specified
1551 service is simply duplicated under the current service's name. Any
1552 parameters specified in the current section will override those in the
1553 section being copied.
1554
1555 This feature lets you set up a 'template' service and create similar
1556 services easily. Note that the service being copied must occur earlier
1557 in the configuration file than the service doing the copying.
1558
1559   bf(Default:)
1560 tt(     none)
1561
1562   bf(Example:)
1563 tt(     copy = otherservice)
1564
1565 label(createmask)
1566 dit(bf(create mask (S)))
1567
1568 A synonym for this parameter is link(bf('create mode'))(createmode).
1569
1570 When a file is created, the necessary permissions are calculated
1571 according to the mapping from DOS modes to UNIX permissions, and the
1572 resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
1573 This parameter may be thought of as a bit-wise MASK for the UNIX modes
1574 of a file. Any bit em(*not*) set here will be removed from the modes set
1575 on a file when it is created.
1576
1577 The default value of this parameter removes the 'group' and 'other'
1578 write and execute bits from the UNIX modes.
1579
1580 Following this Samba will bit-wise 'OR' the UNIX mode created from
1581 this parameter with the value of the "force create mode" parameter
1582 which is set to 000 by default.
1583
1584 This parameter does not affect directory modes. See the parameter
1585 link(bf('directory mode'))(directorymode) for details.
1586
1587 See also the link(bf("force create mode"))(forcecreatemode) parameter
1588 for forcing particular mode bits to be set on created files. See also
1589 the link(bf("directory mode"))(directorymode) parameter for masking
1590 mode bits on created directories.
1591 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
1592
1593   bf(Default:)
1594 tt(     create mask = 0744)
1595
1596   bf(Example:)
1597 tt(     create mask = 0775)
1598
1599 label(createmode)
1600 dit(bf(create mode (S)))
1601
1602 This is a synonym for link(bf(create mask))(createmask).
1603
1604 label(deadtime)
1605 dit(bf(deadtime (G)))
1606
1607 The value of the parameter (a decimal integer) represents the number
1608 of minutes of inactivity before a connection is considered dead, and
1609 it is disconnected. The deadtime only takes effect if the number of
1610 open files is zero.
1611
1612 This is useful to stop a server's resources being exhausted by a large
1613 number of inactive connections.
1614
1615 Most clients have an auto-reconnect feature when a connection is
1616 broken so in most cases this parameter should be transparent to users.
1617
1618 Using this parameter with a timeout of a few minutes is recommended
1619 for most systems.
1620
1621 A deadtime of zero indicates that no auto-disconnection should be
1622 performed.
1623
1624   bf(Default:)
1625 tt(     deadtime = 0)
1626
1627   bf(Example:)
1628 tt(     deadtime = 15)
1629
1630 label(debughirestimestamp)
1631 dit(bf(debug hires timestamp (G)))
1632
1633 Sometimes the timestamps in the log messages are needed with a
1634 resolution of higher that seconds, this boolean parameter adds
1635 microsecond resolution to the timestamp message header when turned on.
1636
1637 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1638 must be on for this to have an effect.
1639
1640   bf(Default:)
1641 tt( debug hires timestamp = No)
1642
1643   bf(Example:)
1644 tt( debug hires timestamp = Yes)
1645
1646 label(debugtimestamp)
1647 dit(bf(debug timestamp (G)))
1648
1649 Samba2.0 debug log messages are timestamped by default. If you are
1650 running at a high link(bf("debug level"))(debuglevel) these timestamps
1651 can be distracting. This boolean parameter allows timestamping to be turned
1652 off.
1653
1654   bf(Default:)
1655 tt(     debug timestamp = Yes)
1656
1657   bf(Example:)
1658 tt(     debug timestamp = No)
1659
1660 label(debugpid)
1661 dit(bf(debug pid (G)))
1662
1663 When using only one log file for more then one forked smbd-process
1664 there may be hard to follow which process outputs which message.
1665 This boolean parameter is adds the process-id to the timestamp message
1666 headers in the logfile when turned on.
1667
1668 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1669 must be on for this to have an effect.
1670
1671   bf(Default:)
1672 tt(     debug pid = No)
1673
1674   bf(Example:)
1675 tt(     debug pid = Yes)
1676
1677 label(debuguid)
1678 dit(bf(debug uid (G)))
1679
1680 Samba is sometimes run as root and sometime run as the connected
1681 user, this boolean parameter inserts the current euid, egid, uid
1682 and gid to the timestamp message headers in the log file if turned on.
1683
1684 Note that the parameter link(bf(debug timestamp))(debugtimestamp)
1685 must be on for this to have an effect.
1686
1687   bf(Default:)
1688 tt(     debug uid = No)
1689
1690   bf(Example:)
1691 tt(     debug uid = Yes)
1692
1693 label(debuglevel)
1694 dit(bf(debug level (G)))
1695
1696 The value of the parameter (an integer) allows the debug level
1697 (logging level) to be specified in the bf(smb.conf) file. This is to
1698 give greater flexibility in the configuration of the system.
1699
1700 The default will be the debug level specified on the command line
1701 or level zero if none was specified.
1702
1703   bf(Example:)
1704 tt(     debug level = 3)
1705
1706 label(default)
1707 dit(bf(default (G)))
1708
1709 A synonym for link(bf(default service))(defaultservice).
1710
1711 label(defaultcase)
1712 dit(bf(default case (S)))
1713
1714 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING). Also note
1715 the link(bf("short preserve case"))(shortpreservecase) parameter.
1716
1717 label(defaultservice)
1718 dit(bf(default service (G)))
1719
1720 This parameter specifies the name of a service which will be connected
1721 to if the service actually requested cannot be found. Note that the
1722 square brackets are em(NOT) given in the parameter value (see example
1723 below).
1724
1725 There is no default value for this parameter. If this parameter is not
1726 given, attempting to connect to a nonexistent service results in an
1727 error.
1728
1729 Typically the default service would be a link(bf(guest ok))(guestok),
1730 link(bf(read-only))(readonly) service.
1731
1732 Also note that the apparent service name will be changed to equal that
1733 of the requested service, this is very useful as it allows you to use
1734 macros like link(bf(%S))(percentS) to make a wildcard service.
1735
1736 Note also that any tt('_') characters in the name of the service used
1737 in the default service will get mapped to a tt('/'). This allows for
1738 interesting things.
1739
1740
1741   bf(Example:)
1742 verb(
1743         default service = pub
1744         
1745         [pub]
1746                 path = /%S
1747 )
1748
1749 label(deleteuserscript)
1750 dit(bf(delete user script (G)))
1751
1752 This is the full pathname to a script that will be run em(AS ROOT) by
1753 url(bf(smbd (8)))(smbd.8.html) under special circumstances decribed
1754 below.
1755
1756 Normally, a Samba server requires that UNIX users are created for all
1757 users accessing files on this server. For sites that use Windows NT
1758 account databases as their primary user database creating these users
1759 and keeping the user list in sync with the Windows NT PDC is an
1760 onerous task. This option allows url(bf(smbd))(smbd.8.html) to delete
1761 the required UNIX users em(ON DEMAND) when a user accesses the Samba
1762 server and the Windows NT user no longer exists.
1763
1764 In order to use this option, url(bf(smbd))(smbd.8.html) must be set to
1765 link(bf(security=domain))(securityequaldomain) and bf("delete user
1766 script") must be set to a full pathname for a script that will delete
1767 a UNIX user given one argument of bf(%u), which expands into the UNIX
1768 user name to delete. em(NOTE) that this is different to the
1769 link(bf(add user script))(adduserscript) which will work with the
1770 link(bf(security=server))(securityequalserver) option as well as
1771 link(bf(security=domain))(securityequaldomain). The reason for this
1772 is only when Samba is a domain member does it get the information
1773 on an attempted user logon that a user no longer exists. In the
1774 link(bf(security=server))(securityequalserver) mode a missing user
1775 is treated the same as an invalid password logon attempt. Deleting
1776 the user in this circumstance would not be a good idea.
1777
1778 When the Windows user attempts to access the Samba server, at
1779 em("login")(session setup in the SMB protocol) time,
1780 url(bf(smbd))(smbd.8.html) contacts the link(bf(password
1781 server))(passwordserver) and attempts to authenticate the given user
1782 with the given password. If the authentication fails with the specific
1783 Domain error code meaning that the user no longer exists then
1784 url(bf(smbd))(smbd.8.html) attempts to find a UNIX user in the UNIX
1785 password database that matches the Windows user account. If this lookup succeeds,
1786 and bf("delete user script") is set then url(bf(smbd))(smbd.8.html) will
1787 call the specified script em(AS ROOT), expanding any bf(%u) argument
1788 to be the user name to delete.
1789
1790 This script should delete the given UNIX username. In this way, UNIX
1791 users are dynamically deleted to match existing Windows NT accounts.
1792
1793 See also link(bf(security=domain))(securityequaldomain),
1794 link(bf(password server))(passwordserver), link(bf(add user
1795 script))(adduserscript).
1796
1797   bf(Default:)
1798 tt(     delete user script = <empty string>)
1799
1800   bf(Example:)
1801 tt(     delete user script = /usr/local/samba/bin/del_user %u)
1802
1803 label(deletereadonly)
1804 dit(bf(delete readonly (S)))
1805
1806 This parameter allows readonly files to be deleted.  This is not
1807 normal DOS semantics, but is allowed by UNIX.
1808
1809 This option may be useful for running applications such as rcs, where
1810 UNIX file ownership prevents changing file permissions, and DOS
1811 semantics prevent deletion of a read only file.
1812
1813   bf(Default:)
1814 tt(     delete readonly = No)
1815
1816   bf(Example:)
1817 tt(     delete readonly = Yes)
1818
1819 label(deletevetofiles)
1820 dit(bf(delete veto files (S)))
1821
1822 This option is used when Samba is attempting to delete a directory
1823 that contains one or more vetoed directories (see the link(bf('veto
1824 files'))(vetofiles) option).  If this option is set to False (the
1825 default) then if a vetoed directory contains any non-vetoed files or
1826 directories then the directory delete will fail. This is usually what
1827 you want.
1828
1829 If this option is set to True, then Samba will attempt to recursively
1830 delete any files and directories within the vetoed directory. This can
1831 be useful for integration with file serving systems such as bf(NetAtalk),
1832 which create meta-files within directories you might normally veto
1833 DOS/Windows users from seeing (e.g. tt(.AppleDouble))
1834
1835 Setting tt('delete veto files = True') allows these directories to be 
1836 transparently deleted when the parent directory is deleted (so long
1837 as the user has permissions to do so).
1838
1839 See also the link(bf(veto files))(vetofiles) parameter.
1840
1841   bf(Default:)
1842 tt(     delete veto files = False)
1843
1844   bf(Example:)
1845 tt(     delete veto files = True)
1846
1847 label(denyhosts)
1848 dit(bf(deny hosts (S)))
1849
1850 Synonym for link(bf(hosts deny))(hostsdeny).
1851
1852 label(dfreecommand)
1853 dit(bf(dfree command (G)))
1854
1855 The dfree command setting should only be used on systems where a
1856 problem occurs with the internal disk space calculations. This has
1857 been known to happen with Ultrix, but may occur with other operating
1858 systems. The symptom that was seen was an error of "Abort Retry
1859 Ignore" at the end of each directory listing.
1860
1861 This setting allows the replacement of the internal routines to
1862 calculate the total disk space and amount available with an external
1863 routine. The example below gives a possible script that might fulfill
1864 this function.
1865
1866 The external program will be passed a single parameter indicating a
1867 directory in the filesystem being queried. This will typically consist
1868 of the string tt("./"). The script should return two integers in
1869 ascii. The first should be the total disk space in blocks, and the
1870 second should be the number of available blocks. An optional third
1871 return value can give the block size in bytes. The default blocksize
1872 is 1024 bytes.
1873
1874 Note: Your script should em(NOT) be setuid or setgid and should be
1875 owned by (and writeable only by) root!
1876
1877   bf(Default:)
1878 tt(     By default internal routines for determining the disk capacity
1879 and remaining space will be used.)
1880
1881   bf(Example:)
1882 tt(     dfree command = /usr/local/samba/bin/dfree)
1883
1884 Where the script dfree (which must be made executable) could be:
1885
1886 verb(
1887         #!/bin/sh
1888         df $1 | tail -1 | awk '{print $2" "$4}'
1889 )
1890
1891 or perhaps (on Sys V based systems):
1892
1893 verb(
1894         #!/bin/sh
1895         /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
1896 )
1897
1898         Note that you may have to replace the command names with full
1899 path names on some systems.
1900
1901 label(directory)
1902 dit(bf(directory (S)))
1903
1904 Synonym for link(bf(path))(path).
1905
1906 label(directorymask)
1907 dit(bf(directory mask (S)))
1908
1909 This parameter is the octal modes which are used when converting DOS
1910 modes to UNIX modes when creating UNIX directories.
1911
1912 When a directory is created, the necessary permissions are calculated
1913 according to the mapping from DOS modes to UNIX permissions, and the
1914 resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
1915 This parameter may be thought of as a bit-wise MASK for the UNIX modes
1916 of a directory. Any bit em(*not*) set here will be removed from the
1917 modes set on a directory when it is created.
1918
1919 The default value of this parameter removes the 'group' and 'other'
1920 write bits from the UNIX mode, allowing only the user who owns the
1921 directory to modify it.
1922
1923 Following this Samba will bit-wise 'OR' the UNIX mode created from
1924 this parameter with the value of the "force directory mode"
1925 parameter. This parameter is set to 000 by default (i.e. no extra mode
1926 bits are added).
1927
1928 See the link(bf("force directory mode"))(forcedirectorymode) parameter
1929 to cause particular mode bits to always be set on created directories.
1930
1931 See also the link(bf("create mode"))(createmode) parameter for masking
1932 mode bits on created files, and the link(bf("directory security mask"))(directorysecuritymask)
1933 parameter.
1934
1935 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
1936
1937   bf(Default:)
1938 tt(     directory mask = 0755)
1939
1940   bf(Example:)
1941 tt(     directory mask = 0775)
1942
1943 label(directorymode)
1944 dit(bf(directory mode (S)))
1945
1946 Synonym for link(bf(directory mask))(directorymask).
1947
1948 label(directorysecuritymask)
1949 dit(bf(directory security mask (S)))
1950
1951 This parameter controls what UNIX permission bits can be modified
1952 when a Windows NT client is manipulating the UNIX permission on a
1953 directory using the native NT security dialog box.
1954
1955 This parameter is applied as a mask (AND'ed with) to the changed
1956 permission bits, thus preventing any bits not in this mask from
1957 being modified. Essentially, zero bits in this mask may be treated
1958 as a set of bits the user is not allowed to change.
1959
1960 If not set explicitly this parameter is set to the same value as the
1961 link(bf(directory mask))(directorymask) parameter. To allow a user to
1962 modify all the user/group/world permissions on a directory, set this
1963 parameter to 0777.
1964
1965 em(Note) that users who can access the Samba server through other
1966 means can easily bypass this restriction, so it is primarily
1967 useful for standalone "appliance" systems.  Administrators of
1968 most normal systems will probably want to set it to 0777.
1969
1970 See also the link(bf(force directory security
1971 mode))(forcedirectorysecuritymode), link(bf(security
1972 mask))(securitymask), link(bf(force security mode))(forcesecuritymode)
1973 parameters.
1974
1975   bf(Default:)
1976 tt(     directory security mask = <same as directory mask>)
1977
1978   bf(Example:)
1979 tt(     directory security mask = 0777)
1980
1981 label(dnsproxy)
1982 dit(bf(dns proxy (G)))
1983
1984 Specifies that url(bf(nmbd))(nmbd.8.html) when acting as a WINS
1985 server and finding that a NetBIOS name has not been registered, should
1986 treat the NetBIOS name word-for-word as a DNS name and do a lookup
1987 with the DNS server for that name on behalf of the name-querying
1988 client.
1989
1990 Note that the maximum length for a NetBIOS name is 15 characters, so
1991 the DNS name (or DNS alias) can likewise only be 15 characters,
1992 maximum.
1993
1994 url(bf(nmbd))(nmbd.8.html) spawns a second copy of itself to do the
1995 DNS name lookup requests, as doing a name lookup is a blocking action.
1996
1997 See also the parameter link(bf(wins support))(winssupport).
1998
1999   bf(Default:)
2000 tt(     dns proxy = yes)
2001
2002 label(domainadmingroup)
2003 bf(domain admin group (G))
2004
2005 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2006 Samba NT Domain Controller Code. It may be removed in a later release.
2007 To work with the latest code builds that may have more support for
2008 Samba NT Domain Controller functionality please subscribe to the
2009 mailing list bf(Samba-ntdom) available by visiting the web page at
2010 url(http://lists.samba.org/)(http://lists.samba.org/)
2011
2012 label(domainadminusers) 
2013 dit(bf(domain admin users (G)))
2014
2015 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2016 Samba NT Domain Controller Code. It may be removed in a later release.
2017 To work with the latest code builds that may have more support for
2018 Samba NT Domain Controller functionality please subscribe to the
2019 mailing list bf(Samba-ntdom) available by visiting the web page at
2020 url(http://lists.samba.org/)(http://lists.samba.org/)
2021
2022 label(domaingroups)
2023 dit(bf(domain groups (G)))
2024
2025 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2026 Samba NT Domain Controller Code. It may be removed in a later release.
2027 To work with the latest code builds that may have more support for
2028 Samba NT Domain Controller functionality please subscribe to the
2029 mailing list bf(Samba-ntdom) available by visiting the web page at
2030 url(http://lists.samba.org/)(http://lists.samba.org/)
2031
2032 label(domainguestgroup)
2033 dit(bf(domain guest group (G)))
2034
2035 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2036 Samba NT Domain Controller Code. It may be removed in a later release.
2037 To work with the latest code builds that may have more support for
2038 Samba NT Domain Controller functionality please subscribe to the
2039 mailing list bf(Samba-ntdom) available by visiting the web page at 
2040 url(http://lists.samba.org/)(http://lists.samba.org/)
2041
2042 label(domainguestusers)
2043 dit(bf(domain guest users (G)))
2044
2045 This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
2046 Samba NT Domain Controller Code. It may be removed in a later release.
2047 To work with the latest code builds that may have more support for
2048 Samba NT Domain Controller functionality please subscribe to the
2049 mailing list bf(Samba-ntdom) available by visiting the web page at
2050 url(http://lists.samba.org/)(http://lists.samba.org/)
2051
2052 label(domainlogons)
2053 dit(bf(domain logons (G)))
2054
2055 If set to true, the Samba server will serve Windows 95/98 Domain
2056 logons for the link(bf(workgroup))(workgroup) it is in. For more
2057 details on setting up this feature see the file DOMAINS.txt in the
2058 Samba documentation directory tt(docs/) shipped with the source code.
2059
2060 Note that Win95/98 Domain logons are em(NOT) the same as Windows
2061 NT Domain logons. NT Domain logons require a Primary Domain Controller
2062 (PDC) for the Domain. It is intended that in a future release Samba
2063 will be able to provide this functionality for Windows NT clients
2064 also.
2065
2066   bf(Default:)
2067 tt(     domain logons = no)
2068
2069 label(domainmaster)
2070 dit(bf(domain master (G)))
2071
2072 Tell url(bf(nmbd))(nmbd.8.html) to enable WAN-wide browse list
2073 collation. Setting this option causes url(bf(nmbd))(nmbd.8.html) to
2074 claim a special domain specific NetBIOS name that identifies it as a
2075 domain master browser for its given
2076 link(bf(workgroup))(workgroup). Local master browsers in the same
2077 link(bf(workgroup))(workgroup) on broadcast-isolated subnets will give
2078 this url(bf(nmbd))(nmbd.8.html) their local browse lists, and then
2079 ask url(bf(smbd))(smbd.8.html) for a complete copy of the browse list
2080 for the whole wide area network.  Browser clients will then contact
2081 their local master browser, and will receive the domain-wide browse
2082 list, instead of just the list for their broadcast-isolated subnet.
2083
2084 Note that Windows NT Primary Domain Controllers expect to be able to
2085 claim this link(bf(workgroup))(workgroup) specific special NetBIOS
2086 name that identifies them as domain master browsers for that
2087 link(bf(workgroup))(workgroup) by default (i.e. there is no way to
2088 prevent a Windows NT PDC from attempting to do this). This means that
2089 if this parameter is set and url(bf(nmbd))(nmbd.8.html) claims the
2090 special name for a link(bf(workgroup))(workgroup) before a Windows NT
2091 PDC is able to do so then cross subnet browsing will behave strangely
2092 and may fail.
2093
2094   bf(Default:)
2095 tt(     domain master = no)
2096
2097 label(dont descend)
2098 dit(bf(dont descend (S)))
2099
2100 There are certain directories on some systems (e.g., the tt(/proc) tree
2101 under Linux) that are either not of interest to clients or are
2102 infinitely deep (recursive). This parameter allows you to specify a
2103 comma-delimited list of directories that the server should always show
2104 as empty.
2105
2106 Note that Samba can be very fussy about the exact format of the "dont
2107 descend" entries. For example you may need tt("./proc") instead of
2108 just tt("/proc"). Experimentation is the best policy :-)
2109
2110   bf(Default:)
2111 tt(     none (i.e., all directories are OK to descend))
2112
2113   bf(Example:)
2114 tt(     dont descend = /proc,/dev)
2115
2116 label(dosfiletimeresolution)
2117 dit(bf(dos filetime resolution (S)))
2118
2119 Under the DOS and Windows FAT filesystem, the finest granularity on
2120 time resolution is two seconds. Setting this parameter for a share
2121 causes Samba to round the reported time down to the nearest two second
2122 boundary when a query call that requires one second resolution is made
2123 to url(bf(smbd))(smbd.8.html).
2124
2125 This option is mainly used as a compatibility option for Visual C++
2126 when used against Samba shares. If oplocks are enabled on a share,
2127 Visual C++ uses two different time reading calls to check if a file
2128 has changed since it was last read. One of these calls uses a
2129 one-second granularity, the other uses a two second granularity. As
2130 the two second call rounds any odd second down, then if the file has a
2131 timestamp of an odd number of seconds then the two timestamps will not
2132 match and Visual C++ will keep reporting the file has changed. Setting
2133 this option causes the two timestamps to match, and Visual C++ is
2134 happy.
2135
2136   bf(Default:)
2137 tt(     dos filetime resolution = False)
2138
2139   bf(Example:)
2140 tt(     dos filetime resolution = True)
2141
2142 label(dos filetimes)
2143 dit(bf(dos filetimes (S)))
2144
2145 Under DOS and Windows, if a user can write to a file they can change
2146 the timestamp on it. Under POSIX semantics, only the owner of the file
2147 or root may change the timestamp. By default, Samba runs with POSIX
2148 semantics and refuses to change the timestamp on a file if the user
2149 smbd is acting on behalf of is not the file owner. Setting this option
2150 to True allows DOS semantics and smbd will change the file timestamp as
2151 DOS requires.
2152
2153   bf(Default:)
2154 tt(     dos filetimes = False)
2155
2156   bf(Example:)
2157 tt(     dos filetimes = True)
2158
2159 label(encryptpasswords)
2160 dit(bf(encrypt passwords (G)))
2161
2162 This boolean controls whether encrypted passwords will be negotiated
2163 with the client. Note that Windows NT 4.0 SP3 and above and also
2164 Windows 98 will by default expect encrypted passwords unless a
2165 registry entry is changed. To use encrypted passwords in Samba see the
2166 file ENCRYPTION.txt in the Samba documentation directory tt(docs/)
2167 shipped with the source code.
2168
2169 In order for encrypted passwords to work correctly
2170 url(bf(smbd))(smbd.8.html) must either have access to a local
2171 url(bf(smbpasswd (5)))(smbpasswd.5.html) file (see the
2172 url(bf(smbpasswd (8)))(smbpasswd.8.html) program for information on
2173 how to set up and maintain this file), or set the
2174 link(bf(security=))(security) parameter to either
2175 link(bf("server"))(securityequalserver) or
2176 link(bf("domain"))(securityequaldomain) which causes
2177 url(bf(smbd))(smbd.8.html) to authenticate against another server.
2178
2179 label(exec)
2180 dit(bf(exec (S)))
2181
2182 This is a synonym for link(bf(preexec))(preexec).
2183
2184 label(fake directory create times)
2185 dit(bf(fake directory create times (S)))
2186
2187 NTFS and Windows VFAT file systems keep a create time for all files
2188 and directories. This is not the same as the ctime - status change
2189 time - that Unix keeps, so Samba by default reports the earliest of
2190 the various times Unix does keep. Setting this parameter for a share
2191 causes Samba to always report midnight 1-1-1980 as the create time for
2192 directories.
2193
2194 This option is mainly used as a compatibility option for Visual C++
2195 when used against Samba shares. Visual C++ generated makefiles have
2196 the object directory as a dependency for each object file, and a make
2197 rule to create the directory. Also, when NMAKE compares timestamps it
2198 uses the creation time when examining a directory. Thus the object
2199 directory will be created if it does not exist, but once it does exist
2200 it will always have an earlier timestamp than the object files it
2201 contains.
2202
2203 However, Unix time semantics mean that the create time reported by
2204 Samba will be updated whenever a file is created or deleted in the
2205 directory. NMAKE therefore finds all object files in the object
2206 directory bar the last one built are out of date compared to the
2207 directory and rebuilds them. Enabling this option ensures directories
2208 always predate their contents and an NMAKE build will proceed as
2209 expected.
2210
2211   bf(Default:)
2212 tt(     fake directory create times = False)
2213
2214   bf(Example:)
2215 tt(     fake directory create times = True)
2216
2217 label(fakeoplocks)
2218 dit(bf(fake oplocks (S)))
2219
2220 Oplocks are the way that SMB clients get permission from a server to
2221 locally cache file operations. If a server grants an oplock
2222 (opportunistic lock) then the client is free to assume that it is the
2223 only one accessing the file and it will aggressively cache file
2224 data. With some oplock types the client may even cache file open/close
2225 operations. This can give enormous performance benefits.
2226
2227 When you set tt("fake oplocks = yes") url(bf(smbd))(smbd.8.html) will
2228 always grant oplock requests no matter how many clients are using the
2229 file.
2230
2231 It is generally much better to use the real link(bf(oplocks))(oplocks)
2232 support rather than this parameter.
2233
2234 If you enable this option on all read-only shares or shares that you
2235 know will only be accessed from one client at a time such as
2236 physically read-only media like CDROMs, you will see a big performance
2237 improvement on many operations. If you enable this option on shares
2238 where multiple clients may be accessing the files read-write at the
2239 same time you can get data corruption. Use this option carefully!
2240
2241 This option is disabled by default.
2242
2243 label(followsymlinks)
2244 dit(bf(follow symlinks (S)))
2245
2246 This parameter allows the Samba administrator to stop
2247 url(bf(smbd))(smbd.8.html) from following symbolic links in a
2248 particular share. Setting this parameter to em("No") prevents any file
2249 or directory that is a symbolic link from being followed (the user
2250 will get an error).  This option is very useful to stop users from
2251 adding a symbolic link to tt(/etc/passwd) in their home directory for
2252 instance.  However it will slow filename lookups down slightly.
2253
2254 This option is enabled (i.e. url(bf(smbd))(smbd.8.html) will follow
2255 symbolic links) by default.
2256
2257 label(forcecreatemode)
2258 dit(bf(force create mode (S)))
2259
2260 This parameter specifies a set of UNIX mode bit permissions that will
2261 em(*always*) be set on a file by Samba. This is done by bitwise
2262 'OR'ing these bits onto the mode bits of a file that is being created
2263 or having its permissions changed. The default for this parameter is
2264 (in octal) 000. The modes in this parameter are bitwise 'OR'ed onto
2265 the file mode after the mask set in the link(bf("create
2266 mask"))(createmask) parameter is applied.
2267
2268 See also the parameter link(bf("create mask"))(createmask) for details
2269 on masking mode bits on files.
2270
2271 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
2272
2273   bf(Default:)
2274 tt(     force create mode = 000)
2275
2276   bf(Example:)
2277 tt(     force create mode = 0755)
2278
2279 would force all created files to have read and execute permissions set
2280 for 'group' and 'other' as well as the read/write/execute bits set for
2281 the 'user'.
2282
2283 label(forcedirectorymode)
2284 dit(bf(force directory mode (S)))
2285
2286 This parameter specifies a set of UNIX mode bit permissions that will
2287 em(*always*) be set on a directory created by Samba. This is done by
2288 bitwise 'OR'ing these bits onto the mode bits of a directory that is
2289 being created. The default for this parameter is (in octal) 0000 which
2290 will not add any extra permission bits to a created directory. This
2291 operation is done after the mode mask in the parameter
2292 link(bf("directory mask"))(directorymask) is applied.
2293
2294 See also the parameter link(bf("directory mask"))(directorymask) for
2295 details on masking mode bits on created directories.
2296
2297 See also the link(bf("inherit permissions"))(inheritpermissions) parameter.
2298
2299   bf(Default:)
2300 tt(     force directory mode = 000)
2301
2302   bf(Example:)
2303 tt(     force directory mode = 0755)
2304
2305 would force all created directories to have read and execute
2306 permissions set for 'group' and 'other' as well as the
2307 read/write/execute bits set for the 'user'.
2308
2309 label(forcedirectorysecuritymode)
2310 dit(bf(force directory security mode (S)))
2311
2312 This parameter controls what UNIX permission bits can be modified when
2313 a Windows NT client is manipulating the UNIX permission on a directory
2314 using the native NT security dialog box.
2315
2316 This parameter is applied as a mask (OR'ed with) to the changed
2317 permission bits, thus forcing any bits in this mask that the user may
2318 have modified to be on. Essentially, one bits in this mask may be
2319 treated as a set of bits that, when modifying security on a directory,
2320 the user has always set to be 'on'.
2321
2322 If not set explicitly this parameter is set to the same value as the
2323 link(bf(force directory mode))(forcedirectorymode) parameter. To allow
2324 a user to modify all the user/group/world permissions on a directory,
2325 with restrictions set this parameter to 000.
2326
2327 em(Note) that users who can access the Samba server through other
2328 means can easily bypass this restriction, so it is primarily
2329 useful for standalone "appliance" systems.  Administrators of
2330 most normal systems will probably want to set it to 0000.
2331
2332 See also the link(bf(directory security mask))(directorysecuritymask),
2333 link(bf(security mask))(securitymask), link(bf(force security
2334 mode))(forcesecuritymode) parameters.
2335
2336   bf(Default:)
2337 tt(     force directory security mode = <same as force directory mode>)
2338
2339   bf(Example:)
2340 tt(     force directory security mode = 0)
2341
2342 label(forcegroup)
2343 dit(bf(force group (S)))
2344
2345 This specifies a UNIX group name that will be assigned as the default
2346 primary group for all users connecting to this service. This is useful
2347 for sharing files by ensuring that all access to files on service will
2348 use the named group for their permissions checking. Thus, by assigning
2349 permissions for this group to the files and directories within this
2350 service the Samba administrator can restrict or allow sharing of these
2351 files.
2352
2353 In Samba 2.0.5 and above this parameter has extended functionality in the following
2354 way. If the group name listed here has a '+' character prepended to it
2355 then the current user accessing the share only has the primary group 
2356 default assigned to this group if they are already assigned as a member
2357 of that group. This allows an administrator to decide that only users
2358 who are already in a particular group will create files with group 
2359 ownership set to that group. This gives a finer granularity of ownership
2360 assignment. For example, the setting tt(force group = +sys) means
2361 that only users who are already in group sys will have their default
2362 primary group assigned to sys when accessing this Samba share. All
2363 other users will retain their ordinary primary group.
2364
2365 If the link(bf("force user"))(forceuser) parameter is also set the
2366 group specified in bf(force group) will override the primary group
2367 set in link(bf("force user"))(forceuser).
2368
2369 See also link(bf("force user"))(forceuser)
2370
2371   bf(Default:)
2372 tt(     no forced group)
2373
2374   bf(Example:)
2375 tt(     force group = agroup)
2376
2377 label(forcesecuritymode)
2378 dit(bf(force security mode (S)))
2379
2380 This parameter controls what UNIX permission bits can be modified when
2381 a Windows NT client is manipulating the UNIX permission on a file
2382 using the native NT security dialog box.
2383
2384 This parameter is applied as a mask (OR'ed with) to the changed
2385 permission bits, thus forcing any bits in this mask that the user may
2386 have modified to be on. Essentially, one bits in this mask may be
2387 treated as a set of bits that, when modifying security on a file, the
2388 user has always set to be 'on'.
2389
2390 If not set explicitly this parameter is set to the same value as the
2391 link(bf(force create mode))(forcecreatemode) parameter. To allow
2392 a user to modify all the user/group/world permissions on a file,
2393 with no restrictions set this parameter to 000.
2394
2395 em(Note) that users who can access the Samba server through other
2396 means can easily bypass this restriction, so it is primarily
2397 useful for standalone "appliance" systems.  Administrators of
2398 most normal systems will probably want to set it to 0000.
2399
2400 See also the link(bf(force directory security
2401 mode))(forcedirectorysecuritymode), link(bf(directory security
2402 mask))(directorysecuritymask), link(bf(security mask))(securitymask)
2403 parameters.
2404
2405   bf(Default:)
2406 tt(     force security mode = <same as force create mode>)
2407
2408   bf(Example:)
2409 tt(     force security mode = 0)
2410
2411 label(forceuser)
2412 dit(bf(force user (S)))
2413
2414 This specifies a UNIX user name that will be assigned as the default
2415 user for all users connecting to this service. This is useful for
2416 sharing files. You should also use it carefully as using it
2417 incorrectly can cause security problems.
2418
2419 This user name only gets used once a connection is established. Thus
2420 clients still need to connect as a valid user and supply a valid
2421 password. Once connected, all file operations will be performed as the
2422 tt("forced user"), no matter what username the client connected as.
2423
2424 This can be very useful.
2425
2426 In Samba 2.0.5 and above this parameter also causes the primary
2427 group of the forced user to be used as the primary group for all
2428 file activity. Prior to 2.0.5 the primary group was left as the
2429 primary group of the connecting user (this was a bug).
2430
2431 See also link(bf("force group"))(forcegroup)
2432
2433   bf(Default:)
2434 tt(     no forced user)
2435
2436   bf(Example:)
2437 tt(     force user = auser)
2438
2439 label(fstype)
2440 dit(bf(fstype (S)))
2441
2442 This parameter allows the administrator to configure the string that
2443 specifies the type of filesystem a share is using that is reported by
2444 url(bf(smbd))(smbd.8.html) when a client queries the filesystem type
2445 for a share. The default type is bf("NTFS") for compatibility with
2446 Windows NT but this can be changed to other strings such as "Samba" or
2447 "FAT" if required.
2448
2449   bf(Default:)
2450 tt(     fstype = NTFS)
2451
2452   bf(Example:)
2453 tt(     fstype = Samba)
2454
2455 label(getwdcache)
2456 dit(bf(getwd cache (G)))
2457
2458 This is a tuning option. When this is enabled a caching algorithm
2459 will be used to reduce the time taken for getwd() calls. This can have
2460 a significant impact on performance, especially when the
2461 link(bf(widelinks))(widelinks) parameter is set to False.
2462
2463   bf(Default:)
2464 tt(     getwd cache = No)
2465
2466   bf(Example:)
2467 tt(     getwd cache = Yes)
2468
2469 label(group)
2470 dit(bf(group (S)))
2471
2472 Synonym for link(bf("force group"))(forcegroup).
2473
2474 label(guestaccount)
2475 dit(bf(guest account (S)))
2476
2477 This is a username which will be used for access to services which are
2478 specified as link(bf('guest ok'))(guestok) (see below). Whatever
2479 privileges this user has will be available to any client connecting to
2480 the guest service. Typically this user will exist in the password
2481 file, but will not have a valid login. The user account bf("ftp") is
2482 often a good choice for this parameter. If a username is specified in
2483 a given service, the specified username overrides this one.
2484
2485 One some systems the default guest account "nobody" may not be able to
2486 print. Use another account in this case. You should test this by
2487 trying to log in as your guest user (perhaps by using the tt("su -")
2488 command) and trying to print using the system print command such as
2489 bf(lpr (1)) or bf(lp (1)).
2490
2491   bf(Default:)
2492 tt(     specified at compile time, usually "nobody")
2493
2494   bf(Example:)
2495 tt(     guest account = ftp)
2496
2497 label(guestok)
2498 dit(bf(guest ok (S)))
2499
2500 If this parameter is em('yes') for a service, then no password is
2501 required to connect to the service. Privileges will be those of the
2502 link(bf(guest account))(guestaccount).
2503
2504 See the section below on link(bf(security))(security) for more
2505 information about this option.
2506
2507   bf(Default:)
2508 tt(     guest ok = no)
2509
2510   bf(Example:)
2511 tt(     guest ok = yes)
2512
2513 label(guestonly)
2514 dit(bf(guest only (S)))
2515
2516 If this parameter is em('yes') for a service, then only guest
2517 connections to the service are permitted. This parameter will have no
2518 affect if link(bf("guest ok"))(guestok) or link(bf("public"))(public)
2519 is not set for the service.
2520
2521 See the section below on link(bf(security))(security) for more
2522 information about this option.
2523
2524   bf(Default:)
2525 tt(     guest only = no)
2526
2527   bf(Example:)
2528 tt(     guest only = yes)
2529
2530 label(hidedotfiles)
2531 dit(bf(hide dot files (S)))
2532
2533 This is a boolean parameter that controls whether files starting with
2534 a dot appear as hidden files.
2535
2536   bf(Default:)
2537 tt(     hide dot files = yes)
2538
2539   bf(Example:)
2540 tt(     hide dot files = no)
2541
2542
2543 label(hidefiles)
2544 dit(bf(hide files(S)))
2545
2546 This is a list of files or directories that are not visible but are
2547 accessible.  The DOS 'hidden' attribute is applied to any files or
2548 directories that match.
2549
2550 Each entry in the list must be separated by a tt('/'), which allows
2551 spaces to be included in the entry.  tt('*') and tt('?') can be used
2552 to specify multiple files or directories as in DOS wildcards.
2553
2554 Each entry must be a Unix path, not a DOS path and must not include the 
2555 Unix directory separator tt('/').
2556
2557 Note that the case sensitivity option is applicable in hiding files.
2558
2559 Setting this parameter will affect the performance of Samba, as it
2560 will be forced to check all files and directories for a match as they
2561 are scanned.
2562
2563 See also link(bf("hide dot files"))(hidedotfiles), link(bf("veto
2564 files"))(vetofiles) and link(bf("case sensitive"))(casesensitive).
2565
2566   bf(Default)
2567 verb(
2568         No files or directories are hidden by this option (dot files are
2569         hidden by default because of the "hide dot files" option).
2570 )
2571
2572   bf(Example)
2573 tt(     hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/)
2574
2575 The above example is based on files that the Macintosh SMB client
2576 (DAVE) available from url(bf(Thursby))(http://www.thursby.com) creates for
2577 internal use, and also still hides all files beginning with a dot.
2578
2579 label(hidelocalusers)
2580 dit(bf(hide local users(G)))
2581
2582 This parameter toggles the hiding of local UNIX users (root, wheel, floppy, etc)
2583 from remote clients.
2584
2585   bf(Default:)
2586 tt( hide local users = No)
2587
2588   bf(Example:)
2589 tt( hide local users = Yes)
2590
2591 label(homedirmap)
2592 dit(bf(homedir map (G)))
2593
2594 If link(bf("nis homedir"))(nishomedir) is true, and
2595 url(bf(smbd))(smbd.8.html) is also acting as a Win95/98 link(bf(logon
2596 server))(domainlogons) then this parameter specifies the NIS (or YP)
2597 map from which the server for the user's home directory should be
2598 extracted.  At present, only the Sun auto.home map format is
2599 understood. The form of the map is:
2600
2601 tt(username     server:/some/file/system)
2602
2603 and the program will extract the servername from before the first
2604 tt(':').  There should probably be a better parsing system that copes
2605 with different map formats and also Amd (another automounter) maps.
2606
2607 NB: A working NIS is required on the system for this option to work.
2608
2609 See also link(bf("nis homedir"))(nishomedir), link(bf(domain
2610 logons))(domainlogons).
2611
2612   bf(Default:)
2613 tt(     homedir map = auto.home)
2614
2615   bf(Example:)
2616 tt(     homedir map = amd.homedir)
2617
2618 label(hostsallow)
2619 dit(bf(hosts allow (S)))
2620
2621 A synonym for this parameter is link(bf('allow hosts'))(allowhosts)
2622
2623 This parameter is a comma, space, or tab delimited set of hosts which
2624 are permitted to access a service.
2625
2626 If specified in the link(bf([global]))(global) section then it will
2627 apply to all services, regardless of whether the individual service
2628 has a different setting.
2629
2630 You can specify the hosts by name or IP number. For example, you could
2631 restrict access to only the hosts on a Class C subnet with something
2632 like tt("allow hosts = 150.203.5."). The full syntax of the list is
2633 described in the man page bf(hosts_access (5)). Note that this man
2634 page may not be present on your system, so a brief description will
2635 be given here also.
2636
2637 Note that the localhost address 127.0.0.1 will always be allowed
2638 access unless specifically denied by a "hosts deny" option.
2639
2640 You can also specify hosts by network/netmask pairs and by netgroup
2641 names if your system supports netgroups. The em(EXCEPT) keyword can also
2642 be used to limit a wildcard list. The following examples may provide
2643 some help:
2644
2645 bf(Example 1): allow all IPs in 150.203.*.* except one
2646
2647 tt(     hosts allow = 150.203. EXCEPT 150.203.6.66)
2648
2649 bf(Example 2): allow hosts that match the given network/netmask
2650
2651 tt(     hosts allow = 150.203.15.0/255.255.255.0)
2652
2653 bf(Example 3): allow a couple of hosts
2654
2655 tt(     hosts allow = lapland, arvidsjaur)
2656
2657 bf(Example 4): allow only hosts in NIS netgroup "foonet", but 
2658 deny access from one particular host
2659
2660 tt(     hosts allow = @foonet)
2661
2662 tt(     hosts deny = pirate)
2663
2664 Note that access still requires suitable user-level passwords.
2665
2666 See url(bf(testparm (1)))(testparm.1.html) for a way of testing your
2667 host access to see if it does what you expect.
2668
2669   bf(Default:)
2670 tt(     none (i.e., all hosts permitted access))
2671
2672   bf(Example:)
2673 tt(     allow hosts = 150.203.5. myhost.mynet.edu.au)
2674
2675
2676 label(hostsdeny)
2677 dit(bf(hosts deny (S)))
2678
2679 The opposite of link(bf('hosts allow'))(hostsallow) - hosts listed
2680 here are em(NOT) permitted access to services unless the specific
2681 services have their own lists to override this one. Where the lists
2682 conflict, the link(bf('allow'))(hostsallow) list takes precedence.
2683
2684   bf(Default:)
2685 tt(     none (i.e., no hosts specifically excluded))
2686
2687   bf(Example:)
2688 tt(     hosts deny = 150.203.4. badhost.mynet.edu.au)
2689
2690 label(hostsequiv)
2691 dit(bf(hosts equiv (G)))
2692
2693 If this global parameter is a non-null string, it specifies the name
2694 of a file to read for the names of hosts and users who will be allowed
2695 access without specifying a password.
2696
2697 This is not be confused with link(bf(hosts allow))(hostsallow) which
2698 is about hosts access to services and is more useful for guest
2699 services. bf(hosts equiv) may be useful for NT clients which will not
2700 supply passwords to samba.
2701
2702 NOTE: The use of bf(hosts equiv) can be a major security hole. This is
2703 because you are trusting the PC to supply the correct username. It is
2704 very easy to get a PC to supply a false username. I recommend that the
2705 bf(hosts equiv) option be only used if you really know what you are
2706 doing, or perhaps on a home network where you trust your spouse and
2707 kids. And only if you em(really) trust them :-).
2708
2709   bf(Default)
2710 tt(     No host equivalences)
2711
2712   bf(Example)
2713 tt(     hosts equiv = /etc/hosts.equiv)
2714
2715 label(include)
2716 dit(bf(include (G)))
2717
2718 This allows you to include one config file inside another.  The file
2719 is included literally, as though typed in place.
2720
2721 It takes the standard substitutions, except link(bf(%u))(percentu),
2722 link(bf(%P))(percentP) and link(bf(%S))(percentS).
2723
2724 label(inheritpermissions)
2725 dit(bf(inherit permissions (S)))
2726
2727 The permissions on new files and directories are normally governed by
2728 link(bf("create mask"))(createmask),
2729 link(bf("directory mask"))(directorymask),
2730 link(bf("force create mode"))(forcecreatemode) and
2731 link(bf("force directory mode"))(forcedirectorymode)
2732 but the boolean inherit permissions parameter overrides this.
2733
2734 New directories inherit the mode of the parent directory,
2735 including bits such as setgid.
2736
2737 New files inherit their read/write bits from the parent directory.
2738 Their execute bits continue to be determined by
2739 link(bf("map archive"))(maparchive),
2740 link(bf("map hidden"))(maphidden) and
2741 link(bf("map system"))(mapsystem) as usual.
2742
2743 Note that the setuid bit is *never* set via inheritance
2744 (the code explicitly prohibits this).
2745
2746 This can be particularly useful on large systems with many users,
2747 perhaps several thousand,
2748 to allow a single bf([homes]) share to be used flexibly by each user.
2749
2750 See also link(bf("create mask"))(createmask), link(bf("directory mask"))(directorymask),
2751 link(bf("force create mode"))(forcecreatemode) and
2752 link(bf("force directory mode"))(forcedirectorymode).
2753
2754   bf(Default)
2755 tt(   inherit permissions = no)
2756
2757   bf(Example)
2758 tt(   inherit permissions = yes)
2759
2760 label(interfaces)
2761 dit(bf(interfaces (G)))
2762
2763 This option allows you to override the default network interfaces list
2764 that Samba will use for browsing, name registration and other NBT
2765 traffic. By default Samba will query the kernel for the list of all
2766 active interfaces and use any interfaces except 127.0.0.1 that are
2767 broadcast capable.
2768
2769 The option takes a list of interface strings. Each string can be in
2770 any of the following forms:
2771
2772 startit()
2773 it() a network interface name (such as eth0). This may include
2774      shell-like wildcards so eth* will match any interface starting
2775      with the substring "eth"
2776 it() an IP address. In this case the netmask is determined
2777      from the list of interfaces obtained from the kernel
2778 it() an IP/mask pair. 
2779 it() a broadcast/mask pair. 
2780 endit()
2781
2782 The "mask" parameters can either be a bit length (such as 24 for a C
2783 class network) or a full netmask in dotted decmal form.
2784
2785 The "IP" parameters above can either be a full dotted decimal IP
2786 address or a hostname which will be looked up via the OSes normal
2787 hostname resolution mechanisms.
2788
2789 For example, the following line:
2790
2791 tt(interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0)
2792
2793 would configure three network interfaces corresponding to the eth0
2794 device and IP addresses 192.168.2.10 and 192.168.3.10. The netmasks of
2795 the latter two interfaces would be set to 255.255.255.0.
2796
2797 See also link(bf("bind interfaces only"))(bindinterfacesonly).
2798
2799 label(invalidusers)
2800 dit(bf(invalid users (S)))
2801
2802 This is a list of users that should not be allowed to login to this
2803 service. This is really a em("paranoid") check to absolutely ensure an
2804 improper setting does not breach your security.
2805
2806 A name starting with a tt('@') is interpreted as an NIS netgroup first
2807 (if your system supports NIS), and then as a UNIX group if the name
2808 was not found in the NIS netgroup database.
2809
2810 A name starting with tt('+') is interpreted only by looking in the
2811 UNIX group database. A name starting with tt('&') is interpreted only
2812 by looking in the NIS netgroup database (this requires NIS to be
2813 working on your system). The characters tt('+') and tt('&') may be
2814 used at the start of the name in either order so the value
2815 tt("+&group") means check the UNIX group database, followed by the NIS
2816 netgroup database, and the value tt("&+group") means check the NIS
2817 netgroup database, followed by the UNIX group database (the same as
2818 the tt('@') prefix).
2819
2820 The current servicename is substituted for
2821 link(bf(%S))(percentS). This is useful in the link(bf([homes]))(homes)
2822 section.
2823
2824 See also link(bf("valid users"))(validusers).
2825
2826   bf(Default:)
2827 tt(     No invalid users)
2828
2829   bf(Example:)
2830 tt(     invalid users = root fred admin @wheel)
2831
2832 label(keepalive)
2833 dit(bf(keepalive (G)))
2834
2835 The value of the parameter (an integer) represents the number of
2836 seconds between bf('keepalive') packets. If this parameter is zero, no
2837 keepalive packets will be sent. Keepalive packets, if sent, allow the
2838 server to tell whether a client is still present and responding.
2839
2840 Keepalives should, in general, not be needed if the socket being used
2841 has the SO_KEEPALIVE attribute set on it (see link(bf("socket
2842 options"))(socketoptions)). Basically you should only use this option
2843 if you strike difficulties.
2844
2845   bf(Default:)
2846 tt(     keepalive = 0)
2847
2848   bf(Example:)
2849 tt(     keepalive = 60)
2850
2851 label(kerneloplocks)
2852 dit(bf(kernel oplocks (G)))
2853
2854 For UNIXs that support kernel based link(bf(oplocks))(oplocks)
2855 (currently only IRIX but hopefully also Linux and FreeBSD soon) this
2856 parameter allows the use of them to be turned on or off.
2857
2858 Kernel oplocks support allows Samba link(bf(oplocks))(oplocks) to be
2859 broken whenever a local UNIX process or NFS operation accesses a file
2860 that url(bf(smbd))(smbd.8.html) has oplocked. This allows complete
2861 data consistency between SMB/CIFS, NFS and local file access (and is a
2862 em(very) cool feature :-).
2863
2864 This parameter defaults to em("On") on systems that have the support,
2865 and em("off") on systems that don't. You should never need to touch
2866 this parameter.
2867
2868 See also the link(bf("oplocks"))(oplocks) and link(bf("level2 oplocks"))(level2oplocks)
2869 parameters.
2870
2871 label(ldapfilter)
2872 dit(bf(ldap filter (G)))
2873
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.
2878
2879 This parameter specifies an LDAP search filter used to search for a
2880 user name in the LDAP database. It must contain the string
2881 link(bf(%u))(percentU) which will be replaced with the user being
2882 searched for.
2883
2884   bf(Default:)
2885 tt(     empty string.)
2886
2887 label(ldapport)
2888 dit(bf(ldap port (G)))
2889
2890 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2891 password database stored on an LDAP server back-end. These options
2892 are only available if your version of Samba was configured with
2893 the bf(--with-ldap) option.
2894
2895 This parameter specifies the TCP port number to use to contact
2896 the LDAP server on.
2897
2898   bf(Default:)
2899 tt(     ldap port = 389.)
2900
2901 label(ldaproot)
2902 dit(bf(ldap root (G)))
2903
2904 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2905 password database stored on an LDAP server back-end. These options
2906 are only available if your version of Samba was configured with
2907 the bf(--with-ldap) option.
2908
2909 This parameter specifies the entity to bind to the LDAP server
2910 as (essentially the LDAP username) in order to be able to perform
2911 queries and modifications on the LDAP database.
2912
2913 See also link(bf(ldap root passwd))(ldaprootpasswd).
2914
2915   bf(Default:)
2916 tt(     empty string (no user defined))
2917
2918 label(ldaprootpasswd)
2919 dit(bf(ldap root passwd (G)))
2920
2921 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2922 password database stored on an LDAP server back-end. These options
2923 are only available if your version of Samba was configured with
2924 the bf(--with-ldap) option.
2925
2926 This parameter specifies the password for the entity to bind to the
2927 LDAP server as (the password for this LDAP username) in order to be
2928 able to perform queries and modifications on the LDAP database.
2929
2930 em(BUGS:) This parameter should em(NOT) be a readable parameter
2931 in the bf(smb.conf) file and will be removed once a correct
2932 storage place is found.
2933
2934 See also link(bf(ldap root))(ldaproot).
2935
2936   bf(Default:)
2937 tt(     empty string.)
2938
2939 label(ldapserver)
2940 dit(bf(ldap server (G)))
2941
2942 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2943 password database stored on an LDAP server back-end. These options
2944 are only available if your version of Samba was configured with
2945 the bf(--with-ldap) option.
2946
2947 This parameter specifies the DNS name of the LDAP server to use
2948 for SMB/CIFS authentication purposes.
2949
2950   bf(Default:)
2951 tt(     ldap server = localhost)
2952
2953 label(ldapsuffix)
2954 dit(bf(ldap suffix (G)))
2955
2956 This parameter is part of the em(EXPERIMENTAL) Samba support for a
2957 password database stored on an LDAP server back-end. These options
2958 are only available if your version of Samba was configured with
2959 the bf(--with-ldap) option.
2960
2961 This parameter specifies the tt("dn") or LDAP em("distinguished name")
2962 that tells url(bf(smbd))(smbd.8.html) to start from when searching
2963 for an entry in the LDAP password database.
2964
2965   bf(Default:)
2966 tt(     empty string.)
2967
2968 label(level2oplocks)
2969 dit(bf(level2 oplocks (S)))
2970
2971 This parameter (new in Samba 2.0.5) controls whether Samba supports
2972 level2 (read-only) oplocks on a share. In Samba 2.0.5 this parameter
2973 defaults to "False" as the code is new, but will default to "True"
2974 in a later release.
2975
2976 Level2, or read-only oplocks allow Windows NT clients that have an
2977 oplock on a file to downgrade from a read-write oplock to a read-only
2978 oplock once a second client opens the file (instead of releasing all
2979 oplocks on a second open, as in traditional, exclusive oplocks). This
2980 allows all openers of the file that support level2 oplocks to cache
2981 the file for read-ahead only (ie. they may not cache writes or lock
2982 requests) and increases performance for many acesses of files that
2983 are not commonly written (such as application .EXE files).
2984
2985 Once one of the clients which have a read-only oplock writes to
2986 the file all clients are notified (no reply is needed or waited
2987 for) and told to break their oplocks to "none" and delete any
2988 read-ahead caches.
2989
2990 It is recommended that this parameter be turned on to speed access
2991 to shared executables (and also to test the code :-).
2992
2993 For more discussions on level2 oplocks see the CIFS spec.
2994
2995 Currently, if link(bf("kernel oplocks"))(kerneloplocks) are supported
2996 then level2 oplocks are not granted (even if this parameter is set
2997 to tt("true")). Note also, the link(bf("oplocks"))(oplocks) parameter must
2998 be set to "true" on this share in order for this parameter to have any
2999 effect.
3000
3001 See also the link(bf("oplocks"))(oplocks) and link(bf("kernel oplocks"))(kerneloplocks) parameters.
3002
3003   bf(Default:)
3004 tt( level2 oplocks = False)
3005
3006   bf(Example:)
3007 tt( level2 oplocks = True)
3008
3009 label(lmannounce)
3010 dit(bf(lm announce (G)))
3011
3012 This parameter determines if url(bf(nmbd))(nmbd.8.html) will produce
3013 Lanman announce broadcasts that are needed by bf(OS/2) clients in order
3014 for them to see the Samba server in their browse list. This parameter
3015 can have three values, tt("true"), tt("false"), or tt("auto"). The
3016 default is tt("auto").  If set to tt("false") Samba will never produce
3017 these broadcasts. If set to tt("true") Samba will produce Lanman
3018 announce broadcasts at a frequency set by the parameter link(bf("lm
3019 interval"))(lminterval). If set to tt("auto") Samba will not send Lanman
3020 announce broadcasts by default but will listen for them. If it hears
3021 such a broadcast on the wire it will then start sending them at a
3022 frequency set by the parameter link(bf("lm interval"))(lminterval).
3023
3024 See also link(bf("lm interval"))(lminterval).
3025
3026   bf(Default:)
3027 tt(     lm announce = auto)
3028
3029   bf(Example:)
3030 tt(     lm announce = true)
3031
3032 label(lminterval)
3033 dit(bf(lm interval (G)))
3034
3035 If Samba is set to produce Lanman announce broadcasts needed by
3036 bf(OS/2) clients (see the link(bf("lm announce"))(lmannounce)
3037 parameter) then this parameter defines the frequency in seconds with
3038 which they will be made.  If this is set to zero then no Lanman
3039 announcements will be made despite the setting of the link(bf("lm
3040 announce"))(lmannounce) parameter.
3041
3042 See also link(bf("lm announce"))(lmannounce).
3043
3044   bf(Default:)
3045 tt(     lm interval = 60)
3046
3047   bf(Example:)
3048 tt(     lm interval = 120)
3049
3050 label(loadprinters)
3051 dit(bf(load printers (G)))
3052
3053 A boolean variable that controls whether all printers in the printcap
3054 will be loaded for browsing by default. See the
3055 link(bf("printers"))(printers) section for more details.
3056
3057   bf(Default:)
3058 tt(     load printers = yes)
3059
3060   bf(Example:)
3061 tt(     load printers = no)
3062
3063 label(localmaster)
3064 dit(bf(local master (G)))
3065
3066 This option allows url(bf(nmbd))(nmbd.8.html) to try and become a
3067 local master browser on a subnet. If set to False then
3068 url(bf(nmbd))(nmbd.8.html) will not attempt to become a local master
3069 browser on a subnet and will also lose in all browsing elections. By
3070 default this value is set to true. Setting this value to true doesn't
3071 mean that Samba will em(become) the local master browser on a subnet,
3072 just that url(bf(nmbd))(nmbd.8.html) will em(participate) in
3073 elections for local master browser.
3074
3075 Setting this value to False will cause url(bf(nmbd))(nmbd.8.html)
3076 em(never) to become a local master browser.
3077
3078   bf(Default:)
3079 tt(     local master = yes)
3080
3081 label(lock dir)
3082 dit(bf(lock dir (G)))
3083
3084 Synonym for link(bf("lock directory"))(lockdirectory).
3085
3086 label(lockdirectory)
3087 dit(bf(lock directory (G)))
3088
3089 This option specifies the directory where lock files will be placed.
3090 The lock files are used to implement the link(bf("max
3091 connections"))(maxconnections) option.
3092
3093   bf(Default:)
3094 tt(     lock directory = /tmp/samba)
3095
3096   bf(Example:)
3097 tt(     lock directory = /usr/local/samba/var/locks)
3098
3099 label(locking)
3100 dit(bf(locking (S)))
3101
3102 This controls whether or not locking will be performed by the server
3103 in response to lock requests from the client.
3104
3105 If tt("locking = no"), all lock and unlock requests will appear to
3106 succeed and all lock queries will indicate that the queried lock is
3107 clear.
3108
3109 If tt("locking = yes"), real locking will be performed by the server.
3110
3111 This option em(may) be useful for read-only filesystems which em(may)
3112 not need locking (such as cdrom drives), although setting this
3113 parameter of tt("no") is not really recommended even in this case.
3114
3115 Be careful about disabling locking either globally or in a specific
3116 service, as lack of locking may result in data corruption. You should
3117 never need to set this parameter.
3118
3119   bf(Default:)
3120 tt(     locking = yes)
3121
3122   bf(Example:)
3123 tt(     locking = no)
3124
3125 label(logfile)
3126 dit(bf(log file (G)))
3127
3128 This options allows you to override the name of the Samba log file
3129 (also known as the debug file).
3130
3131 This option takes the standard substitutions, allowing you to have
3132 separate log files for each user or machine.
3133
3134   bf(Example:)
3135 tt(     log file = /usr/local/samba/var/log.%m)
3136
3137 label(loglevel)
3138 dit(bf(log level (G)))
3139
3140 Synonym for link(bf("debug level"))(debuglevel).
3141
3142 label(logondrive)
3143 dit(bf(logon drive (G)))
3144
3145 This parameter specifies the local path to which the home directory
3146 will be connected (see link(bf("logon home"))(logonhome)) and is only
3147 used by NT Workstations. 
3148
3149 Note that this option is only useful if Samba is set up as a
3150 link(bf(logon server))(domainlogons).
3151
3152   bf(Example:)
3153 tt(     logon drive = h:)
3154
3155 label(logonhome)
3156 dit(bf(logon home (G)))
3157
3158 This parameter specifies the home directory location when a Win95/98 or
3159 NT Workstation logs into a Samba PDC.  It allows you to do 
3160
3161 tt("NET USE H: /HOME")
3162
3163 from a command prompt, for example.
3164
3165 This option takes the standard substitutions, allowing you to have
3166 separate logon scripts for each user or machine.
3167
3168 This parameter can be used with Win9X workstations to ensure that
3169 roaming profiles are stored in a subdirectory of the user's home
3170 directory.  This is done in the following way:
3171
3172 tt("     logon home = \\%L\%U\profile")
3173
3174 This tells Samba to return the above string, with substitutions made
3175 when a client requests the info, generally in a NetUserGetInfo request.
3176 Win9X clients truncate the info to \\server\share when a user does tt("net use /home"),
3177 but use the whole string when dealing with profiles.
3178
3179 Note that in prior versions of Samba, the tt("logon path") was returned rather than
3180 tt("logon home").  This broke tt("net use /home") but allowed profiles outside the 
3181 home directory.  The current implementation is correct, and can be used for profiles
3182 if you use the above trick.
3183
3184 Note that this option is only useful if Samba is set up as a
3185 link(bf(logon server))(domainlogons).
3186
3187   bf(Example:)
3188 tt(     logon home = "\\remote_smb_server\%U")
3189
3190   bf(Default:)
3191 tt(     logon home = "\\%N\%U")
3192
3193 label(logonpath)
3194 dit(bf(logon path (G)))
3195
3196 This parameter specifies the home directory where roaming profiles
3197 (NTuser.dat etc files for Windows NT) are stored.  Contrary to previous 
3198 versions of these manual pages, it has nothing to do with Win 9X roaming
3199 profiles.  To find out how to handle roaming profiles for Win 9X system, see 
3200 the tt("logon home") parameter.
3201
3202 This option takes the standard substitutions, allowing you to have
3203 separate logon scripts for each user or machine.  It also specifies
3204 the directory from which the tt("application data"), (tt("desktop"), tt("start menu"),
3205 tt("network neighborhood"), tt("programs") and other folders, and their
3206 contents, are loaded and displayed on your Windows NT client.
3207
3208 The share and the path must be readable by the user for the
3209 preferences and directories to be loaded onto the Windows NT
3210 client.  The share must be writeable when the logs in for the first
3211 time, in order that the Windows NT client can create the NTuser.dat
3212 and other directories.
3213
3214 Thereafter, the directories and any of the contents can, if required, be
3215 made read-only.  It is not advisable that the NTuser.dat file be made
3216 read-only - rename it to NTuser.man to achieve the desired effect (a
3217 em(MAN)datory profile). 
3218
3219 Windows clients can sometimes maintain a connection to the [homes]
3220 share, even though there is no user logged in.  Therefore, it is vital
3221 that the logon path does not include a reference to the homes share
3222 (i.e. setting this parameter to tt(\\%N\HOMES\profile_path) will cause
3223 problems).
3224
3225 This option takes the standard substitutions, allowing you to have
3226 separate logon scripts for each user or machine.
3227
3228 Note that this option is only useful if Samba is set up as a
3229 link(bf(logon server))(domainlogons).
3230
3231   bf(Default:)
3232 tt(     logon path = \\%N\%U\profile)
3233
3234   bf(Example:)
3235 tt(     logon path = \\PROFILESERVER\HOME_DIR\%U\PROFILE)
3236
3237 label(logonscript)
3238 dit(bf(logon script (G)))
3239
3240 This parameter specifies the batch file (.bat) or NT command file
3241 (.cmd) to be downloaded and run on a machine when a user successfully
3242 logs in.  The file must contain the DOS style cr/lf line endings.
3243 Using a DOS-style editor to create the file is recommended.
3244
3245 The script must be a relative path to the tt([netlogon]) service.  If
3246 the tt([netlogon]) service specifies a link(bf(path))(path) of
3247 /usr/local/samba/netlogon, and logon script = STARTUP.BAT, then the
3248 file that will be downloaded is:
3249
3250 tt(/usr/local/samba/netlogon/STARTUP.BAT)
3251
3252 The contents of the batch file is entirely your choice.  A suggested
3253 command would be to add tt(NET TIME \\SERVER /SET /YES), to force every
3254 machine to synchronize clocks with the same time server.  Another use
3255 would be to add tt(NET USE U: \\SERVER\UTILS) for commonly used
3256 utilities, or tt(NET USE Q: \\SERVER\ISO9001_QA) for example.
3257
3258 Note that it is particularly important not to allow write access to
3259 the tt([netlogon]) share, or to grant users write permission on the
3260 batch files in a secure environment, as this would allow the batch
3261 files to be arbitrarily modified and security to be breached.
3262
3263 This option takes the standard substitutions, allowing you to have
3264 separate logon scripts for each user or machine.
3265
3266 Note that this option is only useful if Samba is set up as a
3267 link(bf(logon server))(domainlogons).
3268
3269   bf(Example:)
3270 tt(     logon script = scripts\%U.bat)
3271
3272 label(lppausecommand)
3273 dit(bf(lppause command (S)))
3274
3275 This parameter specifies the command to be executed on the server host
3276 in order to stop printing or spooling a specific print job.
3277
3278 This command should be a program or script which takes a printer name
3279 and job number to pause the print job. One way of implementing this is
3280 by using job priorities, where jobs having a too low priority won't be
3281 sent to the printer.
3282
3283 If a tt("%p") is given then the printername is put in its place. A
3284 tt("%j") is replaced with the job number (an integer).  On HPUX (see
3285 link(bf(printing=hpux))(printing)), if the tt("-p%p") option is added
3286 to the lpq command, the job will show up with the correct status,
3287 i.e. if the job priority is lower than the set fence priority it will
3288 have the PAUSED status, whereas if the priority is equal or higher it
3289 will have the SPOOLED or PRINTING status.
3290
3291 Note that it is good practice to include the absolute path in the
3292 lppause command as the PATH may not be available to the server.
3293
3294 See also the link(bf("printing"))(printing) parameter.
3295
3296   bf(Default:)
3297         Currently no default value is given to this string, unless the
3298 value of the link(bf("printing"))(printing) parameter is tt(SYSV), in
3299 which case the default is :
3300
3301 tt(     lp -i %p-%j -H hold)
3302
3303 or if the value of the link(bf("printing"))(printing) parameter is tt(softq),
3304 then the default is:
3305
3306 tt(     qstat -s -j%j -h)
3307  
3308   bf(Example for HPUX:)
3309         lppause command = /usr/bin/lpalt %p-%j -p0
3310
3311 label(lpqcachetime)
3312 dit(bf(lpq cache time (G)))
3313
3314 This controls how long lpq info will be cached for to prevent the
3315 bf(lpq) command being called too often. A separate cache is kept for
3316 each variation of the bf(lpq) command used by the system, so if you
3317 use different bf(lpq) commands for different users then they won't
3318 share cache information.
3319
3320 The cache files are stored in tt(/tmp/lpq.xxxx) where xxxx is a hash of
3321 the bf(lpq) command in use.
3322
3323 The default is 10 seconds, meaning that the cached results of a
3324 previous identical bf(lpq) command will be used if the cached data is
3325 less than 10 seconds old. A large value may be advisable if your
3326 bf(lpq) command is very slow.
3327
3328 A value of 0 will disable caching completely.
3329
3330 See also the link(bf("printing"))(printing) parameter.
3331
3332   bf(Default:)
3333 tt(     lpq cache time = 10)
3334
3335   bf(Example:)
3336 tt(     lpq cache time = 30)
3337
3338 label(lpqcommand)
3339 dit(bf(lpq command (S)))
3340
3341 This parameter specifies the command to be executed on the server host
3342 in order to obtain tt("lpq")-style printer status information.
3343
3344 This command should be a program or script which takes a printer name
3345 as its only parameter and outputs printer status information.
3346
3347 Currently eight styles of printer status information are supported;
3348 BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX and SOFTQ. This covers most UNIX
3349 systems. You control which type is expected using the
3350 link(bf("printing ="))(printing) option.
3351
3352 Some clients (notably Windows for Workgroups) may not correctly send
3353 the connection number for the printer they are requesting status
3354 information about. To get around this, the server reports on the first
3355 printer service connected to by the client. This only happens if the
3356 connection number sent is invalid.
3357
3358 If a tt(%p) is given then the printername is put in its place. Otherwise
3359 it is placed at the end of the command.
3360
3361 Note that it is good practice to include the absolute path in the bf(lpq
3362 command) as the PATH may not be available to the server.
3363
3364 See also the link(bf("printing"))(printing) parameter.
3365
3366   bf(Default:)
3367 tt(        depends on the setting of printing =)
3368
3369   bf(Example:)
3370 tt(     lpq command = /usr/bin/lpq %p)
3371
3372 label(lpresumecommand)
3373 dit(bf(lpresume command (S)))
3374
3375 This parameter specifies the command to be executed on the server host
3376 in order to restart or continue printing or spooling a specific print
3377 job.
3378
3379 This command should be a program or script which takes a printer name
3380 and job number to resume the print job. See also the link(bf("lppause
3381 command"))(lppausecommand) parameter.
3382
3383 If a tt(%p) is given then the printername is put in its place. A
3384 tt(%j) is replaced with the job number (an integer).
3385
3386 Note that it is good practice to include the absolute path in the bf(lpresume
3387 command) as the PATH may not be available to the server.
3388
3389 See also the link(bf("printing"))(printing) parameter.
3390
3391   bf(Default:)
3392
3393         Currently no default value is given to this string, unless the
3394 value of the link(bf("printing"))(printing) parameter is tt(SYSV), in
3395 which case the default is :
3396
3397 tt(     lp -i %p-%j -H resume)
3398
3399 or if the value of the link(bf("printing"))(printing) parameter is tt(softq),
3400 then the default is:
3401
3402 tt(     qstat -s -j%j -r)
3403  
3404   bf(Example for HPUX:)
3405 tt(        lpresume command = /usr/bin/lpalt %p-%j -p2)
3406
3407 label(lprmcommand)
3408 dit(bf(lprm command (S)))
3409
3410 This parameter specifies the command to be executed on the server host
3411 in order to delete a print job.
3412
3413 This command should be a program or script which takes a printer name
3414 and job number, and deletes the print job.
3415
3416 If a tt(%p) is given then the printername is put in its place. A
3417 tt(%j) is replaced with the job number (an integer).
3418
3419 Note that it is good practice to include the absolute path in the
3420 bf(lprm command) as the PATH may not be available to the server.
3421
3422 See also the link(bf("printing"))(printing) parameter.
3423
3424   bf(Default:)
3425 tt(     depends on the setting of "printing =")
3426
3427   bf(Example 1:)
3428 tt(     lprm command = /usr/bin/lprm -P%p %j)
3429
3430   bf(Example 2:)
3431 tt(     lprm command = /usr/bin/cancel %p-%j)
3432
3433 label(machinepasswordtimeout)
3434 dit(bf(machine password timeout (G)))
3435
3436 If a Samba server is a member of an Windows NT Domain (see the
3437 link(bf("security=domain"))(securityequaldomain)) parameter) then
3438 periodically a running url(bf(smbd))(smbd.8.html) process will try and
3439 change the bf(MACHINE ACCOUNT PASWORD) stored in the file called
3440 tt(<Domain>.<Machine>.mac) where tt(<Domain>) is the name of the
3441 Domain we are a member of and tt(<Machine>) is the primary
3442 link(bf("NetBIOS name"))(netbiosname) of the machine
3443 url(bf(smbd))(smbd.8.html) is running on. This parameter specifies how
3444 often this password will be changed, in seconds. The default is one
3445 week (expressed in seconds), the same as a Windows NT Domain member
3446 server.
3447
3448 See also url(bf(smbpasswd (8)))(smbpasswd.8.html), and the
3449 link(bf("security=domain"))(securityequaldomain)) parameter.
3450
3451   bf(Default:)
3452 tt(     machine password timeout = 604800)
3453
3454 label(magicoutput)
3455 dit(bf(magic output (S)))
3456
3457 This parameter specifies the name of a file which will contain output
3458 created by a magic script (see the link(bf("magic
3459 script"))(magicscript) parameter below).
3460
3461 Warning: If two clients use the same link(bf("magic
3462 script"))(magicscript) in the same directory the output file content
3463 is undefined.
3464
3465   bf(Default:)
3466 tt(     magic output = <magic script name>.out)
3467
3468   bf(Example:)
3469 tt(     magic output = myfile.txt)
3470
3471 label(magicscript)
3472 dit(bf(magic script (S)))
3473
3474 This parameter specifies the name of a file which, if opened, will be
3475 executed by the server when the file is closed. This allows a UNIX
3476 script to be sent to the Samba host and executed on behalf of the
3477 connected user.
3478
3479 Scripts executed in this way will be deleted upon completion,
3480 permissions permitting.
3481
3482 If the script generates output, output will be sent to the file
3483 specified by the link(bf("magic output"))(magicoutput) parameter (see
3484 above).
3485
3486 Note that some shells are unable to interpret scripts containing
3487 carriage-return-linefeed instead of linefeed as the end-of-line
3488 marker. Magic scripts must be executable em("as is") on the host,
3489 which for some hosts and some shells will require filtering at the DOS
3490 end.
3491
3492 Magic scripts are em(EXPERIMENTAL) and should em(NOT) be relied upon.
3493
3494   bf(Default:)
3495 tt(     None. Magic scripts disabled.)
3496
3497   bf(Example:)
3498 tt(     magic script = user.csh)
3499
3500 label(manglecase)
3501 dit(bf(mangle case (S)))
3502
3503 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING).
3504
3505 label(manglelocks)
3506 dit(bf(mangle locks (S)))
3507
3508 This option is was introduced with Samba 2.0.4 and above and has been
3509 removed in Samba 2.0.6 as Samba now dynamically configures such things
3510 on 32 bit systems.
3511
3512 label(mangledmap)
3513 dit(bf(mangled map (S)))
3514
3515 This is for those who want to directly map UNIX file names which can
3516 not be represented on Windows/DOS.  The mangling of names is not always
3517 what is needed.  In particular you may have documents with file
3518 extensions that differ between DOS and UNIX. For example, under UNIX
3519 it is common to use tt(".html") for HTML files, whereas under
3520 Windows/DOS tt(".htm") is more commonly used.
3521
3522 So to map tt("html") to tt("htm") you would use:
3523
3524 tt(  mangled map = (*.html *.htm))
3525
3526 One very useful case is to remove the annoying tt(";1") off the ends
3527 of filenames on some CDROMS (only visible under some UNIXs). To do
3528 this use a map of (*;1 *).
3529
3530   bf(default:)
3531 tt(     no mangled map)
3532
3533   bf(Example:)
3534 tt(     mangled map = (*;1 *))
3535
3536 label(manglednames)
3537 dit(bf(mangled names (S)))
3538
3539 This controls whether non-DOS names under UNIX should be mapped to
3540 DOS-compatible names ("mangled") and made visible, or whether non-DOS
3541 names should simply be ignored.
3542
3543 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING) for details
3544 on how to control the mangling process.
3545
3546 If mangling is used then the mangling algorithm is as follows:
3547
3548 startit()
3549
3550 it() The first (up to) five alphanumeric characters before the
3551 rightmost dot of the filename are preserved, forced to upper case, and
3552 appear as the first (up to) five characters of the mangled name.
3553
3554 it() A tilde tt("~") is appended to the first part of the mangled
3555 name, followed by a two-character unique sequence, based on the
3556 original root name (i.e., the original filename minus its final
3557 extension). The final extension is included in the hash calculation
3558 only if it contains any upper case characters or is longer than three
3559 characters.
3560
3561 Note that the character to use may be specified using the
3562 link(bf("mangling char"))(manglingchar) option, if you don't like
3563 tt('~').
3564
3565 it() The first three alphanumeric characters of the final extension
3566 are preserved, forced to upper case and appear as the extension of the
3567 mangled name. The final extension is defined as that part of the
3568 original filename after the rightmost dot. If there are no dots in the
3569 filename, the mangled name will have no extension (except in the case
3570 of link(bf("hidden files"))(hidefiles) - see below).
3571
3572 it() Files whose UNIX name begins with a dot will be presented as DOS
3573 hidden files. The mangled name will be created as for other filenames,
3574 but with the leading dot removed and tt("___") as its extension regardless
3575 of actual original extension (that's three underscores).
3576
3577 endit()
3578
3579 The two-digit hash value consists of upper case alphanumeric
3580 characters.
3581
3582 This algorithm can cause name collisions only if files in a directory
3583 share the same first five alphanumeric characters. The probability of
3584 such a clash is 1/1300.
3585
3586 The name mangling (if enabled) allows a file to be copied between UNIX
3587 directories from Windows/DOS while retaining the long UNIX
3588 filename. UNIX files can be renamed to a new extension from
3589 Windows/DOS and will retain the same basename. Mangled names do not
3590 change between sessions.
3591
3592   bf(Default:)
3593 tt(     mangled names = yes)
3594
3595   bf(Example:)
3596 tt(     mangled names = no)
3597
3598 label(manglingchar)
3599 dit(bf(mangling char (S)))
3600
3601 This controls what character is used as the em("magic") character in
3602 link(bf(name mangling))(manglednames). The default is a tt('~') but
3603 this may interfere with some software. Use this option to set it to
3604 whatever you prefer.
3605
3606   bf(Default:)
3607 tt(     mangling char = ~)
3608
3609   bf(Example:)
3610 tt(     mangling char = ^)
3611
3612 label(mangledstack)
3613 dit(bf(mangled stack (G)))
3614
3615 This parameter controls the number of mangled names that should be
3616 cached in the Samba server url(bf(smbd))(smbd.8.html).
3617
3618 This stack is a list of recently mangled base names (extensions are
3619 only maintained if they are longer than 3 characters or contains upper
3620 case characters).
3621
3622 The larger this value, the more likely it is that mangled names can be
3623 successfully converted to correct long UNIX names. However, large
3624 stack sizes will slow most directory access. Smaller stacks save
3625 memory in the server (each stack element costs 256 bytes).
3626
3627 It is not possible to absolutely guarantee correct long file names, so
3628 be prepared for some surprises!
3629
3630   bf(Default:)
3631 tt(     mangled stack = 50)
3632
3633   bf(Example:)
3634 tt(     mangled stack = 100)
3635
3636 label(maparchive)
3637 dit(bf(map archive (S)))
3638
3639 This controls whether the DOS archive attribute should be mapped to
3640 the UNIX owner execute bit.  The DOS archive bit is set when a file
3641 has been modified since its last backup.  One motivation for this
3642 option it to keep Samba/your PC from making any file it touches from
3643 becoming executable under UNIX.  This can be quite annoying for shared
3644 source code, documents, etc...
3645
3646 Note that this requires the link(bf("create mask"))(createmask)
3647 parameter to be set such that owner execute bit is not masked out
3648 (i.e. it must include 100). See the parameter link(bf("create
3649 mask"))(createmask) for details.
3650
3651   bf(Default:)
3652 tt(      map archive = yes)
3653
3654   bf(Example:)
3655 tt(      map archive = no)
3656
3657 label(maphidden)
3658 dit(bf(map hidden (S)))
3659
3660 This controls whether DOS style hidden files should be mapped to the
3661 UNIX world execute bit.
3662
3663 Note that this requires the link(bf("create mask"))(createmask) to be
3664 set such that the world execute bit is not masked out (i.e. it must
3665 include 001). See the parameter link(bf("create mask"))(createmask)
3666 for details.
3667
3668   bf(Default:)
3669 tt(     map hidden = no)
3670
3671   bf(Example:)
3672 tt(     map hidden = yes)
3673
3674 label(mapsystem)
3675 dit(bf(map system (S)))
3676
3677 This controls whether DOS style system files should be mapped to the
3678 UNIX group execute bit.
3679
3680 Note that this requires the link(bf("create mask"))(createmask) to be
3681 set such that the group execute bit is not masked out (i.e. it must
3682 include 010). See the parameter link(bf("create mask"))(createmask)
3683 for details.
3684
3685   bf(Default:)
3686 tt(     map system = no)
3687
3688   bf(Example:)
3689 tt(     map system = yes)
3690
3691 label(maptoguest)
3692 dit(bf(map to guest (G)))
3693
3694 This parameter is only useful in link(bf(security))(security) modes
3695 other than link(bf("security=share"))(securityequalshare) - i.e. user,
3696 server, and domain.
3697
3698 This parameter can take three different values, which tell
3699 url(bf(smbd))(smbd.8.html) what to do with user login requests that
3700 don't match a valid UNIX user in some way.
3701
3702 The three settings are :
3703
3704 startit()
3705
3706 it() bf("Never") - Means user login requests with an invalid password
3707 are rejected. This is the default.
3708
3709 it() bf("Bad User") - Means user logins with an invalid password are
3710 rejected, unless the username does not exist, in which case it is
3711 treated as a guest login and mapped into the link(bf("guest
3712 account"))(guestaccount).
3713
3714 it() bf("Bad Password") - Means user logins with an invalid
3715 password are treated as a guest login and mapped into the
3716 link(bf("guest account"))(guestaccount). Note that this can
3717 cause problems as it means that any user incorrectly typing their
3718 password will be silently logged on a bf("guest") - and 
3719 will not know the reason they cannot access files they think
3720 they should - there will have been no message given to them
3721 that they got their password wrong. Helpdesk services will
3722 em(*hate*) you if you set the bf("map to guest") parameter
3723 this way :-).
3724
3725 endit()
3726
3727 Note that this parameter is needed to set up bf("Guest") share