a8574cc4d0a8363dcefaf5f1d12e199fd2c0c03d
[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
3728 services when using link(bf(security))(security) modes other than
3729 share. This is because in these modes the name of the resource being
3730 requested is em(*not*) sent to the server until after the server has
3731 successfully authenticated the client so the server cannot make
3732 authentication decisions at the correct time (connection to the
3733 share) for bf("Guest") shares.
3734
3735 For people familiar with the older Samba releases, this parameter
3736 maps to the old compile-time setting of the GUEST_SESSSETUP value
3737 in local.h.
3738
3739   bf(Default:)
3740 tt(     map to guest = Never)
3741   bf(Example):
3742 tt(     map to guest = Bad User)
3743
3744 label(maxconnections)
3745 dit(bf(max connections (S)))
3746
3747 This option allows the number of simultaneous connections to a service
3748 to be limited. If bf("max connections") is greater than 0 then
3749 connections will be refused if this number of connections to the
3750 service are already open. A value of zero mean an unlimited number of
3751 connections may be made.
3752
3753 Record lock files are used to implement this feature. The lock files
3754 will be stored in the directory specified by the link(bf("lock
3755 directory"))(lockdirectory) option.
3756
3757   bf(Default:)
3758 tt(     max connections = 0)
3759
3760   bf(Example:)
3761 tt(     max connections = 10)
3762
3763 label(maxdisksize)
3764 dit(bf(max disk size (G)))
3765
3766 This option allows you to put an upper limit on the apparent size of
3767 disks. If you set this option to 100 then all shares will appear to be
3768 not larger than 100 MB in size.
3769
3770 Note that this option does not limit the amount of data you can put on
3771 the disk. In the above case you could still store much more than 100
3772 MB on the disk, but if a client ever asks for the amount of free disk
3773 space or the total disk size then the result will be bounded by the
3774 amount specified in bf("max disk size").
3775
3776 This option is primarily useful to work around bugs in some pieces of
3777 software that can't handle very large disks, particularly disks over
3778 1GB in size.
3779
3780 A bf("max disk size") of 0 means no limit.
3781
3782   bf(Default:)
3783 tt(     max disk size = 0)
3784
3785   bf(Example:)
3786 tt(     max disk size = 1000)
3787
3788 label(maxlogsize)
3789 dit(bf(max log size (G)))
3790
3791 This option (an integer in kilobytes) specifies the max size the log
3792 file should grow to. Samba periodically checks the size and if it is
3793 exceeded it will rename the file, adding a tt(".old") extension.
3794
3795 A size of 0 means no limit.
3796
3797   bf(Default:)
3798 tt(     max log size = 5000)
3799
3800   bf(Example:)
3801 tt(     max log size = 1000)
3802
3803 label(maxmux)
3804 dit(bf(max mux (G)))
3805
3806 This option controls the maximum number of outstanding simultaneous
3807 SMB operations that samba tells the client it will allow. You should
3808 never need to set this parameter.
3809
3810   bf(Default:)
3811 tt(     max mux = 50)
3812
3813 label(maxopenfiles)
3814 dit(bf(max open files (G)))
3815
3816 This parameter limits the maximum number of open files that one
3817 url(bf(smbd))(smbd.8.html) file serving process may have open for
3818 a client at any one time. The default for this parameter is set
3819 very high (10,000) as Samba uses only one bit per unopened file.
3820
3821 The limit of the number of open files is usually set by the
3822 UNIX per-process file descriptor limit rather than this parameter
3823 so you should never need to touch this parameter.
3824
3825   bf(Default:)
3826 tt(     max open files = 10000)
3827
3828 label(maxpacket)
3829 dit(bf(max packet (G)))
3830
3831 Synonym for link(bf("packet size"))(packetsize).
3832
3833 label(maxttl)
3834 dit(bf(max ttl (G)))
3835
3836 This option tells url(bf(nmbd))(nmbd.8.html) what the default 'time
3837 to live' of NetBIOS names should be (in seconds) when
3838 url(bf(nmbd))(nmbd.8.html) is requesting a name using either a
3839 broadcast packet or from a WINS server. You should never need to
3840 change this parameter. The default is 3 days.
3841
3842   bf(Default:)
3843 tt(     max ttl = 259200)
3844
3845 label(maxwinsttl)
3846 dit(bf(max wins ttl (G)))
3847
3848 This option tells url(bf(nmbd))(nmbd.8.html) when acting as a WINS
3849 server link(bf((wins support =true)))(winssupport) what the maximum
3850 'time to live' of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
3851 grant will be (in seconds). You should never need to change this
3852 parameter.  The default is 6 days (518400 seconds).
3853
3854 See also the link(bf("min wins ttl"))(minwinsttl) parameter.
3855
3856   bf(Default:)
3857 tt(        max wins ttl = 518400)
3858
3859 label(maxxmit)
3860 dit(bf(max xmit (G)))
3861
3862 This option controls the maximum packet size that will be negotiated
3863 by Samba. The default is 65535, which is the maximum. In some cases
3864 you may find you get better performance with a smaller value. A value
3865 below 2048 is likely to cause problems.
3866
3867   bf(Default:)
3868 tt(     max xmit = 65535)
3869
3870   bf(Example:)
3871 tt(     max xmit = 8192)
3872
3873 label(messagecommand)
3874 dit(bf(message command (G)))
3875
3876 This specifies what command to run when the server receives a WinPopup
3877 style message.
3878
3879 This would normally be a command that would deliver the message
3880 somehow. How this is to be done is up to your imagination.
3881
3882 An example is:
3883
3884 tt(   message command = csh -c 'xedit %s;rm %s' &)
3885
3886 This delivers the message using bf(xedit), then removes it
3887 afterwards. em(NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN
3888 IMMEDIATELY). That's why I have the tt('&') on the end. If it doesn't
3889 return immediately then your PCs may freeze when sending messages
3890 (they should recover after 30secs, hopefully).
3891
3892 All messages are delivered as the global guest user. The command takes
3893 the standard substitutions, although link(bf(%u))(percentu) won't work
3894 (link(bf(%U))(percentU) may be better in this case).
3895
3896 Apart from the standard substitutions, some additional ones apply. In
3897 particular:
3898
3899 startit()
3900
3901 it() tt("%s") = the filename containing the message.
3902
3903 it() tt("%t") = the destination that the message was sent to (probably the server
3904 name).
3905
3906 it() tt("%f") = who the message is from.
3907
3908 endit()
3909
3910 You could make this command send mail, or whatever else takes your
3911 fancy. Please let us know of any really interesting ideas you have.
3912
3913 Here's a way of sending the messages as mail to root:
3914
3915 tt(message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s)
3916
3917 If you don't have a message command then the message won't be
3918 delivered and Samba will tell the sender there was an
3919 error. Unfortunately WfWg totally ignores the error code and carries
3920 on regardless, saying that the message was delivered.
3921
3922 If you want to silently delete it then try:
3923
3924 tt("message command = rm %s").
3925
3926   bf(Default:)
3927 tt(     no message command)
3928
3929   bf(Example:)
3930 tt(        message command = csh -c 'xedit %s;rm %s' &)
3931
3932 label(minprintspace)
3933 dit(bf(min print space (S)))
3934
3935 This sets the minimum amount of free disk space that must be available
3936 before a user will be able to spool a print job. It is specified in
3937 kilobytes. The default is 0, which means a user can always spool a print
3938 job.
3939
3940 See also the link(bf(printing))(printing) parameter.
3941
3942   bf(Default:)
3943 tt(     min print space = 0)
3944
3945   bf(Example:)
3946 tt(     min print space = 2000)
3947
3948 label(minpasswdlength)
3949 dit(bf(min passwd length (G)))
3950
3951 Synonym for link(bf("min password length"))(minpasswordlength).
3952
3953 label(minpasswordlength)
3954 dit(bf(min password length (G)))
3955
3956 This option sets the minimum length in characters of a plaintext password
3957 than smbd will accept when performing UNIX password changing.
3958
3959 See also link(bf("unix password sync"))(unixpasswordsync),
3960 link(bf("passwd program"))(passwdprogram) and link(bf("passwd chat
3961 debug"))(passwdchatdebug).
3962
3963   bf(Default:)
3964 tt(     min password length = 5)
3965
3966
3967 label(minwinsttl)
3968 dit(bf(min wins ttl (G)))
3969
3970 This option tells url(bf(nmbd))(nmbd.8.html) when acting as a WINS
3971 server link(bf((wins support = true)))(winssupport) what the minimum
3972 'time to live' of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
3973 grant will be (in seconds). You should never need to change this
3974 parameter.  The default is 6 hours (21600 seconds).
3975
3976   bf(Default:)
3977 tt(     min wins ttl = 21600)
3978
3979
3980 label(nameresolveorder)
3981 dit(bf(name resolve order (G)))
3982
3983 This option is used by the programs in the Samba suite to determine
3984 what naming services and in what order to resolve host names to IP
3985 addresses. The option takes a space separated string of different name
3986 resolution options.
3987
3988 The options are :"lmhosts", "host", "wins" and "bcast". They cause
3989 names to be resolved as follows :
3990
3991 startit()
3992
3993 it() bf(lmhosts) : Lookup an IP address in the Samba lmhosts file.
3994 If the line in lmhosts has no name type attached to the NetBIOS
3995 name (see the url(bf(lmhosts (5)))(lmhosts.5.html) for details) then
3996 any name type matches for lookup.
3997
3998 it() bf(host) : Do a standard host name to IP address resolution,
3999 using the system /etc/hosts, NIS, or DNS lookups. This method of name
4000 resolution is operating system depended for instance on IRIX or
4001 Solaris this may be controlled by the em(/etc/nsswitch.conf) file).
4002 Note that this method is only used if the NetBIOS name type being
4003 queried is the 0x20 (server) name type, otherwise it is ignored.
4004
4005 it() bf(wins) : Query a name with the IP address listed in the
4006 link(bf(wins server))(winsserver) parameter. If no WINS server has
4007 been specified this method will be ignored.
4008
4009 it() bf(bcast) : Do a broadcast on each of the known local interfaces
4010 listed in the link(bf(interfaces))(interfaces) parameter. This is the
4011 least reliable of the name resolution methods as it depends on the
4012 target host being on a locally connected subnet.
4013
4014 endit()
4015
4016   bf(Default:)
4017 tt(     name resolve order = lmhosts host wins bcast)
4018
4019   bf(Example:)
4020 tt(     name resolve order = lmhosts bcast host)
4021
4022 This will cause the local lmhosts file to be examined first, followed
4023 by a broadcast attempt, followed by a normal system hostname lookup.
4024
4025 label(netbiosaliases)
4026 dit(bf(netbios aliases (G)))
4027
4028 This is a list of NetBIOS names that url(bf(nmbd))(nmbd.8.html) will
4029 advertise as additional names by which the Samba server is known. This
4030 allows one machine to appear in browse lists under multiple names. If
4031 a machine is acting as a link(bf(browse server))(localmaster) or
4032 link(bf(logon server))(domainlogons) none of these names will be
4033 advertised as either browse server or logon servers, only the primary
4034 name of the machine will be advertised with these capabilities.
4035
4036 See also link(bf("netbios name"))(netbiosname).
4037
4038   bf(Default:)
4039 tt(     empty string (no additional names))
4040
4041   bf(Example:)
4042 tt(     netbios aliases = TEST TEST1 TEST2)
4043
4044 label(netbiosname)
4045 dit(bf(netbios name (G)))
4046
4047 This sets the NetBIOS name by which a Samba server is known. By
4048 default it is the same as the first component of the host's DNS name.
4049 If a machine is a link(bf(browse server))(localmaster) or
4050 link(bf(logon server))(domainlogons) this name (or the first component
4051 of the hosts DNS name) will be the name that these services are
4052 advertised under.
4053
4054 See also link(bf("netbios aliases"))(netbiosaliases).
4055
4056   bf(Default:)
4057 tt(     Machine DNS name.)
4058
4059   bf(Example:)
4060 tt(     netbios name = MYNAME)
4061
4062 label(netbiosscope)
4063 dit(bf(netbios scope (G)))
4064
4065 This sets the NetBIOS scope that Samba will operate under. This should
4066 not be set unless every machine on your LAN also sets this value.
4067
4068 label(nishomedir)
4069 dit(bf(nis homedir (G)))
4070
4071 Get the home share server from a NIS map. For UNIX systems that use an
4072 automounter, the user's home directory will often be mounted on a
4073 workstation on demand from a remote server. 
4074
4075 When the Samba logon server is not the actual home directory server,
4076 but is mounting the home directories via NFS then two network hops
4077 would be required to access the users home directory if the logon
4078 server told the client to use itself as the SMB server for home
4079 directories (one over SMB and one over NFS). This can be very
4080 slow.
4081
4082 This option allows Samba to return the home share as being on a
4083 different server to the logon server and as long as a Samba daemon is
4084 running on the home directory server, it will be mounted on the Samba
4085 client directly from the directory server. When Samba is returning the
4086 home share to the client, it will consult the NIS map specified in
4087 link(bf("homedir map"))(homedirmap) and return the server listed
4088 there.
4089
4090 Note that for this option to work there must be a working NIS
4091 system and the Samba server with this option must also be a
4092 link(bf(logon server))(domainlogons).
4093
4094   bf(Default:)
4095 tt(     nis homedir = false)
4096
4097   bf(Example:)
4098 tt(     nis homedir = true)
4099
4100 label(ntaclsupport)
4101 dit(bf(nt acl support (G)))
4102
4103 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4104 will attempt to map UNIX permissions into Windows NT access control lists.
4105
4106   bf(Default:)
4107 tt(     nt acl support = yes)
4108
4109   bf(Example:)
4110 tt(     nt acl support = no)
4111
4112 label(ntpipesupport)
4113 dit(bf(nt pipe support (G)))
4114
4115 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4116 will allow Windows NT clients to connect to the NT SMB specific
4117 tt(IPC$) pipes. This is a developer debugging option and can be left
4118 alone.
4119
4120   bf(Default:)
4121 tt(     nt pipe support = yes)
4122
4123 label(ntsmbsupport)
4124 dit(bf(nt smb support (G)))
4125
4126 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
4127 will negotiate NT specific SMB support with Windows NT
4128 clients. Although this is a developer debugging option and should be
4129 left alone, benchmarking has discovered that Windows NT clients give
4130 faster performance with this option set to tt("no"). This is still
4131 being investigated. If this option is set to tt("no") then Samba
4132 offers exactly the same SMB calls that versions prior to Samba2.0
4133 offered. This information may be of use if any users are having
4134 problems with NT SMB support.
4135
4136   bf(Default:)
4137 tt(     nt support = yes)
4138
4139 label(nullpasswords)
4140 dit(bf(null passwords (G)))
4141
4142 Allow or disallow client access to accounts that have null passwords. 
4143
4144 See also url(bf(smbpasswd (5)))(smbpasswd.5.html).
4145
4146   bf(Default:)
4147 tt(     null passwords = no)
4148
4149   bf(Example:)
4150 tt(     null passwords = yes)
4151
4152 label(olelockingcompatibility)
4153 dit(bf(ole locking compatibility (G)))
4154
4155 This parameter allows an administrator to turn off the byte range lock
4156 manipulation that is done within Samba to give compatibility for OLE
4157 applications. Windows OLE applications use byte range locking as a
4158 form of inter-process communication, by locking ranges of bytes around
4159 the 2^32 region of a file range. This can cause certain UNIX lock
4160 managers to crash or otherwise cause problems. Setting this parameter
4161 to tt("no") means you trust your UNIX lock manager to handle such cases
4162 correctly.
4163
4164   bf(Default:)
4165 tt(     ole locking compatibility = yes)
4166
4167   bf(Example:)
4168 tt(     ole locking compatibility = no)
4169
4170 label(onlyguest)
4171 dit(bf(only guest (S)))
4172
4173 A synonym for link(bf("guest only"))(guestonly).
4174
4175 label(onlyuser)
4176 dit(bf(only user (S)))
4177
4178 This is a boolean option that controls whether connections with
4179 usernames not in the link(bf(user=))(user) list will be allowed. By
4180 default this option is disabled so a client can supply a username to
4181 be used by the server.
4182
4183 Note that this also means Samba won't try to deduce usernames from the
4184 service name. This can be annoying for the link(bf([homes]))(homes)
4185 section. To get around this you could use "link(bf(user))(user) =
4186 link(bf(%S))(percentS)" which means your link(bf("user"))(user) list
4187 will be just the service name, which for home directories is the name
4188 of the user.
4189
4190 See also the link(bf(user))(user) parameter.
4191
4192   bf(Default:)
4193 tt(     only user = False)
4194
4195   bf(Example:)
4196 tt(     only user = True)
4197
4198 label(oplocks)
4199 dit(bf(oplocks (S)))
4200
4201 This boolean option tells smbd whether to issue oplocks (opportunistic
4202 locks) to file open requests on this share. The oplock code can
4203 dramatically (approx. 30% or more) improve the speed of access to files
4204 on Samba servers. It allows the clients to aggressively cache files
4205 locally and you may want to disable this option for unreliable network
4206 environments (it is turned on by default in Windows NT Servers).  For
4207 more information see the file Speed.txt in the Samba docs/ directory.
4208
4209 Oplocks may be selectively turned off on certain files on a per share basis.
4210 See the 'veto oplock files' parameter. On some systems oplocks are recognized
4211 by the underlying operating system. This allows data synchronization between
4212 all access to oplocked files, whether it be via Samba or NFS or a local
4213 UNIX process. See the link(bf(kernel oplocks))(kerneloplocks) parameter
4214 for details.
4215
4216 See also the link(bf("kernel oplocks"))(kerneloplocks) and
4217 link(bf("level2 oplocks"))(level2oplocks) parameters.
4218
4219   bf(Default:)
4220 tt(     oplocks = True)
4221
4222   bf(Example:)
4223 tt(     oplocks = False)
4224
4225 label(oplockbreakwaittime)
4226 dit(bf(oplock break wait time (G)))
4227
4228 This is a tuning parameter added due to bugs in both Windows 9x and WinNT.
4229 If Samba responds to a client too quickly when that client issues an SMB that
4230 can cause an oplock break request, then the client redirector can fail and
4231 not respond to the break request. This tuning parameter (which is set in
4232 milliseconds) is the amount of time Samba will wait before sending an
4233 oplock break request to such (broken) clients.
4234
4235 em(DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA
4236 OPLOCK CODE).
4237
4238   bf(Default:)
4239 tt(     oplock break wait time = 10)
4240
4241 label(oplockcontentionlimit)
4242 dit(bf(oplock contention limit (S)))
4243
4244 This is a em(very) advanced url(bf(smbd))(smbd.8.html) tuning option to improve
4245 the efficiency of the granting of oplocks under multiple client contention for the same file.
4246
4247 In brief it specifies a number, which causes smbd not to grant an oplock even
4248 when requested if the approximate number of clients contending for an oplock on
4249 the same file goes over this limit. This causes url(bf(smbd))(smbd.8.html) to
4250 behave in a similar way to Windows NT.
4251
4252 em(DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA
4253 OPLOCK CODE).
4254
4255   bf(Default:)
4256 tt( oplock contention limit = 2)
4257
4258 label(oslevel)
4259 dit(bf(os level (G)))
4260
4261 This integer value controls what level Samba advertises itself as for
4262 browse elections. The value of this parameter determines whether
4263 url(bf(nmbd))(nmbd.8.html) has a chance of becoming a local master
4264 browser for the link(bf(WORKGROUP))(workgroup) in the local broadcast
4265 area. The default is zero, which means url(bf(nmbd))(nmbd.8.html) will
4266 lose elections to Windows machines. See BROWSING.txt in the Samba
4267 docs/ directory for details.
4268
4269   bf(Default:)
4270 tt(     os level = 20)
4271
4272   bf(Example:)
4273 tt(     os level = 65    ; This will win against any NT Server)
4274
4275 label(packetsize)
4276 dit(bf(packet size (G)))
4277
4278 This is a deprecated parameter that has no effect on the current
4279 Samba code. It is left in the parameter list to prevent breaking
4280 old bf(smb.conf) files.
4281
4282 label(panicaction)
4283 dit(bf(panic action (G)))
4284
4285 This is a Samba developer option that allows a system command to be
4286 called when either url(bf(smbd))(smbd.8.html) or
4287 url(bf(nmbd))(nmbd.8.html) crashes. This is usually used to draw
4288 attention to the fact that a problem occurred.
4289
4290   bf(Default:)
4291 tt(     panic action = <empty string>)
4292
4293 label(passwdchat)
4294 dit(bf(passwd chat (G)))
4295
4296 This string controls the em("chat") conversation that takes places
4297 between url(bf(smbd))(smbd.8.html) and the local password changing
4298 program to change the users password. The string describes a sequence
4299 of response-receive pairs that url(bf(smbd))(smbd.8.html) uses to
4300 determine what to send to the link(bf(passwd))(passwdprogram) program
4301 and what to expect back. If the expected output is not received then
4302 the password is not changed.
4303
4304 This chat sequence is often quite site specific, depending on what
4305 local methods are used for password control (such as NIS etc).
4306
4307 The string can contain the macros tt("%o") and tt("%n") which are
4308 substituted for the old and new passwords respectively. It can also
4309 contain the standard macros tt("\n"), tt("\r"), tt("\t") and tt("\s")
4310 to give line-feed, carriage-return, tab and space.
4311
4312 The string can also contain a tt('*') which matches any sequence of
4313 characters.
4314
4315 Double quotes can be used to collect strings with spaces in them into
4316 a single string.
4317
4318 If the send string in any part of the chat sequence is a fullstop
4319 tt(".")  then no string is sent. Similarly, is the expect string is a
4320 fullstop then no string is expected.
4321
4322 Note that if the link(bf("unix password sync"))(unixpasswordsync)
4323 parameter is set to true, then this sequence is called em(*AS ROOT*)
4324 when the SMB password in the smbpasswd file is being changed, without
4325 access to the old password cleartext. In this case the old password
4326 cleartext is set to tt("") (the empty string).
4327
4328 See also link(bf("unix password sync"))(unixpasswordsync),
4329 link(bf("passwd program"))(passwdprogram) and link(bf("passwd chat
4330 debug"))(passwdchatdebug).
4331
4332   bf(Example:) 
4333 verb( passwd chat = "*Enter OLD password*" %o\n "*Enter NEW password*" %n\n \
4334                        "*Reenter NEW password*" %n\n "*Password changed*"
4335 )
4336
4337   bf(Default:)
4338 verb(       passwd chat = *old*password* %o\n *new*password* %n\n *new*password* %n\n *changed*)
4339
4340 label(passwdchatdebug)
4341 dit(bf(passwd chat debug (G)))
4342
4343 This boolean specifies if the passwd chat script parameter is run in
4344 tt("debug") mode. In this mode the strings passed to and received from
4345 the passwd chat are printed in the url(bf(smbd))(smbd.8.html) log with
4346 a link(bf("debug level"))(debuglevel) of 100. This is a dangerous
4347 option as it will allow plaintext passwords to be seen in the
4348 url(bf(smbd))(smbd.8.html) log. It is available to help Samba admins
4349 debug their link(bf("passwd chat"))(passwdchat) scripts when calling
4350 the link(bf("passwd program"))(passwdprogram) and should be turned off
4351 after this has been done. This parameter is off by default.
4352
4353 See also link(bf("passwd chat"))(passwdchat), link(bf("passwd
4354 program"))(passwdprogram).
4355
4356   bf(Example:)
4357 tt(     passwd chat debug = True)
4358
4359   bf(Default:)
4360 tt(     passwd chat debug = False)
4361
4362 label(passwdprogram)
4363 dit(bf(passwd program (G)))
4364
4365 The name of a program that can be used to set UNIX user passwords.
4366 Any occurrences of link(bf(%u))(percentu) will be replaced with the
4367 user name. The user name is checked for existence before calling the
4368 password changing program.
4369
4370 Also note that many passwd programs insist in em("reasonable")
4371 passwords, such as a minimum length, or the inclusion of mixed case
4372 chars and digits. This can pose a problem as some clients (such as
4373 Windows for Workgroups) uppercase the password before sending it.
4374
4375 em(Note) that if the link(bf("unix password sync"))(unixpasswordsync)
4376 parameter is set to tt("True") then this program is called em(*AS
4377 ROOT*) before the SMB password in the
4378 url(bf(smbpasswd))(smbpasswd.5.html) file is changed. If this UNIX
4379 password change fails, then url(bf(smbd))(smbd.8.html) will fail to
4380 change the SMB password also (this is by design).
4381
4382 If the link(bf("unix password sync"))(unixpasswordsync) parameter is
4383 set this parameter em(MUST USE ABSOLUTE PATHS) for em(ALL) programs
4384 called, and must be examined for security implications. Note that by
4385 default link(bf("unix password sync"))(unixpasswordsync) is set to
4386 tt("False").
4387
4388 See also link(bf("unix password sync"))(unixpasswordsync).
4389
4390   bf(Default:)
4391 tt(     passwd program = /bin/passwd)
4392
4393   bf(Example:)
4394 tt(     passwd program = /sbin/passwd %u)
4395
4396 label(passwordlevel)
4397 dit(bf(password level (G)))
4398
4399 Some client/server combinations have difficulty with mixed-case
4400 passwords.  One offending client is Windows for Workgroups, which for
4401 some reason forces passwords to upper case when using the LANMAN1
4402 protocol, but leaves them alone when using COREPLUS!
4403
4404 This parameter defines the maximum number of characters that may be
4405 upper case in passwords.
4406
4407 For example, say the password given was tt("FRED"). If bf(password
4408 level) is set to 1, the following combinations would be tried if
4409 tt("FRED") failed:
4410
4411 tt("Fred"), tt("fred"), tt("fRed"), tt("frEd"), tt("freD")
4412
4413 If bf(password level) was set to 2, the following combinations would
4414 also be tried: 
4415
4416 tt("FRed"), tt("FrEd"), tt("FreD"), tt("fREd"), tt("fReD"),
4417 tt("frED"), tt(..)
4418
4419 And so on.
4420
4421 The higher value this parameter is set to the more likely it is that a
4422 mixed case password will be matched against a single case
4423 password. However, you should be aware that use of this parameter
4424 reduces security and increases the time taken to process a new
4425 connection.
4426
4427 A value of zero will cause only two attempts to be made - the password
4428 as is and the password in all-lower case.
4429
4430   bf(Default:)
4431 tt(     password level = 0)
4432
4433   bf(Example:)
4434 tt(     password level = 4)
4435
4436 label(passwordserver)
4437 dit(bf(password server (G)))
4438
4439 By specifying the name of another SMB server (such as a WinNT box)
4440 with this option, and using link(bf("security = domain"))(security) or
4441 link(bf("security = server"))(security) you can get Samba to do all
4442 its username/password validation via a remote server.
4443
4444 This options sets the name of the password server to use. It must be a
4445 NetBIOS name, so if the machine's NetBIOS name is different from its
4446 internet name then you may have to add its NetBIOS name to the lmhosts 
4447 file which is stored in the same directory as the bf(smb.conf) file.
4448
4449 The name of the password server is looked up using the parameter
4450 link(bf("name resolve order="))(nameresolveorder) and so may resolved
4451 by any method and order described in that parameter.
4452
4453 The password server much be a machine capable of using the "LM1.2X002"
4454 or the "LM NT 0.12" protocol, and it must be in user level security
4455 mode. 
4456
4457 NOTE: Using a password server means your UNIX box (running Samba) is
4458 only as secure as your password server. em(DO NOT CHOOSE A PASSWORD
4459 SERVER THAT YOU DON'T COMPLETELY TRUST).
4460
4461 Never point a Samba server at itself for password serving. This will
4462 cause a loop and could lock up your Samba server!
4463
4464 The name of the password server takes the standard substitutions, but
4465 probably the only useful one is link(bf(%m))(percentm), which means
4466 the Samba server will use the incoming client as the password
4467 server. If you use this then you better trust your clients, and you
4468 better restrict them with hosts allow!
4469
4470 If the link(bf("security"))(security) parameter is set to
4471 bf("domain"), then the list of machines in this option must be a list
4472 of Primary or Backup Domain controllers for the
4473 link(bf(Domain))(workgroup) or the character tt(*), as the Samba server is cryptographicly
4474 in that domain, and will use cryptographicly authenticated RPC calls
4475 to authenticate the user logging on. The advantage of using
4476 link(bf("security=domain"))(securityequaldomain) is that if you list
4477 several hosts in the bf("password server") option then
4478 url(bf(smbd))(smbd.8.html) will try each in turn till it finds one
4479 that responds. This is useful in case your primary server goes down.
4480
4481 If the bf("password server") option is set to the character tt(*),
4482 then Samba will attempt to auto-locate the Primary or Backup Domain controllers
4483 to authenticate against by doing a query for the name tt(WORKGROUP<1C>)
4484 and then contacting each server returned in the list of IP addresses
4485 from the link(bf(name resolution))(nameresolveorder) source.
4486
4487 If the link(bf("security"))(security) parameter is set to
4488 link(bf("server"))(securityequalserver), then there are different
4489 restrictions that link(bf("security=domain"))(securityequaldomain)
4490 doesn't suffer from:
4491
4492 startit()
4493
4494 it() You may list several password servers in the bf("password server")
4495 parameter, however if an url(bf(smbd))(smbd.8.html) makes a connection
4496 to a password server, and then the password server fails, no more
4497 users will be able to be authenticated from this
4498 url(bf(smbd))(smbd.8.html).  This is a restriction of the SMB/CIFS
4499 protocol when in link(bf("security=server"))(securityequalserver) mode
4500 and cannot be fixed in Samba.
4501
4502 it() If you are using a Windows NT server as your password server then
4503 you will have to ensure that your users are able to login from the
4504 Samba server, as when in
4505 link(bf("security=server"))(securityequalserver) mode the network
4506 logon will appear to come from there rather than from the users
4507 workstation.
4508
4509 endit()
4510
4511 See also the link(bf("security"))(security) parameter.
4512
4513   bf(Default:)
4514 tt(     password server = <empty string>)
4515
4516   bf(Example:)
4517 tt(     password server = NT-PDC, NT-BDC1, NT-BDC2)
4518
4519   bf(Example:)
4520 tt(     password server = *)
4521
4522 label(path)
4523 dit(bf(path (S)))
4524
4525 This parameter specifies a directory to which the user of the service
4526 is to be given access. In the case of printable services, this is
4527 where print data will spool prior to being submitted to the host for
4528 printing.
4529
4530 For a printable service offering guest access, the service should be
4531 readonly and the path should be world-writeable and have the sticky bit
4532 set. This is not mandatory of course, but you probably won't get the
4533 results you expect if you do otherwise.
4534
4535 Any occurrences of link(bf(%u))(percentu) in the path will be replaced
4536 with the UNIX username that the client is using on this
4537 connection. Any occurrences of link(bf(%m))(percentm) will be replaced
4538 by the NetBIOS name of the machine they are connecting from. These
4539 replacements are very useful for setting up pseudo home directories
4540 for users.
4541
4542 Note that this path will be based on link(bf("root dir"))(rootdir) if
4543 one was specified.
4544
4545   bf(Default:)
4546 tt(     none)
4547
4548   bf(Example:)
4549 tt(     path = /home/fred)
4550
4551 label(postexec)
4552 dit(bf(postexec (S)))
4553
4554 This option specifies a command to be run whenever the service is
4555 disconnected. It takes the usual substitutions. The command may be run
4556 as the root on some systems.
4557
4558 An interesting example may be do unmount server resources:
4559
4560 tt(postexec = /etc/umount /cdrom)
4561
4562 See also link(bf(preexec))(preexec).
4563
4564   bf(Default:)
4565 tt(      none (no command executed))
4566
4567   bf(Example:)
4568 tt(      postexec = echo "%u disconnected from %S from %m (%I)" >> /tmp/log)
4569
4570 label(postscript)
4571 dit(bf(postscript (S)))
4572
4573 This parameter forces a printer to interpret the print files as
4574 postscript. This is done by adding a tt(%!) to the start of print output.
4575
4576 This is most useful when you have lots of PCs that persist in putting
4577 a control-D at the start of print jobs, which then confuses your
4578 printer.
4579
4580   bf(Default:)
4581 tt(     postscript = False)
4582
4583   bf(Example:)
4584 tt(     postscript = True)
4585
4586 label(preexec)
4587 dit(bf(preexec (S)))
4588
4589 This option specifies a command to be run whenever the service is
4590 connected to. It takes the usual substitutions.
4591
4592 An interesting example is to send the users a welcome message every
4593 time they log in. Maybe a message of the day? Here is an example:
4594
4595 verb(
4596         preexec = csh -c 'echo \"Welcome to %S!\" | \
4597                 /usr/local/samba/bin/smbclient -M %m -I %I' &
4598 )
4599
4600 Of course, this could get annoying after a while :-)
4601
4602 See also link(bf(preexec close))(preexecclose) and link(bf(postexec))(postexec).
4603
4604   bf(Default:)
4605 tt(     none (no command executed))
4606
4607   bf(Example:)
4608 tt(        preexec = echo \"%u connected to %S from %m (%I)\" >> /tmp/log)
4609
4610 label(preexecclose)
4611 dit(bf(preexec close (S)))
4612
4613 This boolean option controls whether a non-zero return code from
4614 link(bf("preexec"))(preexec) should close the service being connected to.
4615
4616   bf(Default:)
4617 tt(     preexec close = no)
4618
4619   bf(Example:)
4620 tt(     preexec close = yes)
4621
4622 label(preferredmaster)
4623 dit(bf(preferred master (G)))
4624
4625 This boolean parameter controls if url(bf(nmbd))(nmbd.8.html) is a
4626 preferred master browser for its workgroup.
4627
4628 If this is set to true, on startup, url(bf(nmbd))(nmbd.8.html) will
4629 force an election, and it will have a slight advantage in winning the
4630 election.  It is recommended that this parameter is used in
4631 conjunction with link(bf("domain master = yes"))(domainmaster), so
4632 that url(bf(nmbd))(nmbd.8.html) can guarantee becoming a domain
4633 master.
4634
4635 Use this option with caution, because if there are several hosts
4636 (whether Samba servers, Windows 95 or NT) that are preferred master
4637 browsers on the same subnet, they will each periodically and
4638 continuously attempt to become the local master browser.  This will
4639 result in unnecessary broadcast traffic and reduced browsing
4640 capabilities.
4641
4642 See also link(bf(os level))(oslevel).
4643
4644   bf(Default:)
4645 tt(     preferred master = no)
4646
4647   bf(Example:)
4648 tt(     preferred master = yes)
4649
4650 label(preferedmaster)
4651 dit(bf(prefered master (G)))
4652
4653 Synonym for link(bf("preferred master"))(preferredmaster) for people
4654 who cannot spell :-).
4655
4656 label(preload)
4657 dit(bf(preload))
4658 Synonym for link(bf("auto services"))(autoservices).
4659
4660 label(preservecase)
4661 dit(bf(preserve case (S)))
4662
4663 This controls if new filenames are created with the case that the
4664 client passes, or if they are forced to be the tt("default") case.
4665
4666   bf(Default:)
4667 tt(       preserve case = yes)
4668
4669 See the section on link(bf("NAME MANGLING"))(NAMEMANGLING) for a
4670 fuller discussion.
4671
4672 label(printcommand)
4673 dit(bf(print command (S)))
4674
4675 After a print job has finished spooling to a service, this command
4676 will be used via a tt(system()) call to process the spool
4677 file. Typically the command specified will submit the spool file to
4678 the host's printing subsystem, but there is no requirement that this
4679 be the case. The server will not remove the spool file, so whatever
4680 command you specify should remove the spool file when it has been
4681 processed, otherwise you will need to manually remove old spool files.
4682
4683 The print command is simply a text string. It will be used verbatim,
4684 with two exceptions: All occurrences of tt("%s") and tt("%f") will be
4685 replaced by the appropriate spool file name, and all occurrences of
4686 tt("%p") will be replaced by the appropriate printer name. The spool
4687 file name is generated automatically by the server, the printer name
4688 is discussed below.
4689
4690 The print command em(MUST) contain at least one occurrence of tt("%s")
4691 or tt("%f") - the tt("%p") is optional. At the time a job is
4692 submitted, if no printer name is supplied the tt("%p") will be
4693 silently removed from the printer command.
4694
4695 If specified in the link(bf("[global]"))(global) section, the print
4696 command given will be used for any printable service that does not
4697 have its own print command specified.
4698
4699 If there is neither a specified print command for a printable service
4700 nor a global print command, spool files will be created but not
4701 processed and (most importantly) not removed.
4702
4703 Note that printing may fail on some UNIXs from the tt("nobody")
4704 account. If this happens then create an alternative guest account that
4705 can print and set the link(bf("guest account"))(guestaccount) in the
4706 link(bf("[global]"))(global) section.
4707
4708 You can form quite complex print commands by realizing that they are
4709 just passed to a shell. For example the following will log a print
4710 job, print the file, then remove it. Note that tt(';') is the usual
4711 separator for command in shell scripts.
4712
4713 tt(print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s)
4714
4715 You may have to vary this command considerably depending on how you
4716 normally print files on your system. The default for the parameter
4717 varies depending on the setting of the link(bf("printing="))(printing)
4718 parameter.
4719
4720   bf(Default:)
4721         For link(bf("printing="))(printing) BSD, AIX, QNX, LPRNG or PLP :
4722 tt(     print command = lpr -r -P%p %s)
4723
4724         For link(bf("printing="))(printing) SYS or HPUX :
4725 tt(     print command = lp -c -d%p %s; rm %s)
4726
4727         For link(bf("printing="))(printing) SOFTQ :
4728 tt(     print command = lp -d%p -s %s; rm %s)
4729
4730   bf(Example:)
4731 tt(     print command = /usr/local/samba/bin/myprintscript %p %s)
4732
4733 label(printok)
4734 dit(bf(print ok (S)))
4735
4736 Synonym for link(bf(printable))(printable).
4737
4738 label(printable)
4739 dit(bf(printable (S)))
4740
4741 If this parameter is tt("yes"), then clients may open, write to and
4742 submit spool files on the directory specified for the service.
4743
4744 Note that a printable service will ALWAYS allow writing to the service
4745 path (user privileges permitting) via the spooling of print data. The
4746 link(bf("writeable"))(writeable) parameter controls only non-printing
4747 access to the resource.
4748
4749   bf(Default:)
4750 tt(     printable = no)
4751
4752   bf(Example:)
4753 tt(     printable = yes)
4754
4755 label(printcap)
4756 dit(bf(printcap (G)))
4757
4758 Synonym for link(bf(printcapname))(printcapname).
4759
4760 label(printer admin)
4761 dit(bf(printer admin (S)))
4762
4763 This is a list of users that can do anything to printers via the
4764 remote administration interfaces offered by MSRPC (usually using a NT
4765 workstation). Note that the root user always has admin rights.
4766
4767   bf(Default:)
4768 tt(     printer admin = <empty string>)
4769
4770   bf(Example:)
4771 tt(     printer admin = admin, @staff)
4772
4773 label(printcapname)
4774 dit(bf(printcap name (G)))
4775
4776 This parameter may be used to override the compiled-in default
4777 printcap name used by the server (usually /etc/printcap). See the
4778 discussion of the link(bf([printers]))(printers) section above for
4779 reasons why you might want to do this.
4780
4781 On System V systems that use bf(lpstat) to list available printers you
4782 can use tt("printcap name = lpstat") to automatically obtain lists of
4783 available printers. This is the default for systems that define SYSV
4784 at configure time in Samba (this includes most System V based
4785 systems). If bf("printcap name") is set to bf(lpstat) on these systems
4786 then Samba will launch tt("lpstat -v") and attempt to parse the output
4787 to obtain a printer list.
4788
4789 A minimal printcap file would look something like this:
4790
4791 verb(
4792         print1|My Printer 1
4793         print2|My Printer 2
4794         print3|My Printer 3
4795         print4|My Printer 4
4796         print5|My Printer 5
4797 )
4798
4799 where the tt('|') separates aliases of a printer. The fact that the
4800 second alias has a space in it gives a hint to Samba that it's a
4801 comment.
4802
4803 em(NOTE): Under AIX the default printcap name is
4804 tt("/etc/qconfig"). Samba will assume the file is in AIX tt("qconfig")
4805 format if the string tt("/qconfig") appears in the printcap filename.
4806
4807   bf(Default:)
4808 tt(     printcap name = /etc/printcap)
4809
4810   bf(Example:)
4811 tt(     printcap name = /etc/myprintcap)
4812
4813 label(printer)
4814 dit(bf(printer (S)))
4815
4816 This parameter specifies the name of the printer to which print jobs
4817 spooled through a printable service will be sent.
4818
4819 If specified in the link(bf([global]))(global) section, the printer
4820 name given will be used for any printable service that does not have
4821 its own printer name specified.
4822
4823   bf(Default:)
4824         none (but may be tt("lp") on many systems)
4825
4826   bf(Example:)
4827         printer name = laserwriter
4828
4829 label(printerdriver)
4830 dit(bf(printer driver (S)))
4831
4832 This option allows you to control the string that clients receive when
4833 they ask the server for the printer driver associated with a
4834 printer. If you are using Windows95 or WindowsNT then you can use this
4835 to automate the setup of printers on your system.
4836
4837 You need to set this parameter to the exact string (case sensitive)
4838 that describes the appropriate printer driver for your system. If you
4839 don't know the exact string to use then you should first try with no
4840 bf("printer driver") option set and the client will give you a list of
4841 printer drivers. The appropriate strings are shown in a scrollbox
4842 after you have chosen the printer manufacturer.
4843
4844 See also link(bf("printer driver file"))(printerdriverfile).
4845
4846   bf(Example:)
4847         printer driver = HP LaserJet 4L
4848
4849 label(printerdriverfile)
4850 dit(bf(printer driver file (G)))
4851
4852 This parameter tells Samba where the printer driver definition file,
4853 used when serving drivers to Windows 95 clients, is to be found. If
4854 this is not set, the default is :
4855
4856 tt(SAMBA_INSTALL_DIRECTORY/lib/printers.def)
4857
4858 This file is created from Windows 95 tt("msprint.inf") files found on
4859 the Windows 95 client system. For more details on setting up serving
4860 of printer drivers to Windows 95 clients, see the documentation file
4861 in the docs/ directory, PRINTER_DRIVER.txt.
4862
4863   bf(Default:)
4864 tt(     None (set in compile).)
4865
4866   bf(Example:)
4867 tt(     printer driver file = /usr/local/samba/printers/drivers.def)
4868
4869 See also link(bf("printer driver location"))(printerdriverlocation).
4870
4871 label(printerdriverlocation)
4872 dit(bf(printer driver location (S)))
4873
4874 This parameter tells clients of a particular printer share where to
4875 find the printer driver files for the automatic installation of
4876 drivers for Windows 95 machines. If Samba is set up to serve printer
4877 drivers to Windows 95 machines, this should be set to
4878
4879 tt(\\MACHINE\PRINTER$)
4880
4881 Where MACHINE is the NetBIOS name of your Samba server, and PRINTER$
4882 is a share you set up for serving printer driver files. For more
4883 details on setting this up see the documentation file in the docs/
4884 directory, PRINTER_DRIVER.txt.
4885
4886   bf(Default:)
4887 tt(     None)
4888
4889   bf(Example:)
4890 tt(     printer driver location = \\MACHINE\PRINTER$)
4891
4892 See also link(bf("printer driver file"))(printerdriverfile).
4893
4894 label(printername)
4895 dit(bf(printer name (S)))
4896
4897 Synonym for link(bf(printer))(printer).
4898
4899 label(printing)
4900 dit(bf(printing (S)))
4901
4902 This parameters controls how printer status information is interpreted
4903 on your system. It also affects the default values for the
4904 link(bf("print command"))(printcommand), link(bf("lpq
4905 command"))(lpqcommand) link(bf("lppause command"))(lppausecommand),
4906 link(bf("lpresume command"))(lpresumecommand), and link(bf("lprm
4907 command"))(lprmcommand) if specified in the link(bf([global]))(global)
4908 section.
4909
4910 Currently eight printing styles are supported. They are
4911 bf("printing=BSD"), bf("printing=AIX"), 
4912 bf("printing=LPRNG"), bf("printing=PLP"), bf("printing=SYSV"), 
4913 bf("printing="HPUX"), bf("printing=QNX"), bf("printing=SOFTQ"),
4914 and bf("printing=CUPS").
4915
4916 To see what the defaults are for the other print commands when using
4917 the various options use the url(bf("testparm"))(testparm.1.html) program.
4918
4919 This option can be set on a per printer basis
4920
4921 See also the discussion in the link(bf([printers]))(printers) section.
4922
4923 label(privatedir)
4924 dit(bf(private dir(G)))
4925
4926 The bf(private dir) parameter allows an administator to define a
4927 directory path used to hold the various databases Samba will use
4928 to store things like a the machine trust account information
4929 when acting as a domain member (i.e. where the secrets.tdb file will
4930 be located), where the passdb.tbd file will stored in the case
4931 of using the experiemental tdbsam support, etc...
4932
4933    bf(Default:)
4934 tt(     private dir = <compile time location of smbpasswd>)
4935
4936   bf(Example:)
4937 tt(     private dir = /etc/smbprivate)
4938
4939 label(protocol)
4940 dit(bf(protocol (G)))
4941
4942 The value of the parameter (a string) is the highest protocol level
4943 that will be supported by the server.
4944
4945 Possible values are :
4946
4947 startit()
4948
4949 it() CORE: Earliest version. No concept of user names.
4950
4951 it() COREPLUS: Slight improvements on CORE for efficiency.
4952
4953 it() LANMAN1: First em("modern") version of the protocol. Long
4954 filename support.
4955
4956 it() LANMAN2: Updates to Lanman1 protocol.
4957
4958 it() NT1: Current up to date version of the protocol. Used by Windows
4959 NT. Known as CIFS.
4960
4961 endit()
4962
4963 Normally this option should not be set as the automatic negotiation
4964 phase in the SMB protocol takes care of choosing the appropriate
4965 protocol.
4966
4967   bf(Default:)
4968 tt(     protocol = NT1)
4969
4970   bf(Example:)
4971 tt(     protocol = LANMAN1)
4972
4973 label(public)
4974 dit(bf(public (S)))
4975
4976 Synonym for link(bf("guest ok"))(guestok).
4977
4978 label(queuepausecommand)
4979 dit(bf(queuepause command (S)))
4980
4981 This parameter specifies the command to be executed on the server host
4982 in order to pause the printerqueue.
4983
4984 This command should be a program or script which takes a printer name
4985 as its only parameter and stops the printerqueue, such that no longer
4986 jobs are submitted to the printer.
4987
4988 This command is not supported by Windows for Workgroups, but can be
4989 issued from the Printer's window under Windows 95 & NT.
4990
4991 If a tt("%p") is given then the printername is put in its
4992 place. Otherwise it is placed at the end of the command.
4993
4994 Note that it is good practice to include the absolute path in the
4995 command as the PATH may not be available to the server.
4996
4997   bf(Default:)
4998 tt(        depends on the setting of "printing =")
4999
5000   bf(Example:)
5001 tt(      queuepause command = disable %p)
5002
5003 label(queueresumecommand)
5004 dit(bf(queueresume command (S)))
5005
5006 This parameter specifies the command to be executed on the server host
5007 in order to resume the printerqueue. It is the command to undo the
5008 behavior that is caused by the previous parameter
5009 (link(bf("queuepause command))(queuepausecommand)).
5010  
5011 This command should be a program or script which takes a printer name
5012 as its only parameter and resumes the printerqueue, such that queued
5013 jobs are resubmitted to the printer.
5014
5015 This command is not supported by Windows for Workgroups, but can be
5016 issued from the Printer's window under Windows 95 & NT.
5017
5018 If a tt("%p") is given then the printername is put in its
5019 place. Otherwise it is placed at the end of the command.
5020
5021 Note that it is good practice to include the absolute path in the
5022 command as the PATH may not be available to the server.
5023
5024   bf(Default:)
5025 tt(        depends on the setting of "printing =")
5026
5027   bf(Example:)
5028 tt(      queuepause command = enable %p)
5029
5030 label(read bmpx)
5031 dit(bf(read bmpx (G)))
5032
5033 This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
5034 will support the "Read Block Multiplex" SMB. This is now rarely used
5035 and defaults to off. You should never need to set this parameter.
5036
5037   bf(Default:)
5038         read bmpx = No
5039
5040 label(readlist)
5041 dit(bf(read list (S)))
5042
5043 This is a list of users that are given read-only access to a
5044 service. If the connecting user is in this list then they will not be
5045 given write access, no matter what the link(bf("writeable"))(writeable)
5046 option is set to. The list can include group names using the syntax
5047 described in the link(bf("invalid users"))(invalidusers) parameter.
5048
5049 See also the link(bf("write list"))(writelist) parameter and
5050 the link(bf("invalid users"))(invalidusers) parameter.
5051
5052   bf(Default:)
5053 tt(     read list = <empty string>)
5054
5055   bf(Example:)
5056 tt(     read list = mary, @students)
5057
5058 label(readonly)
5059 dit(bf(read only (S)))
5060
5061 Note that this is an inverted synonym for
5062 link(bf("writeable"))(writeable).
5063
5064 label(readprediction)
5065 dit(bf(read prediction (G)))
5066
5067 em(NOTE): This code is currently disabled in Samba2.0 and
5068 may be removed at a later date. Hence this parameter has
5069 no effect.
5070
5071 This options enables or disables the read prediction code used to
5072 speed up reads from the server. When enabled the server will try to
5073 pre-read data from the last accessed file that was opened read-only
5074 while waiting for packets.
5075
5076   bf(Default:)
5077 tt(     read prediction = False)
5078
5079 label(readraw)
5080 dit(bf(read raw (G)))
5081
5082 This parameter controls whether or not the server will support the raw
5083 read SMB requests when transferring data to clients.
5084
5085 If enabled, raw reads allow reads of 65535 bytes in one packet. This
5086 typically provides a major performance benefit.
5087
5088 However, some clients either negotiate the allowable block size
5089 incorrectly or are incapable of supporting larger block sizes, and for
5090 these clients you may need to disable raw reads.
5091
5092 In general this parameter should be viewed as a system tuning tool and left
5093 severely alone. See also link(bf("write raw"))(writeraw).
5094
5095   bf(Default:)
5096 tt(     read raw = yes)
5097
5098 label(readsize)
5099 dit(bf(read size (G)))
5100
5101 The option bf("read size") affects the overlap of disk reads/writes
5102 with network reads/writes. If the amount of data being transferred in
5103 several of the SMB commands (currently SMBwrite, SMBwriteX and
5104 SMBreadbraw) is larger than this value then the server begins writing
5105 the data before it has received the whole packet from the network, or
5106 in the case of SMBreadbraw, it begins writing to the network before
5107 all the data has been read from disk.
5108
5109 This overlapping works best when the speeds of disk and network access
5110 are similar, having very little effect when the speed of one is much
5111 greater than the other.
5112
5113 The default value is 16384, but very little experimentation has been
5114 done yet to determine the optimal value, and it is likely that the
5115 best value will vary greatly between systems anyway. A value over
5116 65536 is pointless and will cause you to allocate memory
5117 unnecessarily.
5118
5119   bf(Default:)
5120 tt(     read size = 16384)
5121
5122   bf(Example:)
5123 tt(     read size = 8192)
5124
5125 label(remoteannounce)
5126 dit(bf(remote announce (G)))
5127
5128 This option allows you to setup url(bf(nmbd))(nmbd.8.html) to
5129 periodically announce itself to arbitrary IP addresses with an
5130 arbitrary workgroup name.
5131
5132 This is useful if you want your Samba server to appear in a remote
5133 workgroup for which the normal browse propagation rules don't
5134 work. The remote workgroup can be anywhere that you can send IP
5135 packets to.
5136
5137 For example:
5138
5139 tt(     remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF)
5140
5141 the above line would cause nmbd to announce itself to the two given IP
5142 addresses using the given workgroup names. If you leave out the
5143 workgroup name then the one given in the
5144 link(bf("workgroup"))(workgroup) parameter is used instead.
5145
5146 The IP addresses you choose would normally be the broadcast addresses
5147 of the remote networks, but can also be the IP addresses of known
5148 browse masters if your network config is that stable.
5149
5150 See the documentation file BROWSING.txt in the docs/ directory.
5151
5152   bf(Default:)
5153 tt(     remote announce = <empty string>)
5154
5155   bf(Example:)
5156 tt(     remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF)
5157
5158 label(remotebrowsesync)
5159 dit(bf(remote browse sync (G)))
5160
5161 This option allows you to setup url(bf(nmbd))(nmbd.8.html) to
5162 periodically request synchronization of browse lists with the master
5163 browser of a samba server that is on a remote segment. This option
5164 will allow you to gain browse lists for multiple workgroups across
5165 routed networks. This is done in a manner that does not work with any
5166 non-samba servers.
5167
5168 This is useful if you want your Samba server and all local clients to
5169 appear in a remote workgroup for which the normal browse propagation
5170 rules don't work. The remote workgroup can be anywhere that you can
5171 send IP packets to.
5172
5173 For example:
5174
5175 tt(     remote browse sync = 192.168.2.255 192.168.4.255)
5176
5177 the above line would cause url(bf(nmbd))(nmbd.8.html) to request the
5178 master browser on the specified subnets or addresses to synchronize
5179 their browse lists with the local server.
5180
5181 The IP addresses you choose would normally be the broadcast addresses
5182 of the remote networks, but can also be the IP addresses of known
5183 browse masters if your network config is that stable. If a machine IP
5184 address is given Samba makes NO attempt to validate that the remote
5185 machine is available, is listening, nor that it is in fact the browse
5186 master on it's segment.
5187
5188   bf(Default:)
5189 tt(     remote browse sync = <empty string>)
5190
5191   bf(Example:)
5192 tt(     remote browse sync = 192.168.2.255 192.168.4.255)
5193
5194
5195 label(restrict anonymous)
5196 dit(bf(restrict anonymous (G)))
5197
5198 This is a boolean parameter.  If it is true, then anonymous access
5199 to the server will be restricted, namely in the case where the server
5200 is expecting the client to send a username, but it doesn't.  Setting
5201 it to true will force these anonymous connections to be denied, and
5202 the client will be required to always supply a username and password
5203 when connecting. Use of this parameter is only recommened for homogenous 
5204 NT client environments.
5205
5206 This parameter makes the use of macro expansions that rely
5207 on the username (%U, %G, etc) consistant.  NT 4.0 likes to use
5208 anonymous connections when refreshing the share list, and this
5209 is a way to work around that.
5210
5211 When restrict anonymous is true, all anonymous connections are denied
5212 no matter what they are for.  This can effect the ability of a machine
5213 to access the samba Primary Domain Controller to revalidate it's machine
5214 account after someone else has logged on the client interactively.  The
5215 NT client will display a message saying that the machine's account in 
5216 the domain doesn't exist or the password is bad.  The best way to deal 
5217 with this is to reboot NT client machines between interactive logons, 
5218 using "Shutdown and Restart", rather than "Close all programs and logon 
5219 as a different user".
5220
5221   bf(Default:)
5222 tt(     restrict anonymous = false)
5223
5224   bf(Example:)
5225 tt(     restrict anonymous = true)
5226
5227 label(root)
5228 dit(bf(root (G)))
5229
5230 Synonym for link(bf("root directory"))(rootdirectory).
5231
5232 label(rootdir)
5233 dit(bf(root dir (G)))
5234
5235 Synonym for link(bf("root directory"))(rootdirectory).
5236
5237 label(rootdirectory)
5238 dit(bf(root directory (G)))
5239
5240 The server will tt("chroot()") (i.e. Change it's root directory) to
5241 this directory on startup. This is not strictly necessary for secure
5242 operation. Even without it the server will deny access to files not in
5243 one of the service entries. It may also check for, and deny access to,
5244 soft links to other parts of the filesystem, or attempts to use
5245 tt("..") in file names to access other directories (depending on the
5246 setting of the link(bf("wide links"))(widelinks) parameter).
5247
5248 Adding a bf("root directory") entry other than tt("/") adds an extra
5249 level of security, but at a price. It absolutely ensures that no
5250 access is given to files not in the sub-tree specified in the bf("root
5251 directory") option, em(*including*) some files needed for complete
5252 operation of the server. To maintain full operability of the server
5253 you will need to mirror some system files into the bf("root
5254 directory") tree. In particular you will need to mirror /etc/passwd
5255 (or a subset of it), and any binaries or configuration files needed
5256 for printing (if required). The set of files that must be mirrored is
5257 operating system dependent.
5258
5259   bf(Default:)
5260 tt(     root directory = /)
5261
5262 bf(Example:)
5263 tt(     root directory = /homes/smb)
5264
5265 label(rootpostexec)
5266 dit(bf(root postexec (S)))
5267
5268 This is the same as the link(bf("postexec"))(postexec) parameter
5269 except that the command is run as root. This is useful for unmounting
5270 filesystems (such as cdroms) after a connection is closed.
5271
5272 See also link(bf("postexec"))(postexec).
5273
5274 label(rootpreexec)
5275 dit(bf(root preexec (S)))
5276
5277 This is the same as the link(bf("preexec"))(preexec) parameter except
5278 that the command is run as root. This is useful for mounting
5279 filesystems (such as cdroms) before a connection is finalized.
5280
5281 See also link(bf("preexec"))(preexec)
5282 and link(bf("root preexec close"))(rootpreexecclose).
5283
5284 label(rootpreexecclose)
5285 dit(bf(root preexec close (S)))
5286
5287 This is the same as the link(bf("preexec close"))(preexecclose) parameter
5288 except that the command is run as root.
5289
5290 See also link(bf("preexec"))(preexec), link(bf("preexec close"))(preexecclose).
5291
5292 label(security)
5293 dit(bf(security (G)))
5294
5295 This option affects how clients respond to Samba and is one of the most
5296 important settings in the bf(smb.conf) file.
5297
5298 The option sets the tt("security mode bit") in replies to protocol
5299 negotiations with url(bf(smbd))(smbd.8.html) to turn share level
5300 security on or off. Clients decide based on this bit whether (and how)
5301 to transfer user and password information to the server.
5302
5303 The default is link("security=user")(securityequaluser), as this is
5304 the most common setting needed when talking to Windows 98 and Windows
5305 NT.
5306
5307 The alternatives are link(bf("security = share"))(securityequalshare),
5308 link(bf("security = server"))(securityequalserver) or
5309 link(bf("security=domain"))(securityequaldomain).
5310
5311 em(*****NOTE THAT THIS DEFAULT IS DIFFERENT IN SAMBA2.0 THAN FOR
5312 PREVIOUS VERSIONS OF SAMBA *******).
5313
5314 In previous versions of Samba the default was
5315 link(bf("security=share"))(securityequalshare) mainly because that was
5316 the only option at one stage.
5317
5318 There is a bug in WfWg that has relevance to this setting. When in
5319 user or server level security a WfWg client will totally ignore the
5320 password you type in the "connect drive" dialog box. This makes it
5321 very difficult (if not impossible) to connect to a Samba service as
5322 anyone except the user that you are logged into WfWg as.
5323
5324 If your PCs use usernames that are the same as their usernames on the
5325 UNIX machine then you will want to use bf("security = user"). If you
5326 mostly use usernames that don't exist on the UNIX box then use
5327 bf("security = share").
5328
5329 You should also use link(bf(security=share))(securityequalshare) if
5330 you want to mainly setup shares without a password (guest
5331 shares). This is commonly used for a shared printer server. It is more
5332 difficult to setup guest shares with
5333 link(bf(security=user))(securityequaluser), see the link(bf("map to
5334 guest"))(maptoguest)parameter for details.
5335
5336 It is possible to use url(bf(smbd))(smbd.8.html) in a em("hybrid
5337 mode") where it is offers both user and share level security under
5338 different link(bf(NetBIOS aliases))(netbiosaliases). See the
5339 link(bf(NetBIOS aliases))(netbiosaliases) and the
5340 link(bf(include))(include) parameters for more information.
5341
5342 The different settings will now be explained.
5343
5344 startdit()
5345
5346 label(securityequalshare)
5347 dit(bf("security=share")) When clients connect to a share level
5348 security server then need not log onto the server with a valid
5349 username and password before attempting to connect to a shared
5350 resource (although modern clients such as Windows 95/98 and Windows NT
5351 will send a logon request with a username but no password when talking
5352 to a bf(security=share) server). Instead, the clients send
5353 authentication information (passwords) on a per-share basis, at the
5354 time they attempt to connect to that share.
5355
5356 Note that url(bf(smbd))(smbd.8.html) em(*ALWAYS*) uses a valid UNIX
5357 user to act on behalf of the client, even in bf("security=share")
5358 level security.
5359
5360 As clients are not required to send a username to the server
5361 in share level security, url(bf(smbd))(smbd.8.html) uses several
5362 techniques to determine the correct UNIX user to use on behalf
5363 of the client.
5364
5365 A list of possible UNIX usernames to match with the given
5366 client password is constructed using the following methods :
5367
5368 startit()
5369
5370 it() If the link(bf("guest only"))(guestonly) parameter is set, then
5371 all the other stages are missed and only the link(bf("guest
5372 account"))(guestaccount) username is checked.
5373
5374 it() Is a username is sent with the share connection request, then
5375 this username (after mapping - see link(bf("username
5376 map"))(usernamemap)), is added as a potential username.
5377
5378 it() If the client did a previous em("logon") request (the
5379 SessionSetup SMB call) then the username sent in this SMB
5380 will be added as a potential username.
5381
5382 it() The name of the service the client requested is added
5383 as a potential username.
5384
5385 it() The NetBIOS name of the client is added to the list as a
5386 potential username.
5387
5388 it() Any users on the link(bf("user"))(user) list are added
5389 as potential usernames.
5390
5391 endit()
5392
5393 If the link(bf("guest only"))(guestonly) parameter is not set, then
5394 this list is then tried with the supplied password. The first user for
5395 whom the password matches will be used as the UNIX user.
5396
5397 If the link(bf("guest only"))(guestonly) parameter is set, or no
5398 username can be determined then if the share is marked as available to
5399 the link(bf("guest account"))(guestaccount), then this guest user will
5400 be used, otherwise access is denied.
5401
5402 Note that it can be em(*very*) confusing in share-level security as to
5403 which UNIX username will eventually be used in granting access.
5404
5405 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5406 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5407
5408 label(securityequaluser)
5409 dit(bf("security=user"))
5410
5411 This is the default security setting in Samba2.0. With user-level
5412 security a client must first tt("log-on") with a valid username and
5413 password (which can be mapped using the link(bf("username
5414 map"))(usernamemap) parameter). Encrypted passwords (see the
5415 link(bf("encrypted passwords"))(encryptpasswords) parameter) can also
5416 be used in this security mode. Parameters such as
5417 link(bf("user"))(user) and link(bf("guest only"))(guestonly), if set
5418 are then applied and may change the UNIX user to use on this
5419 connection, but only after the user has been successfully
5420 authenticated.
5421
5422 em(Note) that the name of the resource being requested is
5423 em(*not*) sent to the server until after the server has successfully
5424 authenticated the client. This is why guest shares don't work in user
5425 level security without allowing the server to automatically map unknown
5426 users into the link(bf("guest account"))(guestaccount). See the
5427 link(bf("map to guest"))(maptoguest) parameter for details on
5428 doing this.
5429
5430 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5431 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5432
5433 label(securityequalserver)
5434 dit(bf("security=server"))
5435
5436 In this mode Samba will try to validate the username/password by
5437 passing it to another SMB server, such as an NT box. If this fails it
5438 will revert to bf("security = user"), but note that if encrypted
5439 passwords have been negotiated then Samba cannot revert back to
5440 checking the UNIX password file, it must have a valid smbpasswd file
5441 to check users against. See the documentation file in the docs/
5442 directory ENCRYPTION.txt for details on how to set this up.
5443
5444 em(Note) that from the clients point of view bf("security=server") is
5445 the same as link(bf("security=user"))(securityequaluser). It only
5446 affects how the server deals with the authentication, it does not in
5447 any way affect what the client sees.
5448
5449 em(Note) that the name of the resource being requested is
5450 em(*not*) sent to the server until after the server has successfully
5451 authenticated the client. This is why guest shares don't work in server
5452 level security without allowing the server to automatically map unknown
5453 users into the link(bf("guest account"))(guestaccount). See the
5454 link(bf("map to guest"))(maptoguest) parameter for details on
5455 doing this.
5456
5457 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5458 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5459
5460 See also the link(bf("password server"))(passwordserver) parameter.
5461 and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
5462
5463 label(securityequaldomain)
5464 dit(bf("security=domain"))
5465
5466 This mode will only work correctly if
5467 url(bf(smbpasswd))(smbpasswd.8.html) has been used to add this machine
5468 into a Windows NT Domain. It expects the link(bf("encrypted
5469 passwords"))(encryptpasswords) parameter to be set to tt("true"). In
5470 this mode Samba will try to validate the username/password by passing
5471 it to a Windows NT Primary or Backup Domain Controller, in exactly the
5472 same way that a Windows NT Server would do.
5473
5474 em(Note) that a valid UNIX user must still exist as well as the
5475 account on the Domain Controller to allow Samba to have a valid
5476 UNIX account to map file access to.
5477
5478 em(Note) that from the clients point of view bf("security=domain") is
5479 the same as link(bf("security=user"))(securityequaluser). It only
5480 affects how the server deals with the authentication, it does not in
5481 any way affect what the client sees.
5482
5483 em(Note) that the name of the resource being requested is
5484 em(*not*) sent to the server until after the server has successfully
5485 authenticated the client. This is why guest shares don't work in domain
5486 level security without allowing the server to automatically map unknown
5487 users into the link(bf("guest account"))(guestaccount). See the
5488 link(bf("map to guest"))(maptoguest) parameter for details on
5489 doing this.
5490
5491 em(BUG:) There is currently a bug in the implementation of
5492 bf("security=domain) with respect to multi-byte character
5493 set usernames. The communication with a Domain Controller
5494 must be done in UNICODE and Samba currently does not widen
5495 multi-byte user names to UNICODE correctly, thus a multi-byte
5496 username will not be recognized correctly at the Domain Controller.
5497 This issue will be addressed in a future release.
5498
5499 See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
5500 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
5501
5502 See also the link(bf("password server"))(passwordserver) parameter.
5503 and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
5504
5505 enddit()
5506
5507   bf(Default:)
5508 tt(     security = USER)
5509
5510   bf(Example:)
5511 tt(     security = DOMAIN)
5512
5513 label(securitymask)
5514 dit(bf(security mask (S)))
5515
5516 This parameter controls what UNIX permission bits can be modified
5517 when a Windows NT client is manipulating the UNIX permission on a
5518 file using the native NT security dialog box.
5519
5520 This parameter is applied as a mask (AND'ed with) to the changed
5521 permission bits, thus preventing any bits not in this mask from
5522 being modified. Essentially, zero bits in this mask may be treated
5523 as a set of bits the user is not allowed to change.
5524
5525 If not set explicitly this parameter is set to the same value as the
5526 link(bf(create mask))(createmask) parameter. To allow a user to
5527 modify all the user/group/world permissions on a file, set this
5528 parameter to 0777.
5529
5530 em(Note) that users who can access the Samba server through other
5531 means can easily bypass this restriction, so it is primarily
5532 useful for standalone "appliance" systems.  Administrators of
5533 most normal systems will probably want to set it to 0777.
5534
5535 See also the link(bf(force directory security
5536 mode))(forcedirectorysecuritymode), link(bf(directory security
5537 mask))(directorysecuritymask), link(bf(force security
5538 mode))(forcesecuritymode) parameters.
5539
5540   bf(Default:)
5541 tt(     security mask = <same as create mask>)
5542
5543   bf(Example:)
5544 tt(     security mask = 0777)
5545
5546
5547 label(serverstring)
5548 dit(bf(server string (G)))
5549
5550 This controls what string will show up in the printer comment box in
5551 print manager and next to the IPC connection in tt("net view"). It can be
5552 any string that you wish to show to your users.
5553
5554 It also sets what will appear in browse lists next to the machine
5555 name.
5556
5557 A tt("%v") will be replaced with the Samba version number.
5558
5559 A tt("%h") will be replaced with the hostname.
5560
5561   bf(Default:)
5562 tt(     server string = Samba %v)
5563
5564   bf(Example:)
5565 tt(     server string = University of GNUs Samba Server)
5566
5567 label(setdirectory)
5568 dit(bf(set directory (S)))
5569
5570 If tt("set directory = no"), then users of the service may not use the
5571 setdir command to change directory.
5572
5573 The setdir command is only implemented in the Digital Pathworks
5574 client. See the Pathworks documentation for details.
5575
5576   bf(Default:)
5577 tt(     set directory = no)
5578
5579   bf(Example:)
5580 tt(     set directory = yes)
5581
5582 label(sharemodes)
5583 dit(bf(share modes (S)))
5584
5585 This enables or disables the honoring of the tt("share modes") during a
5586 file open. These modes are used by clients to gain exclusive read or
5587 write access to a file.
5588
5589 These open modes are not directly supported by UNIX, so they are
5590 simulated using shared memory, or lock files if your UNIX doesn't
5591 support shared memory (almost all do).
5592
5593 The share modes that are enabled by this option are DENY_DOS,
5594 DENY_ALL, DENY_READ, DENY_WRITE, DENY_NONE and DENY_FCB.
5595
5596 This option gives full share compatibility and enabled by default.
5597
5598 You should em(*NEVER*) turn this parameter off as many Windows
5599 applications will break if you do so.
5600
5601   bf(Default:)
5602 tt(     share modes = yes)
5603
5604 label(sharedmemsize)
5605 dit(bf(shared mem size (G)))
5606
5607 It specifies the size of the shared memory (in bytes) to use between
5608 url(bf(smbd))(smbd.8.html) processes. This parameter defaults to one
5609 megabyte of shared memory. It is possible that if you have a large
5610 server with many files open simultaneously that you may need to
5611 increase this parameter. Signs that this parameter is set too low are
5612 users reporting strange problems trying to save files (locking errors)
5613 and error messages in the smbd log looking like tt("ERROR
5614 smb_shm_alloc : alloc of XX bytes failed").
5615
5616 If your OS refuses the size that Samba asks for then Samba will try a
5617 smaller size, reducing by a factor of 0.8 until the OS accepts it.
5618
5619   bf(Default:)
5620 tt(     shared mem size = 1048576)
5621
5622   bf(Example:)
5623 tt(     shared mem size = 5242880 ; Set to 5mb for a large number of files.)
5624
5625 label(shortpreservecase)
5626 dit(bf(short preserve case (S)))
5627
5628 This boolean parameter controls if new files which conform to 8.3
5629 syntax, that is all in upper case and of suitable length, are created
5630 upper case, or if they are forced to be the tt("default") case. This
5631 option can be use with link(bf("preserve case
5632 =yes"))(preservecaseoption) to permit long filenames to retain their
5633 case, while short names are lowered. Default em(Yes).
5634
5635 See the section on link(bf(NAME MANGLING))(NAMEMANGLING).
5636
5637   bf(Default:)
5638 tt(     short preserve case = yes)
5639
5640 label(smbpasswdfile)
5641 dit(bf(smb passwd file (G)))
5642
5643 This option sets the path to the encrypted smbpasswd file.  By default
5644 the path to the smbpasswd file is compiled into Samba.
5645
5646   bf(Default:)
5647 tt(     smb passwd file= <compiled default>)
5648
5649   bf(Example:)
5650 tt(     smb passwd file = /usr/samba/private/smbpasswd)
5651
5652 label(smbrun)
5653 dit(bf(smbrun (G)))
5654
5655 This sets the full path to the bf(smbrun) binary. This defaults to the
5656 value in the Makefile.
5657
5658 You must get this path right for many services to work correctly.
5659
5660 You should not need to change this parameter so long as Samba
5661 is installed correctly.
5662
5663   bf(Default:)
5664 tt(     smbrun=<compiled default>)
5665
5666   bf(Example:)
5667 tt(     smbrun = /usr/local/samba/bin/smbrun)
5668
5669 label(socketaddress)
5670 dit(bf(socket address (G)))
5671
5672 This option allows you to control what address Samba will listen for
5673 connections on. This is used to support multiple virtual interfaces on
5674 the one server, each with a different configuration.
5675
5676 By default samba will accept connections on any address.
5677
5678   bf(Example:)
5679 tt(     socket address = 192.168.2.20)
5680
5681 label(socketoptions)
5682 dit(bf(socket options (G)))
5683
5684 This option allows you to set socket options to be used when talking
5685 with the client.
5686
5687 Socket options are controls on the networking layer of the operating
5688 systems which allow the connection to be tuned.
5689
5690 This option will typically be used to tune your Samba server for
5691 optimal performance for your local network. There is no way that Samba
5692 can know what the optimal parameters are for your net, so you must
5693 experiment and choose them yourself. We strongly suggest you read the
5694 appropriate documentation for your operating system first (perhaps
5695 bf("man setsockopt") will help).
5696
5697 You may find that on some systems Samba will say "Unknown socket
5698 option" when you supply an option. This means you either incorrectly 
5699 typed it or you need to add an include file to includes.h for your OS. 
5700 If the latter is the case please send the patch to
5701 email(samba@samba.org).
5702
5703 Any of the supported socket options may be combined in any way you
5704 like, as long as your OS allows it.
5705
5706 This is the list of socket options currently settable using this
5707 option:
5708
5709 startit()
5710
5711 it() SO_KEEPALIVE
5712
5713 it() SO_REUSEADDR
5714
5715 it() SO_BROADCAST
5716
5717 it() TCP_NODELAY
5718
5719 it() IPTOS_LOWDELAY
5720
5721 it() IPTOS_THROUGHPUT
5722
5723 it() SO_SNDBUF *
5724
5725 it() SO_RCVBUF *
5726
5727 it() SO_SNDLOWAT *
5728
5729 it() SO_RCVLOWAT *
5730
5731 endit()
5732
5733 Those marked with a tt(*) take an integer argument. The others can
5734 optionally take a 1 or 0 argument to enable or disable the option, by
5735 default they will be enabled if you don't specify 1 or 0.
5736
5737 To specify an argument use the syntax SOME_OPTION=VALUE for example
5738 tt(SO_SNDBUF=8192). Note that you must not have any spaces before or after
5739 the = sign.
5740
5741 If you are on a local network then a sensible option might be
5742
5743 tt(socket options = IPTOS_LOWDELAY)
5744
5745 If you have a local network then you could try:
5746
5747 tt(socket options = IPTOS_LOWDELAY TCP_NODELAY)
5748
5749 If you are on a wide area network then perhaps try setting
5750 IPTOS_THROUGHPUT. 
5751
5752 Note that several of the options may cause your Samba server to fail
5753 completely. Use these options with caution!
5754
5755   bf(Default:)
5756 tt(     socket options = TCP_NODELAY)
5757
5758   bf(Example:)
5759 tt(     socket options = IPTOS_LOWDELAY)
5760
5761 label(sourceenvironment)
5762 dit(bf(source environment (G)))
5763
5764 This parameter causes Samba to set environment variables as per the
5765 content of the file named.
5766
5767 The file bf(must) be owned by root and not world writable in order
5768 to be read (this is a security check).
5769
5770 If the value of this parameter starts with a "|" character then Samba will
5771 treat that value as a pipe command to open and will set the environment
5772 variables from the oput of the pipe. This command must not be world writable
5773 and must reside in a directory that is not world writable.
5774
5775 The contents of the file or the output of the pipe should be formatted
5776 as the output of the standard Unix env(1) command. This is of the form :
5777
5778 Example environment entry:
5779 tt( SAMBA_NETBIOS_NAME=myhostname )
5780
5781   bf(Default:)
5782 tt(No default value)
5783
5784   bf(Examples:)
5785
5786 tt(     source environment = |/etc/smb.conf.sh)
5787
5788 tt(     source environment = /usr/local/smb_env_vars)
5789
5790 label(ssl)
5791 dit(bf(ssl (G)))
5792
5793 This variable is part of SSL-enabled Samba. This is only available if
5794 the SSL libraries have been compiled on your system and the configure
5795 option tt("--with-ssl") was given at configure time.
5796
5797 em(Note) that for export control reasons this code is em(**NOT**)
5798 enabled by default in any current binary version of Samba.
5799
5800 This variable enables or disables the entire SSL mode. If it is set to
5801 "no", the SSL enabled samba behaves exactly like the non-SSL samba. If
5802 set to "yes", it depends on the variables link(bf("ssl
5803 hosts"))(sslhosts) and link(bf("ssl hosts resign"))(sslhostsresign)
5804 whether an SSL connection will be required.
5805
5806   bf(Default:)
5807 tt(     ssl=no)
5808   bf(Example:)
5809 tt(     ssl=yes)
5810
5811 label(sslCAcertDir)
5812 dit(bf(ssl CA certDir (G)))
5813
5814 This variable is part of SSL-enabled Samba. This is only available if
5815 the SSL libraries have been compiled on your system and the configure
5816 option tt("--with-ssl") was given at configure time.
5817
5818 em(Note) that for export control reasons this code is em(**NOT**)
5819 enabled by default in any current binary version of Samba.
5820
5821 This variable defines where to look up the Certification
5822 Authorities. The given directory should contain one file for each CA
5823 that samba will trust.  The file name must be the hash value over the
5824 "Distinguished Name" of the CA. How this directory is set up is
5825 explained later in this document. All files within the directory that
5826 don't fit into this naming scheme are ignored. You don't need this
5827 variable if you don't verify client certificates.
5828
5829   bf(Default:)
5830 tt(     ssl CA certDir = /usr/local/ssl/certs)
5831
5832 label(sslCAcertFile)
5833 dit(bf(ssl CA certFile (G)))
5834
5835 This variable is part of SSL-enabled Samba. This is only available if
5836 the SSL libraries have been compiled on your system and the configure
5837 option tt("--with-ssl") was given at configure time.
5838
5839 em(Note) that for export control reasons this code is em(**NOT**)
5840 enabled by default in any current binary version of Samba.
5841
5842 This variable is a second way to define the trusted CAs. The
5843 certificates of the trusted CAs are collected in one big file and this
5844 variable points to the file. You will probably only use one of the two
5845 ways to define your CAs. The first choice is preferable if you have
5846 many CAs or want to be flexible, the second is preferable if you only
5847 have one CA and want to keep things simple (you won't need to create
5848 the hashed file names). You don't need this variable if you don't
5849 verify client certificates.
5850
5851   bf(Default:)
5852 tt(     ssl CA certFile = /usr/local/ssl/certs/trustedCAs.pem)
5853
5854 label(sslciphers)
5855 dit(bf(ssl ciphers (G)))
5856
5857 This variable is part of SSL-enabled Samba. This is only available if
5858 the SSL libraries have been compiled on your system and the configure
5859 option tt("--with-ssl") was given at configure time.
5860
5861 em(Note) that for export control reasons this code is em(**NOT**)
5862 enabled by default in any current binary version of Samba.
5863
5864 This variable defines the ciphers that should be offered during SSL
5865 negotiation. You should not set this variable unless you know what you
5866 are doing.
5867
5868 label(sslclientcert)
5869 dit(bf(ssl client cert (G)))
5870
5871 This variable is part of SSL-enabled Samba. This is only available if
5872 the SSL libraries have been compiled on your system and the configure
5873 option tt("--with-ssl") was given at configure time.
5874
5875 em(Note) that for export control reasons this code is em(**NOT**)
5876 enabled by default in any current binary version of Samba.
5877
5878 The certificate in this file is used by
5879 url(bf(smbclient))(smbclient.1.html) if it exists. It's needed if the
5880 server requires a client certificate.
5881
5882   bf(Default:)
5883 tt(     ssl client cert = /usr/local/ssl/certs/smbclient.pem)
5884
5885 label(sslclientkey)
5886 dit(bf(ssl client key (G)))
5887
5888 This variable is part of SSL-enabled Samba. This is only available if
5889 the SSL libraries have been compiled on your system and the configure
5890 option tt("--with-ssl") was given at configure time.
5891
5892 em(Note) that for export control reasons this code is em(**NOT**)
5893 enabled by default in any current binary version of Samba.
5894
5895 This is the private key for url(bf(smbclient))(smbclient.1.html). It's
5896 only needed if the client should have a certificate.
5897
5898   bf(Default:)
5899 tt(     ssl client key = /usr/local/ssl/private/smbclient.pem)
5900
5901 label(sslcompatibility)
5902 dit(bf(ssl compatibility (G)))
5903
5904 This variable is part of SSL-enabled Samba. This is only available if
5905 the SSL libraries have been compiled on your system and the configure
5906 option tt("--with-ssl") was given at configure time.
5907
5908 em(Note) that for export control reasons this code is em(**NOT**)
5909 enabled by default in any current binary version of Samba.
5910
5911 This variable defines whether SSLeay should be configured for bug
5912 compatibility with other SSL implementations. This is probably not
5913 desirable because currently no clients with SSL implementations other
5914 than SSLeay exist.
5915
5916   bf(Default:)
5917 tt(     ssl compatibility = no)
5918
5919 label(sslhosts)
5920 dit(bf(ssl hosts (G)))
5921
5922 See link(bf("ssl hosts resign"))(sslhostsresign).
5923
5924 label(sslhostsresign)
5925 dit(bf(ssl hosts resign (G)))
5926
5927 This variable is part of SSL-enabled Samba. This is only available if
5928 the SSL libraries have been compiled on your system and the configure
5929 option tt("--with-ssl") was given at configure time.
5930
5931 em(Note) that for export control reasons this code is em(**NOT**)
5932 enabled by default in any current binary version of Samba.
5933
5934 These two variables define whether samba will go into SSL mode or
5935 not. If none of them is defined, samba will allow only SSL
5936 connections. If the link(bf("ssl hosts"))(sslhosts) variable lists
5937 hosts (by IP-address, IP-address range, net group or name), only these
5938 hosts will be forced into SSL mode. If the bf("ssl hosts resign")
5939 variable lists hosts, only these hosts will NOT be forced into SSL
5940 mode. The syntax for these two variables is the same as for the
5941 link(bf("hosts allow"))(hostsallow) and link(bf("hosts
5942 deny"))(hostsdeny) pair of variables, only that the subject of the
5943 decision is different: It's not the access right but whether SSL is
5944 used or not. See the link(bf("allow hosts"))(allowhosts) parameter for
5945 details. The example below requires SSL connections from all hosts
5946 outside the local net (which is 192.168.*.*).
5947
5948   bf(Default:)
5949 tt(     ssl hosts = <empty string>)
5950 tt(     ssl hosts resign = <empty string>)
5951
5952   bf(Example:)
5953 tt(     ssl hosts resign = 192.168.)
5954
5955 label(sslrequireclientcert)
5956 dit(bf(ssl require clientcert (G)))
5957
5958 This variable is part of SSL-enabled Samba. This is only available if
5959 the SSL libraries have been compiled on your system and the configure
5960 option tt("--with-ssl") was given at configure time.
5961
5962 em(Note) that for export control reasons this code is em(**NOT**)
5963 enabled by default in any current binary version of Samba.
5964
5965 If this variable is set to tt("yes"), the server will not tolerate
5966 connections from clients that don't have a valid certificate. The
5967 directory/file given in link(bf("ssl CA certDir"))(sslCAcertDir) and
5968 link(bf("ssl CA certFile"))(sslCAcertFile) will be used to look up the
5969 CAs that issued the client's certificate. If the certificate can't be
5970 verified positively, the connection will be terminated.  If this
5971 variable is set to tt("no"), clients don't need certificates. Contrary
5972 to web applications you really em(*should*) require client
5973 certificates. In the web environment the client's data is sensitive
5974 (credit card numbers) and the server must prove to be trustworthy. In
5975 a file server environment the server's data will be sensitive and the
5976 clients must prove to be trustworthy.
5977
5978   bf(Default:)
5979 tt(     ssl require clientcert = no)
5980
5981 label(sslrequireservercert)
5982 dit(bf(ssl require servercert (G)))
5983
5984 This variable is part of SSL-enabled Samba. This is only available if
5985 the SSL libraries have been compiled on your system and the configure
5986 option tt("--with-ssl") was given at configure time.
5987
5988 em(Note) that for export control reasons this code is em(**NOT**)
5989 enabled by default in any current binary version of Samba.
5990
5991 If this variable is set to tt("yes"), the
5992 url(bf(smbclient))(smbclient.1.html) will request a certificate from
5993 the server. Same as link(bf("ssl require
5994 clientcert"))(sslrequireclientcert) for the server.
5995
5996   bf(Default:)
5997 tt(     ssl require servercert = no)
5998
5999 label(sslservercert)
6000 dit(bf(ssl server cert (G)))
6001
6002 This variable is part of SSL-enabled Samba. This is only available if
6003 the SSL libraries have been compiled on your system and the configure
6004 option tt("--with-ssl") was given at configure time.
6005
6006 em(Note) that for export control reasons this code is em(**NOT**)
6007 enabled by default in any current binary version of Samba.
6008
6009 This is the file containing the server's certificate. The server _must_
6010 have a certificate. The file may also contain the server's private key.
6011 See later for how certificates and private keys are created.
6012
6013   bf(Default:)
6014 tt(     ssl server cert = <empty string>)
6015
6016 label(sslserverkey)
6017 dit(bf(ssl server key (G)))
6018
6019 This variable is part of SSL-enabled Samba. This is only available if
6020 the SSL libraries have been compiled on your system and the configure
6021 option tt("--with-ssl") was given at configure time.
6022
6023 em(Note) that for export control reasons this code is em(**NOT**)
6024 enabled by default in any current binary version of Samba.
6025
6026 This file contains the private key of the server. If this variable is
6027 not defined, the key is looked up in the certificate file (it may be
6028 appended to the certificate). The server em(*must*) have a private key
6029 and the certificate em(*must*) match this private key.
6030
6031   bf(Default:)
6032 tt(     ssl server key = <empty string>)
6033
6034 label(sslversion)
6035 dit(bf(ssl version (G)))
6036
6037 This variable is part of SSL-enabled Samba. This is only available if
6038 the SSL libraries have been compiled on your system and the configure
6039 option tt("--with-ssl") was given at configure time.
6040
6041 em(Note) that for export control reasons this code is em(**NOT**)
6042 enabled by default in any current binary version of Samba.
6043
6044 This enumeration variable defines the versions of the SSL protocol
6045 that will be used. tt("ssl2or3") allows dynamic negotiation of SSL v2
6046 or v3, tt("ssl2") results in SSL v2, tt("ssl3") results in SSL v3 and
6047 "tls1" results in TLS v1. TLS (Transport Layer Security) is the
6048 (proposed?) new standard for SSL.
6049
6050   bf(Default:)
6051 tt(     ssl version = "ssl2or3")
6052
6053 label(statcache)
6054 dit(bf(stat cache (G)))
6055
6056 This parameter determines if url(bf(smbd))(smbd.8.html) will use a
6057 cache in order to speed up case insensitive name mappings. You should
6058 never need to change this parameter.
6059
6060   bf(Default:)
6061 tt(     stat cache = yes)
6062
6063 label(statcachesize)
6064 dit(bf(stat cache size (G)))
6065
6066 This parameter determines the number of entries in the link(bf(stat
6067 cache))(statcache).  You should never need to change this parameter.
6068
6069   bf(Default:)
6070 tt(     stat cache size = 50)
6071
6072 label(status)
6073 dit(bf(status (G)))
6074
6075 This enables or disables logging of connections to a status file that
6076 url(bf(smbstatus))(smbstatus.1.html) can read.
6077
6078 With this disabled url(bf(smbstatus))(smbstatus.1.html) won't be able
6079 to tell you what connections are active. You should never need to
6080 change this parameter.
6081
6082   bf(Default:)
6083         status = yes
6084
6085 label(strictlocking)
6086 dit(bf(strict locking (S)))
6087
6088 This is a boolean that controls the handling of file locking in the
6089 server. When this is set to tt("yes") the server will check every read and
6090 write access for file locks, and deny access if locks exist. This can
6091 be slow on some systems.
6092
6093 When strict locking is tt("no") the server does file lock checks only
6094 when the client explicitly asks for them.
6095
6096 Well behaved clients always ask for lock checks when it is important,
6097 so in the vast majority of cases bf("strict locking = no") is
6098 preferable.
6099
6100   bf(Default:)
6101 tt(     strict locking = no)
6102
6103   bf(Example:)
6104 tt(     strict locking = yes)
6105
6106 label(strictsync)
6107 dit(bf(strict sync (S)))
6108
6109 Many Windows applications (including the Windows 98 explorer shell)
6110 seem to confuse flushing buffer contents to disk with doing a sync to
6111 disk. Under UNIX, a sync call forces the process to be suspended until
6112 the kernel has ensured that all outstanding data in kernel disk
6113 buffers has been safely stored onto stable storage. This is very slow
6114 and should only be done rarely. Setting this parameter to "no" (the
6115 default) means that smbd ignores the Windows applications requests for
6116 a sync call. There is only a possibility of losing data if the
6117 operating system itself that Samba is running on crashes, so there is
6118 little danger in this default setting. In addition, this fixes many
6119 performance problems that people have reported with the new Windows98
6120 explorer shell file copies.
6121
6122 See also the link(bf("sync always"))(syncalways) parameter.
6123
6124   bf(Default:)
6125 tt(     strict sync = no)
6126
6127   bf(Example:)
6128 tt(     strict sync = yes)
6129
6130 label(stripdot)
6131 dit(bf(strip dot (G)))
6132
6133 This is a boolean that controls whether to strip trailing dots off
6134 UNIX filenames. This helps with some CDROMs that have filenames ending
6135 in a single dot.
6136
6137   bf(Default:)
6138 tt(     strip dot = no)
6139
6140   bf(Example:)
6141 tt(     strip dot = yes)
6142
6143 label(syncalways)
6144 dit(bf(sync always (S)))
6145
6146 This is a boolean parameter that controls whether writes will always
6147 be written to stable storage before the write call returns. If this is
6148 false then the server will be guided by the client's request in each
6149 write call (clients can set a bit indicating that a particular write
6150 should be synchronous). If this is true then every write will be
6151 followed by a fsync() call to ensure the data is written to disk.
6152 Note that the link(bf("strict sync"))(strictsync) parameter must be
6153 set to tt("yes") in order for this parameter to have any affect.
6154
6155 See also the link(bf("strict sync"))(strictsync) parameter.
6156
6157   bf(Default:)
6158 tt(     sync always = no)
6159
6160   bf(Example:)
6161 tt(     sync always = yes)
6162
6163 label(syslog)
6164 dit(bf(syslog (G)))
6165
6166 This parameter maps how Samba debug messages are logged onto the
6167 system syslog logging levels. Samba debug level zero maps onto syslog
6168 LOG_ERR, debug level one maps onto LOG_WARNING, debug level two maps
6169 onto LOG_NOTICE, debug level three maps onto LOG_INFO. All higher 
6170 levels are mapped to LOG_DEBUG.
6171
6172 This paramter sets the threshold for sending messages to syslog. 
6173 Only messages with debug level less than this value will be sent 
6174 to syslog.
6175
6176   bf(Default:)
6177 tt(     syslog = 1)
6178
6179 label(syslogonly)
6180 dit(bf(syslog only (G)))
6181
6182 If this parameter is set then Samba debug messages are logged into the
6183 system syslog only, and not to the debug log files.
6184
6185   bf(Default:)
6186 tt(     syslog only = no)
6187
6188 label(templatehomedir)
6189 dit(bf(template homedir (G)))
6190
6191 NOTE: this parameter is only available in Samba 3.0.
6192
6193 When filling out the user information for a Windows NT user, the
6194 url(bf(winbindd))(winbindd.8.html) daemon uses this parameter to fill in
6195 the home directory for that user.  If the string tt(%D) is present it is
6196 substituted with the user's Windows NT domain name.  If the string tt(%U)
6197 is present it is substituted with the user's Windows NT user name.
6198
6199   bf(Default:)
6200 tt(     template homedir = /home/%D/%U)
6201
6202 label(templateshell)
6203 dit(bf(template shell (G)))
6204
6205 NOTE: this parameter is only available in Samba 3.0.
6206
6207 When filling out the user information for a Windows NT user, the
6208 url(bf(winbindd))(winbindd.8.html) daemon uses this parameter to fill in
6209 the login shell for that user.
6210
6211   bf(Default:)
6212 tt(     template shell = /bin/false)
6213
6214 label(timeoffset)
6215 dit(bf(time offset (G)))
6216
6217 This parameter is a setting in minutes to add to the normal GMT to
6218 local time conversion. This is useful if you are serving a lot of PCs
6219 that have incorrect daylight saving time handling.
6220
6221   bf(Default:)
6222 tt(     time offset = 0)
6223
6224   bf(Example:)
6225 tt(     time offset = 60)
6226
6227 label(timeserver)
6228
6229 dit(bf(time server (G)))
6230
6231 This parameter determines if url(bf(nmbd))(nmbd.8.html) advertises
6232 itself as a time server to Windows clients. The default is False.
6233
6234   bf(Default:)
6235 tt(     time server = False)
6236
6237   bf(Example:)
6238 tt(     time server = True)
6239
6240 label(timestamplogs)
6241 dit(bf(timestamp logs (G)))
6242
6243 Synonym for url(bf("debug timestamp"))(debugtimestamp).
6244
6245 label(unixpasswordsync)
6246 dit(bf(unix password sync (G)))
6247
6248 This boolean parameter controls whether Samba attempts to synchronize
6249 the UNIX password with the SMB password when the encrypted SMB
6250 password in the smbpasswd file is changed. If this is set to true the
6251 program specified in the link(bf("passwd program"))(passwdprogram)
6252 parameter is called em(*AS ROOT*) - to allow the new UNIX password to be
6253 set without access to the old UNIX password (as the SMB password has
6254 change code has no access to the old password cleartext, only the
6255 new). By default this is set to tt("false").
6256
6257 See also link(bf("passwd program"))(passwdprogram), link(bf("passwd
6258 chat"))(passwdchat).
6259
6260   bf(Default:)
6261 tt(     unix password sync = False)
6262
6263   bf(Example:)
6264 tt(     unix password sync = True)
6265
6266 label(unixrealname)
6267 dit(bf(unix realname (G)))
6268
6269 This boolean parameter when set causes samba to supply the real name
6270 field from the unix password file to the client. This is useful for
6271 setting up mail clients and WWW browsers on systems used by more than
6272 one person.
6273
6274   bf(Default:)
6275 tt(     unix realname = no)
6276
6277   bf(Example:)
6278 tt(     unix realname = yes)
6279
6280 label(updateencrypted)
6281 dit(bf(update encrypted (G)))
6282
6283 This boolean parameter allows a user logging on with a plaintext
6284 password to have their encrypted (hashed) password in the smbpasswd
6285 file to be updated automatically as they log on. This option allows a
6286 site to migrate from plaintext password authentication (users
6287 authenticate with plaintext password over the wire, and are checked
6288 against a UNIX account database) to encrypted password authentication
6289 (the SMB challenge/response authentication mechanism) without forcing
6290 all users to re-enter their passwords via smbpasswd at the time the
6291 change is made. This is a convenience option to allow the change over
6292 to encrypted passwords to be made over a longer period. Once all users
6293 have encrypted representations of their passwords in the smbpasswd
6294 file this parameter should be set to tt("off").
6295
6296 In order for this parameter to work correctly the link(bf("encrypt
6297 passwords"))(encryptpasswords) parameter must be set to tt("no") when
6298 this parameter is set to tt("yes").
6299
6300 Note that even when this parameter is set a user authenticating to
6301 smbd must still enter a valid password in order to connect correctly,
6302 and to update their hashed (smbpasswd) passwords.
6303
6304   bf(Default:)
6305 tt(     update encrypted = no)
6306
6307   bf(Example:)
6308 tt(     update encrypted = yes)
6309
6310 label(userhosts)
6311 dit(bf(use rhosts (G)))
6312
6313 If this global parameter is a true, it specifies that the UNIX users
6314 tt(".rhosts") file in their home directory will be read to find the
6315 names of hosts and users who will be allowed access without specifying
6316 a password.
6317
6318 NOTE: The use of bf(use rhosts) can be a major security hole. This is
6319 because you are trusting the PC to supply the correct username. It is
6320 very easy to get a PC to supply a false username. I recommend that the
6321 bf(use rhosts) option be only used if you really know what you are
6322 doing.
6323
6324   bf(Default:)
6325 tt(     use rhosts = no)
6326
6327   bf(Example:)
6328 tt(     use rhosts = yes)
6329
6330 label(user)
6331 dit(bf(user (S)))
6332
6333 Synonym for link(bf("username"))(username).
6334
6335 label(users)
6336 dit(bf(users (S)))
6337
6338 Synonym for link(bf("username"))(username).
6339
6340 label(username)
6341 dit(bf(username (S)))
6342
6343 Multiple users may be specified in a comma-delimited list, in which
6344 case the supplied password will be tested against each username in
6345 turn (left to right).
6346
6347 The bf(username=) line is needed only when the PC is unable to supply
6348 its own username. This is the case for the COREPLUS protocol or where
6349 your users have different WfWg usernames to UNIX usernames. In both
6350 these cases you may also be better using the tt(\\server\share%user)
6351 syntax instead.
6352
6353 The bf(username=) line is not a great solution in many cases as it
6354 means Samba will try to validate the supplied password against each of
6355 the usernames in the username= line in turn. This is slow and a bad
6356 idea for lots of users in case of duplicate passwords. You may get
6357 timeouts or security breaches using this parameter unwisely.
6358
6359 Samba relies on the underlying UNIX security. This parameter does not
6360 restrict who can login, it just offers hints to the Samba server as to
6361 what usernames might correspond to the supplied password. Users can
6362 login as whoever they please and they will be able to do no more
6363 damage than if they started a telnet session. The daemon runs as the
6364 user that they log in as, so they cannot do anything that user cannot
6365 do.
6366
6367 To restrict a service to a particular set of users you can use the
6368 link(bf("valid users="))(validusers) parameter.
6369
6370 If any of the usernames begin with a tt('@') then the name will be
6371 looked up first in the yp netgroups list (if Samba is compiled with
6372 netgroup support), followed by a lookup in the UNIX groups database
6373 and will expand to a list of all users in the group of that name.
6374
6375 If any of the usernames begin with a tt('+') then the name will be
6376 looked up only in the UNIX groups database and will expand to a list
6377 of all users in the group of that name.
6378
6379 If any of the usernames begin with a tt('&') then the name will be
6380 looked up only in the yp netgroups database (if Samba is compiled with
6381 netgroup support) and will expand to a list of all users in the
6382 netgroup group of that name.
6383
6384 Note that searching though a groups database can take quite some time,
6385 and some clients may time out during the search.
6386
6387 See the section link(bf("NOTE ABOUT USERNAME/PASSWORD
6388 VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION) for more
6389 information on how this parameter determines access to the services.
6390
6391   bf(Default:)
6392 tt(     The guest account if a guest service, else the name of the service.)
6393
6394   bf(Examples:)
6395 verb(
6396         username = fred
6397         username = fred, mary, jack, jane, @users, @pcgroup
6398 )
6399
6400 label(usernamelevel)
6401 dit(bf(username level (G)))
6402
6403 This option helps Samba to try and 'guess' at the real UNIX username,
6404 as many DOS clients send an all-uppercase username. By default Samba
6405 tries all lowercase, followed by the username with the first letter
6406 capitalized, and fails if the username is not found on the UNIX
6407 machine.
6408
6409 If this parameter is set to non-zero the behavior changes. This
6410 parameter is a number that specifies the number of uppercase
6411 combinations to try whilst trying to determine the UNIX user name. The
6412 higher the number the more combinations will be tried, but the slower
6413 the discovery of usernames will be. Use this parameter when you have
6414 strange usernames on your UNIX machine, such as tt("AstrangeUser").
6415
6416   bf(Default:)
6417 tt(     username level = 0)
6418
6419   bf(Example:)
6420 tt(     username level = 5)
6421
6422 label(usernamemap)
6423 dit(bf(username map (G)))
6424
6425 This option allows you to specify a file containing a mapping of
6426 usernames from the clients to the server. This can be used for several
6427 purposes. The most common is to map usernames that users use on DOS or
6428 Windows machines to those that the UNIX box uses. The other is to map
6429 multiple users to a single username so that they can more easily share
6430 files.
6431
6432 The map file is parsed line by line. Each line should contain a single
6433 UNIX username on the left then a tt('=') followed by a list of
6434 usernames on the right. The list of usernames on the right may contain
6435 names of the form @group in which case they will match any UNIX
6436 username in that group. The special client name tt('*') is a wildcard
6437 and matches any name. Each line of the map file may be up to 1023
6438 characters long.
6439
6440 The file is processed on each line by taking the supplied username and
6441 comparing it with each username on the right hand side of the tt('=')
6442 signs. If the supplied name matches any of the names on the right hand
6443 side then it is replaced with the name on the left. Processing then
6444 continues with the next line.
6445
6446 If any line begins with a tt('#') or a tt(';') then it is ignored
6447
6448 If any line begins with an tt('!') then the processing will stop after
6449 that line if a mapping was done by the line. Otherwise mapping
6450 continues with every line being processed. Using tt('!') is most
6451 useful when you have a wildcard mapping line later in the file.
6452
6453 For example to map from the name tt("admin") or tt("administrator") to
6454 the UNIX name tt("root") you would use:
6455
6456
6457 tt(     root = admin administrator)
6458
6459 Or to map anyone in the UNIX group tt("system") to the UNIX name
6460 tt("sys") you would use:
6461
6462 tt(     sys = @system)
6463
6464 You can have as many mappings as you like in a username map file.
6465
6466 If your system supports the NIS NETGROUP option then the netgroup
6467 database is checked before the tt(/etc/group) database for matching
6468 groups.
6469
6470 You can map Windows usernames that have spaces in them by using double
6471 quotes around the name. For example:
6472
6473 tt(     tridge = "Andrew Tridgell")
6474
6475 would map the windows username tt("Andrew Tridgell") to the unix
6476 username tridge.
6477
6478 The following example would map mary and fred to the unix user sys,
6479 and map the rest to guest. Note the use of the tt('!') to tell Samba
6480 to stop processing if it gets a match on that line.
6481
6482 verb(
6483         !sys = mary fred
6484         guest = *
6485 )
6486
6487 Note that the remapping is applied to all occurrences of
6488 usernames. Thus if you connect to tt("\\server\fred") and tt("fred")
6489 is remapped to tt("mary") then you will actually be connecting to
6490 tt("\\server\mary") and will need to supply a password suitable for
6491 tt("mary") not tt("fred"). The only exception to this is the username
6492 passed to the link(bf("password server"))(passwordserver) (if you have
6493 one). The password server will receive whatever username the client
6494 supplies without modification.
6495
6496 Also note that no reverse mapping is done. The main effect this has is
6497 with printing. Users who have been mapped may have trouble deleting
6498 print jobs as PrintManager under WfWg will think they don't own the
6499 print job.
6500
6501   bf(Default:)
6502 tt(     no username map)
6503
6504   bf(Example:)
6505 tt(     username map = /usr/local/samba/lib/users.map)
6506
6507 label(utmp)
6508 dit(bf(utmp (S)))
6509
6510 This boolean parameter is only available if Samba has been configured and compiled 
6511 with the option tt(--with-utmp). If set to True then Samba will attempt
6512 to add utmp or utmpx records (depending on the UNIX system) whenever a
6513 connection is made to a Samba server. Sites may use this to record the
6514 user connecting to a Samba share.
6515
6516 See also the link(bf("utmp directory"))(utmpdirectory) parameter.
6517
6518   bf(Default:)
6519 tt(utmp = False)
6520
6521   bf(Example:)
6522 tt(utmp = True)
6523
6524 label(utmpdirectory)
6525 dit(bf(utmp directory(G)))
6526
6527 This parameter is only available if Samba has been configured and compiled
6528 with the option tt(--with-utmp). It specifies a directory pathname that is
6529 used to store the utmp or utmpx files (depending on the UNIX system) that
6530 record user connections to a Samba server. See also the link(bf("utmp"))(utmp)
6531 parameter. By default this is not set, meaning the system will use whatever
6532 utmp file the native system is set to use (usually /var/run/utmp on Linux).
6533
6534   bf(Default:)
6535 tt(no utmp directory)
6536
6537   bf(Example:)
6538 tt(utmp directory = /var/adm/)
6539
6540 label(winbindcachetime)
6541 dit(winbind cache time)
6542
6543 NOTE: this parameter is only available in Samba 3.0.
6544
6545 This parameter specifies the number of seconds the
6546 url(bf(winbindd))(winbindd.8.html) daemon will cache user and group
6547 information before querying a Windows NT server again.
6548
6549   bf(Default:)
6550 tt(     winbind cache type = 15)
6551
6552 label(winbindgid)
6553 dit(winbind gid)
6554
6555 NOTE: this parameter is only available in Samba 3.0.
6556
6557 The winbind gid parameter specifies the range of group ids that are
6558 allocated by the url(bf(winbindd))(winbindd.8.html) daemon.  This range of
6559 group ids should have no existing local or nis groups within it as strange
6560 conflicts can occur otherwise.
6561
6562   bf(Default:)
6563 tt(     winbind gid = <empty string>)
6564
6565   bf(Example:)
6566 tt(     winbind gid = 10000-20000)
6567
6568 label(winbinduid)
6569 dit(winbind uid)
6570
6571 NOTE: this parameter is only available in Samba 3.0.
6572
6573 The winbind uid parameter specifies the range of user ids that are
6574 allocated by the url(bf(winbindd))(winbindd.8.html) daemon.  This range of
6575 ids should have no existing local or nis users within it as strange
6576 conflicts can occur otherwise.
6577
6578   bf(Default:)
6579 tt(     winbind uid = <empty string>)
6580
6581   bf(Example:)
6582 tt(     winbind uid = 10000-20000)
6583
6584 label(validchars)
6585 dit(bf(valid chars (G)))
6586
6587 The option allows you to specify additional characters that should be
6588 considered valid by the server in filenames. This is particularly
6589 useful for national character sets, such as adding u-umlaut or a-ring.
6590
6591 The option takes a list of characters in either integer or character
6592 form with spaces between them. If you give two characters with a colon
6593 between them then it will be taken as an lowercase:uppercase pair.
6594
6595 If you have an editor capable of entering the characters into the
6596 config file then it is probably easiest to use this method. Otherwise
6597 you can specify the characters in octal, decimal or hexadecimal form
6598 using the usual C notation.
6599
6600 For example to add the single character tt('Z') to the charset (which
6601 is a pointless thing to do as it's already there) you could do one of
6602 the following
6603
6604 verb(
6605         valid chars = Z
6606         valid chars = z:Z
6607         valid chars = 0132:0172
6608 )
6609
6610 The last two examples above actually add two characters, and alter the
6611 uppercase and lowercase mappings appropriately.
6612
6613 Note that you MUST specify this parameter after the link(bf("client
6614 code page"))(clientcodepage) parameter if you have both set. If
6615 link(bf("client code page"))(clientcodepage) is set after the
6616 bf("valid chars") parameter the bf("valid chars") settings will be
6617 overwritten.
6618
6619 See also the link(bf("client code page"))(clientcodepage) parameter.
6620
6621   bf(Default:)
6622 verb(
6623         Samba defaults to using a reasonable set of valid characters
6624         for English systems
6625 )
6626
6627   bf(Example)
6628 tt(     valid chars = 0345:0305 0366:0326 0344:0304)
6629
6630 The above example allows filenames to have the Swedish characters in
6631 them.
6632
6633 NOTE: It is actually quite difficult to correctly produce a bf("valid
6634 chars") line for a particular system. To automate the process
6635 email(tino@augsburg.net) has written a package called bf("validchars")
6636 which will automatically produce a complete bf("valid chars") line for
6637 a given client system. Look in the examples/validchars/ subdirectory
6638 of your Samba source code distribution for this package.
6639
6640 label(validusers)
6641 dit(bf(valid users (S)))
6642
6643 This is a list of users that should be allowed to login to this
6644 service. Names starting with tt('@'), tt('+') and tt('&') are
6645 interpreted using the same rules as described in the link(bf("invalid
6646 users"))(invalidusers) parameter.
6647
6648 If this is empty (the default) then any user can login. If a username
6649 is in both this list and the link(bf("invalid users"))(invalidusers)
6650 list then access is denied for that user.
6651
6652 The current servicename is substituted for
6653 link(bf("%S"))(percentS). This is useful in the
6654 link(bf([homes]))(homes) section.
6655
6656 See also link(bf("invalid users"))(invalidusers).
6657
6658   bf(Default:)
6659 tt(     No valid users list. (anyone can login))
6660
6661   bf(Example:)
6662 tt(     valid users = greg, @pcusers)
6663
6664 label(vetofiles)
6665 dit(bf(veto files(S)))
6666
6667 This is a list of files and directories that are neither visible nor
6668 accessible.  Each entry in the list must be separated by a tt('/'),
6669 which allows spaces to be included in the entry. tt('*') and tt('?') 
6670 can be used to specify multiple files or directories as in DOS
6671 wildcards.
6672
6673 Each entry must be a unix path, not a DOS path and must em(*not*) include the 
6674 unix directory separator tt('/').
6675
6676 Note that the link(bf("case sensitive"))(casesensitive) option is
6677 applicable in vetoing files.
6678
6679 One feature of the veto files parameter that it is important to be
6680 aware of, is that if a directory contains nothing but files that match
6681 the veto files parameter (which means that Windows/DOS clients cannot
6682 ever see them) is deleted, the veto files within that directory *are
6683 automatically deleted* along with it, if the user has UNIX permissions
6684 to do so.
6685  
6686 Setting this parameter will affect the performance of Samba, as it
6687 will be forced to check all files and directories for a match as they
6688 are scanned.
6689
6690 See also link(bf("hide files"))(hidefiles) and link(bf("case
6691 sensitive"))(casesensitive).
6692
6693   bf(Default:)
6694 tt(     No files or directories are vetoed.)
6695
6696   bf(Examples:)
6697
6698     Example 1.
6699
6700 verb(
6701
6702     Veto any files containing the word Security, 
6703     any ending in .tmp, and any directory containing the
6704     word root.
6705
6706         veto files = /*Security*/*.tmp/*root*/
6707 )
6708
6709     Example 2.
6710
6711 verb(
6712     Veto the Apple specific files that a NetAtalk server
6713     creates.
6714
6715     veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
6716 )
6717
6718 label(vetooplockfiles)
6719 dit(bf(veto oplock files (S)))
6720
6721 This parameter is only valid when the link(bf("oplocks"))(oplocks)
6722 parameter is turned on for a share. It allows the Samba administrator
6723 to selectively turn off the granting of oplocks on selected files that
6724 match a wildcarded list, similar to the wildcarded list used in the
6725 link(bf("veto files"))(vetofiles) parameter.
6726
6727   bf(Default:)
6728 tt(     No files are vetoed for oplock grants.)
6729
6730   bf(Examples:)
6731
6732 You might want to do this on files that you know will be heavily
6733 contended for by clients. A good example of this is in the NetBench
6734 SMB benchmark program, which causes heavy client contention for files
6735 ending in tt(".SEM"). To cause Samba not to grant oplocks on these
6736 files you would use the line (either in the link(bf([global]))(global)
6737 section or in the section for the particular NetBench share :
6738
6739 tt(     veto oplock files = /*.SEM/)
6740
6741 label(volume)
6742 dit(bf(volume (S)))
6743
6744 This allows you to override the volume label returned for a
6745 share. Useful for CDROMs with installation programs that insist on a
6746 particular volume label.
6747
6748 The default is the name of the share.
6749
6750 label(widelinks)
6751 dit(bf(wide links (S)))
6752
6753 This parameter controls whether or not links in the UNIX file system
6754 may be followed by the server. Links that point to areas within the
6755 directory tree exported by the server are always allowed; this
6756 parameter controls access only to areas that are outside the directory
6757 tree being exported.
6758
6759 Note that setting this parameter can have a negative effect on your
6760 server performance due to the extra system calls that Samba has to
6761 do in order to perform the link checks.
6762
6763   bf(Default:)
6764 tt(     wide links = yes)
6765
6766   bf(Example:)
6767 tt(     wide links = no)
6768
6769 label(winsproxy)
6770 dit(bf(wins proxy (G)))
6771
6772 This is a boolean that controls if url(bf(nmbd))(nmbd.8.html) will
6773 respond to broadcast name queries on behalf of other hosts. You may
6774 need to set this to tt("yes") for some older clients.
6775
6776   bf(Default:)
6777 tt(     wins proxy = no)
6778
6779 label(winsserver)
6780 dit(bf(wins server (G)))
6781
6782 This specifies the IP address (or DNS name: IP address for preference)
6783 of the WINS server that url(bf(nmbd))(nmbd.8.html) should register with.
6784 If you have a WINS server on your network then you should set this to
6785 the WINS server's IP.        
6786
6787 You should point this at your WINS server if you have a
6788 multi-subnetted network.
6789
6790 em(NOTE). You need to set up Samba to point to a WINS server if you
6791 have multiple subnets and wish cross-subnet browsing to work correctly.
6792
6793 See the documentation file BROWSING.txt in the docs/ directory of your
6794 Samba source distribution.
6795
6796   bf(Default:)
6797 tt(     wins server = )
6798
6799   bf(Example:)
6800 tt(     wins server = 192.9.200.1)
6801
6802 label(winshook)
6803 dit(bf(wins hook (G)))
6804
6805 When Samba is running as a WINS server this allows you to call an
6806 external program for all changes to the WINS database. The primary use
6807 for this option is to allow the dynamic update of external name
6808 resolution databases such as dynamic DNS.
6809
6810 The wins hook parameter specifies the name of a script or executable
6811 that will be called as follows:
6812
6813    wins_hook operation name nametype ttl IP_list
6814
6815 The first argument is the operation and is one of "add", "delete",
6816 or "refresh". In most cases the operation can be ignored as the rest
6817 of the parameters provide sufficient information. Note that "refresh"
6818 may sometimes be called when the name has not previously been added,
6819 in that case it should be treated as an add.
6820
6821 The second argument is the netbios name. If the name is not a legal
6822 name then the wins hook is not called. Legal names contain only
6823 letters, digits, hyphens, underscores and periods.
6824
6825 The third argument is the netbios name type as a 2 digit hexadecimal
6826 number. 
6827
6828 The fourth argument is the TTL (time to live) for the name in seconds.
6829
6830 The fifth and subsequent arguments are the IP addresses currently
6831 registered for that name. If this list is empty then the name should
6832 be deleted.
6833
6834 An example script that calls the BIND dynamic DNS update program
6835 "nsupdate" is provided in the examples directory of the Samba source
6836 code. 
6837
6838 label(winssupport)
6839 dit(bf(wins support (G)))
6840
6841 This boolean controls if the url(bf(nmbd))(nmbd.8.html) process in
6842 Samba will act as a WINS server. You should not set this to true
6843 unless you have a multi-subnetted network and you wish a particular
6844 url(bf(nmbd))(nmbd.8.html) to be your WINS server. Note that you
6845 should em(*NEVER*) set this to true on more than one machine in your
6846 network.
6847
6848   bf(Default:)
6849 tt(     wins support = no)
6850
6851 label(workgroup)
6852 dit(bf(workgroup (G)))
6853
6854 This controls what workgroup your server will appear to be in when
6855 queried by clients. Note that this parameter also controls the Domain
6856 name used with the link(bf("security=domain"))(securityequaldomain)
6857 setting.
6858
6859   bf(Default:)
6860 tt(     set at compile time to WORKGROUP)
6861
6862   bf(Example:)
6863         workgroup = MYGROUP
6864
6865 label(writable)
6866 dit(bf(writable (S)))
6867
6868 Synonym for link(bf("writeable"))(writeable) for people who can't spell :-).
6869
6870 label(writelist)
6871 dit(bf(write list (S)))
6872
6873 This is a list of users that are given read-write access to a
6874 service. If the connecting user is in this list then they will be
6875 given write access, no matter what the link(bf("writeable"))(writeable)
6876 option is set to. The list can include group names using the @group
6877 syntax.
6878
6879 Note that if a user is in both the read list and the write list then
6880 they will be given write access.
6881
6882 See also the link(bf("read list"))(readlist) option.
6883
6884   bf(Default:)
6885 tt(     write list = <empty string>)
6886
6887   bf(Example:)
6888 tt(     write list = admin, root, @staff)
6889
6890 label(writecachesize)
6891 dit(bf(write cache size (S)))
6892
6893 This integer parameter (new with Samba 2.0.7) if set to non-zero causes Samba to create an in-memory
6894 cache for each oplocked file (it does bf(not) do this for non-oplocked files). All
6895 writes that the client does not request to be flushed directly to disk will be
6896 stored in this cache if possible. The cache is flushed onto disk when a write
6897 comes in whose offset would not fit into the cache or when the file is closed
6898 by the client. Reads for the file are also served from this cache if the data
6899 is stored within it.
6900
6901 This cache allows Samba to batch client writes into a more efficient write
6902 size for RAID disks (ie. writes may be tuned to be the RAID stripe size) and
6903 can improve performance on systems where the disk subsystem is a bottleneck
6904 but there is free memory for userspace programs.
6905
6906 The integer parameter specifies the size of this cache (per oplocked file)
6907 in bytes.
6908
6909   bf(Default:)
6910 tt(     write cache size = 0)
6911
6912   bf(Example:)
6913 tt(          write cache size = 262144)
6914 for a 256k cache size per file.
6915
6916 label(writeok)
6917 dit(bf(write ok (S)))
6918
6919 Synonym for link(bf(writeable))(writeable).
6920
6921 label(writeraw)
6922 dit(bf(write raw (G)))
6923
6924 This parameter controls whether or not the server will support raw
6925 writes SMB's when transferring data from clients. You should never
6926 need to change this parameter.
6927
6928  bf(Default:)
6929 tt(     write raw = yes)
6930
6931 label(writeable)
6932 dit(bf(writeable))
6933
6934 An inverted synonym is link(bf("read only"))(readonly).
6935
6936 If this parameter is tt("no"), then users of a service may not create
6937 or modify files in the service's directory.
6938
6939 Note that a printable service link(bf(("printable = yes")))(printable)
6940 will em(*ALWAYS*) allow writing to the directory (user privileges
6941 permitting), but only via spooling operations.
6942
6943   bf(Default:)
6944 tt(     writeable = no)
6945
6946   bf(Examples:)
6947 verb(
6948         read only = no
6949         writeable = yes
6950         write ok = yes
6951 )
6952
6953 endit()
6954
6955 label(WARNINGS)
6956 manpagesection(WARNINGS)
6957
6958 Although the configuration file permits service names to contain
6959 spaces, your client software may not. Spaces will be ignored in
6960 comparisons anyway, so it shouldn't be a problem - but be aware of the
6961 possibility.
6962
6963 On a similar note, many clients - especially DOS clients - limit
6964 service names to eight characters. url(bf(Smbd))(smbd.8.html) has no
6965 such limitation, but attempts to connect from such clients will fail
6966 if they truncate the service names.  For this reason you should
6967 probably keep your service names down to eight characters in length.
6968
6969 Use of the link(bf([homes]))(homes) and link(bf([printers]))(printers)
6970 special sections make life for an administrator easy, but the various
6971 combinations of default attributes can be tricky. Take extreme care
6972 when designing these sections. In particular, ensure that the
6973 permissions on spool directories are correct.
6974
6975 label(VERSION)
6976 manpagesection(VERSION)
6977
6978 This man page is correct for version 2.0 of the Samba suite.
6979
6980 label(SEEALSO)
6981 manpagesection(SEE ALSO)
6982
6983 url(bf(smbd (8)))(smbd.8.html), url(bf(smbclient (1)))(smbclient.1.html),
6984 url(bf(nmbd (8)))(nmbd.8.html), url(bf(testparm (1)))(testparm.1.html),
6985 url(bf(testprns (1)))(testprns.1.html), url(bf(Samba))(samba.7.html),
6986 url(bf(nmblookup (1)))(nmblookup.1.html), url(bf(smbpasswd (5)))(smbpasswd.5.html),
6987 url(bf(smbpasswd (8)))(smbpasswd.8.html).
6988
6989 label(AUTHOR)
6990 manpageauthor()
6991
6992 The original Samba software and related utilities were created by
6993 Andrew Tridgell email(samba@samba.org). Samba is now developed
6994 by the Samba Team as an Open Source project similar to the way the
6995 Linux kernel is developed.
6996
6997 The original Samba man pages were written by Karl Auer. The man page
6998 sources were converted to YODL format (another excellent piece of Open
6999 Source software, available at
7000 url(bf(ftp://ftp.icce.rug.nl/pub/unix/))(ftp://ftp.icce.rug.nl/pub/unix/))
7001 and updated for the Samba2.0 release by Jeremy Allison.
7002 email(samba@samba.org).
7003
7004 See url(bf(samba (7)))(samba.7.html) to find out how to get a full
7005 list of contributors and details on how to submit bug reports,
7006 comments etc.