]> git.samba.org - samba.git/blob - docs/docbook/manpages/smb.conf.5.sgml
8cb40e2284e58a3a5df4abf463e0aea0c5f1c3b0
[samba.git] / docs / docbook / manpages / smb.conf.5.sgml
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
2 <refentry id="smb.conf">
3
4 <refmeta>
5         <refentrytitle>smb.conf</refentrytitle>
6         <manvolnum>5</manvolnum>
7 </refmeta>
8
9
10 <refnamediv>
11         <refname>smb.conf</refname>
12         <refpurpose>The configuration file for the Samba suite</refpurpose>
13 </refnamediv>
14
15 <refsect1>
16         <title>SYNOPSIS</title>
17
18         <para>The <filename>smb.conf</filename> file is a configuration 
19         file for the Samba suite. <filename>smb.conf</filename> contains 
20         runtime configuration information for the Samba programs. The
21         <filename>smb.conf</filename> file is designed to be configured and 
22         administered by the <ulink url="swat.8.html"><command>swat(8)</command>
23         </ulink> program. The complete description of the file format and 
24         possible parameters held within are here for reference purposes.</para>
25 </refsect1>
26
27 <refsect1>
28         <title id="FILEFORMATSECT">FILE FORMAT</title>
29
30         <para>The file consists of sections and parameters. A section 
31         begins with the name of the section in square brackets and continues 
32         until the next section begins. Sections contain parameters of the 
33         form</para>
34
35         <para><replaceable>name</replaceable> = <replaceable>value
36         </replaceable></para>
37
38         <para>The file is line-based - that is, each newline-terminated 
39         line represents either a comment, a section name or a parameter.</para>
40
41         <para>Section and parameter names are not case sensitive.</para>
42
43         <para>Only the first equals sign in a parameter is significant. 
44         Whitespace before or after the first equals sign is discarded.
45         Leading, trailing and internal whitespace in section and parameter 
46         names is irrelevant. Leading and trailing whitespace in a parameter 
47         value is discarded. Internal whitespace within a parameter value 
48         is retained verbatim.</para>
49
50         <para>Any line beginning with a semicolon (';') or a hash ('#') 
51         character is ignored, as are lines containing only whitespace.</para>
52
53         <para>Any line ending in a '\' is continued
54         on the next line in the customary UNIX fashion.</para>
55
56         <para>The values following the equals sign in parameters are all 
57         either a string (no quotes needed) or a boolean, which may be given 
58         as yes/no, 0/1 or true/false. Case is not significant in boolean 
59         values, but is preserved in string values. Some items such as 
60         create modes are numeric.</para>
61 </refsect1>
62
63 <refsect1>
64         <title>SECTION DESCRIPTIONS</title>
65
66         <para>Each section in the configuration file (except for the
67         [global] section) describes a shared resource (known
68         as a "share"). The section name is the name of the 
69         shared resource and the parameters within the section define 
70         the shares attributes.</para>
71
72         <para>There are three special sections, [global],
73         [homes] and [printers], which are
74         described under <emphasis>special sections</emphasis>. The
75         following notes apply to ordinary section descriptions.</para>
76
77         <para>A share consists of a directory to which access is being 
78         given plus a description of the access rights which are granted 
79         to the user of the service. Some housekeeping options are 
80         also specifiable.</para>
81         
82         <para>Sections are either file share services (used by the 
83         client as an extension of their native file systems) or 
84         printable services (used by the client to access print services 
85         on the host running the server).</para>
86         
87         <para>Sections may be designated <emphasis>guest</emphasis> services,
88         in which case no password is required to access them. A specified 
89         UNIX <emphasis>guest account</emphasis> is used to define access
90         privileges in this case.</para>
91
92         <para>Sections other than guest services will require a password 
93         to access them. The client provides the username. As older clients 
94         only provide passwords and not usernames, you may specify a list 
95         of usernames to check against the password using the "user =" 
96         option in the share definition. For modern clients such as 
97         Windows 95/98/ME/NT/2000, this should not be necessary.</para>
98
99         <para>Note that the access rights granted by the server are 
100         masked by the access rights granted to the specified or guest 
101         UNIX user by the host system. The server does not grant more
102         access than the host system grants.</para>
103         
104         <para>The following sample section defines a file space share. 
105         The user has write access to the path <filename>/home/bar</filename>. 
106         The share is accessed via the share name "foo":</para>
107
108         <screen>
109         <computeroutput>
110         [foo]
111                 path = /home/bar
112                 writeable = true
113         </computeroutput>
114         </screen>
115
116         <para>The following sample section defines a printable share. 
117         The share is readonly, but printable. That is, the only write 
118         access permitted is via calls to open, write to and close a 
119         spool file. The <emphasis>guest ok</emphasis> parameter means 
120         access will be permitted as the default guest user (specified 
121         elsewhere):</para>
122
123         <screen>
124         <computeroutput>
125         [aprinter]
126                 path = /usr/spool/public
127                 writeable = false
128                 printable = true
129                 guest ok = true
130         </computeroutput>
131         </screen>
132 </refsect1>
133
134 <refsect1>
135         <title>SPECIAL SECTIONS</title>
136         
137         <refsect2>
138                 <title>The [global] section</title>
139                 
140                 <para>parameters in this section apply to the server 
141                 as a whole, or are defaults for sections which do not 
142                 specifically define certain items. See the notes
143                 under PARAMETERS for more information.</para>
144         </refsect2>
145         
146         <refsect2>
147                 <title id="HOMESECT">The [homes] section</title>
148                 
149                 <para>If a section called homes is included in the 
150                 configuration file, services connecting clients to their 
151                 home directories can be created on the fly by the server.</para>
152
153                 <para>When the connection request is made, the existing 
154                 sections are scanned. If a match is found, it is used. If no 
155                 match is found, the requested section name is treated as a 
156                 user name and looked up in the local password file. If the 
157                 name exists and the correct password has been given, a share is 
158                 created by cloning the [homes] section.</para>
159                 
160                 <para>Some modifications are then made to the newly 
161                 created share:</para>
162                 
163                 <itemizedlist>
164                 <listitem><para>The share name is changed from homes to 
165                 the located username.</para></listitem>
166
167                 <listitem><para>If no path was given, the path is set to
168                 the user's home directory.</para></listitem>
169                 </itemizedlist>
170
171                 <para>If you decide to use a <emphasis>path =</emphasis> line 
172                 in your [homes] section then you may find it useful 
173                 to use the %S macro. For example :</para>
174
175                 <para><userinput>path = /data/pchome/%S</userinput></para>
176
177                 <para>would be useful if you have different home directories 
178                 for your PCs than for UNIX access.</para>
179
180                 <para>This is a fast and simple way to give a large number 
181                 of clients access to their home directories with a minimum 
182                 of fuss.</para>
183
184                 <para>A similar process occurs if the requested section 
185                 name is "homes", except that the share name is not 
186                 changed to that of the requesting user. This method of using
187                 the [homes] section works well if different users share 
188                 a client PC.</para>
189                 
190                 <para>The [homes] section can specify all the parameters 
191                 a normal service section can specify, though some make more sense 
192                 than others. The following is a typical and suitable [homes]
193                 section:</para>
194
195                 <screen>
196                 <computeroutput>
197                 [homes]
198                         writeable = yes
199                 </computeroutput>
200                 </screen>
201         
202                 <para>An important point is that if guest access is specified 
203                 in the [homes] section, all home directories will be 
204                 visible to all clients <emphasis>without a password</emphasis>. 
205                 In the very unlikely event that this is actually desirable, it 
206                 would be wise to also specify <emphasis>read only
207                 access</emphasis>.</para>
208
209                 <para>Note that the <emphasis>browseable</emphasis> flag for 
210                 auto home directories will be inherited from the global browseable 
211                 flag, not the [homes] browseable flag. This is useful as 
212                 it means setting <emphasis>browseable = no</emphasis> in
213                 the [homes] section will hide the [homes] share but make
214                 any auto home directories visible.</para>
215         </refsect2>
216
217         <refsect2>
218                 <title id="PRINTERSSECT">The [printers] section</title>
219                 
220                 <para>This section works like [homes], 
221                 but for printers.</para>
222
223                 <para>If a [printers] section occurs in the 
224                 configuration file, users are able to connect to any printer 
225                 specified in the local host's printcap file.</para>
226
227                 <para>When a connection request is made, the existing sections 
228                 are scanned. If a match is found, it is used. If no match is found, 
229                 but a [homes] section exists, it is used as described
230                 above. Otherwise, the requested section name is treated as a
231                 printer name and the appropriate printcap file is scanned to see 
232                 if the requested section name is a valid printer share name. If 
233                 a match is found, a new printer share is created by cloning 
234                 the [printers] section.</para>
235
236                 <para>A few modifications are then made to the newly created 
237                 share:</para>
238
239                 <itemizedlist>
240                 <listitem><para>The share name is set to the located printer 
241                 name</para></listitem>
242
243                 <listitem><para>If no printer name was given, the printer name 
244                 is set to the located printer name</para></listitem>
245
246                 <listitem><para>If the share does not permit guest access and 
247                 no username was given, the username is set to the located 
248                 printer name.</para></listitem>
249                 </itemizedlist>
250
251                 <para>Note that the [printers] service MUST be 
252                 printable - if you specify otherwise, the server will refuse 
253                 to load the configuration file.</para>
254                 
255                 <para>Typically the path specified would be that of a 
256                 world-writeable spool directory with the sticky bit set on 
257                 it. A typical [printers] entry would look like 
258                 this:</para>
259
260                 <screen><computeroutput>
261                 [printers]
262                         path = /usr/spool/public
263                         guest ok = yes
264                         printable = yes 
265                 </computeroutput></screen>
266
267                 <para>All aliases given for a printer in the printcap file 
268                 are legitimate printer names as far as the server is concerned. 
269                 If your printing subsystem doesn't work like that, you will have 
270                 to set up a pseudo-printcap. This is a file consisting of one or 
271                 more lines like this:</para>
272
273                 <screen>
274                 <computeroutput>
275                 alias|alias|alias|alias...    
276                 </computeroutput>
277                 </screen>
278
279                 <para>Each alias should be an acceptable printer name for 
280                 your printing subsystem. In the [global] section, specify 
281                 the new file as your printcap.  The server will then only recognize 
282                 names found in your pseudo-printcap, which of course can contain 
283                 whatever aliases you like. The same technique could be used 
284                 simply to limit access to a subset of your local printers.</para>
285
286                 <para>An alias, by the way, is defined as any component of the 
287                 first entry of a printcap record. Records are separated by newlines,
288                 components (if there are more than one) are separated by vertical 
289                 bar symbols ('|').</para>
290                 
291                 <para>NOTE: On SYSV systems which use lpstat to determine what 
292                 printers are defined on the system you may be able to use
293                 "printcap name = lpstat" to automatically obtain a list 
294                 of printers. See the "printcap name" option 
295                 for more details.</para>
296         </refsect2>
297 </refsect1>
298
299 <refsect1>
300         <title>PARAMETERS</title>
301
302         <para>parameters define the specific attributes of sections.</para>
303
304         <para>Some parameters are specific to the [global] section
305         (e.g., <emphasis>security</emphasis>).  Some parameters are usable 
306         in all sections (e.g., <emphasis>create mode</emphasis>). All others 
307         are permissible only in normal sections. For the purposes of the 
308         following descriptions the [homes] and [printers]
309         sections will be considered normal.  The letter <emphasis>G</emphasis> 
310         in parentheses indicates that a parameter is specific to the
311         [global] section. The letter <emphasis>S</emphasis>
312         indicates that a parameter can be specified in a service specific
313         section. Note that all <emphasis>S</emphasis> parameters can also be specified in 
314         the [global] section - in which case they will define
315         the default behavior for all services.</para>
316
317         <para>parameters are arranged here in alphabetical order - this may 
318         not create best bedfellows, but at least you can find them! Where
319         there are synonyms, the preferred synonym is described, others refer 
320         to the preferred synonym.</para>
321 </refsect1>
322
323 <refsect1>
324         <title>VARIABLE SUBSTITUTIONS</title>
325
326         <para>Many of the strings that are settable in the config file 
327         can take substitutions. For example the option "path =
328         /tmp/%u" would be interpreted as "path = 
329         /tmp/john" if the user connected with the username john.</para>
330
331         <para>These substitutions are mostly noted in the descriptions below, 
332         but there are some general substitutions which apply whenever they 
333         might be relevant. These are:</para>
334
335         <variablelist>
336                 <varlistentry>
337                 <term>%S</term>
338                 <listitem><para>the name of the current service, if any.</para>
339                 </listitem>
340                 </varlistentry>
341                 
342                 <varlistentry>
343                 <term>%P</term>
344                 <listitem><para>the root directory of the current service, 
345                 if any.</para></listitem>
346                 </varlistentry>
347                 
348                 <varlistentry>
349                 <term>%u</term>
350                 <listitem><para>user name of the current service, if any.</para>
351                 </listitem>
352                 </varlistentry>
353                 
354                 <varlistentry>
355                 <term>%g</term>
356                 <listitem><para>primary group name of %u.</para></listitem>
357                 </varlistentry>
358                 
359                 <varlistentry>
360                 <term>%U</term>
361                 <listitem><para>session user name (the user name that the client 
362                 wanted, not necessarily the same as the one they got).</para></listitem>
363                 </varlistentry>
364                 
365                 <varlistentry>
366                 <term>%G</term>
367                 <listitem><para>primary group name of %U.</para></listitem>
368                 </varlistentry>
369
370                 <varlistentry>
371                 <term>%H</term>
372                 <listitem><para>the home directory of the user given 
373                 by %u.</para></listitem>
374                 </varlistentry>
375                 
376                 <varlistentry>
377                 <term>%v</term>
378                 <listitem><para>the Samba version.</para></listitem>
379                 </varlistentry>
380                 
381                 <varlistentry>
382                 <term>%h</term>
383                 <listitem><para>the Internet hostname that Samba is running 
384                 on.</para></listitem>
385                 </varlistentry>
386
387                 <varlistentry>
388                 <term>%m</term>
389                 <listitem><para>the NetBIOS name of the client machine 
390                 (very useful).</para></listitem>
391                 </varlistentry>
392                 
393                 <varlistentry>
394                 <term>%L</term>
395                 <listitem><para>the NetBIOS name of the server. This allows you 
396                 to change your config based on what the client calls you. Your 
397                 server can have a "dual personality".</para>
398
399                 <para>Note that this parameter is not available when Samba listens
400                 on port 445, as clients no longer send this information </para>
401                 </listitem>
402
403                 </varlistentry>
404                 
405                 <varlistentry>
406                 <term>%M</term>
407                 <listitem><para>the Internet name of the client machine.
408                 </para></listitem>
409                 </varlistentry>
410                 
411                 <varlistentry>
412                 <term>%N</term>
413                 <listitem><para>the name of your NIS home directory server.  
414                 This is obtained from your NIS auto.map entry.  If you have 
415                 not compiled Samba with the <emphasis>--with-automount</emphasis> 
416                 option then this value will be the same as %L.</para>
417                 </listitem>
418                 </varlistentry>
419                 
420                 <varlistentry>
421                 <term>%p</term>
422                 <listitem><para>the path of the service's home directory, 
423                 obtained from your NIS auto.map entry. The NIS auto.map entry 
424                 is split up as "%N:%p".</para></listitem>
425                 </varlistentry>
426                 
427                 <varlistentry>
428                 <term>%R</term>
429                 <listitem><para>the selected protocol level after 
430                 protocol negotiation. It can be one of CORE, COREPLUS, 
431                 LANMAN1, LANMAN2 or NT1.</para></listitem>
432                 </varlistentry>
433
434                 <varlistentry>
435                 <term>%d</term>
436                 <listitem><para>The process id of the current server
437                 process.</para></listitem>
438                 </varlistentry>
439                 
440                 <varlistentry>
441                 <term>%a</term>
442                 <listitem><para>the architecture of the remote
443                 machine. Only some are recognized, and those may not be 
444                 100% reliable. It currently recognizes Samba, WfWg, Win95,
445                 WinNT and Win2k. Anything else will be known as 
446                 "UNKNOWN". If it gets it wrong then sending a level 
447                 3 log to <ulink url="mailto:samba@samba.org">samba@samba.org
448                 </ulink> should allow it to be fixed.</para></listitem>
449                 </varlistentry>
450                 
451                 <varlistentry>
452                 <term>%I</term>
453                 <listitem><para>The IP address of the client machine.</para>
454                 </listitem>
455                 </varlistentry>
456
457                 <varlistentry>
458                 <term>%T</term>
459                 <listitem><para>the current date and time.</para></listitem>
460                 </varlistentry>
461                 
462                 <varlistentry>
463                 <term>%$(<replaceable>envvar</replaceable>)</term>
464                 <listitem><para>The value of the environment variable
465                 <replaceable>envar</replaceable>.</para></listitem>
466                 </varlistentry>
467         </variablelist>
468
469         <para>There are some quite creative things that can be done 
470         with these substitutions and other smb.conf options.</para
471 </refsect1>
472
473 <refsect1>
474         <title id="NAMEMANGLINGSECT">NAME MANGLING</title>
475         
476         <para>Samba supports "name mangling" so that DOS and 
477         Windows clients can use files that don't conform to the 8.3 format. 
478         It can also be set to adjust the case of 8.3 format filenames.</para>
479
480         <para>There are several options that control the way mangling is 
481         performed, and they are grouped here rather than listed separately. 
482         For the defaults look at the output of the testparm program. </para>
483
484         <para>All of these options can be set separately for each service 
485         (or globally, of course). </para>
486
487         <para>The options are: </para>
488         
489         <variablelist>
490         
491         <varlistentry>
492                 <term>mangle case = yes/no</term>
493                 <listitem><para> controls if names that have characters that 
494                 aren't of the "default" case are mangled. For example, 
495                 if this is yes then a name like "Mail" would be mangled. 
496                 Default <emphasis>no</emphasis>.</para></listitem>
497                 </varlistentry> 
498         
499                 <varlistentry>
500                 <term>case sensitive = yes/no</term>
501                 <listitem><para>controls whether filenames are case sensitive. If 
502                 they aren't then Samba must do a filename search and match on passed 
503                 names. Default <emphasis>no</emphasis>.</para></listitem>
504                 </varlistentry> 
505
506                 <varlistentry>
507                 <term>default case = upper/lower</term>
508                 <listitem><para>controls what the default case is for new 
509                 filenames. Default <emphasis>lower</emphasis>.</para></listitem>
510                 </varlistentry> 
511         
512                 <varlistentry>
513                 <term>preserve case = yes/no</term>
514                 <listitem><para>controls if new files are created with the 
515                 case that the client passes, or if they are forced to be the 
516                 "default" case. Default <emphasis>yes</emphasis>.
517                 </para></listitem>
518                 </varlistentry> 
519
520                 <varlistentry>
521                 <term>short preserve case = yes/no</term>
522                 <listitem><para>controls if new files which conform to 8.3 syntax,
523                 that is all in upper case and of suitable length, are created 
524                 upper case, or if they are forced to be the "default" 
525                 case. This option can be use with "preserve case = yes" 
526                 to permit long filenames to retain their case, while short names 
527                 are lowercased. Default <emphasis>yes</emphasis>.</para></listitem>
528                 </varlistentry> 
529         </variablelist>
530         
531         <para>By default, Samba 2.2 has the same semantics as a Windows 
532         NT server, in that it is case insensitive but case preserving.</para>
533         
534 </refsect1>
535
536 <refsect1>
537         <title id="VALIDATIONSECT">NOTE ABOUT USERNAME/PASSWORD VALIDATION</title>
538
539         <para>There are a number of ways in which a user can connect 
540         to a service. The server uses the following steps in determining 
541         if it will allow a connection to a specified service. If all the 
542         steps fail, then the connection request is rejected.  However, if one of the 
543         steps succeeds, then the following steps are not checked.</para>
544
545         <para>If the service is marked "guest only = yes" and the
546         server is running with share-level security ("security = share")
547         then steps 1 to 5 are skipped.</para>
548
549
550         <orderedlist numeration="Arabic">
551                 <listitem><para>If the client has passed a username/password 
552                 pair and that username/password pair is validated by the UNIX 
553                 system's password programs then the connection is made as that 
554                 username. Note that this includes the 
555                 \\server\service%<replaceable>username</replaceable> method of passing 
556                 a username.</para></listitem>
557
558                 <listitem><para>If the client has previously registered a username 
559                 with the system and now supplies a correct password for that 
560                 username then the connection is allowed.</para></listitem>
561                 
562                 <listitem><para>The client's NetBIOS name and any previously 
563                 used user names are checked against the supplied password, if 
564                 they match then the connection is allowed as the corresponding 
565                 user.</para></listitem>
566                 
567                 <listitem><para>If the client has previously validated a
568                 username/password pair with the server and the client has passed 
569                 the validation token then that username is used. </para></listitem>
570
571                 <listitem><para>If a "user = " field is given in the
572                 <filename>smb.conf</filename> file for the service and the client 
573                 has supplied a password, and that password matches (according to 
574                 the UNIX system's password checking) with one of the usernames 
575                 from the "user =" field then the connection is made as 
576                 the username in the "user =" line. If one 
577                 of the username in the "user =" list begins with a
578                 '@' then that name expands to a list of names in 
579                 the group of the same name.</para></listitem>
580
581                 <listitem><para>If the service is a guest service then a 
582                 connection is made as the username given in the "guest 
583                 account =" for the service, irrespective of the 
584                 supplied password.</para></listitem>
585         </orderedlist>
586
587 </refsect1>
588
589 <refsect1>
590         <title>COMPLETE LIST OF GLOBAL PARAMETERS</title>
591
592         <para>Here is a list of all global parameters. See the section of 
593         each parameter for details.  Note that some are synonyms.</para>
594
595         <itemizedlist>
596                 <listitem><para><link linkend="ABORTSHUTDOWNSCRIPT"><parameter>abort shutdown script</parameter></link></para></listitem>
597                 <listitem><para><link linkend="ADDGROUPSCRIPT"><parameter>add group script</parameter></link></para></listitem>
598                 <listitem><para><link linkend="ADDPRINTERCOMMAND"><parameter>addprinter command</parameter></link></para></listitem>
599                 <listitem><para><link linkend="ADDSHARECOMMAND"><parameter>add share command</parameter></link></para></listitem>
600                 <listitem><para><link linkend="ADDUSERSCRIPT"><parameter>add user script</parameter></link></para></listitem>
601                 <listitem><para><link linkend="ADDUSERTOGROUPSCRIPT"><parameter>add user to group script</parameter></link></para></listitem>
602                 <listitem><para><link linkend="ADDMACHINESCRIPT"><parameter>add machine script</parameter></link></para></listitem>
603                 <listitem><para><link linkend="DELETEGROUPSCRIPT"><parameter>delete group script</parameter></link></para></listitem>
604                 <listitem><para><link linkend="ADSSERVER"><parameter>ads server</parameter></link></para></listitem>
605                 <listitem><para><link linkend="ALGORITHMICRIDBASE"><parameter>algorithmic rid base</parameter></link></para></listitem>
606                 <listitem><para><link linkend="ALLOWTRUSTEDDOMAINS"><parameter>allow trusted domains</parameter></link></para></listitem>
607                 <listitem><para><link linkend="ANNOUNCEAS"><parameter>announce as</parameter></link></para></listitem>
608                 <listitem><para><link linkend="ANNOUNCEVERSION"><parameter>announce version</parameter></link></para></listitem>
609                 <listitem><para><link linkend="AUTHMETHODS"><parameter>auth methods</parameter></link></para></listitem>
610                 <listitem><para><link linkend="AUTOSERVICES"><parameter>auto services</parameter></link></para></listitem>
611                 <listitem><para><link linkend="BINDINTERFACESONLY"><parameter>bind interfaces only</parameter></link></para></listitem>
612                 <listitem><para><link linkend="BROWSELIST"><parameter>browse list</parameter></link></para></listitem>
613                 <listitem><para><link linkend="CHANGENOTIFYTIMEOUT"><parameter>change notify timeout</parameter></link></para></listitem>
614                 <listitem><para><link linkend="CHANGESHARECOMMAND"><parameter>change share command</parameter></link></para></listitem>
615                 <listitem><para><link linkend="CONFIGFILE"><parameter>config file</parameter></link></para></listitem>
616                 <listitem><para><link linkend="DEADTIME"><parameter>deadtime</parameter></link></para></listitem>
617                 <listitem><para><link linkend="DEBUGHIRESTIMESTAMP"><parameter>debug hires timestamp</parameter></link></para></listitem>
618                 <listitem><para><link linkend="DEBUGPID"><parameter>debug pid</parameter></link></para></listitem>
619                 <listitem><para><link linkend="DEBUGTIMESTAMP"><parameter>debug timestamp</parameter></link></para></listitem>
620                 <listitem><para><link linkend="DEBUGUID"><parameter>debug uid</parameter></link></para></listitem>
621                 <listitem><para><link linkend="DEBUGLEVEL"><parameter>debuglevel</parameter></link></para></listitem>
622                 <listitem><para><link linkend="DEFAULT"><parameter>default</parameter></link></para></listitem>
623                 <listitem><para><link linkend="DEFAULTSERVICE"><parameter>default service</parameter></link></para></listitem>
624                 <listitem><para><link linkend="DELETEPRINTERCOMMAND"><parameter>deleteprinter command</parameter></link></para></listitem>
625                 <listitem><para><link linkend="DELETESHARECOMMAND"><parameter>delete share command</parameter></link></para></listitem>
626                 <listitem><para><link linkend="DELETEUSERSCRIPT"><parameter>delete user script</parameter></link></para></listitem>
627                 <listitem><para><link linkend="DELETEUSERFROMGROUPSCRIPT"><parameter>delete user from group script</parameter></link></para></listitem>
628                 <listitem><para><link linkend="DFREECOMMAND"><parameter>dfree command</parameter></link></para></listitem>
629                 <listitem><para><link linkend="DISABLENETBIOS"><parameter>disable netbios</parameter></link></para></listitem>
630                 <listitem><para><link linkend="DISABLESPOOLSS"><parameter>disable spoolss</parameter></link></para></listitem>
631                 <listitem><para><link linkend="DISPLAYCHARSET"><parameter>display charset</parameter></link></para></listitem>
632                 <listitem><para><link linkend="DNSPROXY"><parameter>dns proxy</parameter></link></para></listitem>
633                 <listitem><para><link linkend="DOMAINLOGONS"><parameter>domain logons</parameter></link></para></listitem>
634                 <listitem><para><link linkend="DOMAINMASTER"><parameter>domain master</parameter></link></para></listitem>
635                 <listitem><para><link linkend="DOSCHARSET"><parameter>dos charset</parameter></link></para></listitem>
636                 <listitem><para><link linkend="ENCRYPTPASSWORDS"><parameter>encrypt passwords</parameter></link></para></listitem>
637                 <listitem><para><link linkend="ENHANCEDBROWSING"><parameter>enhanced browsing</parameter></link></para></listitem>
638                 <listitem><para><link linkend="ENUMPORTSCOMMAND"><parameter>enumports command</parameter></link></para></listitem>
639                 <listitem><para><link linkend="GETWDCACHE"><parameter>getwd cache</parameter></link></para></listitem>
640                 <listitem><para><link linkend="HIDELOCALUSERS"><parameter>hide local users</parameter></link></para></listitem>
641                 <listitem><para><link linkend="HIDEUNREADABLE"><parameter>hide unreadable</parameter></link></para></listitem>
642                 <listitem><para><link linkend="HIDEUNWRITEABLEFILES"><parameter>hide unwriteable files</parameter></link></para></listitem>
643                 <listitem><para><link linkend="HOMEDIRMAP"><parameter>homedir map</parameter></link></para></listitem>
644                 <listitem><para><link linkend="HOSTMSDFS"><parameter>host msdfs</parameter></link></para></listitem>
645                 <listitem><para><link linkend="HOSTNAMELOOKUPS"><parameter>hostname lookups</parameter></link></para></listitem>
646                 <listitem><para><link linkend="HOSTSEQUIV"><parameter>hosts equiv</parameter></link></para></listitem>
647                 <listitem><para><link linkend="INTERFACES"><parameter>interfaces</parameter></link></para></listitem>
648                 <listitem><para><link linkend="KEEPALIVE"><parameter>keepalive</parameter></link></para></listitem>
649                 <listitem><para><link linkend="KERNELOPLOCKS"><parameter>kernel oplocks</parameter></link></para></listitem>
650                 <listitem><para><link linkend="LANMANAUTH"><parameter>lanman auth</parameter></link></para></listitem>
651                 <listitem><para><link linkend="LARGEREADWRITE"><parameter>large readwrite</parameter></link></para></listitem>
652                 
653                 <listitem><para><link linkend="LDAPADMINDN"><parameter>ldap admin dn</parameter></link></para></listitem>
654                 <listitem><para><link linkend="LDAPFILTER"><parameter>ldap filter</parameter></link></para></listitem>
655                 <listitem><para><link linkend="LDAPSSL"><parameter>ldap ssl</parameter></link></para></listitem>
656                 <listitem><para><link linkend="LDAPSUFFIX"><parameter>ldap suffix</parameter></link></para></listitem>
657                 <listitem><para><link linkend="LDAPUSERSUFFIX"><parameter>ldap user suffix</parameter></link></para></listitem>
658                 <listitem><para><link linkend="LDAPMACHINESUFFIX"><parameter>ldap machine suffix</parameter></link></para></listitem>
659                 <listitem><para><link linkend="LDAPPASSWDSYNC"><parameter>ldap passwd sync</parameter></link></para></listitem>
660
661                 <listitem><para><link linkend="LMANNOUNCE"><parameter>lm announce</parameter></link></para></listitem>
662                 <listitem><para><link linkend="LMINTERVAL"><parameter>lm interval</parameter></link></para></listitem>
663                 <listitem><para><link linkend="LOADPRINTERS"><parameter>load printers</parameter></link></para></listitem>
664                 <listitem><para><link linkend="LOCALMASTER"><parameter>local master</parameter></link></para></listitem>
665                 <listitem><para><link linkend="LOCKDIR"><parameter>lock dir</parameter></link></para></listitem>
666                 <listitem><para><link linkend="LOCKDIRECTORY"><parameter>lock directory</parameter></link></para></listitem>
667                 <listitem><para><link linkend="LOCKSPINCOUNT"><parameter>lock spin count</parameter></link></para></listitem>
668                 <listitem><para><link linkend="LOCKSPINTIME"><parameter>lock spin time</parameter></link></para></listitem>
669                 <listitem><para><link linkend="PIDDIRECTORY"><parameter>pid directory</parameter></link></para></listitem>
670                 <listitem><para><link linkend="LOGFILE"><parameter>log file</parameter></link></para></listitem>
671                 <listitem><para><link linkend="LOGLEVEL"><parameter>log level</parameter></link></para></listitem>
672                 <listitem><para><link linkend="LOGONDRIVE"><parameter>logon drive</parameter></link></para></listitem>
673                 <listitem><para><link linkend="LOGONHOME"><parameter>logon home</parameter></link></para></listitem>
674                 <listitem><para><link linkend="LOGONPATH"><parameter>logon path</parameter></link></para></listitem>
675                 <listitem><para><link linkend="LOGONSCRIPT"><parameter>logon script</parameter></link></para></listitem>
676                 <listitem><para><link linkend="LPQCACHETIME"><parameter>lpq cache time</parameter></link></para></listitem>
677                 <listitem><para><link linkend="MACHINEPASSWORDTIMEOUT"><parameter>machine password timeout</parameter></link></para></listitem>
678                 <listitem><para><link linkend="MANGLEDSTACK"><parameter>mangled stack</parameter></link></para></listitem>
679                 <listitem><para><link linkend="MAPTOGUEST"><parameter>map to guest</parameter></link></para></listitem>
680                 <listitem><para><link linkend="MAXDISKSIZE"><parameter>max disk size</parameter></link></para></listitem>
681                 <listitem><para><link linkend="MAXLOGSIZE"><parameter>max log size</parameter></link></para></listitem>
682                 <listitem><para><link linkend="MAXMUX"><parameter>max mux</parameter></link></para></listitem>
683                 <listitem><para><link linkend="MAXOPENFILES"><parameter>max open files</parameter></link></para></listitem>
684                 <listitem><para><link linkend="MAXPROTOCOL"><parameter>max protocol</parameter></link></para></listitem>
685                 <listitem><para><link linkend="MAXSMBDPROCESSES"><parameter>max smbd processes</parameter></link></para></listitem>
686                 <listitem><para><link linkend="MAXTTL"><parameter>max ttl</parameter></link></para></listitem>
687                 <listitem><para><link linkend="MAXWINSTTL"><parameter>max wins ttl</parameter></link></para></listitem>
688                 <listitem><para><link linkend="MAXXMIT"><parameter>max xmit</parameter></link></para></listitem>
689                 <listitem><para><link linkend="MESSAGECOMMAND"><parameter>message command</parameter></link></para></listitem>
690                 <listitem><para><link linkend="MINPASSWDLENGTH"><parameter>min passwd length</parameter></link></para></listitem>
691                 <listitem><para><link linkend="MINPASSWORDLENGTH"><parameter>min password length</parameter></link></para></listitem>
692                 <listitem><para><link linkend="MINPROTOCOL"><parameter>min protocol</parameter></link></para></listitem>
693                 <listitem><para><link linkend="MINWINSTTL"><parameter>min wins ttl</parameter></link></para></listitem>
694                 <listitem><para><link linkend="NAMECACHETIMEOUT"><parameter>name cache timeout</parameter></link></para></listitem>
695                 <listitem><para><link linkend="NAMERESOLVEORDER"><parameter>name resolve order</parameter></link></para></listitem>
696                 <listitem><para><link linkend="NETBIOSALIASES"><parameter>netbios aliases</parameter></link></para></listitem>
697                 <listitem><para><link linkend="NETBIOSNAME"><parameter>netbios name</parameter></link></para></listitem>
698                 <listitem><para><link linkend="NETBIOSSCOPE"><parameter>netbios scope</parameter></link></para></listitem>
699                 <listitem><para><link linkend="NISHOMEDIR"><parameter>nis homedir</parameter></link></para></listitem>
700                 <listitem><para><link linkend="NTLMAUTH"><parameter>ntlm auth</parameter></link></para></listitem>
701                 <listitem><para><link linkend="NONUNIXACCOUNTRANGE"><parameter>non unix account range</parameter></link></para></listitem>
702                 <listitem><para><link linkend="NTPIPESUPPORT"><parameter>nt pipe support</parameter></link></para></listitem>
703                 <listitem><para><link linkend="NTSTATUSSUPPORT"><parameter>nt status support</parameter></link></para></listitem>
704                 <listitem><para><link linkend="NULLPASSWORDS"><parameter>null passwords</parameter></link></para></listitem>
705                 <listitem><para><link linkend="OBEYPAMRESTRICTIONS"><parameter>obey pam restrictions</parameter></link></para></listitem>
706                 <listitem><para><link linkend="OPLOCKBREAKWAITTIME"><parameter>oplock break wait time</parameter></link></para></listitem>
707                 <listitem><para><link linkend="OSLEVEL"><parameter>os level</parameter></link></para></listitem>
708                 <listitem><para><link linkend="OS2DRIVERMAP"><parameter>os2 driver map</parameter></link></para></listitem>
709                 <listitem><para><link linkend="PAMPASSWORDCHANGE"><parameter>pam password change</parameter></link></para></listitem>
710                 <listitem><para><link linkend="PANICACTION"><parameter>panic action</parameter></link></para></listitem>
711                 <listitem><para><link linkend="PARANOIDSERVERSECURITY"><parameter>paranoid server security</parameter></link></para></listitem>
712                 <listitem><para><link linkend="PASSDBBACKEND"><parameter>passdb backend</parameter></link></para></listitem>
713                 <listitem><para><link linkend="PASSWDCHAT"><parameter>passwd chat</parameter></link></para></listitem>
714                 <listitem><para><link linkend="PASSWDCHATDEBUG"><parameter>passwd chat debug</parameter></link></para></listitem>
715                 <listitem><para><link linkend="PASSWDPROGRAM"><parameter>passwd program</parameter></link></para></listitem>
716                 <listitem><para><link linkend="PASSWORDLEVEL"><parameter>password level</parameter></link></para></listitem>
717                 <listitem><para><link linkend="PASSWORDSERVER"><parameter>password server</parameter></link></para></listitem>
718                 <listitem><para><link linkend="PREFEREDMASTER"><parameter>prefered master</parameter></link></para></listitem>
719                 <listitem><para><link linkend="PREFERREDMASTER"><parameter>preferred master</parameter></link></para></listitem>
720                 <listitem><para><link linkend="PRELOAD"><parameter>preload</parameter></link></para></listitem>
721                 <listitem><para><link linkend="PRINTCAP"><parameter>printcap</parameter></link></para></listitem>
722                 <listitem><para><link linkend="PRINTCAPNAME"><parameter>printcap name</parameter></link></para></listitem>
723                 <listitem><para><link linkend="PRINTERDRIVERFILE"><parameter>printer driver file</parameter></link></para></listitem>
724                 <listitem><para><link linkend="PRIVATEDIR"><parameter>private dir</parameter></link></para></listitem>
725                 <listitem><para><link linkend="PROTOCOL"><parameter>protocol</parameter></link></para></listitem>
726                 <listitem><para><link linkend="READBMPX"><parameter>read bmpx</parameter></link></para></listitem>
727                 <listitem><para><link linkend="READRAW"><parameter>read raw</parameter></link></para></listitem>
728                 <listitem><para><link linkend="READSIZE"><parameter>read size</parameter></link></para></listitem>
729                 <listitem><para><link linkend="REALM"><parameter>realm</parameter></link></para></listitem>
730                 <listitem><para><link linkend="REMOTEANNOUNCE"><parameter>remote announce</parameter></link></para></listitem>
731                 <listitem><para><link linkend="REMOTEBROWSESYNC"><parameter>remote browse sync</parameter></link></para></listitem>
732                 <listitem><para><link linkend="RESTRICTANONYMOUS"><parameter>restrict anonymous</parameter></link></para></listitem>
733                 <listitem><para><link linkend="ROOT"><parameter>root</parameter></link></para></listitem>
734                 <listitem><para><link linkend="ROOTDIR"><parameter>root dir</parameter></link></para></listitem>
735                 <listitem><para><link linkend="ROOTDIRECTORY"><parameter>root directory</parameter></link></para></listitem>
736                 <listitem><para><link linkend="SECURITY"><parameter>security</parameter></link></para></listitem>
737                 <listitem><para><link linkend="SERVERSTRING"><parameter>server string</parameter></link></para></listitem>
738                 <listitem><para><link linkend="SHOWADDPRINTERWIZARD"><parameter>show add printer wizard</parameter></link></para></listitem>
739                 <listitem><para><link linkend="SHUTDOWNSCRIPT"><parameter>shutdown script</parameter></link></para></listitem>
740                 <listitem><para><link linkend="SMBPASSWDFILE"><parameter>smb passwd file</parameter></link></para></listitem>
741                 <listitem><para><link linkend="SMBPORTS"><parameter>smb ports</parameter></link></para></listitem>
742                 <listitem><para><link linkend="SOCKETADDRESS"><parameter>socket address</parameter></link></para></listitem>
743                 <listitem><para><link linkend="SOCKETOPTIONS"><parameter>socket options</parameter></link></para></listitem>
744                 <listitem><para><link linkend="SOURCEENVIRONMENT"><parameter>source environment</parameter></link></para></listitem>
745                 <listitem><para><link linkend="SPNEGO"><parameter>use spnego</parameter></link></para></listitem>
746                 <listitem><para><link linkend="STATCACHE"><parameter>stat cache</parameter></link></para></listitem>
747                 <listitem><para><link linkend="STATCACHESIZE"><parameter>stat cache size</parameter></link></para></listitem>
748                 <listitem><para><link linkend="STRIPDOT"><parameter>strip dot</parameter></link></para></listitem>
749                 <listitem><para><link linkend="SYSLOG"><parameter>syslog</parameter></link></para></listitem>
750                 <listitem><para><link linkend="SYSLOGONLY"><parameter>syslog only</parameter></link></para></listitem>
751                 <listitem><para><link linkend="TEMPLATEHOMEDIR"><parameter>template homedir</parameter></link></para></listitem>
752                 <listitem><para><link linkend="TEMPLATESHELL"><parameter>template shell</parameter></link></para></listitem>
753                 <listitem><para><link linkend="TIMEOFFSET"><parameter>time offset</parameter></link></para></listitem>
754                 <listitem><para><link linkend="TIMESERVER"><parameter>time server</parameter></link></para></listitem>
755                 <listitem><para><link linkend="TIMESTAMPLOGS"><parameter>timestamp logs</parameter></link></para></listitem>
756                 <listitem><para><link linkend="TOTALPRINTJOBS"><parameter>total print jobs</parameter></link></para></listitem>
757                 <listitem><para><link linkend="UNICODE"><parameter>unicode</parameter></link></para></listitem>
758                 <listitem><para><link linkend="UNIXCHARSET"><parameter>unix charset</parameter></link></para></listitem>
759                 <listitem><para><link linkend="UNIXEXTENSIONS"><parameter>unix extensions</parameter></link></para></listitem>
760                 <listitem><para><link linkend="UNIXPASSWORDSYNC"><parameter>unix password sync</parameter></link></para></listitem>
761                 <listitem><para><link linkend="UPDATEENCRYPTED"><parameter>update encrypted</parameter></link></para></listitem>
762                 <listitem><para><link linkend="USEMMAP"><parameter>use mmap</parameter></link></para></listitem>
763                 <listitem><para><link linkend="USERNAMELEVEL"><parameter>username level</parameter></link></para></listitem>
764                 <listitem><para><link linkend="USERNAMEMAP"><parameter>username map</parameter></link></para></listitem>
765                 <listitem><para><link linkend="UTMP"><parameter>utmp</parameter></link></para></listitem>
766                 <listitem><para><link linkend="UTMPDIRECTORY"><parameter>utmp directory</parameter></link></para></listitem>
767                 <listitem><para><link linkend="WTMPDIRECTORY"><parameter>wtmp directory</parameter></link></para></listitem>
768                 <listitem><para><link linkend="WINBINDCACHETIME"><parameter>winbind cache time</parameter></link></para></listitem>
769                 <listitem><para><link linkend="WINBINDENUMUSERS"><parameter>winbind enum users</parameter></link></para></listitem>
770                 <listitem><para><link linkend="WINBINDENUMGROUPS"><parameter>winbind enum groups</parameter></link></para></listitem>
771                 <listitem><para><link linkend="WINBINDGID"><parameter>winbind gid</parameter></link></para></listitem>
772                 <listitem><para><link linkend="WINBINDSEPARATOR"><parameter>winbind separator</parameter></link></para></listitem>
773                 <listitem><para><link linkend="WINBINDUID"><parameter>winbind uid</parameter></link></para></listitem>
774                 <listitem><para><link linkend="WINBINDUSEDEFAULTDOMAIN"><parameter>winbind use default domain</parameter></link></para></listitem>
775                 <listitem><para><link linkend="WINSHOOK"><parameter>wins hook</parameter></link></para></listitem>
776                 <listitem><para><link linkend="WINSPARTNERS"><parameter>wins partners</parameter></link></para></listitem>
777                 <listitem><para><link linkend="WINSPROXY"><parameter>wins proxy</parameter></link></para></listitem>
778                 <listitem><para><link linkend="WINSSERVER"><parameter>wins server</parameter></link></para></listitem>
779                 <listitem><para><link linkend="WINSSUPPORT"><parameter>wins support</parameter></link></para></listitem>
780                 <listitem><para><link linkend="WORKGROUP"><parameter>workgroup</parameter></link></para></listitem>
781                 <listitem><para><link linkend="WRITERAW"><parameter>write raw</parameter></link></para></listitem>
782         </itemizedlist>
783
784 </refsect1>
785
786 <refsect1>
787         <title>COMPLETE LIST OF SERVICE PARAMETERS</title>
788         
789         <para>Here is a list of all service parameters. See the section on 
790         each parameter for details. Note that some are synonyms.</para>
791         
792         <itemizedlist>
793                 <listitem><para><link linkend="ADMINUSERS"><parameter>admin users</parameter></link></para></listitem>
794                 <listitem><para><link linkend="ALLOWHOSTS"><parameter>allow hosts</parameter></link></para></listitem>
795                 <listitem><para><link linkend="AVAILABLE"><parameter>available</parameter></link></para></listitem>
796                 <listitem><para><link linkend="BLOCKINGLOCKS"><parameter>blocking locks</parameter></link></para></listitem>
797 <listitem><para><link linkend="BLOCKSIZE"><parameter>block size</parameter></link></para></listitem>
798                 <listitem><para><link linkend="BROWSABLE"><parameter>browsable</parameter></link></para></listitem>
799                 <listitem><para><link linkend="BROWSEABLE"><parameter>browseable</parameter></link></para></listitem>
800                 <listitem><para><link linkend="CASESENSITIVE"><parameter>case sensitive</parameter></link></para></listitem>
801                 <listitem><para><link linkend="CASESIGNAMES"><parameter>casesignames</parameter></link></para></listitem>
802                 <listitem><para><link linkend="COMMENT"><parameter>comment</parameter></link></para></listitem>
803                 <listitem><para><link linkend="COPY"><parameter>copy</parameter></link></para></listitem>
804                 <listitem><para><link linkend="CREATEMASK"><parameter>create mask</parameter></link></para></listitem>
805                 <listitem><para><link linkend="CREATEMODE"><parameter>create mode</parameter></link></para></listitem>
806                 <listitem><para><link linkend="CSCPOLICY"><parameter>csc policy</parameter></link></para></listitem>
807                 
808                 <listitem><para><link linkend="DEFAULTCASE"><parameter>default case</parameter></link></para></listitem>
809                 <listitem><para><link linkend="DEFAULTDEVMODE"><parameter>default devmode</parameter></link></para></listitem>
810                 <listitem><para><link linkend="DELETEREADONLY"><parameter>delete readonly</parameter></link></para></listitem>
811                 <listitem><para><link linkend="DELETEVETOFILES"><parameter>delete veto files</parameter></link></para></listitem>
812                 <listitem><para><link linkend="DENYHOSTS"><parameter>deny hosts</parameter></link></para></listitem>
813                 <listitem><para><link linkend="DIRECTORY"><parameter>directory</parameter></link></para></listitem>
814                 <listitem><para><link linkend="DIRECTORYMASK"><parameter>directory mask</parameter></link></para></listitem>
815                 <listitem><para><link linkend="DIRECTORYMODE"><parameter>directory mode</parameter></link></para></listitem>
816                 <listitem><para><link linkend="DIRECTORYSECURITYMASK"><parameter>directory security mask</parameter></link></para></listitem>
817                 <listitem><para><link linkend="DONTDESCEND"><parameter>dont descend</parameter></link></para></listitem>
818                 <listitem><para><link linkend="DOSFILEMODE"><parameter>dos filemode</parameter></link></para></listitem>
819                 <listitem><para><link linkend="DOSFILETIMERESOLUTION"><parameter>dos filetime resolution</parameter></link></para></listitem>
820                 <listitem><para><link linkend="DOSFILETIMES"><parameter>dos filetimes</parameter></link></para></listitem>
821                 <listitem><para><link linkend="EXEC"><parameter>exec</parameter></link></para></listitem>
822                 <listitem><para><link linkend="FAKEDIRECTORYCREATETIMES"><parameter>fake directory create times</parameter></link></para></listitem>
823                 <listitem><para><link linkend="FAKEOPLOCKS"><parameter>fake oplocks</parameter></link></para></listitem>
824                 <listitem><para><link linkend="FOLLOWSYMLINKS"><parameter>follow symlinks</parameter></link></para></listitem>
825                 <listitem><para><link linkend="FORCECREATEMODE"><parameter>force create mode</parameter></link></para></listitem>
826                 <listitem><para><link linkend="FORCEDIRECTORYMODE"><parameter>force directory mode</parameter></link></para></listitem>
827                 <listitem><para><link linkend="FORCEDIRECTORYSECURITYMODE"><parameter>force directory security mode</parameter></link></para></listitem>
828                 <listitem><para><link linkend="FORCEGROUP"><parameter>force group</parameter></link></para></listitem>
829                 <listitem><para><link linkend="FORCESECURITYMODE"><parameter>force security mode</parameter></link></para></listitem>
830                 <listitem><para><link linkend="FORCEUSER"><parameter>force user</parameter></link></para></listitem>
831                 <listitem><para><link linkend="FSTYPE"><parameter>fstype</parameter></link></para></listitem>
832                 <listitem><para><link linkend="GROUP"><parameter>group</parameter></link></para></listitem>
833                 <listitem><para><link linkend="GUESTACCOUNT"><parameter>guest account</parameter></link></para></listitem>
834                 <listitem><para><link linkend="GUESTOK"><parameter>guest ok</parameter></link></para></listitem>
835                 <listitem><para><link linkend="GUESTONLY"><parameter>guest only</parameter></link></para></listitem>
836                 <listitem><para><link linkend="HIDEDOTFILES"><parameter>hide dot files</parameter></link></para></listitem>
837                 <listitem><para><link linkend="HIDEFILES"><parameter>hide files</parameter></link></para></listitem>
838                 <listitem><para><link linkend="HOSTSALLOW"><parameter>hosts allow</parameter></link></para></listitem>
839                 <listitem><para><link linkend="HOSTSDENY"><parameter>hosts deny</parameter></link></para></listitem>
840                 <listitem><para><link linkend="INCLUDE"><parameter>include</parameter></link></para></listitem>
841                 <listitem><para><link linkend="INHERITACLS"><parameter>inherit acls</parameter></link></para></listitem>
842                 <listitem><para><link linkend="INHERITPERMISSIONS"><parameter>inherit permissions</parameter></link></para></listitem>
843                 <listitem><para><link linkend="INVALIDUSERS"><parameter>invalid users</parameter></link></para></listitem>
844                 <listitem><para><link linkend="LEVEL2OPLOCKS"><parameter>level2 oplocks</parameter></link></para></listitem>
845                 <listitem><para><link linkend="LOCKING"><parameter>locking</parameter></link></para></listitem>
846                 <listitem><para><link linkend="LPPAUSECOMMAND"><parameter>lppause command</parameter></link></para></listitem>
847                 <listitem><para><link linkend="LPQCOMMAND"><parameter>lpq command</parameter></link></para></listitem>
848                 <listitem><para><link linkend="LPRESUMECOMMAND"><parameter>lpresume command</parameter></link></para></listitem>
849                 <listitem><para><link linkend="LPRMCOMMAND"><parameter>lprm command</parameter></link></para></listitem>
850                 <listitem><para><link linkend="MAGICOUTPUT"><parameter>magic output</parameter></link></para></listitem>
851                 <listitem><para><link linkend="MAGICSCRIPT"><parameter>magic script</parameter></link></para></listitem>
852                 <listitem><para><link linkend="MANGLECASE"><parameter>mangle case</parameter></link></para></listitem>
853                 <listitem><para><link linkend="MANGLEDMAP"><parameter>mangled map</parameter></link></para></listitem>
854                 <listitem><para><link linkend="MANGLEDNAMES"><parameter>mangled names</parameter></link></para></listitem>
855                 <listitem><para><link linkend="MANGLINGCHAR"><parameter>mangling char</parameter></link></para></listitem>
856                 <listitem><para><link linkend="MANGLINGMETHOD"><parameter>mangling method</parameter></link></para></listitem>
857                 <listitem><para><link linkend="MAPARCHIVE"><parameter>map archive</parameter></link></para></listitem>
858                 <listitem><para><link linkend="MAPHIDDEN"><parameter>map hidden</parameter></link></para></listitem>
859                 <listitem><para><link linkend="MAPSYSTEM"><parameter>map system</parameter></link></para></listitem>
860                 <listitem><para><link linkend="MAXCONNECTIONS"><parameter>max connections</parameter></link></para></listitem>
861                 <listitem><para><link linkend="MAXPRINTJOBS"><parameter>max print jobs</parameter></link></para></listitem>
862                 <listitem><para><link linkend="MINPRINTSPACE"><parameter>min print space</parameter></link></para></listitem>
863                 <listitem><para><link linkend="MSDFSROOT"><parameter>msdfs root</parameter></link></para></listitem>
864                 <listitem><para><link linkend="NTACLSUPPORT"><parameter>nt acl support</parameter></link></para></listitem>
865                 <listitem><para><link linkend="ONLYGUEST"><parameter>only guest</parameter></link></para></listitem>
866                 <listitem><para><link linkend="ONLYUSER"><parameter>only user</parameter></link></para></listitem>
867                 <listitem><para><link linkend="OPLOCKCONTENTIONLIMIT"><parameter>oplock contention limit</parameter></link></para></listitem>
868                 <listitem><para><link linkend="OPLOCKS"><parameter>oplocks</parameter></link></para></listitem>
869                 <listitem><para><link linkend="PATH"><parameter>path</parameter></link></para></listitem>
870                 <listitem><para><link linkend="POSIXLOCKING"><parameter>posix locking</parameter></link></para></listitem>
871                 <listitem><para><link linkend="POSTEXEC"><parameter>postexec</parameter></link></para></listitem>
872                 <listitem><para><link linkend="POSTSCRIPT"><parameter>postscript</parameter></link></para></listitem>
873                 <listitem><para><link linkend="PREEXEC"><parameter>preexec</parameter></link></para></listitem>
874                 <listitem><para><link linkend="PREEXECCLOSE"><parameter>preexec close</parameter></link></para></listitem>
875                 <listitem><para><link linkend="PRESERVECASE"><parameter>preserve case</parameter></link></para></listitem>
876                 <listitem><para><link linkend="PRINTCOMMAND"><parameter>print command</parameter></link></para></listitem>
877                 <listitem><para><link linkend="PRINTOK"><parameter>print ok</parameter></link></para></listitem>
878                 <listitem><para><link linkend="PRINTABLE"><parameter>printable</parameter></link></para></listitem>
879                 <listitem><para><link linkend="PRINTER"><parameter>printer</parameter></link></para></listitem>
880                 <listitem><para><link linkend="PRINTERADMIN"><parameter>printer admin</parameter></link></para></listitem>
881                 <listitem><para><link linkend="PRINTERDRIVER"><parameter>printer driver</parameter></link></para></listitem>
882                 <listitem><para><link linkend="PRINTERDRIVERLOCATION"><parameter>printer driver location</parameter></link></para></listitem>
883                 <listitem><para><link linkend="PRINTERNAME"><parameter>printer name</parameter></link></para></listitem>
884                 <listitem><para><link linkend="PRINTING"><parameter>printing</parameter></link></para></listitem>
885                 <listitem><para><link linkend="PUBLIC"><parameter>public</parameter></link></para></listitem>
886                 <listitem><para><link linkend="QUEUEPAUSECOMMAND"><parameter>queuepause command</parameter></link></para></listitem>
887                 <listitem><para><link linkend="QUEUERESUMECOMMAND"><parameter>queueresume command</parameter></link></para></listitem>
888                 <listitem><para><link linkend="READLIST"><parameter>read list</parameter></link></para></listitem>
889                 <listitem><para><link linkend="READONLY"><parameter>read only</parameter></link></para></listitem>
890                 <listitem><para><link linkend="ROOTPOSTEXEC"><parameter>root postexec</parameter></link></para></listitem>
891                 <listitem><para><link linkend="ROOTPREEXEC"><parameter>root preexec</parameter></link></para></listitem>
892                 <listitem><para><link linkend="ROOTPREEXECCLOSE"><parameter>root preexec close</parameter></link></para></listitem>
893                 <listitem><para><link linkend="SECURITYMASK"><parameter>security mask</parameter></link></para></listitem>
894                 <listitem><para><link linkend="SETDIRECTORY"><parameter>set directory</parameter></link></para></listitem>
895                 <listitem><para><link linkend="SHAREMODES"><parameter>share modes</parameter></link></para></listitem>
896                 <listitem><para><link linkend="SHORTPRESERVECASE"><parameter>short preserve case</parameter></link></para></listitem>
897                 <listitem><para><link linkend="STRICTALLOCATE"><parameter>strict allocate</parameter></link></para></listitem>
898                 <listitem><para><link linkend="STRICTLOCKING"><parameter>strict locking</parameter></link></para></listitem>
899                 <listitem><para><link linkend="STRICTSYNC"><parameter>strict sync</parameter></link></para></listitem>
900                 <listitem><para><link linkend="SYNCALWAYS"><parameter>sync always</parameter></link></para></listitem>
901                 <listitem><para><link linkend="USECLIENTDRIVER"><parameter>use client driver</parameter></link></para></listitem>
902                 <listitem><para><link linkend="USER"><parameter>user</parameter></link></para></listitem>
903                 <listitem><para><link linkend="USERNAME"><parameter>username</parameter></link></para></listitem>
904                 <listitem><para><link linkend="USERS"><parameter>users</parameter></link></para></listitem>
905                 <listitem><para><link linkend="VALIDUSERS"><parameter>valid users</parameter></link></para></listitem>
906                 <listitem><para><link linkend="VETOFILES"><parameter>veto files</parameter></link></para></listitem>
907                 <listitem><para><link linkend="VETOOPLOCKFILES"><parameter>veto oplock files</parameter></link></para></listitem>
908                 <listitem><para><link linkend="VFSPATH"><parameter>vfs path</parameter></link></para></listitem>
909                 <listitem><para><link linkend="VFSOBJECT"><parameter>vfs object</parameter></link></para></listitem>
910                 <listitem><para><link linkend="VFSOPTIONS"><parameter>vfs options</parameter></link></para></listitem>
911                 <listitem><para><link linkend="VOLUME"><parameter>volume</parameter></link></para></listitem>
912                 <listitem><para><link linkend="WIDELINKS"><parameter>wide links</parameter></link></para></listitem>
913                 <listitem><para><link linkend="WRITABLE"><parameter>writable</parameter></link></para></listitem>
914                 <listitem><para><link linkend="WRITECACHESIZE"><parameter>write cache size</parameter></link></para></listitem>
915                 <listitem><para><link linkend="WRITELIST"><parameter>write list</parameter></link></para></listitem>
916                 <listitem><para><link linkend="WRITEOK"><parameter>write ok</parameter></link></para></listitem>
917                 <listitem><para><link linkend="WRITEABLE"><parameter>writeable</parameter></link></para></listitem>
918         </itemizedlist>
919
920 </refsect1>
921
922 <refsect1>
923         <title>EXPLANATION OF EACH PARAMETER</title>
924         
925         <variablelist>
926
927                 <varlistentry>
928                 <term><anchor id="ABORTSHUTDOWNSCRIPT">abort shutdown script (G)</term>
929                 <listitem><para><emphasis>This parameter only exists in the HEAD cvs branch</emphasis>
930                 This a full path name to a script called by
931                 <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>  that
932                 should stop a shutdown procedure issued by the <link 
933                 linkend="SHUTDOWNSCRIPT"><parameter>shutdown script</parameter></link>.</para>
934                 
935                 <para>This command will be run as user.</para>
936
937                 <para>Default: <emphasis>None</emphasis>.</para>
938                 <para>Example: <command>abort shutdown script = /sbin/shutdown -c</command></para>
939                 </listitem>
940                 </varlistentry>
941
942                 <varlistentry>
943                 <term><anchor id="ADDPRINTERCOMMAND">addprinter command (G)</term>
944                 <listitem><para>With the introduction of MS-RPC based printing
945                 support for Windows NT/2000 clients in Samba 2.2, The MS Add
946                 Printer Wizard (APW) icon is now also available in the 
947                 "Printers..." folder displayed a share listing.  The APW
948                 allows for printers to be add remotely to a Samba or Windows 
949                 NT/2000 print server.</para>
950                 
951                 <para>For a Samba host this means that the printer must be 
952                 physically added to the underlying printing system.  The <parameter>add 
953                 printer command</parameter> defines a script to be run which 
954                 will perform the necessary operations for adding the printer
955                 to the print system and to add the appropriate service definition 
956                 to the  <filename>smb.conf</filename> file in order that it can be 
957                 shared by <ulink url="smbd.8.html"><command>smbd(8)</command>
958                 </ulink>.</para>
959                 
960                 <para>The <parameter>addprinter command</parameter> is
961                 automatically invoked with the following parameter (in 
962                 order:</para>
963                 
964                 <itemizedlist>
965                         <listitem><para><parameter>printer name</parameter></para></listitem>
966                         <listitem><para><parameter>share name</parameter></para></listitem>
967                         <listitem><para><parameter>port name</parameter></para></listitem>
968                         <listitem><para><parameter>driver name</parameter></para></listitem>
969                         <listitem><para><parameter>location</parameter></para></listitem>
970                         <listitem><para><parameter>Windows 9x driver location</parameter>
971                         </para></listitem>
972                 </itemizedlist>
973                 
974                 <para>All parameters are filled in from the PRINTER_INFO_2 structure sent 
975                 by the Windows NT/2000 client with one exception.  The "Windows 9x
976                 driver location" parameter is included for backwards compatibility
977                 only.  The remaining fields in the structure are generated from answers
978                 to the APW questions.</para>
979                 
980                 <para>Once the <parameter>addprinter command</parameter> has 
981                 been executed, <command>smbd</command> will reparse the <filename>
982                 smb.conf</filename> to determine if the share defined by the APW
983                 exists.  If the sharename is still invalid, then <command>smbd
984                 </command> will return an ACCESS_DENIED error to the client.</para>
985                 
986                 <para>See also <link linkend="DELETEPRINTERCOMMAND"><parameter>
987                 deleteprinter command</parameter></link>, <link 
988                 linkend="printing"><parameter>printing</parameter></link>,
989                 <link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
990                 printer wizard</parameter></link></para>
991                 
992                 <para>Default: <emphasis>none</emphasis></para>
993                 <para>Example: <command>addprinter command = /usr/bin/addprinter
994                 </command></para>
995                 </listitem>
996                 </varlistentry>
997
998
999
1000                 <varlistentry>
1001                 <term><anchor id="ADDSHARECOMMAND">add share command (G)</term>
1002                 <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
1003                 add and delete shares via the Windows NT 4.0 Server Manager.  The 
1004                 <parameter>add share command</parameter> is used to define an 
1005                 external program or script which will add a new service definition 
1006                 to <filename>smb.conf</filename>.  In order to successfully 
1007                 execute the <parameter>add share command</parameter>, <command>smbd</command>
1008                 requires that the administrator be connected using a root account (i.e. 
1009                 uid == 0).
1010                 </para>
1011                 
1012                 <para>
1013                 When executed, <command>smbd</command> will automatically invoke the 
1014                 <parameter>add share command</parameter> with four parameters.
1015                 </para>
1016                 
1017                 <itemizedlist>
1018                         <listitem><para><parameter>configFile</parameter> - the location 
1019                         of the global <filename>smb.conf</filename> file. 
1020                         </para></listitem>
1021                         
1022                         <listitem><para><parameter>shareName</parameter> - the name of the new 
1023                         share.
1024                         </para></listitem>
1025                         
1026                         <listitem><para><parameter>pathName</parameter> - path to an **existing**
1027                         directory on disk.
1028                         </para></listitem>
1029                         
1030                         <listitem><para><parameter>comment</parameter> - comment string to associate 
1031                         with the new share.
1032                         </para></listitem>
1033                 </itemizedlist>
1034                 
1035                 <para>
1036                 This parameter is only used for add file shares.  To add printer shares, 
1037                 see the <link linkend="ADDPRINTERCOMMAND"><parameter>addprinter 
1038                 command</parameter></link>.
1039                 </para>
1040                 
1041                 <para>
1042                 See also <link linkend="CHANGESHARECOMMAND"><parameter>change share 
1043                 command</parameter></link>, <link linkend="DELETESHARECOMMAND"><parameter>delete share
1044                 command</parameter></link>.
1045                 </para>
1046                 
1047                 <para>Default: <emphasis>none</emphasis></para>
1048                 <para>Example: <command>add share command = /usr/local/bin/addshare</command></para>
1049                 </listitem>
1050                 </varlistentry>
1051
1052
1053
1054                 <varlistentry>
1055                 <term><anchor id="ADDMACHINESCRIPT">add machine script (G)</term>
1056                 <listitem><para>This is the full pathname to a script that will 
1057                 be run by <ulink url="smbd.8.html">smbd(8)</ulink>  when a machine is added
1058                 to it's domain using the administrator username and password method. </para>
1059
1060                 <para>This option is only required when using sam back-ends tied to the
1061                 Unix uid method of RID calculation such as smbpasswd.  This option is only
1062                 available in Samba 3.0.</para>
1063
1064                 <para>Default: <command>add machine script = &lt;empty string&gt;
1065                 </command></para>       
1066
1067                 <para>Example: <command>add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
1068                 </command></para>
1069                 </listitem>
1070                 </varlistentry>
1071
1072                 <varlistentry>
1073                 <term><anchor id="ADSSERVER">ads server (G)</term>
1074                 <listitem><para>If this option is specified, samba does 
1075                 not try to figure out what ads server to use itself, but 
1076                 uses the specified ads server. Either one DNS name or IP 
1077                 address can be used.</para>
1078
1079                 <para>Default: <command>ads server = </command></para>
1080
1081                 <para>Example: <command>ads server = 192.168.1.2</command></para>
1082                 </listitem>
1083                 </varlistentry>
1084
1085                 <varlistentry>
1086                 <term><anchor id="ADDUSERSCRIPT">add user script (G)</term>
1087                 <listitem><para>This is the full pathname to a script that will 
1088                 be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)
1089                 </ulink> under special circumstances described below.</para>
1090
1091                 <para>Normally, a Samba server requires that UNIX users are 
1092                 created for all users accessing files on this server. For sites 
1093                 that use Windows NT account databases as their primary user database 
1094                 creating these users and keeping the user list in sync with the 
1095                 Windows NT PDC is an onerous task. This option allows <ulink 
1096                 url="smbd.8.html">smbd</ulink> to create the required UNIX users 
1097                 <emphasis>ON DEMAND</emphasis> when a user accesses the Samba server.</para>
1098
1099                 <para>In order to use this option, <ulink url="smbd.8.html">smbd</ulink> 
1100                 must <emphasis>NOT</emphasis> be set to <parameter>security = share</parameter>
1101                 and <parameter>add user script</parameter>
1102                 must be set to a full pathname for a script that will create a UNIX 
1103                 user given one argument of <parameter>%u</parameter>, which expands into 
1104                 the UNIX user name to create.</para>
1105
1106                 <para>When the Windows user attempts to access the Samba server, 
1107                 at login (session setup in the SMB protocol) time, <ulink url="smbd.8.html">
1108                 smbd</ulink> contacts the <parameter>password server</parameter> and 
1109                 attempts to authenticate the given user with the given password. If the 
1110                 authentication succeeds then <command>smbd</command> 
1111                 attempts to find a UNIX user in the UNIX password database to map the 
1112                 Windows user into. If this lookup fails, and <parameter>add user script
1113                 </parameter> is set then <command>smbd</command> will
1114                 call the specified script <emphasis>AS ROOT</emphasis>, expanding 
1115                 any <parameter>%u</parameter> argument to be the user name to create.</para>
1116
1117                 <para>If this script successfully creates the user then <command>smbd
1118                 </command> will continue on as though the UNIX user
1119                 already existed. In this way, UNIX users are dynamically created to
1120                 match existing Windows NT accounts.</para>
1121
1122                 <para>See also <link linkend="SECURITY"><parameter>
1123                 security</parameter></link>, <link linkend="PASSWORDSERVER">
1124                 <parameter>password server</parameter></link>, 
1125                 <link linkend="DELETEUSERSCRIPT"><parameter>delete user 
1126                 script</parameter></link>.</para>
1127
1128                 <para>Default: <command>add user script = &lt;empty string&gt;
1129                 </command></para>       
1130
1131                 <para>Example: <command>add user script = /usr/local/samba/bin/add_user 
1132                 %u</command></para>
1133                 </listitem>
1134                 </varlistentry>
1135                 
1136                 <varlistentry><term><anchor id="ADDGROUPSCRIPT">add group script (G)</term>
1137                 <listitem><para>This is the full pathname to a script that will 
1138                 be run <emphasis>AS ROOT</emphasis> by <ulink
1139                 url="smbd.8.html">smbd(8)</ulink> when a new group is
1140                 requested. It will expand any
1141                 <parameter>%g</parameter> to the group name passed.
1142                 This script is only useful for installations using the
1143                 Windows NT domain administration tools. The script is
1144                 free to create a group with an arbitrary name to
1145                 circumvent unix group name restrictions. In that case
1146                 the script must print the numeric gid of the created
1147                 group on stdout.
1148                 </para></listitem>
1149                 </varlistentry>
1150
1151                 <varlistentry>
1152                 <term><anchor id="ADMINUSERS">admin users (S)</term>
1153                 <listitem><para>This is a list of users who will be granted 
1154                 administrative privileges on the share. This means that they 
1155                 will do all file operations as the super-user (root).</para>
1156
1157                 <para>You should use this option very carefully, as any user in 
1158                 this list will be able to do anything they like on the share, 
1159                 irrespective of file permissions.</para>
1160
1161                 <para>Default: <emphasis>no admin users</emphasis></para>
1162
1163                 <para>Example: <command>admin users = jason</command></para>
1164                 </listitem>
1165                 </varlistentry>
1166
1167                 <varlistentry>
1168                 <term><anchor id="ADDUSERTOGROUPSCRIPT">add user to group script (G)</term>
1169                 <listitem><para>Full path to the script that will be called when 
1170                 a user is added to a group using the Windows NT domain administration 
1171                 tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink> 
1172                 <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be 
1173                 replaced with the group name and any <parameter>%u</parameter> will 
1174                 be replaced with the user name.
1175                 </para>
1176
1177                 <para>Default: <command>add user to group script = </command></para>
1178
1179                 <para>Example: <command>add user to group script = /usr/sbin/adduser %u %g</command></para>
1180                 
1181                 </listitem>
1182                 </varlistentry>
1183
1184                 <varlistentry>
1185                 <term><anchor id="ALLOWHOSTS">allow hosts (S)</term>
1186                 <listitem><para>Synonym for <link linkend="HOSTSALLOW">
1187                 <parameter>hosts allow</parameter></link>.</para></listitem>
1188                 </varlistentry>
1189                 
1190                 <varlistentry>
1191                 <term><anchor id="ALGORITHMICRIDBASE">algorithmic rid base (G)</term>
1192                 <listitem><para>This determines how Samba will use its
1193                 algorithmic mapping from uids/gid to the RIDs needed to construct
1194                 NT Security Identifiers.</para>
1195
1196                 <para>Setting this option to a larger value could be useful to sites
1197                 transitioning from WinNT and Win2k, as existing user and 
1198                 group rids would otherwise clash with sytem users etc. 
1199                 </para>
1200
1201                 <para>All UIDs and GIDs must be able to be resolved into SIDs for  
1202                 the correct operation of ACLs on the server.  As such the algorithmic
1203                 mapping can't be 'turned off', but pushing it 'out of the way' should
1204                 resolve the issues.  Users and groups can then be assigned 'low' RIDs
1205                 in arbitary-rid supporting backends. </para>
1206
1207                 <para>Default: <command>algorithmic rid base = 1000</command></para>
1208
1209                 <para>Example: <command>algorithmic rid base = 100000</command></para>
1210                 </listitem>
1211                 </varlistentry>
1212                 
1213                 <varlistentry>
1214                 <term><anchor id="ALLOWTRUSTEDDOMAINS">allow trusted domains (G)</term>
1215                 <listitem><para>This option only takes effect when the <link 
1216                 linkend="SECURITY"><parameter>security</parameter></link> option is set to 
1217                 <constant>server</constant> or <constant>domain</constant>.  
1218                 If it is set to no, then attempts to connect to a resource from 
1219                 a domain or workgroup other than the one which <ulink url="smbd.8.html">smbd</ulink> is running 
1220                 in will fail, even if that domain is trusted by the remote server 
1221                 doing the authentication.</para>
1222                 
1223                 <para>This is useful if you only want your Samba server to 
1224                 serve resources to users in the domain it is a member of. As 
1225                 an example, suppose that there are two domains DOMA and DOMB.  DOMB 
1226                 is trusted by DOMA, which contains the Samba server.  Under normal 
1227                 circumstances, a user with an account in DOMB can then access the 
1228                 resources of a UNIX account with the same account name on the 
1229                 Samba server even if they do not have an account in DOMA.  This 
1230                 can make implementing a security boundary difficult.</para>
1231
1232                 <para>Default: <command>allow trusted domains = yes</command></para>
1233
1234                 </listitem>
1235                 </varlistentry>
1236                 
1237                 <varlistentry>
1238                 <term><anchor id="ANNOUNCEAS">announce as (G)</term>
1239                 <listitem><para>This specifies what type of server 
1240                 <ulink url="nmbd.8.html"><command>nmbd</command></ulink> 
1241                 will announce itself as, to a network neighborhood browse 
1242                 list. By default this is set to Windows NT. The valid options 
1243                 are : "NT Server" (which can also be written as "NT"), 
1244                 "NT Workstation", "Win95" or "WfW" meaning Windows NT Server, 
1245                 Windows NT Workstation, Windows 95 and Windows for Workgroups 
1246                 respectively. Do not change this parameter unless you have a 
1247                 specific need to stop Samba appearing as an NT server as this 
1248                 may prevent Samba servers from participating as browser servers 
1249                 correctly.</para>
1250
1251                 <para>Default: <command>announce as = NT Server</command></para>
1252                 
1253                 <para>Example: <command>announce as = Win95</command></para>
1254                 </listitem>
1255                 </varlistentry>
1256                 
1257
1258
1259                 <varlistentry>
1260                 <term><anchor id="ANNOUNCEVERSION">announce version (G)</term>
1261                 <listitem><para>This specifies the major and minor version numbers 
1262                 that nmbd will use when announcing itself as a server. The default 
1263                 is 4.2.  Do not change this parameter unless you have a specific 
1264                 need to set a Samba server to be a downlevel server.</para>
1265
1266                 <para>Default: <command>announce version = 4.5</command></para>
1267
1268                 <para>Example: <command>announce version = 2.0</command></para>
1269                 </listitem>
1270                 </varlistentry>
1271
1272
1273
1274                 <varlistentry>
1275                 <term><anchor id="AUTOSERVICES">auto services (G)</term>
1276                 <listitem><para>This is a synonym for the <link linkend="PRELOAD">
1277                 <parameter>preload</parameter></link>.</para>
1278                 </listitem>
1279                 </varlistentry>
1280                 
1281
1282
1283                 <varlistentry>
1284                 <term><anchor id="AUTHMETHODS">auth methods (G)</term>
1285                 <listitem><para>This option allows the administrator to chose what
1286                 authentication methods <command>smbd</command> will use when authenticating
1287                 a user.  This option defaults to sensible values based on <link linkend="SECURITY"><parameter>
1288                 security</parameter></link>.
1289
1290                 Each entry in the list attempts to authenticate the user in turn, until
1291                 the user authenticates.  In practice only one method will ever actually 
1292                 be able to complete the authentication.
1293                 </para>
1294
1295                 <para>Default: <command>auth methods = &lt;empty string&gt;</command></para>
1296                 <para>Example: <command>auth methods = guest sam ntdomain</command></para>
1297                 </listitem>
1298                 </varlistentry>
1299
1300
1301                 <varlistentry>
1302                 <term><anchor id="AVAILABLE">available (S)</term>
1303                 <listitem><para>This parameter lets you "turn off" a service. If 
1304                 <parameter>available = no</parameter>, then <emphasis>ALL</emphasis> 
1305                 attempts to connect to the service will fail. Such failures are 
1306                 logged.</para>
1307
1308                 <para>Default: <command>available = yes</command></para>
1309                 
1310                 </listitem>
1311                 </varlistentry>
1312                 
1313
1314
1315                 <varlistentry>
1316                 <term><anchor id="BINDINTERFACESONLY">bind interfaces only (G)</term>
1317                 <listitem><para>This global parameter allows the Samba admin 
1318                 to limit what interfaces on a machine will serve SMB requests. If 
1319                 affects file service <ulink url="smbd.8.html">smbd(8)</ulink> and 
1320                 name service <ulink url="nmbd.8.html">nmbd(8)</ulink> in slightly 
1321                 different ways.</para>
1322
1323                 <para>For name service it causes <command>nmbd</command> to bind 
1324                 to ports 137 and 138 on the interfaces listed in the <link 
1325                 linkend="INTERFACES">interfaces</link> parameter. <command>nmbd
1326                 </command> also binds to the "all addresses" interface (0.0.0.0) 
1327                 on ports 137 and 138 for the purposes of reading broadcast messages. 
1328                 If this option is not set then <command>nmbd</command> will service 
1329                 name requests on all of these sockets. If <parameter>bind interfaces
1330                 only</parameter> is set then <command>nmbd</command> will check the 
1331                 source address of any packets coming in on the broadcast sockets 
1332                 and discard any that don't match the broadcast addresses of the 
1333                 interfaces in the <parameter>interfaces</parameter> parameter list. 
1334                 As unicast packets are received on the other sockets it allows 
1335                 <command>nmbd</command> to refuse to serve names to machines that 
1336                 send packets that arrive through any interfaces not listed in the
1337                 <parameter>interfaces</parameter> list.  IP Source address spoofing
1338                 does defeat this simple check, however so it must not be used
1339                 seriously as a security feature for <command>nmbd</command>.</para>
1340
1341                 <para>For file service it causes <ulink url="smbd.8.html">smbd(8)</ulink>
1342                 to bind only to the interface list given in the <link linkend="INTERFACES">
1343                 interfaces</link> parameter. This restricts the networks that 
1344                 <command>smbd</command> will serve to packets coming in those 
1345                 interfaces.  Note that you should not use this parameter for machines 
1346                 that are serving PPP or other intermittent or non-broadcast network 
1347                 interfaces as it will not cope with non-permanent interfaces.</para>
1348
1349                 <para>If <parameter>bind interfaces only</parameter> is set then 
1350                 unless the network address <emphasis>127.0.0.1</emphasis> is added 
1351                 to the <parameter>interfaces</parameter> parameter list <ulink
1352                 url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink> 
1353                 and <ulink url="swat.8.html"><command>swat(8)</command></ulink> may 
1354                 not work as expected due to the reasons covered below.</para>
1355
1356                 <para>To change a users SMB password, the <command>smbpasswd</command>
1357                 by default connects to the <emphasis>localhost - 127.0.0.1</emphasis> 
1358                 address as an SMB client to issue the password change request. If 
1359                 <parameter>bind interfaces only</parameter> is set then unless the 
1360                 network address <emphasis>127.0.0.1</emphasis> is added to the
1361                 <parameter>interfaces</parameter> parameter list then <command>
1362                 smbpasswd</command> will fail to connect in it's default mode. 
1363                 <command>smbpasswd</command> can be forced to use the primary IP interface 
1364                 of the local host by using its <ulink url="smbpasswd.8.html#minusr">
1365                 <parameter>-r <replaceable>remote machine</replaceable></parameter>
1366                 </ulink> parameter, with <replaceable>remote machine</replaceable> set 
1367                 to the IP name of the primary interface of the local host.</para>
1368
1369                 <para>The <command>swat</command> status page tries to connect with
1370                 <command>smbd</command> and <command>nmbd</command> at the address 
1371                 <emphasis>127.0.0.1</emphasis> to determine if they are running.  
1372                 Not adding <emphasis>127.0.0.1</emphasis>  will cause <command>
1373                 smbd</command> and <command>nmbd</command> to always show
1374                 "not running" even if they really are.  This can prevent <command>
1375                 swat</command> from starting/stopping/restarting <command>smbd</command>
1376                 and <command>nmbd</command>.</para>
1377
1378                 <para>Default: <command>bind interfaces only = no</command></para>
1379                 
1380                 </listitem>
1381                 </varlistentry>
1382
1383
1384
1385                 <varlistentry>
1386                 <term><anchor id="BLOCKINGLOCKS">blocking locks (S)</term>
1387                 <listitem><para>This parameter controls the behavior of <ulink 
1388                 url="smbd.8.html">smbd(8)</ulink> when given a request by a client 
1389                 to obtain a byte range lock on a region of an open file, and the 
1390                 request has a time limit associated with it.</para>
1391                 
1392                 <para>If this parameter is set and the lock range requested 
1393                 cannot be immediately satisfied, Samba 2.2 will internally 
1394                 queue the lock request, and periodically attempt to obtain 
1395                 the lock until the timeout period expires.</para>
1396
1397                 <para>If this parameter is set to <constant>false</constant>, then 
1398                 Samba 2.2 will behave as previous versions of Samba would and 
1399                 will fail the lock request immediately if the lock range 
1400                 cannot be obtained.</para>
1401
1402                 <para>Default: <command>blocking locks = yes</command></para>
1403
1404                 </listitem>
1405                 </varlistentry>
1406         
1407                 <varlistentry>
1408                 <term><anchor id="BLOCKSIZE">block size (S)</term>
1409                 <listitem><para>This parameter controls the behavior of 
1410                 <ulink url="smbd.8.html">smbd(8)</ulink> when reporting disk free 
1411                 sizes. By default, this reports a disk block size of 1024 bytes.
1412                 </para>        
1413                 
1414                 <para>Changing this parameter may have some effect on the
1415                 efficiency of client writes, this is not yet confirmed. This
1416                 parameter was added to allow advanced administrators to change
1417                 it (usually to a higher value) and test the effect it has on
1418                 client write performance without re-compiling the code. As this
1419                 is an experimental option it may be removed in a future release.
1420                 </para>
1421
1422                 <para>Changing this option does not change the disk free reporting
1423                 size, just the block size unit reported to the client.</para>
1424
1425                                                                                                                                                         <para>Default: <command>block size = 1024</command></para>
1426                                                                                                                                                                         <para>Example: <command>block size = 65536</command></para>
1427
1428                                                                                                                                                                                         </listitem>
1429                                                                                                                                                                                                         </varlistentry>
1430                                                                                                                                                                                                                 
1431
1432
1433                 <varlistentry>
1434                 <term><anchor id="BROWSABLE">browsable (S)</term>
1435                 <listitem><para>See the <link linkend="BROWSEABLE"><parameter>
1436                 browseable</parameter></link>.</para></listitem>
1437                 </varlistentry>
1438                 
1439
1440
1441                 <varlistentry>
1442                 <term><anchor id="BROWSELIST">browse list (G)</term>
1443                 <listitem><para>This controls whether <ulink url="smbd.8.html">
1444                 <command>smbd(8)</command></ulink> will serve a browse list to 
1445                 a client doing a <command>NetServerEnum</command> call. Normally 
1446                 set to <constant>true</constant>. You should never need to change 
1447                 this.</para>
1448                 
1449                 <para>Default: <command>browse list = yes</command></para></listitem>
1450                 </varlistentry>
1451                 
1452
1453
1454                 <varlistentry>
1455                 <term><anchor id="BROWSEABLE">browseable (S)</term>
1456                 <listitem><para>This controls whether this share is seen in 
1457                 the list of available shares in a net view and in the browse list.</para>
1458
1459                 <para>Default: <command>browseable = yes</command></para>
1460                 </listitem>
1461                 </varlistentry>
1462                 
1463
1464
1465                 <varlistentry>
1466                 <term><anchor id="CASESENSITIVE">case sensitive (S)</term>
1467                 <listitem><para>See the discussion in the section <link 
1468                 linkend="NAMEMANGLINGSECT">NAME MANGLING</link>.</para>
1469                 
1470                 <para>Default: <command>case sensitive = no</command></para>
1471                 </listitem>
1472                 </varlistentry>
1473
1474
1475
1476                 <varlistentry>
1477                 <term><anchor id="CASESIGNAMES">casesignames (S)</term>
1478                 <listitem><para>Synonym for <link linkend="CASESENSITIVE">case 
1479                 sensitive</link>.</para></listitem>
1480                 </varlistentry>
1481                 
1482                 
1483                 
1484                 <varlistentry>
1485                 <term><anchor id="CHANGENOTIFYTIMEOUT">change notify timeout (G)</term>
1486                 <listitem><para>This SMB allows a client to tell a server to 
1487                 "watch" a particular directory for any changes and only reply to
1488                 the SMB request when a change has occurred. Such constant scanning of
1489                 a directory is expensive under UNIX, hence an <ulink url="smbd.8.html">
1490                 <command>smbd(8)</command></ulink> daemon only performs such a scan 
1491                 on each requested directory once every <parameter>change notify 
1492                 timeout</parameter> seconds.</para>
1493
1494                 <para>Default: <command>change notify timeout = 60</command></para>
1495                 <para>Example: <command>change notify timeout = 300</command></para>
1496
1497                 <para>Would change the scan time to every 5 minutes.</para></listitem>
1498                 </varlistentry>
1499                 
1500
1501
1502                 <varlistentry>
1503                 <term><anchor id="CHANGESHARECOMMAND">change share command (G)</term>
1504                 <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
1505                 add and delete shares via the Windows NT 4.0 Server Manager.  The 
1506                 <parameter>change share command</parameter> is used to define an 
1507                 external program or script which will modify an existing service definition 
1508                 in <filename>smb.conf</filename>.  In order to successfully 
1509                 execute the <parameter>change share command</parameter>, <command>smbd</command>
1510                 requires that the administrator be connected using a root account (i.e. 
1511                 uid == 0).
1512                 </para>
1513                 
1514                 <para>
1515                 When executed, <command>smbd</command> will automatically invoke the 
1516                 <parameter>change share command</parameter> with four parameters.
1517                 </para>
1518                 
1519                 <itemizedlist>
1520                         <listitem><para><parameter>configFile</parameter> - the location 
1521                         of the global <filename>smb.conf</filename> file. 
1522                         </para></listitem>
1523                         
1524                         <listitem><para><parameter>shareName</parameter> - the name of the new 
1525                         share.
1526                         </para></listitem>
1527                         
1528                         <listitem><para><parameter>pathName</parameter> - path to an **existing**
1529                         directory on disk.
1530                         </para></listitem>
1531                         
1532                         <listitem><para><parameter>comment</parameter> - comment string to associate 
1533                         with the new share.
1534                         </para></listitem>
1535                 </itemizedlist>
1536                 
1537                 <para>
1538                 This parameter is only used modify existing file shares definitions.  To modify 
1539                 printer shares, use the "Printers..." folder as seen when browsing the Samba host.
1540                 </para>
1541                 
1542                 <para>
1543                 See also <link linkend="ADDSHARECOMMAND"><parameter>add share
1544                 command</parameter></link>, <link linkend="DELETESHARECOMMAND"><parameter>delete 
1545                 share command</parameter></link>.
1546                 </para>
1547                 
1548                 <para>Default: <emphasis>none</emphasis></para>
1549                 <para>Example: <command>change share command = /usr/local/bin/addshare</command></para>
1550                 </listitem>
1551                 </varlistentry>
1552
1553
1554                 
1555
1556                 
1557                 <varlistentry>
1558                 <term><anchor id="COMMENT">comment (S)</term>
1559                 <listitem><para>This is a text field that is seen next to a share 
1560                 when a client does a queries the server, either via the network 
1561                 neighborhood or via <command>net view</command> to list what shares 
1562                 are available.</para>
1563
1564                 <para>If you want to set the string that is displayed next to the 
1565                 machine name then see the <link linkend="SERVERSTRING"><parameter>
1566                 server string</parameter></link> parameter.</para>
1567
1568                 <para>Default: <emphasis>No comment string</emphasis></para>
1569                 <para>Example: <command>comment = Fred's Files</command></para></listitem>
1570                 </varlistentry>
1571                 
1572                 
1573                 
1574                 <varlistentry>
1575                 <term><anchor id="CONFIGFILE">config file (G)</term>
1576                 <listitem><para>This allows you to override the config file 
1577                 to use, instead of the default (usually <filename>smb.conf</filename>). 
1578                 There is a chicken and egg problem here as this option is set 
1579                 in the config file!</para>
1580
1581                 <para>For this reason, if the name of the config file has changed 
1582                 when the parameters are loaded then it will reload them from 
1583                 the new config file.</para>
1584
1585                 <para>This option takes the usual substitutions, which can 
1586                 be very useful.</para>
1587
1588                 <para>If the config file doesn't exist then it won't be loaded 
1589                 (allowing you to special case the config files of just a few 
1590                 clients).</para>
1591
1592                 <para>Example: <command>config file = /usr/local/samba/lib/smb.conf.%m
1593                 </command></para></listitem>
1594                 </varlistentry>
1595                 
1596                 
1597                 
1598                 <varlistentry>
1599                 <term><anchor id="COPY">copy (S)</term>
1600                 <listitem><para>This parameter allows you to "clone" service 
1601                 entries. The specified service is simply duplicated under the 
1602                 current service's name. Any parameters specified in the current 
1603                 section will override those in the section being copied.</para>
1604
1605                 <para>This feature lets you set up a 'template' service and 
1606                 create similar services easily. Note that the service being 
1607                 copied must occur earlier in the configuration file than the 
1608                 service doing the copying.</para>
1609
1610                 <para>Default: <emphasis>no value</emphasis></para>
1611                 <para>Example: <command>copy = otherservice</command></para></listitem>
1612                 </varlistentry>
1613                 
1614                 
1615                 
1616                 <varlistentry>
1617                 <term><anchor id="CREATEMASK">create mask (S)</term>
1618                 <listitem><para>A synonym for this parameter is 
1619                 <link linkend="CREATEMODE"><parameter>create mode</parameter>
1620                 </link>.</para>
1621
1622                 <para>When a file is created, the necessary permissions are 
1623                 calculated according to the mapping from DOS modes to UNIX 
1624                 permissions, and the resulting UNIX mode is then bit-wise 'AND'ed 
1625                 with this parameter. This parameter may be thought of as a bit-wise 
1626                 MASK for the UNIX modes of a file. Any bit <emphasis>not</emphasis> 
1627                 set here will be removed from the modes set on a file when it is 
1628                 created.</para>
1629
1630                 <para>The default value of this parameter removes the 
1631                 'group' and 'other' write and execute bits from the UNIX modes.</para>
1632
1633                 <para>Following this Samba will bit-wise 'OR' the UNIX mode created 
1634                 from this parameter with the value of the <link
1635                 linkend="FORCECREATEMODE"><parameter>force create mode</parameter></link>
1636                 parameter which is set to 000 by default.</para>
1637
1638                 <para>This parameter does not affect directory modes. See the 
1639                 parameter <link linkend="DIRECTORYMODE"><parameter>directory mode
1640                 </parameter></link> for details.</para>
1641
1642                 <para>See also the <link linkend="FORCECREATEMODE"><parameter>force 
1643                 create mode</parameter></link> parameter for forcing particular mode 
1644                 bits to be set on created files. See also the <link linkend="DIRECTORYMODE">
1645                 <parameter>directory mode</parameter></link> parameter for masking 
1646                 mode bits on created directories.  See also the <link linkend="INHERITPERMISSIONS">
1647                 <parameter>inherit permissions</parameter></link> parameter.</para>
1648
1649                 <para>Note that this parameter does not apply to permissions
1650                 set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
1651                 a mask on access control lists also, they need to set the <link 
1652                 linkend="SECURITYMASK"><parameter>security mask</parameter></link>.</para>
1653
1654                 <para>Default: <command>create mask = 0744</command></para>
1655                 <para>Example: <command>create mask = 0775</command></para></listitem>
1656                 </varlistentry>
1657                 
1658                 
1659                 
1660                 <varlistentry>
1661                 <term><anchor id="CREATEMODE">create mode (S)</term>
1662                 <listitem><para>This is a synonym for <link linkend="CREATEMASK"><parameter>
1663                 create mask</parameter></link>.</para></listitem>
1664                 </varlistentry>
1665                 
1666                 
1667                 <varlistentry>
1668                 <term><anchor id="CSCPOLICY">csc policy (S)</term>
1669                 <listitem><para>This stands for <emphasis>client-side caching 
1670                 policy</emphasis>, and specifies how clients capable of offline
1671                 caching will cache the files in the share. The valid values
1672                 are: manual, documents, programs, disable.</para>
1673
1674                 <para>These values correspond to those used on Windows
1675                 servers.</para>
1676
1677                 <para>For example, shares containing roaming profiles can have
1678                 offline caching disabled using <command>csc policy = disable
1679                 </command>.</para>
1680
1681                 <para>Default: <command>csc policy = manual</command></para>
1682                 <para>Example: <command>csc policy = programs</command></para>
1683                 </listitem>
1684                 </varlistentry>
1685                 
1686                 <varlistentry>
1687                 <term><anchor id="DEADTIME">deadtime (G)</term>
1688                 <listitem><para>The value of the parameter (a decimal integer) 
1689                 represents the number of minutes of inactivity before a connection 
1690                 is considered dead, and it is disconnected. The deadtime only takes 
1691                 effect if the number of open files is zero.</para>
1692                 
1693                 <para>This is useful to stop a server's resources being 
1694                 exhausted by a large number of inactive connections.</para>
1695
1696                 <para>Most clients have an auto-reconnect feature when a 
1697                 connection is broken so in most cases this parameter should be 
1698                 transparent to users.</para>
1699
1700                 <para>Using this parameter with a timeout of a few minutes 
1701                 is recommended for most systems.</para>
1702
1703                 <para>A deadtime of zero indicates that no auto-disconnection 
1704                 should be performed.</para>
1705
1706                 <para>Default: <command>deadtime = 0</command></para>
1707                 <para>Example: <command>deadtime = 15</command></para></listitem>
1708                 </varlistentry>
1709
1710
1711
1712                 <varlistentry>
1713                 <term><anchor id="DEBUGHIRESTIMESTAMP">debug hires timestamp (G)</term>
1714                 <listitem><para>Sometimes the timestamps in the log messages 
1715                 are needed with a resolution of higher that seconds, this 
1716                 boolean parameter adds microsecond resolution to the timestamp 
1717                 message header when turned on.</para>
1718
1719                 <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter>
1720                 debug timestamp</parameter></link> must be on for this to have an 
1721                 effect.</para>
1722
1723                 <para>Default: <command>debug hires timestamp = no</command></para>
1724                 </listitem>
1725                 </varlistentry>
1726                 
1727
1728
1729                 <varlistentry>
1730                 <term><anchor id="DEBUGPID">debug pid (G)</term>
1731                 <listitem><para>When using only one log file for more then one 
1732                 forked <ulink url="smbd.8.html">smbd</ulink>-process there may be hard to follow which process 
1733                 outputs which message. This boolean parameter is adds the process-id 
1734                 to the timestamp message headers in the logfile when turned on.</para>
1735
1736                 <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter>
1737                 debug timestamp</parameter></link> must be on for this to have an 
1738                 effect.</para>
1739
1740                 <para>Default: <command>debug pid = no</command></para></listitem>
1741                 </varlistentry>
1742
1743
1744                 <varlistentry>
1745                 <term><anchor id="DEBUGTIMESTAMP">debug timestamp (G)</term>
1746                 <listitem><para>Samba 2.2 debug log messages are timestamped 
1747                 by default. If you are running at a high <link linkend="DEBUGLEVEL">
1748                 <parameter>debug level</parameter></link> these timestamps
1749                 can be distracting. This boolean parameter allows timestamping 
1750                 to be turned off.</para>
1751
1752                 <para>Default: <command>debug timestamp = yes</command></para></listitem>
1753                 </varlistentry>
1754
1755
1756
1757                 <varlistentry>
1758                 <term><anchor id="DEBUGUID">debug uid (G)</term>
1759                 <listitem><para>Samba is sometimes run as root and sometime 
1760                 run as the connected user, this boolean parameter inserts the 
1761                 current euid, egid, uid and gid to the timestamp message headers 
1762                 in the log file if turned on.</para>
1763                 
1764                 <para>Note that the parameter <link linkend="DEBUGTIMESTAMP"><parameter>
1765                 debug timestamp</parameter></link> must be on for this to have an 
1766                 effect.</para>
1767
1768                 <para>Default: <command>debug uid = no</command></para></listitem>
1769                 </varlistentry>
1770
1771
1772
1773                 <varlistentry>
1774                 <term><anchor id="DEBUGLEVEL">debuglevel (G)</term>
1775                 <listitem><para>Synonym for <link linkend="LOGLEVEL"><parameter>
1776                 log level</parameter></link>.</para>
1777                 </listitem>
1778                 </varlistentry>
1779
1780
1781
1782                 <varlistentry>
1783                 <term><anchor id="DEFAULT">default (G)</term>
1784                 <listitem><para>A synonym for <link linkend="DEFAULTSERVICE"><parameter>
1785                 default service</parameter></link>.</para></listitem>
1786                 </varlistentry>
1787                 
1788                 
1789                 
1790                 <varlistentry>
1791                 <term><anchor id="DEFAULTCASE">default case (S)</term>
1792                 <listitem><para>See the section on <link linkend="NAMEMANGLINGSECT">
1793                 NAME MANGLING</link>. Also note the <link linkend="SHORTPRESERVECASE">
1794                 <parameter>short preserve case</parameter></link> parameter.</para>
1795
1796                 <para>Default: <command>default case = lower</command></para>
1797                 </listitem>
1798                 </varlistentry>
1799
1800
1801
1802                 <varlistentry>
1803                 <term><anchor id="DEFAULTDEVMODE">default devmode (S)</term>
1804                 <listitem><para>This parameter is only applicable to <link
1805                 linkend="PRINTOK">printable</link> services.  When smbd is serving
1806                 Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
1807                 server has a Device Mode which defines things such as paper size and
1808                 orientation and duplex settings.  The device mode can only correctly be
1809                 generated by the printer driver itself (which can only be executed on a
1810                 Win32 platform).  Because smbd is unable to execute the driver code
1811                 to generate the device mode, the default behavior is to set this field
1812                 to NULL.
1813                 </para>
1814
1815                 <para>Most problems with serving printer drivers to Windows NT/2k/XP clients
1816                 can be traced to a problem with the generated device mode.  Certain drivers
1817                 will do things such as crashing the client's Explorer.exe with a NULL devmode.
1818                 However, other printer drivers can cause the client's spooler service
1819                 (spoolsv.exe) to die if the devmode was not created by the driver itself
1820                 (i.e. smbd generates a default devmode).
1821                 </para>
1822
1823                 <para>This parameter should be used with care and tested with the printer
1824                 driver in question.  It is better to leave the device mode to NULL
1825                 and let the Windows client set the correct values.  Because drivers do not
1826                 do this all the time, setting <command>default devmode = yes</command>
1827                 will instruct smbd to generate a default one.
1828                 </para>
1829
1830                 <para>For more information on Windows NT/2k printing and Device Modes,
1831                 see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>.
1832                 </para>
1833
1834                 <para>Default: <command>default devmode = no</command></para>
1835                 </listitem>
1836                 </varlistentry>
1837
1838
1839
1840                 <varlistentry>
1841                 <term><anchor id="DEFAULTSERVICE">default service (G)</term>
1842                 <listitem><para>This parameter specifies the name of a service
1843                 which will be connected to if the service actually requested cannot
1844                 be found. Note that the square brackets are <emphasis>NOT</emphasis>
1845                 given in the parameter value (see example below).</para>
1846
1847                 <para>There is no default value for this parameter. If this 
1848                 parameter is not given, attempting to connect to a nonexistent 
1849                 service results in an error.</para>
1850
1851                 <para>Typically the default service would be a <link linkend="GUESTOK">
1852                 <parameter>guest ok</parameter></link>, <link linkend="READONLY">
1853                 <parameter>read-only</parameter></link> service.</para>
1854
1855                 <para>Also note that the apparent service name will be changed 
1856                 to equal that of the requested service, this is very useful as it 
1857                 allows you to use macros like <parameter>%S</parameter> to make 
1858                 a wildcard service.</para>
1859
1860                 <para>Note also that any "_" characters in the name of the service 
1861                 used in the default service will get mapped to a "/". This allows for
1862                 interesting things.</para>
1863
1864
1865                 <para>Example:</para>
1866                 
1867                 <para><programlisting>
1868 [global]
1869         default service = pub
1870         
1871 [pub]
1872         path = /%S
1873                 </programlisting></para>
1874                 </listitem>
1875                 </varlistentry>
1876                 
1877                 <varlistentry><term><anchor id="DELETEGROUPSCRIPT">delete group script (G)</term>
1878                 <listitem><para>This is the full pathname to a script that will 
1879                 be run <emphasis>AS ROOT</emphasis> by <ulink url="smbd.8.html">smbd(8)</ulink> when a group is requested to be deleted. It will expand any <parameter>%g</parameter> to the group name passed.  This script is only useful for installations using the Windows NT domain administration tools.
1880                 </para></listitem>
1881                 </varlistentry>
1882
1883                 <varlistentry>
1884                 <term><anchor id="DELETEPRINTERCOMMAND">deleteprinter command (G)</term>
1885                 <listitem><para>With the introduction of MS-RPC based printer
1886                 support for Windows NT/2000 clients in Samba 2.2, it is now 
1887                 possible to delete printer at run time by issuing the 
1888                 DeletePrinter() RPC call.</para>
1889                 
1890                 <para>For a Samba host this means that the printer must be 
1891                 physically deleted from underlying printing system.  The <parameter>
1892                 deleteprinter command</parameter> defines a script to be run which 
1893                 will perform the necessary operations for removing the printer
1894                 from the print system and from <filename>smb.conf</filename>.
1895                 </para>
1896                 
1897                 <para>The <parameter>deleteprinter command</parameter> is 
1898                 automatically called with only one parameter: <parameter>
1899                 "printer name"</parameter>.</para>
1900                 
1901                                 
1902                 <para>Once the <parameter>deleteprinter command</parameter> has 
1903                 been executed, <command>smbd</command> will reparse the <filename>
1904                 smb.conf</filename> to associated printer no longer exists.  
1905                 If the sharename is still valid, then <command>smbd
1906                 </command> will return an ACCESS_DENIED error to the client.</para>
1907                 
1908                 <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter>
1909                 addprinter command</parameter></link>, <link 
1910                 linkend="printing"><parameter>printing</parameter></link>,
1911                 <link linkend="SHOWADDPRINTERWIZARD"><parameter>show add
1912                 printer wizard</parameter></link></para>
1913                 
1914                 <para>Default: <emphasis>none</emphasis></para>
1915                 <para>Example: <command>deleteprinter command = /usr/bin/removeprinter
1916                 </command></para>
1917                 </listitem>
1918                 </varlistentry>
1919
1920
1921
1922
1923
1924
1925                 <varlistentry>
1926                 <term><anchor id="DELETEREADONLY">delete readonly (S)</term>
1927                 <listitem><para>This parameter allows readonly files to be deleted.  
1928                 This is not normal DOS semantics, but is allowed by UNIX.</para>
1929                 
1930                 <para>This option may be useful for running applications such 
1931                 as rcs, where UNIX file ownership prevents changing file 
1932                 permissions, and DOS semantics prevent deletion of a read only file.</para>
1933
1934                 <para>Default: <command>delete readonly = no</command></para></listitem>
1935                 </varlistentry>
1936
1937
1938
1939                 <varlistentry>
1940                 <term><anchor id="DELETESHARECOMMAND">delete share command (G)</term>
1941                 <listitem><para>Samba 2.2.0 introduced the ability to dynamically 
1942                 add and delete shares via the Windows NT 4.0 Server Manager.  The 
1943                 <parameter>delete share command</parameter> is used to define an 
1944                 external program or script which will remove an existing service 
1945                 definition from <filename>smb.conf</filename>.  In order to successfully 
1946                 execute the <parameter>delete share command</parameter>, <command>smbd</command>
1947                 requires that the administrator be connected using a root account (i.e. 
1948                 uid == 0).
1949                 </para>
1950                 
1951                 <para>
1952                 When executed, <command>smbd</command> will automatically invoke the 
1953                 <parameter>delete share command</parameter> with two parameters.
1954                 </para>
1955                 
1956                 <itemizedlist>
1957                         <listitem><para><parameter>configFile</parameter> - the location 
1958                         of the global <filename>smb.conf</filename> file. 
1959                         </para></listitem>
1960                         
1961                         <listitem><para><parameter>shareName</parameter> - the name of 
1962                         the existing service.
1963                         </para></listitem>
1964                 </itemizedlist>
1965                 
1966                 <para>
1967                 This parameter is only used to remove file shares.  To delete printer shares, 
1968                 see the <link linkend="DELETEPRINTERCOMMAND"><parameter>deleteprinter 
1969                 command</parameter></link>.
1970                 </para>
1971                 
1972                 <para>
1973                 See also <link linkend="ADDSHARECOMMAND"><parameter>add share
1974                 command</parameter></link>, <link linkend="CHANGESHARECOMMAND"><parameter>change 
1975                 share command</parameter></link>.
1976                 </para>
1977                 
1978                 <para>Default: <emphasis>none</emphasis></para>
1979                 <para>Example: <command>delete share command = /usr/local/bin/delshare</command></para>
1980                 
1981                 </listitem>
1982                 </varlistentry>
1983
1984
1985                 
1986                 
1987                 <varlistentry>
1988                 <term><anchor id="DELETEUSERSCRIPT">delete user script (G)</term>
1989                 <listitem><para>This is the full pathname to a script that will 
1990                 be run by <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
1991                 when managing user's with remote RPC (NT) tools.
1992                 </para>
1993
1994                 <para>This script is called when a remote client removes a user
1995                 from the server, normally using 'User Manager for Domains' or
1996                 <command>rpcclient</command>.
1997                 </para>
1998
1999                 <para>This script should delete the given UNIX username. 
2000                 </para>
2001
2002                 <para>Default: <command>delete user script = &lt;empty string&gt;
2003                 </command></para>
2004                 <para>Example: <command>delete user script = /usr/local/samba/bin/del_user 
2005                 %u</command></para></listitem>
2006                 </varlistentry>
2007
2008                 <varlistentry>
2009                 <term><anchor id="DELETEUSERFROMGROUPSCRIPT">delete user from group script (G)</term>
2010                 <listitem><para>Full path to the script that will be called when 
2011                 a user is removed from a group using the Windows NT domain administration 
2012                 tools. It will be run by <ulink url="smbd.8.html">smbd(8)</ulink> 
2013                 <emphasis>AS ROOT</emphasis>. Any <parameter>%g</parameter> will be 
2014                 replaced with the group name and any <parameter>%u</parameter> will 
2015                 be replaced with the user name.
2016                 </para>
2017
2018                 <para>Default: <command>delete user from group script = </command></para>
2019
2020                 <para>Example: <command>delete user from group script = /usr/sbin/deluser %u %g</command></para>
2021                 
2022                 </listitem>
2023                 </varlistentry>
2024
2025                 <varlistentry>
2026                 <term><anchor id="DELETEVETOFILES">delete veto files (S)</term>
2027                 <listitem><para>This option is used when Samba is attempting to 
2028                 delete a directory that contains one or more vetoed directories 
2029                 (see the <link linkend="VETOFILES"><parameter>veto files</parameter></link>
2030                 option).  If this option is set to <constant>false</constant> (the default) then if a vetoed 
2031                 directory contains any non-vetoed files or directories then the 
2032                 directory delete will fail. This is usually what you want.</para>
2033
2034                 <para>If this option is set to <constant>true</constant>, then Samba 
2035                 will attempt to recursively delete any files and directories within 
2036                 the vetoed directory. This can be useful for integration with file 
2037                 serving systems such as NetAtalk which create meta-files within 
2038                 directories you might normally veto DOS/Windows users from seeing 
2039                 (e.g. <filename>.AppleDouble</filename>)</para>
2040
2041                 <para>Setting <command>delete veto files = yes</command> allows these 
2042                 directories to be  transparently deleted when the parent directory 
2043                 is deleted (so long as the user has permissions to do so).</para>
2044
2045                 <para>See also the <link linkend="VETOFILES"><parameter>veto 
2046                 files</parameter></link> parameter.</para>
2047
2048                 <para>Default: <command>delete veto files = no</command></para></listitem>
2049                 </varlistentry>
2050
2051
2052
2053
2054                 <varlistentry>
2055                 <term><anchor id="DENYHOSTS">deny hosts (S)</term>
2056                 <listitem><para>Synonym for <link linkend="HOSTSDENY"><parameter>hosts 
2057                 deny</parameter></link>.</para></listitem>
2058                 </varlistentry>
2059
2060                 
2061                 
2062                 
2063                 <varlistentry>
2064                 <term><anchor id="DFREECOMMAND">dfree command (G)</term>
2065                 <listitem><para>The <parameter>dfree command</parameter> setting should 
2066                 only be used on systems where a problem occurs with the internal 
2067                 disk space calculations. This has been known to happen with Ultrix, 
2068                 but may occur with other operating systems. The symptom that was 
2069                 seen was an error of "Abort Retry Ignore" at the end of each 
2070                 directory listing.</para>
2071                 
2072                 <para>This setting allows the replacement of the internal routines to
2073                 calculate the total disk space and amount available with an external
2074                 routine. The example below gives a possible script that might fulfill
2075                 this function.</para>
2076
2077                 <para>The external program will be passed a single parameter indicating 
2078                 a directory in the filesystem being queried. This will typically consist
2079                 of the string <filename>./</filename>. The script should return two 
2080                 integers in ASCII. The first should be the total disk space in blocks, 
2081                 and the second should be the number of available blocks. An optional 
2082                 third return value can give the block size in bytes. The default 
2083                 blocksize is 1024 bytes.</para>
2084
2085                 <para>Note: Your script should <emphasis>NOT</emphasis> be setuid or 
2086                 setgid and should be owned by (and writeable only by) root!</para>
2087
2088                 <para>Default: <emphasis>By default internal routines for 
2089                 determining the disk capacity and remaining space will be used.
2090                 </emphasis></para>
2091
2092                 <para>Example: <command>dfree command = /usr/local/samba/bin/dfree
2093                 </command></para>
2094
2095                 <para>Where the script dfree (which must be made executable) could be:</para>
2096
2097                 <para><programlisting> 
2098                 #!/bin/sh
2099                 df $1 | tail -1 | awk '{print $2" "$4}'
2100                 </programlisting></para>
2101
2102                 <para>or perhaps (on Sys V based systems):</para>
2103
2104                 <para><programlisting> 
2105                 #!/bin/sh
2106                 /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
2107                 </programlisting></para>
2108                 
2109                 <para>Note that you may have to replace the command names 
2110                 with full path names on some systems.</para>
2111                 </listitem>
2112                 </varlistentry>
2113                 
2114                 
2115                 
2116                 
2117                 <varlistentry>
2118                 <term><anchor id="DIRECTORY">directory (S)</term>
2119                 <listitem><para>Synonym for <link linkend="PATH"><parameter>path
2120                 </parameter></link>.</para></listitem>
2121                 </varlistentry>
2122                 
2123                 
2124                 
2125                 <varlistentry>
2126                 <term><anchor id="DIRECTORYMASK">directory mask (S)</term>
2127                 <listitem><para>This parameter is the octal modes which are 
2128                 used when converting DOS modes to UNIX modes when creating UNIX 
2129                 directories.</para>
2130
2131                 <para>When a directory is created, the necessary permissions are 
2132                 calculated according to the mapping from DOS modes to UNIX permissions, 
2133                 and the resulting UNIX mode is then bit-wise 'AND'ed with this 
2134                 parameter. This parameter may be thought of as a bit-wise MASK for 
2135                 the UNIX modes of a directory. Any bit <emphasis>not</emphasis> set 
2136                 here will be removed from the modes set on a directory when it is 
2137                 created.</para>
2138
2139                 <para>The default value of this parameter removes the 'group' 
2140                 and 'other' write bits from the UNIX mode, allowing only the 
2141                 user who owns the directory to modify it.</para>
2142                 
2143                 <para>Following this Samba will bit-wise 'OR' the UNIX mode 
2144                 created from this parameter with the value of the <link
2145                 linkend="FORCEDIRECTORYMODE"><parameter>force directory mode
2146                 </parameter></link> parameter. This parameter is set to 000 by 
2147                 default (i.e. no extra mode bits are added).</para>
2148
2149                 <para>Note that this parameter does not apply to permissions
2150                 set by Windows NT/2000 ACL editors. If the administrator wishes to enforce
2151                 a mask on access control lists also, they need to set the <link 
2152                 linkend="DIRECTORYSECURITYMASK"><parameter>directory security mask</parameter></link>.</para>
2153
2154                 <para>See the <link linkend="FORCEDIRECTORYMODE"><parameter>force 
2155                 directory mode</parameter></link> parameter to cause particular mode 
2156                 bits to always be set on created directories.</para>
2157
2158                 <para>See also the <link linkend="CREATEMODE"><parameter>create mode
2159                 </parameter></link> parameter for masking mode bits on created files, 
2160                 and the <link linkend="DIRECTORYSECURITYMASK"><parameter>directory 
2161                 security mask</parameter></link> parameter.</para>
2162
2163                 <para>Also refer to the <link linkend="INHERITPERMISSIONS"><parameter>
2164                 inherit permissions</parameter></link> parameter.</para>
2165
2166                 <para>Default: <command>directory mask = 0755</command></para>
2167                 <para>Example: <command>directory mask = 0775</command></para>
2168                 </listitem>
2169                 </varlistentry>
2170
2171
2172
2173                 <varlistentry>
2174                 <term><anchor id="DIRECTORYMODE">directory mode (S)</term>
2175                 <listitem><para>Synonym for <link linkend="DIRECTORYMASK"><parameter>
2176                 directory mask</parameter></link></para></listitem>
2177                 </varlistentry>
2178                 
2179                 
2180                 
2181                 <varlistentry>
2182                 <term><anchor id="DIRECTORYSECURITYMASK">directory security mask (S)</term>
2183                 <listitem><para>This parameter controls what UNIX permission bits 
2184                 can be modified when a Windows NT client is manipulating the UNIX 
2185                 permission on a directory using the native NT security dialog 
2186                 box.</para>
2187
2188                 <para>This parameter is applied as a mask (AND'ed with) to 
2189                 the changed permission bits, thus preventing any bits not in 
2190                 this mask from being modified. Essentially, zero bits in this 
2191                 mask may be treated as a set of bits the user is not allowed 
2192                 to change.</para>
2193
2194                 <para>If not set explicitly this parameter is set to 0777
2195                 meaning a user is allowed to modify all the user/group/world
2196                 permissions on a directory.</para>
2197
2198                 <para><emphasis>Note</emphasis> that users who can access the 
2199                 Samba server through other means can easily bypass this restriction, 
2200                 so it is primarily useful for standalone "appliance" systems.  
2201                 Administrators of most normal systems will probably want to leave
2202                 it as the default of <constant>0777</constant>.</para>
2203
2204                 <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE"><parameter>
2205                 force directory security mode</parameter></link>, <link
2206                 linkend="SECURITYMASK"><parameter>security mask</parameter></link>, 
2207                 <link linkend="FORCESECURITYMODE"><parameter>force security mode
2208                 </parameter></link> parameters.</para>
2209
2210                 <para>Default: <command>directory security mask = 0777</command></para>
2211                 <para>Example: <command>directory security mask = 0700</command></para>
2212                 </listitem>
2213                 </varlistentry>
2214
2215
2216                 <varlistentry>
2217                 <term><anchor id="DISABLENETBIOS">disable netbios (G)</term>
2218                 <listitem><para>Enabling this parameter will disable netbios support
2219                 in Samba. Netbios is the only available form of browsing in 
2220                 all windows versions except for 2000 and XP. </para>
2221
2222                 <para>Note that clients that only support netbios won't be able to 
2223                 see your samba server when netbios support is disabled.
2224                 </para>
2225
2226                 <para>Default: <command>disable netbios = no</command></para>
2227                 <para>Example: <command>disable netbios = yes</command></para>
2228                 </listitem>
2229                 </varlistentry>
2230
2231                 <varlistentry>
2232                 <term><anchor id="DISABLESPOOLSS">disable spoolss (G)</term>
2233                 <listitem><para>Enabling this parameter will disable Samba's support
2234                 for the SPOOLSS set of MS-RPC's and will yield identical behavior
2235                 as Samba 2.0.x.  Windows NT/2000 clients will downgrade to using
2236                 Lanman style printing commands. Windows 9x/ME will be uneffected by
2237                 the parameter. However, this will also disable the ability to upload
2238                 printer drivers to a Samba server via the Windows NT Add Printer
2239                 Wizard or by using the NT printer properties dialog window.  It will
2240                 also disable the capability of Windows NT/2000 clients to download
2241                 print drivers from the Samba host upon demand.
2242                 <emphasis>Be very careful about enabling this parameter.</emphasis>
2243                 </para>
2244
2245                 <para>See also <link linkend="USECLIENTDRIVER">use client driver</link>
2246                 </para>
2247  
2248                 <para>Default : <command>disable spoolss = no</command></para>
2249                 </listitem>
2250                 </varlistentry>
2251                 
2252                 <varlistentry>
2253                 <term><anchor id="DISPLAYCHARSET">display charset (G)</term>
2254                 <listitem><para>Specifies the charset that samba will use 
2255                 to print messages to stdout and stderr and SWAT will use. 
2256                 Should generally be the same as the <command>unix charset</command>.
2257                 </para>
2258
2259                 <para>Default: <command>display charset = ASCII</command></para>
2260
2261                 <para>Example: <command>display charset = UTF8</command></para>
2262
2263                 </listitem>
2264                 </varlistentry>
2265                 
2266                 
2267                 <varlistentry>
2268                 <term><anchor id="DNSPROXY">dns proxy (G)</term>
2269                 <listitem><para>Specifies that <ulink url="nmbd.8.html">nmbd(8)</ulink> 
2270                 when acting as a WINS server and finding that a NetBIOS name has not 
2271                 been registered, should treat the NetBIOS name word-for-word as a DNS 
2272                 name and do a lookup with the DNS server for that name on behalf of 
2273                 the name-querying client.</para>
2274
2275                 <para>Note that the maximum length for a NetBIOS name is 15 
2276                 characters, so the DNS name (or DNS alias) can likewise only be 
2277                 15 characters, maximum.</para>
2278
2279                 <para><command>nmbd</command> spawns a second copy of itself to do the
2280                 DNS name lookup requests, as doing a name lookup is a blocking 
2281                 action.</para>
2282
2283                 <para>See also the parameter <link linkend="WINSSUPPORT"><parameter>
2284                 wins support</parameter></link>.</para>
2285
2286                 <para>Default: <command>dns proxy = yes</command></para></listitem>
2287                 </varlistentry>
2288
2289
2290                 <varlistentry>
2291                 <term><anchor id="DOMAINLOGONS">domain logons (G)</term>
2292                 <listitem><para>If set to <constant>true</constant>, the Samba server will serve 
2293                 Windows 95/98 Domain logons for the <link linkend="WORKGROUP">
2294                 <parameter>workgroup</parameter></link> it is in. Samba 2.2 also 
2295                 has limited capability to act as a domain controller for Windows 
2296                 NT 4 Domains.  For more details on setting up this feature see 
2297                 the Samba-PDC-HOWTO included in the <filename>htmldocs/</filename>
2298                 directory shipped with the source code.</para>
2299                 
2300                 <para>Default: <command>domain logons = no</command></para></listitem>
2301                 </varlistentry>
2302                 
2303                 
2304                 
2305                 <varlistentry>
2306                 <term><anchor id="DOMAINMASTER">domain master (G)</term>
2307                 <listitem><para>Tell <ulink url="nmbd.8.html"><command>
2308                 nmbd(8)</command></ulink> to enable WAN-wide browse list
2309                 collation. Setting this option causes <command>nmbd</command> to
2310                 claim a special domain specific NetBIOS name that identifies 
2311                 it as a domain master browser for its given <link linkend="WORKGROUP">
2312                 <parameter>workgroup</parameter></link>. Local master browsers 
2313                 in the same <parameter>workgroup</parameter> on broadcast-isolated 
2314                 subnets will give this <command>nmbd</command> their local browse lists, 
2315                 and then ask <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> 
2316                 for a complete copy of the browse list for the whole wide area 
2317                 network.  Browser clients will then contact their local master browser, 
2318                 and will receive the domain-wide browse list, instead of just the list 
2319                 for their broadcast-isolated subnet.</para>
2320
2321                 <para>Note that Windows NT Primary Domain Controllers expect to be 
2322                 able to claim this <parameter>workgroup</parameter> specific special 
2323                 NetBIOS name that identifies them as domain master browsers for 
2324                 that <parameter>workgroup</parameter> by default (i.e. there is no 
2325                 way to prevent a Windows NT PDC from attempting to do this). This 
2326                 means that if this parameter is set and <command>nmbd</command> claims 
2327                 the special name for a <parameter>workgroup</parameter> before a Windows 
2328                 NT PDC is able to do so then cross subnet browsing will behave 
2329                 strangely and may fail.</para>
2330                 
2331                 <para>If <link linkend="DOMAINLOGONS"><command>domain logons = yes</command>
2332                 </link>, then the default behavior is to enable the <parameter>domain 
2333                 master</parameter> parameter.  If <parameter>domain logons</parameter> is 
2334                 not enabled (the default setting), then neither will <parameter>domain 
2335                 master</parameter> be enabled by default.</para>
2336
2337                 <para>Default: <command>domain master = auto</command></para></listitem>
2338                 </varlistentry>
2339                 
2340                 
2341                 
2342                 
2343                 <varlistentry>
2344                 <term><anchor id="DONTDESCEND">dont descend (S)</term>
2345                 <listitem><para>There are certain directories on some systems 
2346                 (e.g., the <filename>/proc</filename> tree under Linux) that are either not 
2347                 of interest to clients or are infinitely deep (recursive). This 
2348                 parameter allows you to specify a comma-delimited list of directories 
2349                 that the server should always show as empty.</para>
2350
2351                 <para>Note that Samba can be very fussy about the exact format 
2352                 of the "dont descend" entries. For example you may need <filename>
2353                 ./proc</filename> instead of just <filename>/proc</filename>. 
2354                 Experimentation is the best policy :-)  </para>
2355                 
2356                 <para>Default: <emphasis>none (i.e., all directories are OK 
2357                 to descend)</emphasis></para>
2358                 <para>Example: <command>dont descend = /proc,/dev</command></para>
2359                 </listitem>
2360                 </varlistentry>
2361                 
2362                 <varlistentry>
2363                 <term><anchor id="DOSCHARSET">dos charset (G)</term>
2364                 <listitem><para>DOS SMB clients assume the server has 
2365                 the same charset as they do. This option specifies which 
2366                 charset Samba should talk to DOS clients.
2367                 </para>
2368
2369                 <para>The default depends on which charsets you have instaled. 
2370                 Samba tries to use charset 850 but falls back to ASCII in 
2371                 case it is not available. Run <ulink url="testparm.1.html">testparm(1)
2372                 </ulink> to check the default on your system.
2373                 </para>
2374                 </listitem>
2375                 </varlistentry>
2376
2377                 <varlistentry>
2378                 <term><anchor id="DOSFILEMODE">dos filemode (S)</term>
2379                 <listitem><para> The default behavior in Samba is to provide 
2380                 UNIX-like behavior where only the owner of a file/directory is 
2381                 able to change the permissions on it.  However, this behavior
2382                 is often confusing to  DOS/Windows users.  Enabling this parameter 
2383                 allows a user who has write access to the file (by whatever 
2384                 means) to modify the permissions on it.  Note that a user
2385                 belonging to the group owning the file will not be allowed to
2386                 change permissions if the group is only granted read access.
2387                 Ownership of the file/directory is not changed, only the permissions 
2388                 are modified.</para>
2389                 
2390                 <para>Default: <command>dos filemode = no</command></para>
2391                 </listitem>
2392                 </varlistentry>
2393
2394                 
2395                 
2396                 <varlistentry>
2397                 <term><anchor id="DOSFILETIMERESOLUTION">dos filetime resolution (S)</term>
2398                 <listitem><para>Under the DOS and Windows FAT filesystem, the finest 
2399                 granularity on time resolution is two seconds. Setting this parameter 
2400                 for a share causes Samba to round the reported time down to the 
2401                 nearest two second boundary when a query call that requires one second 
2402                 resolution is made to <ulink url="smbd.8.html"><command>smbd(8)</command>
2403                 </ulink>.</para>
2404
2405                 <para>This option is mainly used as a compatibility option for Visual 
2406                 C++ when used against Samba shares. If oplocks are enabled on a 
2407                 share, Visual C++ uses two different time reading calls to check if a 
2408                 file has changed since it was last read. One of these calls uses a
2409                 one-second granularity, the other uses a two second granularity. As
2410                 the two second call rounds any odd second down, then if the file has a
2411                 timestamp of an odd number of seconds then the two timestamps will not
2412                 match and Visual C++ will keep reporting the file has changed. Setting
2413                 this option causes the two timestamps to match, and Visual C++ is
2414                 happy.</para>
2415
2416                 <para>Default: <command>dos filetime resolution = no</command></para>
2417                 </listitem>
2418                 </varlistentry>
2419
2420
2421
2422                 <varlistentry>
2423                 <term><anchor id="DOSFILETIMES">dos filetimes (S)</term>
2424                 <listitem><para>Under DOS and Windows, if a user can write to a 
2425                 file they can change the timestamp on it. Under POSIX semantics, 
2426                 only the owner of the file or root may change the timestamp. By 
2427                 default, Samba runs with POSIX semantics and refuses to change the 
2428                 timestamp on a file if the user <command>smbd</command> is acting 
2429                 on behalf of is not the file owner. Setting this option to <constant>
2430                 true</constant> allows DOS semantics and <ulink url="smbd.8.html">smbd</ulink> will change the file 
2431                 timestamp as DOS requires.</para>
2432
2433                 <para>Default: <command>dos filetimes = no</command></para></listitem>
2434                 </varlistentry>
2435
2436                 
2437
2438                 <varlistentry>
2439                 <term><anchor id="ENCRYPTPASSWORDS">encrypt passwords (G)</term>
2440                 <listitem><para>This boolean controls whether encrypted passwords 
2441                 will be negotiated with the client. Note that Windows NT 4.0 SP3 and 
2442                 above and also Windows 98 will by default expect encrypted passwords 
2443                 unless a registry entry is changed. To use encrypted passwords in 
2444                 Samba see the file ENCRYPTION.txt in the Samba documentation 
2445                 directory <filename>docs/</filename> shipped with the source code.</para>
2446
2447                 <para>In order for encrypted passwords to work correctly
2448                 <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> must either 
2449                 have access to a local <ulink url="smbpasswd.5.html"><filename>smbpasswd(5)
2450                 </filename></ulink> file (see the <ulink url="smbpasswd.8.html"><command>
2451                 smbpasswd(8)</command></ulink> program for information on how to set up 
2452                 and maintain this file), or set the <link
2453                 linkend="SECURITY">security = [server|domain|ads]</link> parameter which 
2454                 causes <command>smbd</command> to authenticate against another 
2455                 server.</para>
2456                 
2457                 <para>Default: <command>encrypt passwords = yes</command></para></listitem>
2458                 </varlistentry>
2459
2460
2461                 <varlistentry>
2462                 <term><anchor id="ENHANCEDBROWSING">enhanced browsing (G)</term>
2463                 <listitem><para>This option enables a couple of enhancements to 
2464                 cross-subnet browse propagation that have been added in Samba 
2465                 but which are not standard in Microsoft implementations.  
2466                 </para>
2467
2468                 <para>The first enhancement to browse propagation consists of a regular
2469                 wildcard query to a Samba WINS server for all Domain Master Browsers,
2470                 followed by a browse synchronization with each of the returned
2471                 DMBs. The second enhancement consists of a regular randomised browse
2472                 synchronization with all currently known DMBs.</para>
2473
2474                 <para>You may wish to disable this option if you have a problem with empty
2475                 workgroups not disappearing from browse lists. Due to the restrictions
2476                 of the browse protocols these enhancements can cause a empty workgroup
2477                 to stay around forever which can be annoying.</para>
2478
2479                 <para>In general you should leave this option enabled as it makes
2480                 cross-subnet browse propagation much more reliable.</para>
2481
2482                 <para>Default: <command>enhanced browsing = yes</command></para>
2483                 </listitem>
2484                 </varlistentry>
2485
2486
2487                 <varlistentry>
2488                 <term><anchor id="ENUMPORTSCOMMAND">enumports command (G)</term>
2489                 <listitem><para>The concept of a "port" is fairly foreign
2490                 to UNIX hosts.  Under Windows NT/2000 print servers, a port
2491                 is associated with a port monitor and generally takes the form of
2492                 a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
2493                 (i.e. LPD Port Monitor, etc...).  By default, Samba has only one
2494                 port defined--<constant>"Samba Printer Port"</constant>.  Under 
2495                 Windows NT/2000, all printers must have a valid port name.  
2496                 If you wish to have a list of ports displayed (<command>smbd
2497                 </command> does not use a port name for anything) other than 
2498                 the default <constant>"Samba Printer Port"</constant>, you 
2499                 can define <parameter>enumports command</parameter> to point to
2500                 a program which should generate a list of ports, one per line,
2501                 to standard output.  This listing will then be used in response
2502                 to the level 1 and 2 EnumPorts() RPC.</para>
2503                 
2504                 <para>Default: <emphasis>no enumports command</emphasis></para>
2505                 <para>Example: <command>enumports command = /usr/bin/listports
2506                 </command></para>
2507                 </listitem>
2508                 </varlistentry>
2509                 
2510                 <varlistentry>
2511                 <term><anchor id="EXEC">exec (S)</term>
2512                 <listitem><para>This is a synonym for <link linkend="PREEXEC">
2513                 <parameter>preexec</parameter></link>.</para></listitem>
2514                 </varlistentry>
2515
2516
2517
2518                 <varlistentry>
2519                 <term><anchor id="FAKEDIRECTORYCREATETIMES">fake directory create times (S)</term>
2520                 <listitem><para>NTFS and Windows VFAT file systems keep a create 
2521                 time for all files and directories. This is not the same as the 
2522                 ctime - status change time - that Unix keeps, so Samba by default 
2523                 reports the earliest of the various times Unix does keep. Setting 
2524                 this parameter for a share causes Samba to always report midnight 
2525                 1-1-1980 as the create time for directories.</para>
2526
2527                 <para>This option is mainly used as a compatibility option for 
2528                 Visual C++ when used against Samba shares. Visual C++ generated 
2529                 makefiles have the object directory as a dependency for each object 
2530                 file, and a make rule to create the directory. Also, when NMAKE 
2531                 compares timestamps it uses the creation time when examining a 
2532                 directory. Thus the object directory will be created if it does not 
2533                 exist, but once it does exist it will always have an earlier 
2534                 timestamp than the object files it contains.</para>
2535
2536                 <para>However, Unix time semantics mean that the create time 
2537                 reported by Samba will be updated whenever a file is created or 
2538                 or deleted in the directory.  NMAKE finds all object files in 
2539                 the object directory.  The timestamp of the last one built is then 
2540                 compared to the timestamp of the object directory.  If the 
2541                 directory's timestamp if newer, then all object files
2542                 will be rebuilt.  Enabling this option 
2543                 ensures directories always predate their contents and an NMAKE build 
2544                 will proceed as expected.</para>
2545
2546                 <para>Default: <command>fake directory create times = no</command></para>
2547                 </listitem>
2548                 </varlistentry>
2549
2550
2551
2552                 <varlistentry>
2553                 <term><anchor id="FAKEOPLOCKS">fake oplocks (S)</term>
2554                 <listitem><para>Oplocks are the way that SMB clients get permission 
2555                 from a server to locally cache file operations. If a server grants 
2556                 an oplock (opportunistic lock) then the client is free to assume 
2557                 that it is the only one accessing the file and it will aggressively 
2558                 cache file data. With some oplock types the client may even cache 
2559                 file open/close operations. This can give enormous performance benefits.
2560                 </para>
2561
2562                 <para>When you set <command>fake oplocks = yes</command>, <ulink 
2563                 url="smbd.8.html"><command>smbd(8)</command></ulink> will
2564                 always grant oplock requests no matter how many clients are using 
2565                 the file.</para>
2566
2567                 <para>It is generally much better to use the real <link 
2568                 linkend="OPLOCKS"><parameter>oplocks</parameter></link> support rather 
2569                 than this parameter.</para>
2570                 
2571                 <para>If you enable this option on all read-only shares or 
2572                 shares that you know will only be accessed from one client at a 
2573                 time such as physically read-only media like CDROMs, you will see 
2574                 a big performance improvement on many operations. If you enable 
2575                 this option on shares where multiple clients may be accessing the 
2576                 files read-write at the same time you can get data corruption. Use 
2577                 this option carefully!</para>
2578                 
2579                 <para>Default: <command>fake oplocks = no</command></para></listitem>
2580                 </varlistentry>
2581
2582
2583
2584                 <varlistentry>
2585                 <term><anchor id="FOLLOWSYMLINKS">follow symlinks (S)</term>
2586                 <listitem><para>This parameter allows the Samba administrator 
2587                 to stop <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> 
2588                 from following symbolic links in a particular share. Setting this 
2589                 parameter to <constant>no</constant> prevents any file or directory 
2590                 that is a symbolic link from being followed (the user will get an 
2591                 error).  This option is very useful to stop users from adding a 
2592                 symbolic link to <filename>/etc/passwd</filename> in their home 
2593                 directory for instance.  However it will slow filename lookups 
2594                 down slightly.</para>
2595
2596                 <para>This option is enabled (i.e. <command>smbd</command> will 
2597                 follow symbolic links) by default.</para>
2598                 
2599                 <para>Default: <command>follow symlinks = yes</command></para></listitem>
2600                 </varlistentry>
2601                 
2602                 
2603                 
2604                 <varlistentry>
2605                 <term><anchor id="FORCECREATEMODE">force create mode (S)</term>
2606                 <listitem><para>This parameter specifies a set of UNIX mode bit 
2607                 permissions that will <emphasis>always</emphasis> be set on a 
2608                 file created by Samba. This is done by bitwise 'OR'ing these bits onto 
2609                 the mode bits of a file that is being created or having its 
2610                 permissions changed. The default for this parameter is (in octal) 
2611                 000. The modes in this parameter are bitwise 'OR'ed onto the file 
2612                 mode after the mask set in the <parameter>create mask</parameter> 
2613                 parameter is applied.</para>
2614                 
2615                 <para>See also the parameter <link linkend="CREATEMASK"><parameter>create 
2616                 mask</parameter></link> for details on masking mode bits on files.</para>
2617
2618                 <para>See also the <link linkend="INHERITPERMISSIONS"><parameter>inherit 
2619                 permissions</parameter></link> parameter.</para>
2620
2621                 <para>Default: <command>force create mode = 000</command></para>
2622                 <para>Example: <command>force create mode = 0755</command></para>
2623
2624                 <para>would force all created files to have read and execute 
2625                 permissions set for 'group' and 'other' as well as the 
2626                 read/write/execute bits set for the 'user'.</para>
2627                 </listitem>
2628                 </varlistentry>
2629
2630
2631
2632                 <varlistentry>
2633                 <term><anchor id="FORCEDIRECTORYMODE">force directory mode (S)</term>
2634                 <listitem><para>This parameter specifies a set of UNIX mode bit 
2635                 permissions that will <emphasis>always</emphasis> be set on a directory 
2636                 created by Samba. This is done by bitwise 'OR'ing these bits onto the 
2637                 mode bits of a directory that is being created. The default for this 
2638                 parameter is (in octal) 0000 which will not add any extra permission 
2639                 bits to a created directory. This operation is done after the mode 
2640                 mask in the parameter <parameter>directory mask</parameter> is 
2641                 applied.</para>
2642
2643                 <para>See also the parameter <link linkend="DIRECTORYMASK"><parameter>
2644                 directory mask</parameter></link> for details on masking mode bits 
2645                 on created directories.</para>
2646                 
2647                 <para>See also the <link linkend="INHERITPERMISSIONS"><parameter>
2648                 inherit permissions</parameter></link> parameter.</para>
2649
2650                 <para>Default: <command>force directory mode = 000</command></para>
2651                 <para>Example: <command>force directory mode = 0755</command></para>
2652
2653                 <para>would force all created directories to have read and execute
2654                 permissions set for 'group' and 'other' as well as the
2655                 read/write/execute bits set for the 'user'.</para>
2656                 </listitem>
2657                 </varlistentry>
2658                 
2659                 
2660                 
2661                 <varlistentry>
2662                 <term><anchor id="FORCEDIRECTORYSECURITYMODE">force directory security mode (S)</term>
2663                 <listitem><para>This parameter controls what UNIX permission bits 
2664                 can be modified when a Windows NT client is manipulating the UNIX 
2665                 permission on a directory using the native NT security dialog box.</para>
2666
2667                 <para>This parameter is applied as a mask (OR'ed with) to the 
2668                 changed permission bits, thus forcing any bits in this mask that 
2669                 the user may have modified to be on. Essentially, one bits in this 
2670                 mask may be treated as a set of bits that, when modifying security 
2671                 on a directory, the user has always set to be 'on'.</para>
2672
2673                 <para>If not set explicitly this parameter is 000, which 
2674                 allows a user to modify all the user/group/world permissions on a 
2675                 directory without restrictions.</para>
2676
2677                 <para><emphasis>Note</emphasis> that users who can access the 
2678                 Samba server through other means can easily bypass this restriction, 
2679                 so it is primarily useful for standalone "appliance" systems.  
2680                 Administrators of most normal systems will probably want to leave
2681                 it set as 0000.</para>
2682
2683                 <para>See also the <link linkend="DIRECTORYSECURITYMASK"><parameter>
2684                 directory security mask</parameter></link>, <link linkend="SECURITYMASK">
2685                 <parameter>security mask</parameter></link>, 
2686                 <link linkend="FORCESECURITYMODE"><parameter>force security mode
2687                 </parameter></link> parameters.</para>
2688
2689                 <para>Default: <command>force directory security mode = 0</command></para>
2690                 <para>Example: <command>force directory security mode = 700</command></para>
2691                 </listitem>
2692                 </varlistentry>
2693
2694
2695
2696
2697                 <varlistentry>
2698                 <term><anchor id="FORCEGROUP">force group (S)</term>
2699                 <listitem><para>This specifies a UNIX group name that will be 
2700                 assigned as the default primary group for all users connecting 
2701                 to this service. This is useful for sharing files by ensuring 
2702                 that all access to files on service will use the named group for 
2703                 their permissions checking. Thus, by assigning permissions for this 
2704                 group to the files and directories within this service the Samba 
2705                 administrator can restrict or allow sharing of these files.</para>
2706
2707                 <para>In Samba 2.0.5 and above this parameter has extended 
2708                 functionality in the following way. If the group name listed here 
2709                 has a '+' character prepended to it then the current user accessing 
2710                 the share only has the primary group default assigned to this group 
2711                 if they are already assigned as a member of that group. This allows 
2712                 an administrator to decide that only users who are already in a 
2713                 particular group will create files with group ownership set to that 
2714                 group. This gives a finer granularity of ownership assignment. For 
2715                 example, the setting <filename>force group = +sys</filename> means 
2716                 that only users who are already in group sys will have their default
2717                 primary group assigned to sys when accessing this Samba share. All
2718                 other users will retain their ordinary primary group.</para>
2719
2720                 <para>If the <link linkend="FORCEUSER"><parameter>force user
2721                 </parameter></link> parameter is also set the group specified in 
2722                 <parameter>force group</parameter> will override the primary group
2723                 set in <parameter>force user</parameter>.</para>
2724
2725                 <para>See also <link linkend="FORCEUSER"><parameter>force 
2726                 user</parameter></link>.</para>
2727
2728                 <para>Default: <emphasis>no forced group</emphasis></para>
2729                 <para>Example: <command>force group = agroup</command></para>
2730                 </listitem>
2731                 </varlistentry>
2732
2733                 <varlistentry>
2734                 <term><anchor id="FORCESECURITYMODE">force security mode (S)</term>
2735                 <listitem><para>This parameter controls what UNIX permission 
2736                 bits can be modified when a Windows NT client is manipulating 
2737                 the UNIX permission on a file using the native NT security dialog 
2738                 box.</para>
2739                 
2740                 <para>This parameter is applied as a mask (OR'ed with) to the 
2741                 changed permission bits, thus forcing any bits in this mask that 
2742                 the user may have modified to be on. Essentially, one bits in this 
2743                 mask may be treated as a set of bits that, when modifying security 
2744                 on a file, the user has always set to be 'on'.</para>
2745
2746                 <para>If not set explicitly this parameter is set to 0,
2747                 and allows a user to modify all the user/group/world permissions on a file,
2748                 with no restrictions.</para>
2749                 
2750                 <para><emphasis>Note</emphasis> that users who can access 
2751                 the Samba server through other means can easily bypass this restriction, 
2752                 so it is primarily useful for standalone "appliance" systems.  
2753                 Administrators of most normal systems will probably want to leave
2754                 this set to 0000.</para>
2755
2756                 <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE"><parameter>
2757                 force directory security mode</parameter></link>,
2758                 <link linkend="DIRECTORYSECURITYMASK"><parameter>directory security
2759                 mask</parameter></link>, <link linkend="SECURITYMASK"><parameter>
2760                 security mask</parameter></link> parameters.</para>
2761
2762                 <para>Default: <command>force security mode = 0</command></para>
2763                 <para>Example: <command>force security mode = 700</command></para>
2764                 </listitem>
2765                 </varlistentry>
2766
2767
2768                 
2769                 
2770                 
2771                 <varlistentry>
2772                 <term><anchor id="FORCEUSER">force user (S)</term>
2773                 <listitem><para>This specifies a UNIX user name that will be 
2774                 assigned as the default user for all users connecting to this service. 
2775                 This is useful for sharing files. You should also use it carefully 
2776                 as using it incorrectly can cause security problems.</para>
2777
2778                 <para>This user name only gets used once a connection is established. 
2779                 Thus clients still need to connect as a valid user and supply a 
2780                 valid password. Once connected, all file operations will be performed 
2781                 as the "forced user", no matter what username the client connected 
2782                 as.  This can be very useful.</para>
2783
2784                 <para>In Samba 2.0.5 and above this parameter also causes the 
2785                 primary group of the forced user to be used as the primary group 
2786                 for all file activity. Prior to 2.0.5 the primary group was left 
2787                 as the primary group of the connecting user (this was a bug).</para>
2788
2789                 <para>See also <link linkend="FORCEGROUP"><parameter>force group
2790                 </parameter></link></para>
2791
2792                 <para>Default: <emphasis>no forced user</emphasis></para>
2793                 <para>Example: <command>force user = auser</command></para>
2794                 </listitem>
2795                 </varlistentry>
2796
2797
2798
2799                 <varlistentry>
2800                 <term><anchor id="FSTYPE">fstype (S)</term>
2801                 <listitem><para>This parameter allows the administrator to 
2802                 configure the string that specifies the type of filesystem a share 
2803                 is using that is reported by <ulink url="smbd.8.html"><command>smbd(8)
2804                 </command></ulink> when a client queries the filesystem type
2805                 for a share. The default type is <constant>NTFS</constant> for 
2806                 compatibility with Windows NT but this can be changed to other 
2807                 strings such as <constant>Samba</constant> or <constant>FAT
2808                 </constant> if required.</para>
2809                 
2810                 <para>Default: <command>fstype = NTFS</command></para>
2811                 <para>Example: <command>fstype = Samba</command></para></listitem>
2812                 </varlistentry>
2813                 
2814                 
2815                 
2816                 <varlistentry>
2817                 <term><anchor id="GETWDCACHE">getwd cache (G)</term>
2818                 <listitem><para>This is a tuning option. When this is enabled a 
2819                 caching algorithm will be used to reduce the time taken for getwd() 
2820                 calls. This can have a significant impact on performance, especially 
2821                 when the <link linkend="WIDELINKS"><parameter>wide links</parameter>
2822                 </link>parameter is set to <constant>false</constant>.</para>
2823
2824                 <para>Default: <command>getwd cache = yes</command></para>
2825                 </listitem>
2826                 </varlistentry>
2827
2828
2829
2830                 <varlistentry>
2831                 <term><anchor id="GROUP">group (S)</term>
2832                 <listitem><para>Synonym for <link linkend="FORCEGROUP"><parameter>force 
2833                 group</parameter></link>.</para></listitem>
2834                 </varlistentry>
2835                 
2836                 
2837                 
2838                 <varlistentry>
2839                 <term><anchor id="GUESTACCOUNT">guest account (S)</term>
2840                 <listitem><para>This is a username which will be used for access 
2841                 to services which are specified as <link linkend="GUESTOK"><parameter>
2842                 guest ok</parameter></link> (see below). Whatever privileges this 
2843                 user has will be available to any client connecting to the guest service. 
2844                 Typically this user will exist in the password file, but will not
2845                 have a valid login. The user account "ftp" is often a good choice 
2846                 for this parameter. If a username is specified in a given service, 
2847                 the specified username overrides this one.</para>
2848
2849                 <para>One some systems the default guest account "nobody" may not 
2850                 be able to print. Use another account in this case. You should test 
2851                 this by trying to log in as your guest user (perhaps by using the 
2852                 <command>su -</command> command) and trying to print using the 
2853                 system print command such as <command>lpr(1)</command> or <command>
2854                 lp(1)</command>.</para>
2855
2856                 <para>This paramater does not accept % macros, because
2857                 many parts of the system require this value to be
2858                 constant for correct operation.</para>
2859                 
2860                 <para>Default: <emphasis>specified at compile time, usually 
2861                 "nobody"</emphasis></para>
2862
2863                 <para>Example: <command>guest account = ftp</command></para></listitem>
2864                 </varlistentry>
2865
2866                 
2867                 
2868                 <varlistentry>
2869                 <term><anchor id="GUESTOK">guest ok (S)</term>
2870                 <listitem><para>If this parameter is <constant>yes</constant> for 
2871                 a service, then no password is required to connect to the service. 
2872                 Privileges will be those of the <link linkend="GUESTACCOUNT"><parameter>
2873                 guest account</parameter></link>.</para>
2874
2875                 <para>See the section below on <link linkend="SECURITY"><parameter>
2876                 security</parameter></link> for more information about this option.
2877                 </para>
2878
2879                 <para>Default: <command>guest ok = no</command></para></listitem>
2880                 </varlistentry>
2881                 
2882                 
2883                 
2884                 <varlistentry>
2885                 <term><anchor id="GUESTONLY">guest only (S)</term>
2886                 <listitem><para>If this parameter is <constant>yes</constant> for 
2887                 a service, then only guest connections to the service are permitted. 
2888                 This parameter will have no effect if <link linkend="GUESTOK">
2889                 <parameter>guest ok</parameter></link> is not set for the service.</para>
2890
2891                 <para>See the section below on <link linkend="SECURITY"><parameter>
2892                 security</parameter></link> for more information about this option.
2893                 </para>
2894
2895                 <para>Default: <command>guest only = no</command></para></listitem>
2896                 </varlistentry>
2897
2898
2899                 
2900                 <varlistentry>
2901                 <term><anchor id="HIDEDOTFILES">hide dot files (S)</term>
2902                 <listitem><para>This is a boolean parameter that controls whether 
2903                 files starting with a dot appear as hidden files.</para>
2904
2905                 <para>Default: <command>hide dot files = yes</command></para></listitem>
2906                 </varlistentry>
2907
2908
2909         
2910                 <varlistentry>
2911                 <term><anchor id="HIDEFILES">hide files(S)</term>
2912                 <listitem><para>This is a list of files or directories that are not 
2913                 visible but are accessible.  The DOS 'hidden' attribute is applied 
2914                 to any files or directories that match.</para>
2915
2916                 <para>Each entry in the list must be separated by a '/', 
2917                 which allows spaces to be included in the entry.  '*'
2918                 and '?' can be used to specify multiple files or directories 
2919                 as in DOS wildcards.</para>
2920
2921                 <para>Each entry must be a Unix path, not a DOS path and must 
2922                 not include the Unix directory separator '/'.</para>
2923
2924                 <para>Note that the case sensitivity option is applicable 
2925                 in hiding files.</para>
2926                 
2927                 <para>Setting this parameter will affect the performance of Samba, 
2928                 as it will be forced to check all files and directories for a match 
2929                 as they are scanned.</para>
2930
2931                 <para>See also <link linkend="HIDEDOTFILES"><parameter>hide 
2932                 dot files</parameter></link>, <link linkend="VETOFILES"><parameter>
2933                 veto files</parameter></link> and <link linkend="CASESENSITIVE">
2934                 <parameter>case sensitive</parameter></link>.</para>
2935
2936                 <para>Default: <emphasis>no file are hidden</emphasis></para>
2937                 <para>Example: <command>hide files =
2938                 /.*/DesktopFolderDB/TrashFor%m/resource.frk/</command></para>
2939
2940                 <para>The above example is based on files that the Macintosh 
2941                 SMB client (DAVE) available from <ulink url="http://www.thursby.com"> 
2942                 Thursby</ulink> creates for internal use, and also still hides 
2943                 all files beginning with a dot.</para></listitem>
2944                 </varlistentry>
2945                 
2946                 
2947                 
2948                 <varlistentry>
2949                 <term><anchor id="HIDELOCALUSERS">hide local users(G)</term>
2950                 <listitem><para>This parameter toggles the hiding of local UNIX 
2951                 users (root, wheel, floppy, etc) from remote clients.</para>
2952
2953                 <para>Default: <command>hide local users = no</command></para></listitem>
2954                 </varlistentry>
2955
2956
2957
2958                 <varlistentry>
2959                 <term><anchor id="HIDEUNREADABLE">hide unreadable (G)</term>
2960                 <listitem><para>This parameter prevents clients from seeing the
2961                 existance of files that cannot be read. Defaults to off.</para>
2962
2963                 <para>Default: <command>hide unreadable = no</command></para>
2964                 </listitem>
2965                 </varlistentry>
2966
2967                 <varlistentry>
2968                 <term><anchor id="HIDEUNWRITEABLEFILES">hide unwriteable files (G)</term>
2969                 <listitem><para>This parameter prevents clients from seeing
2970                 the existance of files that cannot be written to. Defaults to off.
2971                 Note that unwriteable directories are shown as usual.
2972                 </para>
2973
2974                 <para>Default: <command>hide unwriteable = no</command></para>
2975                 </listitem>
2976                 </varlistentry>
2977
2978                 <varlistentry>
2979                 <term><anchor id="HOMEDIRMAP">homedir map (G)</term>
2980                 <listitem><para>If<link linkend="NISHOMEDIR"><parameter>nis homedir
2981                 </parameter></link> is <constant>true</constant>, and <ulink 
2982                 url="smbd.8.html"><command>smbd(8)</command></ulink> is also acting 
2983                 as a Win95/98 <parameter>logon server</parameter> then this parameter 
2984                 specifies the NIS (or YP) map from which the server for the user's 
2985                 home directory should be extracted.  At present, only the Sun 
2986                 auto.home map format is understood. The form of the map is:</para>
2987
2988                 <para><command>username server:/some/file/system</command></para>
2989
2990                 <para>and the program will extract the servername from before 
2991                 the first ':'.  There should probably be a better parsing system 
2992                 that copes with different map formats and also Amd (another 
2993                 automounter) maps.</para>
2994                 
2995                 <para><emphasis>NOTE :</emphasis>A working NIS client is required on 
2996                 the system for this option to work.</para>
2997
2998                 <para>See also <link linkend="NISHOMEDIR"><parameter>nis homedir</parameter>
2999                 </link>, <link linkend="DOMAINLOGONS"><parameter>domain logons</parameter>
3000                 </link>.</para>
3001
3002                 <para>Default: <command>homedir map = &lt;empty string&gt;</command></para>
3003                 <para>Example: <command>homedir map = amd.homedir</command></para>
3004                 </listitem>
3005                 </varlistentry>
3006
3007
3008
3009
3010         
3011                 <varlistentry>
3012                 <term><anchor id="HOSTMSDFS">host msdfs (G)</term>
3013                 <listitem><para>This boolean parameter is only available 
3014                 if Samba has been configured and compiled with the <command>
3015                 --with-msdfs</command> option. If set to <constant>yes</constant>, 
3016                 Samba will act as a Dfs server, and  allow Dfs-aware clients 
3017                 to browse Dfs trees hosted on the server.</para>
3018
3019                 <para>See also the <link linkend="MSDFSROOT"><parameter>
3020                 msdfs root</parameter></link> share  level  parameter.  For
3021                 more  information  on  setting  up a Dfs tree on Samba,
3022                 refer to <ulink url="msdfs_setup.html">msdfs_setup.html</ulink>.
3023                 </para>
3024                 
3025                 <para>Default: <command>host msdfs = no</command></para>
3026                 </listitem>
3027                 </varlistentry>
3028                 
3029                 <varlistentry>
3030                 <term><anchor id="HOSTNAMELOOKUPS">hostname lookups (G)</term>
3031                 <listitem><para>Specifies whether samba should use (expensive)
3032                 hostname lookups or use the ip addresses instead. An example place
3033                 where hostname lookups are currently used is when checking 
3034                 the <command>hosts deny</command> and <command>hosts allow</command>.
3035                 </para>
3036
3037                 <para>Default: <command>hostname lookups = yes</command></para>
3038
3039                 <para>Example: <command>hostname lookups = no</command></para>
3040
3041                 </listitem>
3042                 </varlistentry>
3043
3044         
3045                 <varlistentry>
3046                 <term><anchor id="HOSTSALLOW">hosts allow (S)</term>
3047                 <listitem><para>A synonym for this parameter is <parameter>allow 
3048                 hosts</parameter>.</para>
3049                 
3050                 <para>This parameter is a comma, space, or tab delimited 
3051                 set of hosts which are permitted to access a service.</para>
3052
3053                 <para>If specified in the [global] section then it will
3054                 apply to all services, regardless of whether the individual 
3055                 service has a different setting.</para>
3056
3057                 <para>You can specify the hosts by name or IP number. For 
3058                 example, you could restrict access to only the hosts on a 
3059                 Class C subnet with something like <command>allow hosts = 150.203.5.
3060                 </command>. The full syntax of the list is described in the man 
3061                 page <filename>hosts_access(5)</filename>. Note that this man
3062                 page may not be present on your system, so a brief description will
3063                 be given here also.</para>
3064
3065                 <para>Note that the localhost address 127.0.0.1 will always 
3066                 be allowed access unless specifically denied by a <link 
3067                 linkend="HOSTSDENY"><parameter>hosts deny</parameter></link> option.</para>
3068
3069                 <para>You can also specify hosts by network/netmask pairs and 
3070                 by netgroup names if your system supports netgroups. The 
3071                 <emphasis>EXCEPT</emphasis> keyword can also be used to limit a 
3072                 wildcard list. The following examples may provide some help:</para>
3073
3074                 <para>Example 1: allow all IPs in 150.203.*.*; except one</para>
3075
3076                 <para><command>hosts allow = 150.203. EXCEPT 150.203.6.66</command></para>
3077
3078                 <para>Example 2: allow hosts that match the given network/netmask</para>
3079
3080                 <para><command>hosts allow = 150.203.15.0/255.255.255.0</command></para>
3081
3082                 <para>Example 3: allow a couple of hosts</para>
3083
3084                 <para><command>hosts allow = lapland, arvidsjaur</command></para>
3085
3086                 <para>Example 4: allow only hosts in NIS netgroup "foonet", but 
3087                 deny access from one particular host</para>
3088
3089                 <para><command>hosts allow = @foonet</command></para>
3090
3091                 <para><command>hosts deny = pirate</command></para>
3092
3093                 <para>Note that access still requires suitable user-level passwords.</para>
3094
3095                 <para>See <ulink url="testparm.1.html"><command>testparm(1)</command>
3096                 </ulink> for a way of testing your host access to see if it does 
3097                 what you expect.</para>
3098
3099                 <para>Default: <emphasis>none (i.e., all hosts permitted access)
3100                 </emphasis></para>
3101                 
3102                 <para>Example: <command>allow hosts = 150.203.5. myhost.mynet.edu.au
3103                 </command></para>
3104                 </listitem>
3105                 </varlistentry>
3106
3107
3108
3109                 <varlistentry>
3110                 <term><anchor id="HOSTSDENY">hosts deny (S)</term>
3111                 <listitem><para>The opposite of <parameter>hosts allow</parameter> 
3112                 - hosts listed here are <emphasis>NOT</emphasis> permitted access to 
3113                 services unless the specific services have their own lists to override 
3114                 this one. Where the lists conflict, the <parameter>allow</parameter> 
3115                 list takes precedence.</para>
3116                 
3117                 <para>Default: <emphasis>none (i.e., no hosts specifically excluded)
3118                 </emphasis></para>
3119
3120                 <para>Example: <command>hosts deny = 150.203.4. badhost.mynet.edu.au
3121                 </command></para></listitem>
3122                 </varlistentry>
3123
3124
3125
3126                 <varlistentry>
3127                 <term><anchor id="HOSTSEQUIV">hosts equiv (G)</term>
3128                 <listitem><para>If this global parameter is a non-null string, 
3129                 it specifies the name of a file to read for the names of hosts 
3130                 and users who will be allowed access without specifying a password.
3131                 </para>
3132                 
3133                 <para>This is not be confused with <link linkend="HOSTSALLOW">
3134                 <parameter>hosts allow</parameter></link> which is about hosts 
3135                 access to services and is more useful for guest services. <parameter>
3136                 hosts equiv</parameter> may be useful for NT clients which will 
3137                 not supply passwords to Samba.</para>
3138
3139                 <para><emphasis>NOTE :</emphasis> The use of <parameter>hosts equiv
3140                 </parameter> can be a major security hole. This is because you are 
3141                 trusting the PC to supply the correct username. It is very easy to 
3142                 get a PC to supply a false username. I recommend that the 
3143                 <parameter>hosts equiv</parameter> option be only used if you really 
3144                 know what you are doing, or perhaps on a home network where you trust 
3145                 your spouse and kids. And only if you <emphasis>really</emphasis> trust 
3146                 them :-).</para>
3147                 
3148                 <para>Default: <emphasis>no host equivalences</emphasis></para>
3149                 <para>Example: <command>hosts equiv = /etc/hosts.equiv</command></para>
3150                 </listitem>
3151                 </varlistentry>
3152
3153
3154
3155                 <varlistentry>
3156                 <term><anchor id="INCLUDE">include (G)</term>
3157                 <listitem><para>This allows you to include one config file 
3158                 inside another.  The file is included literally, as though typed 
3159                 in place.</para>
3160
3161                 <para>It takes the standard substitutions, except <parameter>%u
3162                 </parameter>, <parameter>%P</parameter> and <parameter>%S</parameter>.
3163                 </para>
3164                 
3165                 <para>Default: <emphasis>no file included</emphasis></para>
3166                 <para>Example: <command>include = /usr/local/samba/lib/admin_smb.conf
3167                 </command></para></listitem>
3168                 </varlistentry>
3169
3170
3171
3172                 <varlistentry>
3173                 <term><anchor id="INHERITACLS">inherit acls (S)</term>
3174                 <listitem><para>This parameter can be used to ensure
3175                 that if default acls exist on parent directories,
3176                 they are always honored when creating a subdirectory.
3177                 The default behavior is to use the mode specified
3178                 when creating the directory.  Enabling this option
3179                 sets the mode to 0777, thus guaranteeing that 
3180                 default directory acls are propagated.
3181                 </para>
3182
3183                 <para>Default: <command>inherit acls = no</command>
3184                 </para></listitem>
3185                 </varlistentry>
3186                 
3187
3188
3189
3190                 <varlistentry>
3191                 <term><anchor id="INHERITPERMISSIONS">inherit permissions (S)</term>
3192                 <listitem><para>The permissions on new files and directories 
3193                 are normally governed by <link linkend="CREATEMASK"><parameter>
3194                 create mask</parameter></link>, <link linkend="DIRECTORYMASK">
3195                 <parameter>directory mask</parameter></link>, <link 
3196                 linkend="FORCECREATEMODE"><parameter>force create mode</parameter>
3197                 </link> and <link linkend="FORCEDIRECTORYMODE"><parameter>force 
3198                 directory mode</parameter></link> but the boolean inherit 
3199                 permissions parameter overrides this.</para>
3200                 
3201                 <para>New directories inherit the mode of the parent directory,
3202                 including bits such as setgid.</para>
3203
3204                 <para>New files inherit their read/write bits from the parent 
3205                 directory.  Their execute bits continue to be determined by
3206                 <link linkend="MAPARCHIVE"><parameter>map archive</parameter>
3207                 </link>, <link linkend="MAPHIDDEN"><parameter>map hidden</parameter>
3208                 </link> and <link linkend="MAPSYSTEM"><parameter>map system</parameter>
3209                 </link> as usual.</para>
3210
3211                 <para>Note that the setuid bit is <emphasis>never</emphasis> set via 
3212                 inheritance (the code explicitly prohibits this).</para>
3213
3214                 <para>This can be particularly useful on large systems with 
3215                 many users, perhaps several thousand, to allow a single [homes] 
3216                 share to be used flexibly by each user.</para>
3217                 
3218                 <para>See also <link linkend="CREATEMASK"><parameter>create mask
3219                 </parameter></link>, <link linkend="DIRECTORYMASK"><parameter>
3220                 directory mask</parameter></link>, <link linkend="FORCECREATEMODE">
3221                 <parameter>force create mode</parameter></link> and <link
3222                 linkend="FORCEDIRECTORYMODE"><parameter>force directory mode</parameter>
3223                 </link>.</para>
3224
3225                 <para>Default: <command>inherit permissions = no</command></para>
3226                 </listitem>
3227                 </varlistentry>
3228                 
3229                 
3230                 
3231                 <varlistentry>
3232                 <term><anchor id="INTERFACES">interfaces (G)</term>
3233                 <listitem><para>This option allows you to override the default 
3234                 network interfaces list that Samba will use for browsing, name 
3235                 registration and other NBT traffic. By default Samba will query 
3236                 the kernel for the list of all active interfaces and use any 
3237                 interfaces except 127.0.0.1 that are broadcast capable.</para>
3238
3239                 <para>The option takes a list of interface strings. Each string 
3240                 can be in any of the following forms:</para>
3241
3242                 <itemizedlist>
3243                         <listitem><para>a network interface name (such as eth0). 
3244                         This may include shell-like wildcards so eth* will match 
3245                         any interface starting with the substring "eth"</para></listitem>
3246                         
3247                         <listitem><para>an IP address. In this case the netmask is 
3248                         determined from the list of interfaces obtained from the 
3249                         kernel</para></listitem>
3250                         
3251                         <listitem><para>an IP/mask pair. </para></listitem>
3252                         
3253                         <listitem><para>a broadcast/mask pair.</para></listitem>
3254                 </itemizedlist>
3255
3256                 <para>The "mask" parameters can either be a bit length (such 
3257                 as 24 for a C class network) or a full netmask in dotted 
3258                 decimal form.</para>
3259
3260                 <para>The "IP" parameters above can either be a full dotted 
3261                 decimal IP address or a hostname which will be looked up via 
3262                 the OS's normal hostname resolution mechanisms.</para>
3263
3264                 <para>For example, the following line:</para>
3265                 
3266                 <para><command>interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0
3267                 </command></para>
3268
3269                 <para>would configure three network interfaces corresponding 
3270                 to the eth0 device and IP addresses 192.168.2.10 and 192.168.3.10. 
3271                 The netmasks of the latter two interfaces would be set to 255.255.255.0.</para>
3272
3273                 <para>See also <link linkend="BINDINTERFACESONLY"><parameter>bind 
3274                 interfaces only</parameter></link>.</para>
3275                 
3276                 <para>Default: <emphasis>all active interfaces except 127.0.0.1 
3277                 that are broadcast capable</emphasis></para>
3278                 </listitem>
3279                 </varlistentry>
3280                 
3281                 
3282                 
3283                 <varlistentry>
3284                 <term><anchor id="INVALIDUSERS">invalid users (S)</term>
3285                 <listitem><para>This is a list of users that should not be allowed 
3286                 to login to this service. This is really a <emphasis>paranoid</emphasis> 
3287                 check to absolutely ensure an improper setting does not breach 
3288                 your security.</para>
3289                 
3290                 <para>A name starting with a '@' is interpreted as an NIS 
3291                 netgroup first (if your system supports NIS), and then as a UNIX 
3292                 group if the name was not found in the NIS netgroup database.</para>
3293
3294                 <para>A name starting with '+' is interpreted only 
3295                 by looking in the UNIX group database. A name starting with 
3296                 '&' is interpreted only by looking in the NIS netgroup database 
3297                 (this requires NIS to be working on your system). The characters 
3298                 '+' and '&' may be used at the start of the name in either order 
3299                 so the value <parameter>+&amp;group</parameter> means check the 
3300                 UNIX group database, followed by the NIS netgroup database, and 
3301                 the value <parameter>&+group</parameter> means check the NIS
3302                 netgroup database, followed by the UNIX group database (the 
3303                 same as the '@' prefix).</para>
3304
3305                 <para>The current servicename is substituted for <parameter>%S</parameter>. 
3306                 This is useful in the [homes] section.</para>
3307
3308                 <para>See also <link linkend="VALIDUSERS"><parameter>valid users
3309                 </parameter></link>.</para>
3310
3311                 <para>Default: <emphasis>no invalid users</emphasis></para>
3312                 <para>Example: <command>invalid users = root fred admin @wheel
3313                 </command></para>
3314                 </listitem>
3315                 </varlistentry>
3316                 
3317                 
3318                 
3319                 <varlistentry>
3320                 <term><anchor id="KEEPALIVE">keepalive (G)</term>
3321                 <listitem><para>The value of the parameter (an integer) represents 
3322                 the number of seconds between <parameter>keepalive</parameter> 
3323                 packets. If this parameter is zero, no keepalive packets will be 
3324                 sent. Keepalive packets, if sent, allow the server to tell whether 
3325                 a client is still present and responding.</para>
3326
3327                 <para>Keepalives should, in general, not be needed if the socket 
3328                 being used has the SO_KEEPALIVE attribute set on it (see <link 
3329                 linkend="SOCKETOPTIONS"><parameter>socket options</parameter></link>). 
3330                 Basically you should only use this option if you strike difficulties.</para>
3331
3332                 <para>Default: <command>keepalive = 300</command></para>
3333                 <para>Example: <command>keepalive = 600</command></para>
3334                 </listitem>
3335                 </varlistentry>
3336
3337         
3338         
3339                 <varlistentry>
3340                 <term><anchor id="KERNELOPLOCKS">kernel oplocks (G)</term>
3341                 <listitem><para>For UNIXes that support kernel based <link
3342                 linkend="OPLOCKS"><parameter>oplocks</parameter></link>
3343                 (currently only IRIX and the Linux 2.4 kernel), this parameter 
3344                 allows the use of them to be turned on or off.</para>
3345
3346                 <para>Kernel oplocks support allows Samba <parameter>oplocks
3347                 </parameter> to be broken whenever a local UNIX process or NFS operation 
3348                 accesses a file that <ulink url="smbd.8.html"><command>smbd(8)</command>
3349                 </ulink> has oplocked. This allows complete data consistency between 
3350                 SMB/CIFS, NFS and local file access (and is a <emphasis>very</emphasis> 
3351                 cool feature :-).</para>
3352
3353                 <para>This parameter defaults to <constant>on</constant>, but is translated
3354                 to a no-op on systems that no not have the necessary kernel support.
3355                 You should never need to touch this parameter.</para>
3356
3357                 <para>See also the <link linkend="OPLOCKS"><parameter>oplocks</parameter>
3358                 </link> and <link linkend="LEVEL2OPLOCKS"><parameter>level2 oplocks
3359                 </parameter></link> parameters.</para>
3360                 
3361                 <para>Default: <command>kernel oplocks = yes</command></para>
3362                 </listitem>
3363                 </varlistentry>
3364
3365
3366
3367
3368                 <varlistentry>
3369                 <term><anchor id="LANMANAUTH">lanman auth (G)</term>
3370                 <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink> will
3371                 attempt to authenticate users using the LANMAN password hash.
3372                 If disabled, only clients which support NT password hashes (e.g. Windows 
3373                 NT/2000 clients, smbclient, etc... but not Windows 95/98 or the MS DOS 
3374                 network client) will be able to connect to the Samba host.</para>
3375                 
3376                 <para>Default : <command>lanman auth = yes</command></para>
3377                 </listitem>
3378                 </varlistentry>
3379
3380
3381
3382
3383
3384                 <varlistentry>
3385                 <term><anchor id="LARGEREADWRITE">large readwrite (G)</term>
3386                 <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink>
3387                 supports the new 64k streaming read and write varient SMB requests introduced
3388                 with Windows 2000. Note that due to Windows 2000 client redirector bugs
3389                 this requires Samba to be running on a 64-bit capable operating system such
3390                 as IRIX, Solaris or a Linux 2.4 kernel. Can improve performance by 10% with
3391                 Windows 2000 clients. Defaults to on. Not as tested as some other Samba
3392                 code paths.
3393                 </para>
3394                 
3395                 <para>Default : <command>large readwrite = yes</command></para>
3396                 </listitem>
3397                 </varlistentry>
3398
3399
3400
3401                 <varlistentry>
3402                 <term><anchor id="LDAPADMINDN">ldap admin dn (G)</term>
3403                 <listitem><para> The <parameter>ldap admin dn</parameter> defines the Distinguished 
3404                 Name (DN) name used by Samba to contact the ldap server when retreiving 
3405                 user account information. The <parameter>ldap
3406                 admin dn</parameter> is used in conjunction with the admin dn password
3407                 stored in the <filename>private/secrets.tdb</filename> file.  See the
3408                 <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink> man
3409                 page for more information on how to accmplish this.
3410                 </para>
3411         
3412                 
3413                 <para>Default : <emphasis>none</emphasis></para>
3414                 </listitem>
3415                 </varlistentry>
3416
3417
3418
3419
3420                 <varlistentry>
3421                 <term><anchor id="LDAPFILTER">ldap filter (G)</term>
3422                 <listitem><para>This parameter specifies the RFC 2254 compliant LDAP search filter.
3423                 The default is to match the login name with the <constant>uid</constant> 
3424                 attribute for all entries matching the <constant>sambaAccount</constant>                
3425                 objectclass.  Note that this filter should only return one entry.
3426                 </para>
3427         
3428                 
3429                 <para>Default : <command>ldap filter = (&amp;(uid=%u)(objectclass=sambaAccount))</command></para>
3430                 </listitem>
3431                 </varlistentry>
3432
3433
3434                 <varlistentry>
3435                 <term><anchor id="LDAPSSL">ldap ssl (G)</term>
3436                 <listitem><para>This option is used to define whether or not Samba should
3437                 use SSL when connecting to the ldap server
3438                 This is <emphasis>NOT</emphasis> related to
3439                 Samba's previous SSL support which was enabled by specifying the 
3440                 <command>--with-ssl</command> option to the <filename>configure</filename> 
3441                 script.
3442                 </para>
3443                 
3444                 <para>
3445                 The <parameter>ldap ssl</parameter> can be set to one of three values:
3446                 </para> 
3447                 <itemizedlist>
3448                         <listitem><para><parameter>On</parameter>  =  Always use SSL when contacting the 
3449                         <parameter>ldap server</parameter>.</para></listitem>
3450                         
3451                         <listitem><para><parameter>Off</parameter> = Never use SSL when querying the directory.</para></listitem>
3452
3453                         <listitem><para><parameter>Start_tls</parameter> = Use the LDAPv3 StartTLS extended operation 
3454                         (RFC2830) for communicating with the directory server.</para></listitem>
3455                 </itemizedlist>         
3456                 
3457                 <para>Default : <command>ldap ssl = on</command></para>
3458                 </listitem>
3459                 </varlistentry>
3460
3461
3462
3463
3464                 <varlistentry>
3465                 <term><anchor id="LDAPSUFFIX">ldap suffix (G)</term>
3466                 <listitem>
3467                 <para>Default : <emphasis>none</emphasis></para>
3468                 </listitem>
3469                 </varlistentry>
3470
3471
3472
3473                 <varlistentry>
3474                 <term><anchor id="LDAPUSERSUFFIX">ldap user suffix (G)</term>
3475                 <listitem><para>It specifies where users are added to the tree.
3476                 </para>
3477                 
3478         
3479                 
3480                 <para>Default : <emphasis>none</emphasis></para>
3481                 </listitem>
3482                 </varlistentry>
3483
3484
3485
3486                 <varlistentry>
3487                 <term><anchor id="LDAPMACHINESUFFIX">ldap machine suffix (G)</term>
3488                 <listitem><para>It specifies where machines should be 
3489                 added to the ldap tree.
3490                 </para>
3491                 
3492         
3493                 
3494                 <para>Default : <emphasis>none</emphasis></para>
3495                 </listitem>
3496                 </varlistentry>
3497
3498                 <varlistentry>
3499                 <term><anchor id="LDAPPASSWDSYNC">ldap passwd sync (G)</term>
3500                 <listitem><para>This option is used to define whether
3501                 or not Samba should sync the LDAP password with the NT
3502                 and LM hashes for normal accounts (NOT for
3503                 workstation, server or domain trusts) on a password
3504                 change via SAMBA.  
3505                 </para>
3506
3507                 <para>
3508                 The <parameter>ldap passwd sync</parameter> can be set to one of three values:
3509                 </para>
3510                 <itemizedlist>
3511                         <listitem><para><parameter>Yes</parameter>  =  Try to update the LDAP, NT and LM passwords and update the pwdLastSet time.</para></listitem>
3512                         
3513                         <listitem><para><parameter>No</parameter> = Update NT and LM passwords and update the pwdLastSet time.</para></listitem>
3514
3515                         <listitem><para><parameter>Only</parameter> = Only update the LDAP password and let the LDAP server do the rest.</para></listitem>
3516                 </itemizedlist>         
3517                 
3518                 <para>Default : <command>ldap passwd sync = no</command></para>
3519                 </listitem>
3520                 </varlistentry>
3521
3522
3523
3524
3525
3526                 <varlistentry>
3527                 <term><anchor id="LEVEL2OPLOCKS">level2 oplocks (S)</term>
3528                 <listitem><para>This parameter controls whether Samba supports
3529                 level2 (read-only) oplocks on a share.</para>
3530                 
3531                 <para>Level2, or read-only oplocks allow Windows NT clients 
3532                 that have an oplock on a file to downgrade from a read-write oplock 
3533                 to a read-only oplock once a second client opens the file (instead 
3534                 of releasing all oplocks on a second open, as in traditional, 
3535                 exclusive oplocks). This allows all openers of the file that 
3536                 support level2 oplocks to cache the file for read-ahead only (ie. 
3537                 they may not cache writes or lock requests) and increases performance 
3538                 for many accesses of files that are not commonly written (such as 
3539                 application .EXE files).</para>
3540
3541                 <para>Once one of the clients which have a read-only oplock 
3542                 writes to the file all clients are notified (no reply is needed 
3543                 or waited for) and told to break their oplocks to "none" and 
3544                 delete any read-ahead caches.</para>
3545
3546                 <para>It is recommended that this parameter be turned on 
3547                 to speed access to shared executables.</para>
3548
3549                 <para>For more discussions on level2 oplocks see the CIFS spec.</para>
3550
3551                 <para>Currently, if <link linkend="KERNELOPLOCKS"><parameter>kernel 
3552                 oplocks</parameter></link> are supported then level2 oplocks are 
3553                 not granted (even if this parameter is set to <constant>yes</constant>). 
3554                 Note also, the <link linkend="OPLOCKS"><parameter>oplocks</parameter>
3555                 </link> parameter must be set to <constant>true</constant> on this share in order for 
3556                 this parameter to have any effect.</para>
3557
3558                 <para>See also the <link linkend="OPLOCKS"><parameter>oplocks</parameter>
3559                 </link> and <link linkend="OPLOCKS"><parameter>kernel oplocks</parameter>
3560                 </link> parameters.</para>
3561                 
3562                 <para>Default: <command>level2 oplocks = yes</command></para>
3563                 </listitem>
3564                 </varlistentry>
3565
3566
3567
3568
3569
3570                 <varlistentry>
3571                 <term><anchor id="LMANNOUNCE">lm announce (G)</term>
3572                 <listitem><para>This parameter determines if <ulink url="nmbd.8.html">
3573                 <command>nmbd(8)</command></ulink> will produce Lanman announce 
3574                 broadcasts that are needed by OS/2 clients in order for them to see 
3575                 the Samba server in their browse list. This parameter can have three 
3576                 values, <constant>true</constant>, <constant>false</constant>, or
3577                 <constant>auto</constant>. The default is <constant>auto</constant>.  
3578                 If set to <constant>false</constant> Samba will never produce these 
3579                 broadcasts. If set to <constant>true</constant> Samba will produce 
3580                 Lanman announce broadcasts at a frequency set by the parameter 
3581                 <parameter>lm interval</parameter>. If set to <constant>auto</constant> 
3582                 Samba will not send Lanman announce broadcasts by default but will 
3583                 listen for them. If it hears such a broadcast on the wire it will 
3584                 then start sending them at a frequency set by the parameter 
3585                 <parameter>lm interval</parameter>.</para>
3586
3587                 <para>See also <link linkend="LMINTERVAL"><parameter>lm interval
3588                 </parameter></link>.</para>
3589
3590                 <para>Default: <command>lm announce = auto</command></para>
3591                 <para>Example: <command>lm announce = yes</command></para>
3592                 </listitem>
3593                 </varlistentry>
3594
3595
3596
3597                 <varlistentry>
3598                 <term><anchor id="LMINTERVAL">lm interval (G)</term>
3599                 <listitem><para>If Samba is set to produce Lanman announce 
3600                 broadcasts needed by OS/2 clients (see the <link linkend="LMANNOUNCE">
3601                 <parameter>lm announce</parameter></link> parameter) then this 
3602                 parameter defines the frequency in seconds with which they will be 
3603                 made.  If this is set to zero then no Lanman announcements will be 
3604                 made despite the setting of the <parameter>lm announce</parameter> 
3605                 parameter.</para>
3606
3607                 <para>See also <link linkend="LMANNOUNCE"><parameter>lm 
3608                 announce</parameter></link>.</para>
3609
3610                 <para>Default: <command>lm interval = 60</command></para>
3611                 <para>Example: <command>lm interval = 120</command></para>
3612                 </listitem>
3613                 </varlistentry>
3614
3615
3616
3617                 <varlistentry>
3618                 <term><anchor id="LOADPRINTERS">load printers (G)</term>
3619                 <listitem><para>A boolean variable that controls whether all 
3620                 printers in the printcap will be loaded for browsing by default. 
3621                 See the <link linkend="PRINTERSSECT">printers</link> section for 
3622                 more details.</para>
3623
3624                 <para>Default: <command>load printers = yes</command></para></listitem>
3625                 </varlistentry>
3626
3627
3628
3629
3630                 <varlistentry>
3631                 <term><anchor id="LOCALMASTER">local master (G)</term>
3632                 <listitem><para>This option allows <ulink url="nmbd.8.html"><command>
3633                 nmbd(8)</command></ulink> to try and become a local master browser 
3634                 on a subnet. If set to <constant>false</constant> then <command>
3635                 nmbd</command> will not attempt to become a local master browser 
3636                 on a subnet and will also lose in all browsing elections. By
3637                 default this value is set to <constant>true</constant>. Setting this value to <constant>true</constant> doesn't
3638                 mean that Samba will <emphasis>become</emphasis> the local master 
3639                 browser on a subnet, just that <command>nmbd</command> will <emphasis>
3640                 participate</emphasis> in elections for local master browser.</para>
3641
3642                 <para>Setting this value to <constant>false</constant> will cause <command>nmbd</command>
3643                 <emphasis>never</emphasis> to become a local master browser.</para>
3644
3645                 <para>Default: <command>local master = yes</command></para>
3646                 </listitem>
3647                 </varlistentry>
3648
3649
3650
3651                 <varlistentry>
3652                 <term><anchor id="LOCKDIR">lock dir (G)</term>
3653                 <listitem><para>Synonym for <link linkend="LOCKDIRECTORY"><parameter>
3654                 lock directory</parameter></link>.</para></listitem>
3655                 </varlistentry>
3656                 
3657                 
3658                 
3659                 <varlistentry>
3660                 <term><anchor id="LOCKDIRECTORY">lock directory (G)</term>
3661                 <listitem><para>This option specifies the directory where lock 
3662                 files will be placed.  The lock files are used to implement the 
3663                 <link linkend="MAXCONNECTIONS"><parameter>max connections</parameter>
3664                 </link> option.</para>
3665
3666                 <para>Default: <command>lock directory = ${prefix}/var/locks</command></para>
3667                 <para>Example: <command>lock directory = /var/run/samba/locks</command>
3668                 </para></listitem>
3669                 </varlistentry>
3670
3671
3672
3673                 <varlistentry>
3674                 <term><anchor id="LOCKSPINCOUNT">lock spin count (G)</term>
3675                 <listitem><para>This parameter controls the number of times
3676                 that smbd should attempt to gain a byte range lock on the 
3677                 behalf of a client request.  Experiments have shown that
3678                 Windows 2k servers do not reply with a failure if the lock
3679                 could not be immediately granted, but try a few more times
3680                 in case the lock could later be aquired.  This behavior
3681                 is used to support PC database formats such as MS Access
3682                 and FoxPro.
3683                 </para>
3684
3685                 <para>Default: <command>lock spin count = 2</command>
3686                 </para></listitem>
3687                 </varlistentry>
3688
3689
3690
3691
3692                 <varlistentry>
3693                 <term><anchor id="LOCKSPINTIME">lock spin time (G)</term>
3694                 <listitem><para>The time in microseconds that smbd should 
3695                 pause before attempting to gain a failed lock.  See
3696                 <link linkend="LOCKSPINCOUNT"><parameter>lock spin 
3697                 count</parameter></link> for more details.
3698                 </para>
3699
3700                 <para>Default: <command>lock spin time = 10</command>
3701                 </para></listitem>
3702                 </varlistentry>
3703
3704
3705
3706                 <varlistentry>
3707                 <term><anchor id="LOCKING">locking (S)</term>
3708                 <listitem><para>This controls whether or not locking will be 
3709                 performed by the server in response to lock requests from the 
3710                 client.</para>
3711
3712                 <para>If <command>locking = no</command>, all lock and unlock 
3713                 requests will appear to succeed and all lock queries will report 
3714                 that the file in question is available for locking.</para>
3715
3716                 <para>If <command>locking = yes</command>, real locking will be performed 
3717                 by the server.</para>
3718
3719                 <para>This option <emphasis>may</emphasis> be useful for read-only 
3720                 filesystems which <emphasis>may</emphasis> not need locking (such as 
3721                 CDROM drives), although setting this parameter of <constant>no</constant> 
3722                 is not really recommended even in this case.</para>
3723
3724                 <para>Be careful about disabling locking either globally or in a 
3725                 specific service, as lack of locking may result in data corruption. 
3726                 You should never need to set this parameter.</para>
3727
3728                 <para>Default: <command>locking = yes</command></para>
3729                 </listitem>
3730                 </varlistentry>
3731
3732
3733
3734                 <varlistentry>
3735                 <term><anchor id="LOGFILE">log file (G)</term>
3736                 <listitem><para>This option allows you to override the name 
3737                 of the Samba log file (also known as the debug file).</para>
3738
3739                 <para>This option takes the standard substitutions, allowing 
3740                 you to have separate log files for each user or machine.</para>
3741
3742                 <para>Example: <command>log file = /usr/local/samba/var/log.%m
3743                 </command></para></listitem>
3744                 </varlistentry>
3745
3746
3747
3748                 <varlistentry>
3749                 <term><anchor id="LOGLEVEL">log level (G)</term>
3750                 <listitem><para>The value of the parameter (a astring) allows 
3751                 the debug level (logging level) to be specified in the 
3752                 <filename>smb.conf</filename> file. This parameter has been
3753                 extended since 2.2.x series, now it allow to specify the debug
3754                 level for multiple debug classes. This is to give greater 
3755                 flexibility in the configuration of the system.</para>
3756
3757                 <para>The default will be the log level specified on 
3758                 the command line or level zero if none was specified.</para>
3759
3760                 <para>Example: <command>log level = 3 passdb:5 auth:10 winbind:2
3761                 </command></para></listitem>
3762                 </varlistentry>
3763
3764
3765
3766                 <varlistentry>
3767                 <term><anchor id="LOGONDRIVE">logon drive (G)</term>
3768                 <listitem><para>This parameter specifies the local path to 
3769                 which the home directory will be connected (see <link 
3770                 linkend="LOGONHOME"><parameter>logon home</parameter></link>) 
3771                 and is only used by NT Workstations. </para>
3772
3773                 <para>Note that this option is only useful if Samba is set up as a
3774                 logon server.</para>
3775
3776                 <para>Default: <command>logon drive = z:</command></para>
3777                 <para>Example: <command>logon drive = h:</command></para>
3778                 </listitem>
3779                 </varlistentry>
3780
3781         
3782         
3783                 <varlistentry>
3784                 <term><anchor id="LOGONHOME">logon home (G)</term>
3785                 <listitem><para>This parameter specifies the home directory 
3786                 location when a Win95/98 or NT Workstation logs into a Samba PDC.  
3787                 It allows you to do </para>
3788                 
3789                 <para><prompt>C:\> </prompt><userinput>NET USE H: /HOME</userinput>
3790                 </para>
3791
3792                 <para>from a command prompt, for example.</para>
3793
3794                 <para>This option takes the standard substitutions, allowing 
3795                 you to have separate logon scripts for each user or machine.</para>
3796
3797                 <para>This parameter can be used with Win9X workstations to ensure 
3798                 that roaming profiles are stored in a subdirectory of the user's 
3799                 home directory.  This is done in the following way:</para>
3800
3801                 <para><command>logon home = \\%N\%U\profile</command></para>
3802
3803                 <para>This tells Samba to return the above string, with 
3804                 substitutions made when a client requests the info, generally 
3805                 in a NetUserGetInfo request.  Win9X clients truncate the info to
3806                 \\server\share when a user does <command>net use /home</command>
3807                 but use the whole string when dealing with profiles.</para>
3808
3809                 <para>Note that in prior versions of Samba, the <link linkend="LOGONPATH">
3810                 <parameter>logon path</parameter></link> was returned rather than 
3811                 <parameter>logon home</parameter>.  This broke <command>net use 
3812                 /home</command> but allowed profiles outside the home directory.  
3813                 The current implementation is correct, and can be used for 
3814                 profiles if you use the above trick.</para>
3815                 
3816                 <para>This option is only useful if Samba is set up as a logon 
3817                 server.</para>
3818
3819                 <para>Default: <command>logon home = "\\%N\%U"</command></para>
3820                 <para>Example: <command>logon home = "\\remote_smb_server\%U"</command>
3821                 </para></listitem>
3822                 </varlistentry>
3823
3824
3825                 <varlistentry>
3826                 <term><anchor id="LOGONPATH">logon path (G)</term>
3827                 <listitem><para>This parameter specifies the home directory 
3828                 where roaming profiles (NTuser.dat etc files for Windows NT) are 
3829                 stored.  Contrary to previous versions of these manual pages, it has 
3830                 nothing to do with Win 9X roaming profiles.  To find out how to 
3831                 handle roaming profiles for Win 9X system, see the <link linkend="LOGONHOME">
3832                 <parameter>logon home</parameter></link> parameter.</para>
3833
3834                 <para>This option takes the standard substitutions, allowing you 
3835                 to have separate logon scripts for each user or machine.  It also 
3836                 specifies the directory from which the "Application Data", 
3837                 (<filename>desktop</filename>, <filename>start menu</filename>,
3838                 <filename>network neighborhood</filename>, <filename>programs</filename> 
3839                 and other folders, and their contents, are loaded and displayed on 
3840                 your Windows NT client.</para>
3841                 
3842                 <para>The share and the path must be readable by the user for 
3843                 the preferences and directories to be loaded onto the Windows NT
3844                 client.  The share must be writeable when the user logs in for the first
3845                 time, in order that the Windows NT client can create the NTuser.dat
3846                 and other directories.</para>
3847
3848                 <para>Thereafter, the directories and any of the contents can, 
3849                 if required, be made read-only.  It is not advisable that the 
3850                 NTuser.dat file be made read-only - rename it to NTuser.man to 
3851                 achieve the desired effect (a <emphasis>MAN</emphasis>datory 
3852                 profile). </para>
3853
3854                 <para>Windows clients can sometimes maintain a connection to 
3855                 the [homes] share, even though there is no user logged in.  
3856                 Therefore, it is vital that the logon path does not include a 
3857                 reference to the homes share (i.e. setting this parameter to
3858                 \%N\%U\profile_path will cause problems).</para>
3859
3860                 <para>This option takes the standard substitutions, allowing 
3861                 you to have separate logon scripts for each user or machine.</para>
3862
3863                 <para>Note that this option is only useful if Samba is set up 
3864                 as a logon server.</para>
3865
3866                 <para>Default: <command>logon path = \\%N\%U\profile</command></para>
3867                 <para>Example: <command>logon path = \\PROFILESERVER\PROFILE\%U</command></para>
3868                 </listitem>
3869                 </varlistentry>
3870                 
3871                 
3872                 
3873                 <varlistentry>
3874                 <term><anchor id="LOGONSCRIPT">logon script (G)</term>
3875                 <listitem><para>This parameter specifies the batch file (.bat) or 
3876                 NT command file (.cmd) to be downloaded and run on a machine when 
3877                 a user successfully logs in.  The file must contain the DOS 
3878                 style CR/LF line endings. Using a DOS-style editor to create the 
3879                 file is recommended.</para>
3880                 
3881                 <para>The script must be a relative path to the [netlogon] 
3882                 service.  If the [netlogon] service specifies a <link linkend="PATH">
3883                 <parameter>path</parameter></link> of <filename>/usr/local/samba/netlogon
3884                 </filename>, and <command>logon script = STARTUP.BAT</command>, then 
3885                 the file that will be downloaded is:</para>
3886
3887                 <para><filename>/usr/local/samba/netlogon/STARTUP.BAT</filename></para>
3888
3889                 <para>The contents of the batch file are entirely your choice.  A 
3890                 suggested command would be to add <command>NET TIME \\SERVER /SET 
3891                 /YES</command>, to force every machine to synchronize clocks with 
3892                 the same time server.  Another use would be to add <command>NET USE 
3893                 U: \\SERVER\UTILS</command> for commonly used utilities, or <command>
3894                 NET USE Q: \\SERVER\ISO9001_QA</command> for example.</para>
3895
3896                 <para>Note that it is particularly important not to allow write 
3897                 access to the [netlogon] share, or to grant users write permission 
3898                 on the batch files in a secure environment, as this would allow 
3899                 the batch files to be arbitrarily modified and security to be 
3900                 breached.</para>
3901
3902                 <para>This option takes the standard substitutions, allowing you 
3903                 to have separate logon scripts for each user or machine.</para>
3904
3905                 <para>This option is only useful if Samba is set up as a logon 
3906                 server.</para>
3907
3908                 <para>Default: <emphasis>no logon script defined</emphasis></para>
3909                 <para>Example: <command>logon script = scripts\%U.bat</command></para>
3910                 </listitem>
3911                 </varlistentry>
3912
3913
3914
3915                 <varlistentry>
3916                 <term><anchor id="LPPAUSECOMMAND">lppause command (S)</term>
3917                 <listitem><para>This parameter specifies the command to be 
3918                 executed on the server host in order to stop printing or spooling 
3919                 a specific print job.</para>
3920
3921                 <para>This command should be a program or script which takes 
3922                 a printer name and job number to pause the print job. One way 
3923                 of implementing this is by using job priorities, where jobs 
3924                 having a too low priority won't be sent to the printer.</para>
3925
3926                 <para>If a <parameter>%p</parameter> is given then the printer name 
3927                 is put in its place. A <parameter>%j</parameter> is replaced with 
3928                 the job number (an integer).  On HPUX (see <parameter>printing=hpux
3929                 </parameter>), if the <parameter>-p%p</parameter> option is added 
3930                 to the lpq command, the job will show up with the correct status, i.e. 
3931                 if the job priority is lower than the set fence priority it will 
3932                 have the PAUSED status, whereas if  the priority is equal or higher it 
3933                 will have the SPOOLED or PRINTING status.</para>
3934
3935                 <para>Note that it is good practice to include the absolute path 
3936                 in the lppause command as the PATH may not be available to the server.</para>
3937
3938                 <para>See also the <link linkend="PRINTING"><parameter>printing
3939                 </parameter></link> parameter.</para>
3940
3941                 <para>Default: Currently no default value is given to 
3942                 this string, unless the value of the <parameter>printing</parameter> 
3943                 parameter is <constant>SYSV</constant>, in which case the default is :</para>
3944
3945                 <para><command>lp -i %p-%j -H hold</command></para>
3946
3947                 <para>or if the value of the <parameter>printing</parameter> parameter 
3948                 is <constant>SOFTQ</constant>, then the default is:</para>
3949
3950                 <para><command>qstat -s -j%j -h</command></para>
3951  
3952                 <para>Example for HPUX: <command>lppause command = /usr/bin/lpalt       
3953                 %p-%j -p0</command></para>
3954                 </listitem>
3955                 </varlistentry>
3956
3957
3958
3959                 <varlistentry>
3960                 <term><anchor id="LPQCACHETIME">lpq cache time (G)</term>
3961                 <listitem><para>This controls how long lpq info will be cached 
3962                 for to prevent the <command>lpq</command> command being called too 
3963                 often. A separate cache is kept for each variation of the <command>
3964                 lpq</command> command used by the system, so if you use different 
3965                 <command>lpq</command> commands for different users then they won't
3966                 share cache information.</para>
3967
3968                 <para>The cache files are stored in <filename>/tmp/lpq.xxxx</filename> 
3969                 where xxxx is a hash of the <command>lpq</command> command in use.</para>
3970
3971                 <para>The default is 10 seconds, meaning that the cached results 
3972                 of a previous identical <command>lpq</command> command will be used 
3973                 if the cached data is less than 10 seconds old. A large value may 
3974                 be advisable if your <command>lpq</command> command is very slow.</para>
3975
3976                 <para>A value of 0 will disable caching completely.</para>
3977
3978                 <para>See also the <link linkend="PRINTING"><parameter>printing
3979                 </parameter></link> parameter.</para>
3980
3981                 <para>Default: <command>lpq cache time = 10</command></para>
3982                 <para>Example: <command>lpq cache time = 30</command></para>
3983                 </listitem>
3984                 </varlistentry>
3985
3986
3987
3988                 <varlistentry>
3989                 <term><anchor id="LPQCOMMAND">lpq command (S)</term>
3990                 <listitem><para>This parameter specifies the command to be 
3991                 executed on the server host in order to obtain <command>lpq
3992                 </command>-style printer status information.</para>
3993
3994                 <para>This command should be a program or script which 
3995                 takes a printer name as its only parameter and outputs printer 
3996                 status information.</para>
3997
3998                 <para>Currently nine styles of printer status information 
3999                 are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ. 
4000                 This covers most UNIX systems. You control which type is expected 
4001                 using the <parameter>printing =</parameter> option.</para>
4002
4003                 <para>Some clients (notably Windows for Workgroups) may not 
4004                 correctly send the connection number for the printer they are 
4005                 requesting status information about. To get around this, the 
4006                 server reports on the first printer service connected to by the 
4007                 client. This only happens if the connection number sent is invalid.</para>
4008
4009                 <para>If a <parameter>%p</parameter> is given then the printer name 
4010                 is put in its place. Otherwise it is placed at the end of the 
4011                 command.</para>
4012
4013                 <para>Note that it is good practice to include the absolute path 
4014                 in the <parameter>lpq command</parameter> as the <envar>$PATH
4015                 </envar> may not be available to the server.  When compiled with
4016                 the CUPS libraries, no <parameter>lpq command</parameter> is
4017                 needed because smbd will make a library call to obtain the 
4018                 print queue listing.</para>
4019
4020                 <para>See also the <link linkend="PRINTING"><parameter>printing
4021                 </parameter></link> parameter.</para>
4022
4023                 <para>Default: <emphasis>depends on the setting of <parameter>
4024                 printing</parameter></emphasis></para>
4025
4026                 <para>Example: <command>lpq command = /usr/bin/lpq -P%p</command></para>
4027                 </listitem>
4028                 </varlistentry>
4029                 
4030                 
4031                 
4032                 <varlistentry>
4033                 <term><anchor id="LPRESUMECOMMAND">lpresume command (S)</term>
4034                 <listitem><para>This parameter specifies the command to be 
4035                 executed on the server host in order to restart or continue 
4036                 printing or spooling a specific print job.</para>
4037
4038                 <para>This command should be a program or script which takes 
4039                 a printer name and job number to resume the print job. See 
4040                 also the <link linkend="LPPAUSECOMMAND"><parameter>lppause command
4041                 </parameter></link> parameter.</para>
4042
4043                 <para>If a <parameter>%p</parameter> is given then the printer name 
4044                 is put in its place. A <parameter>%j</parameter> is replaced with 
4045                 the job number (an integer).</para>
4046                 
4047                 <para>Note that it is good practice to include the absolute path 
4048                 in the <parameter>lpresume command</parameter> as the PATH may not 
4049                 be available to the server.</para>
4050                 
4051                 <para>See also the <link linkend="PRINTING"><parameter>printing
4052                 </parameter></link> parameter.</para>
4053
4054                 <para>Default: Currently no default value is given 
4055                 to this string, unless the value of the <parameter>printing</parameter> 
4056                 parameter is <constant>SYSV</constant>, in which case the default is :</para>
4057
4058                 <para><command>lp -i %p-%j -H resume</command></para>
4059
4060                 <para>or if the value of the <parameter>printing</parameter> parameter 
4061                 is <constant>SOFTQ</constant>, then the default is:</para>
4062
4063                 <para><command>qstat -s -j%j -r</command></para>
4064  
4065                 <para>Example for HPUX: <command>lpresume command = /usr/bin/lpalt 
4066                 %p-%j -p2</command></para>
4067                 </listitem>
4068                 </varlistentry>
4069                 
4070                 
4071
4072                 <varlistentry>
4073                 <term><anchor id="LPRMCOMMAND">lprm command (S)</term>
4074                 <listitem><para>This parameter specifies the command to be 
4075                 executed on the server host in order to delete a print job.</para>
4076
4077                 <para>This command should be a program or script which takes 
4078                 a printer name and job number, and deletes the print job.</para>
4079
4080                 <para>If a <parameter>%p</parameter> is given then the printer name 
4081                 is put in its place. A <parameter>%j</parameter> is replaced with 
4082                 the job number (an integer).</para>
4083
4084                 <para>Note that it is good practice to include the absolute 
4085                 path in the <parameter>lprm command</parameter> as the PATH may not be 
4086                 available to the server.</para>
4087
4088                 <para>See also the <link linkend="PRINTING"><parameter>printing
4089                 </parameter></link> parameter.</para>
4090
4091                 <para>Default: <emphasis>depends on the setting of <parameter>printing
4092                 </parameter></emphasis></para>
4093
4094                 <para>Example 1: <command>lprm command = /usr/bin/lprm -P%p %j
4095                 </command></para>
4096                 <para>Example 2: <command>lprm command = /usr/bin/cancel %p-%j
4097                 </command></para></listitem>
4098                 </varlistentry>
4099
4100
4101
4102                 <varlistentry>
4103                 <term><anchor id="MACHINEPASSWORDTIMEOUT">machine password timeout (G)</term>
4104                 <listitem><para>If a Samba server is a member of a Windows 
4105                 NT Domain (see the <link linkend="SECURITYEQUALSDOMAIN">security = domain</link>) 
4106                 parameter) then periodically a running <ulink url="smbd.8.html">
4107                 smbd(8)</ulink> process will try and change the MACHINE ACCOUNT 
4108                 PASSWORD stored in the TDB called <filename>private/secrets.tdb
4109                 </filename>.  This parameter specifies how often this password 
4110                 will be changed, in seconds. The default is one week (expressed in 
4111                 seconds), the same as a Windows NT Domain member server.</para>
4112
4113                 <para>See also <ulink url="smbpasswd.8.html"><command>smbpasswd(8)
4114                 </command></ulink>, and the <link linkend="SECURITYEQUALSDOMAIN">
4115                 security = domain</link>) parameter.</para>
4116
4117                 <para>Default: <command>machine password timeout = 604800</command></para>
4118                 </listitem>
4119                 </varlistentry>
4120
4121
4122                 <varlistentry>
4123                 <term><anchor id="MAGICOUTPUT">magic output (S)</term>
4124                 <listitem><para>This parameter specifies the name of a file 
4125                 which will contain output created by a magic script (see the 
4126                 <link linkend="MAGICSCRIPT"><parameter>magic script</parameter></link>
4127                 parameter below).</para>
4128
4129                 <para>Warning: If two clients use the same <parameter>magic script
4130                 </parameter> in the same directory the output file content
4131                 is undefined.</para>
4132
4133                 <para>Default: <command>magic output = &lt;magic script name&gt;.out
4134                 </command></para>
4135
4136                 <para>Example: <command>magic output = myfile.txt</command></para>
4137                 </listitem>
4138                 </varlistentry>
4139
4140
4141
4142                 <varlistentry>
4143                 <term><anchor id="MAGICSCRIPT">magic script (S)</term>
4144                 <listitem><para>This parameter specifies the name of a file which, 
4145                 if opened, will be executed by the server when the file is closed. 
4146                 This allows a UNIX script to be sent to the Samba host and 
4147                 executed on behalf of the connected user.</para>
4148
4149                 <para>Scripts executed in this way will be deleted upon 
4150                 completion assuming that the user has the appropriate level 
4151                 of privilege and the file permissions allow the deletion.</para>
4152
4153                 <para>If the script generates output, output will be sent to 
4154                 the file specified by the <link linkend="MAGICOUTPUT"><parameter>
4155                 magic output</parameter></link> parameter (see above).</para>
4156
4157                 <para>Note that some shells are unable to interpret scripts 
4158                 containing CR/LF instead of CR as 
4159                 the end-of-line marker. Magic scripts must be executable 
4160                 <emphasis>as is</emphasis> on the host, which for some hosts and 
4161                 some shells will require filtering at the DOS end.</para>
4162
4163                 <para>Magic scripts are <emphasis>EXPERIMENTAL</emphasis> and 
4164                 should <emphasis>NOT</emphasis> be relied upon.</para>
4165
4166                 <para>Default: <emphasis>None. Magic scripts disabled.</emphasis></para>
4167                 <para>Example: <command>magic script = user.csh</command></para>
4168                 </listitem>
4169                 </varlistentry>
4170
4171                 
4172
4173                 <varlistentry>
4174                 <term><anchor id="MANGLECASE">mangle case (S)</term>
4175                 <listitem><para>See the section on <link linkend="NAMEMANGLINGSECT">
4176                 NAME MANGLING</link></para>
4177                 
4178                 <para>Default: <command>mangle case = no</command></para>
4179                 </listitem>
4180                 </varlistentry>
4181                 
4182
4183                 <varlistentry>
4184                 <term><anchor id="MANGLEDMAP">mangled map (S)</term>
4185                 <listitem><para>This is for those who want to directly map UNIX 
4186                 file names which cannot be represented on Windows/DOS.  The mangling 
4187                 of names is not always what is needed.  In particular you may have 
4188                 documents with file extensions that differ between DOS and UNIX. 
4189                 For example, under UNIX it is common to use <filename>.html</filename> 
4190                 for HTML files, whereas under Windows/DOS <filename>.htm</filename> 
4191                 is more commonly used.</para>
4192
4193                 <para>So to map <filename>html</filename> to <filename>htm</filename> 
4194                 you would use:</para>
4195                 
4196                 <para><command>mangled map = (*.html *.htm)</command></para>
4197
4198                 <para>One very useful case is to remove the annoying <filename>;1
4199                 </filename> off the ends of filenames on some CDROMs (only visible 
4200                 under some UNIXes). To do this use a map of (*;1 *;).</para>
4201
4202                 <para>Default: <emphasis>no mangled map</emphasis></para>
4203                 <para>Example: <command>mangled map = (*;1 *;)</command></para>
4204                 </listitem>
4205                 </varlistentry>
4206
4207
4208                 <varlistentry>
4209                 <term><anchor id="MANGLEDNAMES">mangled names (S)</term>
4210                 <listitem><para>This controls whether non-DOS names under UNIX 
4211                 should be mapped to DOS-compatible names ("mangled") and made visible, 
4212                 or whether non-DOS names should simply be ignored.</para>
4213
4214                 <para>See the section on <link linkend="NAMEMANGLINGSECT">
4215                 NAME MANGLING</link> for details on how to control the mangling process.</para>
4216
4217                 <para>If mangling is used then the mangling algorithm is as follows:</para>
4218
4219                 <itemizedlist>
4220                         <listitem><para>The first (up to) five alphanumeric characters 
4221                         before the rightmost dot of the filename are preserved, forced 
4222                         to upper case, and appear as the first (up to) five characters 
4223                         of the mangled name.</para></listitem>
4224                 
4225                         <listitem><para>A tilde "~" is appended to the first part of the mangled
4226                         name, followed by a two-character unique sequence, based on the
4227                         original root name (i.e., the original filename minus its final
4228                         extension). The final extension is included in the hash calculation
4229                         only if it contains any upper case characters or is longer than three
4230                         characters.</para>
4231
4232                         <para>Note that the character to use may be specified using 
4233                         the <link linkend="MANGLINGCHAR"><parameter>mangling char</parameter>
4234                         </link> option, if you don't like '~'.</para></listitem>
4235
4236                         <listitem><para>The first three alphanumeric characters of the final 
4237                         extension are preserved, forced to upper case and appear as the 
4238                         extension of the mangled name. The final extension is defined as that 
4239                         part of the original filename after the rightmost dot. If there are no 
4240                         dots in the filename, the mangled name will have no extension (except 
4241                         in the case of "hidden files" - see below).</para></listitem>
4242
4243                         <listitem><para>Files whose UNIX name begins with a dot will be 
4244                         presented as DOS hidden files. The mangled name will be created as 
4245                         for other filenames, but with the leading dot removed and "___" as 
4246                         its extension regardless of actual original extension (that's three 
4247                         underscores).</para></listitem>
4248                 </itemizedlist>
4249
4250                 <para>The two-digit hash value consists of upper case 
4251                 alphanumeric characters.</para>
4252
4253                 <para>This algorithm can cause name collisions only if files 
4254                 in a directory share the same first five alphanumeric characters. 
4255                 The probability of such a clash is 1/1300.</para>
4256
4257                 <para>The name mangling (if enabled) allows a file to be 
4258                 copied between UNIX directories from Windows/DOS while retaining 
4259                 the long UNIX filename. UNIX files can be renamed to a new extension 
4260                 from Windows/DOS and will retain the same basename. Mangled names 
4261                 do not change between sessions.</para>
4262
4263                 <para>Default: <command>mangled names = yes</command></para>
4264                 </listitem>
4265                 </varlistentry>
4266
4267                 <varlistentry>
4268                 <term><anchor id="MANGLINGMETHOD">mangling method (G)</term>
4269                 <listitem><para> controls the algorithm used for the generating
4270                 the mangled names. Can take two different values, "hash" and
4271                 "hash2". "hash" is  the default and is the algorithm that has been
4272                 used in Samba for many years. "hash2" is a newer and considered
4273                 a better algorithm (generates less collisions) in the names.
4274                 However, many Win32 applications store the mangled names and so
4275                 changing to the new algorithm must not be done
4276                 lightly as these applications may break unless reinstalled.
4277                 New installations of Samba may set the default to hash2.</para>
4278                 <para>Default: <command>mangling method = hash</command></para>
4279                 <para>Example: <command>mangling method = hash2</command></para>
4280                 </listitem>
4281                 </varlistentry>
4282
4283                 <varlistentry>
4284                 <term><anchor id="MANGLEDSTACK">mangled stack (G)</term>
4285                 <listitem><para>This parameter controls the number of mangled names 
4286                 that should be cached in the Samba server <ulink url="smbd.8.html">
4287                 smbd(8)</ulink>.</para>
4288
4289                 <para>This stack is a list of recently mangled base names 
4290                 (extensions are only maintained if they are longer than 3 characters 
4291                 or contains upper case characters).</para>
4292
4293                 <para>The larger this value, the more likely it is that mangled 
4294                 names can be successfully converted to correct long UNIX names. 
4295                 However, large stack sizes will slow most directory accesses. Smaller 
4296                 stacks save memory in the server (each stack element costs 256 bytes).
4297                 </para>
4298
4299                 <para>It is not possible to absolutely guarantee correct long 
4300                 filenames, so be prepared for some surprises!</para>
4301
4302                 <para>Default: <command>mangled stack = 50</command></para>
4303                 <para>Example: <command>mangled stack = 100</command></para>
4304                 </listitem>
4305                 </varlistentry>
4306
4307
4308
4309
4310                 <varlistentry>
4311                 <term><anchor id="MANGLINGCHAR">mangling char (S)</term>
4312                 <listitem><para>This controls what character is used as 
4313                 the <emphasis>magic</emphasis> character in <link 
4314                 linkend="NAMEMANGLINGSECT">name mangling</link>. The default is a '~'
4315                 but this may interfere with some software. Use this option to set 
4316                 it to whatever you prefer.</para>
4317
4318                 <para>Default: <command>mangling char = ~</command></para>
4319                 <para>Example: <command>mangling char = ^</command></para>
4320                 </listitem>
4321                 </varlistentry>
4322                 
4323                 
4324
4325
4326
4327                 <varlistentry>
4328                 <term><anchor id="MAPARCHIVE">map archive (S)</term>
4329                 <listitem><para>This controls whether the DOS archive attribute 
4330                 should be mapped to the UNIX owner execute bit.  The DOS archive bit 
4331                 is set when a file has been modified since its last backup.  One 
4332                 motivation for this option it to keep Samba/your PC from making 
4333                 any file it touches from becoming executable under UNIX.  This can 
4334                 be quite annoying for shared source code, documents, etc...</para>
4335
4336                 <para>Note that this requires the <parameter>create mask</parameter>
4337                 parameter to be set such that owner execute bit is not masked out 
4338                 (i.e. it must include 100). See the parameter <link linkend="CREATEMASK">
4339                 <parameter>create mask</parameter></link> for details.</para>
4340
4341                 <para>Default: <command>map archive = yes</command></para>
4342                 </listitem>
4343                 </varlistentry>
4344                 
4345                 
4346                 
4347                 <varlistentry>
4348                 <term><anchor id="MAPHIDDEN">map hidden (S)</term>
4349                 <listitem><para>This controls whether DOS style hidden files 
4350                 should be mapped to the UNIX world execute bit.</para>
4351
4352                 <para>Note that this requires the <parameter>create mask</parameter> 
4353                 to be set such that the world execute bit is not masked out (i.e. 
4354                 it must include 001). See the parameter <link linkend="CREATEMASK">
4355                 <parameter>create mask</parameter></link> for details.</para>
4356
4357                 <para>Default: <command>map hidden = no</command></para>
4358                 </listitem>
4359                 </varlistentry>
4360
4361
4362                 <varlistentry>
4363                 <term><anchor id="MAPSYSTEM">map system (S)</term>
4364                 <listitem><para>This controls whether DOS style system files 
4365                 should be mapped to the UNIX group execute bit.</para>
4366
4367                 <para>Note that this requires the <parameter>create mask</parameter> 
4368                 to be set such that the group execute bit is not masked out (i.e. 
4369                 it must include 010). See the parameter <link linkend="CREATEMASK">
4370                 <parameter>create mask</parameter></link> for details.</para>
4371
4372                 <para>Default: <command>map system = no</command></para>
4373                 </listitem>
4374                 </varlistentry>
4375
4376
4377                 <varlistentry>
4378                 <term><anchor id="MAPTOGUEST">map to guest (G)</term>
4379                 <listitem><para>This parameter is only useful in <link linkend="SECURITY">
4380                 security</link> modes other than <parameter>security = share</parameter> 
4381                 - i.e. <constant>user</constant>, <constant>server</constant>, 
4382                 and <constant>domain</constant>.</para>
4383
4384                 <para>This parameter can take three different values, which tell
4385                 <ulink url="smbd.8.html">smbd(8)</ulink> what to do with user 
4386                 login requests that don't match a valid UNIX user in some way.</para>
4387
4388                 <para>The three settings are :</para>
4389
4390                 <itemizedlist>
4391                         <listitem><para><constant>Never</constant> - Means user login 
4392                         requests with an invalid password are rejected. This is the 
4393                         default.</para></listitem>
4394                         
4395                         <listitem><para><constant>Bad User</constant> - Means user
4396                         logins with an invalid password are rejected, unless the username 
4397                         does not exist, in which case it is treated as a guest login and 
4398                         mapped into the <link linkend="GUESTACCOUNT"><parameter>
4399                         guest account</parameter></link>.</para></listitem>
4400
4401                         <listitem><para><constant>Bad Password</constant> - Means user logins 
4402                         with an invalid password are treated as a guest login and mapped 
4403                         into the <link linkend="GUESTACCOUNT">guest account</link>. Note that 
4404                         this can cause problems as it means that any user incorrectly typing 
4405                         their password will be silently logged on as "guest" - and 
4406                         will not know the reason they cannot access files they think
4407                         they should - there will have been no message given to them
4408                         that they got their password wrong. Helpdesk services will
4409                         <emphasis>hate</emphasis> you if you set the <parameter>map to 
4410                         guest</parameter> parameter this way :-).</para></listitem>
4411                 </itemizedlist>
4412
4413                 <para>Note that this parameter is needed to set up "Guest" 
4414                 share services when using <parameter>security</parameter> modes other than 
4415                 share. This is because in these modes the name of the resource being
4416                 requested is <emphasis>not</emphasis> sent to the server until after 
4417                 the server has successfully authenticated the client so the server 
4418                 cannot make authentication decisions at the correct time (connection 
4419                 to the share) for "Guest" shares.</para>
4420
4421                 <para>For people familiar with the older Samba releases, this 
4422                 parameter maps to the old compile-time setting of the <constant>
4423                 GUEST_SESSSETUP</constant> value in local.h.</para>
4424
4425                 <para>Default: <command>map to guest = Never</command></para>
4426                 <para>Example: <command>map to guest = Bad User</command></para>
4427                 </listitem>
4428                 </varlistentry>
4429
4430
4431
4432                 <varlistentry>
4433                 <term><anchor id="MAXCONNECTIONS">max connections (S)</term>
4434                 <listitem><para>This option allows the number of simultaneous 
4435                 connections to a service to be limited. If <parameter>max connections
4436                 </parameter> is greater than 0 then connections will be refused if 
4437                 this number of connections to the service are already open. A value 
4438                 of zero mean an unlimited number of connections may be made.</para>
4439
4440                 <para>Record lock files are used to implement this feature. The 
4441                 lock files will be stored in the directory specified by the <link
4442                 linkend="LOCKDIRECTORY"><parameter>lock directory</parameter></link> 
4443                 option.</para>
4444
4445                 <para>Default: <command>max connections = 0</command></para>
4446                 <para>Example: <command>max connections = 10</command></para>
4447                 </listitem>
4448                 </varlistentry>
4449
4450
4451
4452                 <varlistentry>
4453                 <term><anchor id="MAXDISKSIZE">max disk size (G)</term>
4454                 <listitem><para>This option allows you to put an upper limit 
4455                 on the apparent size of disks. If you set this option to 100 
4456                 then all shares will appear to be not larger than 100 MB in 
4457                 size.</para>
4458
4459                 <para>Note that this option does not limit the amount of 
4460                 data you can put on the disk. In the above case you could still 
4461                 store much more than 100 MB on the disk, but if a client ever asks 
4462                 for the amount of free disk space or the total disk size then the 
4463                 result will be bounded by the amount specified in <parameter>max 
4464                 disk size</parameter>.</para>
4465
4466                 <para>This option is primarily useful to work around bugs 
4467                 in some pieces of software that can't handle very large disks, 
4468                 particularly disks over 1GB in size.</para>
4469
4470                 <para>A <parameter>max disk size</parameter> of 0 means no limit.</para>
4471
4472                 <para>Default: <command>max disk size = 0</command></para>
4473                 <para>Example: <command>max disk size = 1000</command></para>
4474                 </listitem>
4475                 </varlistentry>
4476                 
4477                 
4478                 
4479                 <varlistentry>
4480                 <term><anchor id="MAXLOGSIZE">max log size (G)</term>
4481                 <listitem><para>This option (an integer in kilobytes) specifies 
4482                 the max size the log file should grow to. Samba periodically checks 
4483                 the size and if it is exceeded it will rename the file, adding 
4484                 a <filename>.old</filename> extension.</para>
4485
4486                 <para>A size of 0 means no limit.</para>
4487
4488                 <para>Default: <command>max log size = 5000</command></para>
4489                 <para>Example: <command>max log size = 1000</command></para>
4490                 </listitem>
4491                 </varlistentry>
4492
4493
4494
4495                 <varlistentry>
4496                 <term><anchor id="MAXMUX">max mux (G)</term>
4497                 <listitem><para>This option controls the maximum number of 
4498                 outstanding simultaneous SMB operations that Samba tells the client 
4499                 it will allow. You should never need to set this parameter.</para>
4500
4501                 <para>Default: <command>max mux = 50</command></para>
4502                 </listitem>
4503                 </varlistentry>
4504
4505
4506
4507                 <varlistentry>
4508                 <term><anchor id="MAXOPENFILES">max open files (G)</term>
4509                 <listitem><para>This parameter limits the maximum number of 
4510                 open files that one <ulink url="smbd.8.html">smbd(8)</ulink> file 
4511                 serving process may have open for a client at any one time. The 
4512                 default for this parameter is set very high (10,000) as Samba uses 
4513                 only one bit per unopened file.</para>
4514                 
4515                 <para>The limit of the number of open files is usually set 
4516                 by the UNIX per-process file descriptor limit rather than 
4517                 this parameter so you should never need to touch this parameter.</para>
4518
4519                 <para>Default: <command>max open files = 10000</command></para>
4520                 </listitem>
4521                 </varlistentry>
4522
4523
4524
4525                 <varlistentry>
4526                 <term><anchor id="MAXPRINTJOBS">max print jobs (S)</term>
4527                 <listitem><para>This parameter limits the maximum number of 
4528                 jobs allowable in a Samba printer queue at any given moment.
4529                 If this number is exceeded, <ulink url="smbd.8.html"><command>
4530                 smbd(8)</command></ulink> will remote "Out of Space" to the client.
4531                 See all <link linkend="TOTALPRINTJOBS"><parameter>total
4532                 print jobs</parameter></link>.
4533                 </para>
4534
4535                 <para>Default: <command>max print jobs = 1000</command></para>
4536                 <para>Example: <command>max print jobs = 5000</command></para>
4537                 </listitem>
4538                 </varlistentry>
4539
4540
4541                 <varlistentry>
4542                 <term><anchor id="MAXPROTOCOL">max protocol (G)</term>
4543                 <listitem><para>The value of the parameter (a string) is the highest 
4544                 protocol level that will be supported by the server.</para>
4545
4546                 <para>Possible values are :</para>
4547                 <itemizedlist>
4548                         <listitem><para><constant>CORE</constant>: Earliest version. No 
4549                         concept of user names.</para></listitem>
4550                         
4551                         <listitem><para><constant>COREPLUS</constant>: Slight improvements on 
4552                         CORE for efficiency.</para></listitem>
4553
4554                         <listitem><para><constant>LANMAN1</constant>: First <emphasis>
4555                         modern</emphasis> version of the protocol. Long filename
4556                         support.</para></listitem>
4557
4558                         <listitem><para><constant>LANMAN2</constant>: Updates to Lanman1 protocol.
4559                         </para></listitem>
4560
4561                         <listitem><para><constant>NT1</constant>: Current up to date version of 
4562                         the protocol. Used by Windows NT. Known as CIFS.</para></listitem>
4563                 </itemizedlist>
4564
4565                 <para>Normally this option should not be set as the automatic 
4566                 negotiation phase in the SMB protocol takes care of choosing 
4567                 the appropriate protocol.</para>
4568                 
4569                 <para>See also <link linkend="MINPROTOCOL"><parameter>min
4570                 protocol</parameter></link></para>
4571
4572                 <para>Default: <command>max protocol = NT1</command></para>
4573                 <para>Example: <command>max protocol = LANMAN1</command></para>
4574                 </listitem>
4575                 </varlistentry>
4576
4577
4578
4579                 <varlistentry>
4580                 <term><anchor id="MAXSMBDPROCESSES">max smbd processes (G)</term>
4581                 <listitem><para>This parameter limits the maximum number of 
4582                 <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
4583                 processes concurrently running on a system and is intended
4584                 as a stopgap to prevent degrading service to clients in the event
4585                 that the server has insufficient resources to handle more than this
4586                 number of connections.  Remember that under normal operating
4587                 conditions, each user will have an <ulink url="smbd.8.html">smbd</ulink> associated with him or her
4588                 to handle connections to all shares from a given host.
4589                 </para>
4590
4591                 <para>Default: <command>max smbd processes = 0</command>   ## no limit</para>
4592                 <para>Example: <command>max smbd processes = 1000</command></para>
4593                 </listitem>
4594                 </varlistentry>
4595
4596
4597
4598
4599                 <varlistentry>
4600                 <term><anchor id="MAXTTL">max ttl (G)</term>
4601                 <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)</ulink>
4602                 what the default 'time to live' of NetBIOS names should be (in seconds) 
4603                 when <command>nmbd</command> is requesting a name using either a
4604                 broadcast packet or from a WINS server. You should never need to
4605                 change this parameter. The default is 3 days.</para>
4606
4607                 <para>Default: <command>max ttl = 259200</command></para>
4608                 </listitem>
4609                 </varlistentry>
4610
4611
4612
4613                 <varlistentry>
4614                 <term><anchor id="MAXWINSTTL">max wins ttl (G)</term>
4615                 <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)
4616                 </ulink> when acting as a WINS server (<link linkend="WINSSUPPORT">
4617                 <parameter>wins support = yes</parameter></link>) what the maximum
4618                 'time to live' of NetBIOS names that <command>nmbd</command> 
4619                 will grant will be (in seconds). You should never need to change this
4620                 parameter.  The default is 6 days (518400 seconds).</para>
4621
4622                 <para>See also the <link linkend="MINWINSTTL"><parameter>min 
4623                 wins ttl</parameter></link> parameter.</para>
4624
4625                 <para>Default: <command>max wins ttl = 518400</command></para>
4626                 </listitem>
4627                 </varlistentry>
4628
4629
4630
4631                 <varlistentry>
4632                 <term><anchor id="MAXXMIT">max xmit (G)</term>
4633                 <listitem><para>This option controls the maximum packet size 
4634                 that will be negotiated by Samba. The default is 65535, which 
4635                 is the maximum. In some cases you may find you get better performance 
4636                 with a smaller value. A value below 2048 is likely to cause problems.
4637                 </para>
4638
4639                 <para>Default: <command>max xmit = 65535</command></para>
4640                 <para>Example: <command>max xmit = 8192</command></para>
4641                 </listitem>
4642                 </varlistentry>
4643
4644
4645
4646                 <varlistentry>
4647                 <term><anchor id="MESSAGECOMMAND">message command (G)</term>
4648                 <listitem><para>This specifies what command to run when the 
4649                 server receives a WinPopup style message.</para>
4650
4651                 <para>This would normally be a command that would 
4652                 deliver the message somehow. How this is to be done is 
4653                 up to your imagination.</para>
4654
4655                 <para>An example is:</para>
4656
4657                 <para><command>message command = csh -c 'xedit %s;rm %s' &</command>
4658                 </para>
4659
4660                 <para>This delivers the message using <command>xedit</command>, then 
4661                 removes it afterwards. <emphasis>NOTE THAT IT IS VERY IMPORTANT 
4662                 THAT THIS COMMAND RETURN IMMEDIATELY</emphasis>. That's why I 
4663                 have the '&' on the end. If it doesn't return immediately then 
4664                 your PCs may freeze when sending messages (they should recover 
4665                 after 30 seconds, hopefully).</para>
4666
4667                 <para>All messages are delivered as the global guest user. 
4668                 The command takes the standard substitutions, although <parameter>
4669                 %u</parameter> won't work (<parameter>%U</parameter> may be better 
4670                 in this case).</para>
4671
4672                 <para>Apart from the standard substitutions, some additional 
4673                 ones apply. In particular:</para>
4674
4675                 <itemizedlist>
4676                         <listitem><para><parameter>%s</parameter> = the filename containing 
4677                         the message.</para></listitem>
4678                         
4679                         <listitem><para><parameter>%t</parameter> = the destination that 
4680                         the message was sent to (probably the server name).</para></listitem>
4681
4682                         <listitem><para><parameter>%f</parameter> = who the message 
4683                         is from.</para></listitem>
4684                 </itemizedlist>
4685
4686                 <para>You could make this command send mail, or whatever else 
4687                 takes your fancy. Please let us know of any really interesting 
4688                 ideas you have.</para>
4689
4690
4691                 <para>Here's a way of sending the messages as mail to root:</para>
4692
4693                 <para><command>message command = /bin/mail -s 'message from %f on 
4694                 %m' root &lt; %s; rm %s</command></para>
4695
4696                 <para>If you don't have a message command then the message 
4697                 won't be delivered and Samba will tell the sender there was 
4698                 an error. Unfortunately WfWg totally ignores the error code 
4699                 and carries on regardless, saying that the message was delivered.
4700                 </para>
4701
4702                 <para>If you want to silently delete it then try:</para>
4703
4704                 <para><command>message command = rm %s</command></para>
4705
4706                 <para>Default: <emphasis>no message command</emphasis></para>
4707                 <para>Example: <command>message command = csh -c 'xedit %s;
4708                 rm %s' &</command></para>
4709                 </listitem>
4710                 </varlistentry>
4711
4712
4713
4714
4715                 <varlistentry>
4716                 <term><anchor id="MINPASSWDLENGTH">min passwd length (G)</term>
4717                 <listitem><para>Synonym for <link linkend="MINPASSWORDLENGTH">
4718                 <parameter>min password length</parameter></link>.</para>
4719                 </listitem>
4720                 </varlistentry>
4721
4722
4723
4724                 <varlistentry>
4725                 <term><anchor id="MINPASSWORDLENGTH">min password length (G)</term>
4726                 <listitem><para>This option sets the minimum length in characters 
4727                 of a plaintext password that <command>smbd</command> will accept when performing 
4728                 UNIX password changing.</para>
4729
4730                 <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter>unix 
4731                 password sync</parameter></link>, <link linkend="PASSWDPROGRAM">
4732                 <parameter>passwd program</parameter></link> and <link
4733                 linkend="PASSWDCHATDEBUG"><parameter>passwd chat debug</parameter>
4734                 </link>.</para>
4735
4736                 <para>Default: <command>min password length = 5</command></para>
4737                 </listitem>
4738                 </varlistentry>
4739
4740
4741
4742                 <varlistentry>
4743                 <term><anchor id="MINPRINTSPACE">min print space (S)</term>
4744                 <listitem><para>This sets the minimum amount of free disk 
4745                 space that must be available before a user will be able to spool 
4746                 a print job. It is specified in kilobytes. The default is 0, which 
4747                 means a user can always spool a print job.</para>
4748
4749                 <para>See also the <link linkend="PRINTING"><parameter>printing
4750                 </parameter></link> parameter.</para>
4751
4752                 <para>Default: <command>min print space = 0</command></para>
4753                 <para>Example: <command>min print space = 2000</command></para>
4754                 </listitem>
4755                 </varlistentry>
4756
4757
4758
4759
4760                 <varlistentry>
4761                 <term><anchor id="MINPROTOCOL">min protocol (G)</term>
4762                 <listitem><para>The value of the parameter (a string) is the 
4763                 lowest SMB protocol dialect than Samba will support.  Please refer
4764                 to the <link linkend="MAXPROTOCOL"><parameter>max protocol</parameter></link>
4765                 parameter for a list of valid protocol names and a brief description
4766                 of each.  You may also wish to refer to the C source code in
4767                 <filename>source/smbd/negprot.c</filename> for a listing of known protocol
4768                 dialects supported by clients.</para>
4769                 
4770                 <para>If you are viewing this parameter as a security measure, you should
4771                 also refer to the <link linkend="LANMANAUTH"><parameter>lanman 
4772                 auth</parameter></link> parameter.  Otherwise, you should never need 
4773                 to change this parameter.</para>
4774                 
4775                 <para>Default : <command>min protocol = CORE</command></para>
4776                 <para>Example : <command>min protocol = NT1</command>  # disable DOS 
4777                 clients</para>
4778                 </listitem>
4779                 </varlistentry>
4780
4781
4782
4783
4784                 <varlistentry>
4785                 <term><anchor id="MINWINSTTL">min wins ttl (G)</term>
4786                 <listitem><para>This option tells <ulink url="nmbd.8.html">nmbd(8)</ulink>
4787                 when acting as a WINS server (<link linkend="WINSSUPPORT"><parameter>
4788                 wins support = yes</parameter></link>) what the minimum 'time to live' 
4789                 of NetBIOS names that <command>nmbd</command> will grant will be (in 
4790                 seconds). You should never need to change this parameter.  The default 
4791                 is 6 hours (21600 seconds).</para>
4792
4793                 <para>Default: <command>min wins ttl = 21600</command></para>
4794                 </listitem>
4795                 </varlistentry>
4796
4797
4798                 
4799                 
4800                 <varlistentry>
4801                 <term><anchor id="MSDFSROOT">msdfs root (S)</term>
4802                 <listitem><para>This boolean parameter is only available if 
4803                 Samba is configured  and  compiled with the <command>
4804                 --with-msdfs</command> option.  If set to <constant>yes</constant>, 
4805                 Samba treats the share as a Dfs root and  allows clients to browse 
4806                 the distributed file system tree rooted at the share directory. 
4807                 Dfs links are specified  in  the share directory by symbolic 
4808                 links of the form <filename>msdfs:serverA\shareA,serverB\shareB
4809                 </filename> and so on.  For more information on setting up a Dfs tree 
4810                 on Samba,  refer to <ulink url="msdfs_setup.html">msdfs_setup.html
4811                 </ulink>.</para>
4812                 
4813                 <para>See also <link linkend="HOSTMSDFS"><parameter>host msdfs
4814                 </parameter></link></para>
4815                 
4816                 <para>Default: <command>msdfs root = no</command></para>
4817                 </listitem>
4818                 </varlistentry>
4819           
4820                 <varlistentry>
4821                 <term><anchor id="NAMECACHETIMEOUT">name cache timeout (G)</term>
4822                 <listitem><para>Specifies the number of seconds it takes before 
4823                 entries in samba's hostname resolve cache time out. If 
4824                 the timeout is set to 0. the caching is disabled.
4825                 </para>
4826
4827
4828                 <para>Default: <command>name cache timeout = 660</command></para>
4829                 <para>Example: <command>name cache timeout = 0</command></para>
4830                 </listitem>
4831                 </varlistentry>
4832           
4833                 <varlistentry> 
4834                 <term><anchor id="NAMERESOLVEORDER">name resolve order (G)</term>
4835                 <listitem><para>This option is used by the programs in the Samba 
4836                 suite to determine what naming services to use and in what order 
4837                 to resolve host names to IP addresses. The option takes a space 
4838                 separated string of name resolution options.</para>
4839
4840                 <para>The options are :"lmhosts", "host", "wins" and "bcast". They 
4841                 cause names to be resolved as follows :</para>
4842
4843                 <itemizedlist>
4844                         <listitem><para><constant>lmhosts</constant> : Lookup an IP 
4845                         address in the Samba lmhosts file. If the line in lmhosts has 
4846                         no name type attached to the NetBIOS name (see the <ulink 
4847                         url="lmhosts.5.html">lmhosts(5)</ulink> for details) then
4848                         any name type matches for lookup.</para></listitem>
4849
4850                         <listitem><para><constant>host</constant> : Do a standard host 
4851                         name to IP address resolution, using the system <filename>/etc/hosts
4852                         </filename>, NIS, or DNS lookups. This method of name resolution 
4853                         is operating system depended for instance on IRIX or Solaris this 
4854                         may be controlled by the <filename>/etc/nsswitch.conf</filename> 
4855                         file.  Note that this method is only used if the NetBIOS name 
4856                         type being queried is the 0x20 (server) name type, otherwise 
4857                         it is ignored.</para></listitem>
4858
4859                         <listitem><para><constant>wins</constant> : Query a name with 
4860                         the IP address listed in the <link linkend="WINSSERVER"><parameter>
4861                         wins server</parameter></link> parameter.  If no WINS server has
4862                         been specified this method will be ignored.</para></listitem>
4863
4864                         <listitem><para><constant>bcast</constant> : Do a broadcast on 
4865                         each of the known local interfaces listed in the <link 
4866                         linkend="INTERFACES"><parameter>interfaces</parameter></link> 
4867                         parameter. This is the least reliable of the name resolution 
4868                         methods as it depends on the target host being on a locally 
4869                         connected subnet.</para></listitem>
4870                 </itemizedlist>
4871
4872                 <para>Default: <command>name resolve order = lmhosts host wins bcast
4873                 </command></para>
4874                 <para>Example: <command>name resolve order = lmhosts bcast host
4875                 </command></para>
4876
4877                 <para>This will cause the local lmhosts file to be examined 
4878                 first, followed by a broadcast attempt, followed by a normal 
4879                 system hostname lookup.</para>
4880                 </listitem>
4881                 </varlistentry>
4882                 
4883
4884
4885         
4886                 <varlistentry>
4887                 <term><anchor id="NETBIOSALIASES">netbios aliases (G)</term>
4888                 <listitem><para>This is a list of NetBIOS names that <ulink 
4889                 url="nmbd.8.html">nmbd(8)</ulink> will advertise as additional 
4890                 names by which the Samba server is known. This allows one machine 
4891                 to appear in browse lists under multiple names. If a machine is 
4892                 acting as a browse server or logon server none 
4893                 of these names will be advertised as either browse server or logon 
4894                 servers, only the primary name of the machine will be advertised 
4895                 with these capabilities.</para>
4896                 
4897                 <para>See also <link linkend="NETBIOSNAME"><parameter>netbios 
4898                 name</parameter></link>.</para>
4899
4900                 <para>Default: <emphasis>empty string (no additional names)</emphasis></para>
4901                 <para>Example: <command>netbios aliases = TEST TEST1 TEST2</command></para>
4902                 </listitem>
4903                 </varlistentry>
4904                 
4905
4906
4907                 <varlistentry>
4908                 <term><anchor id="NETBIOSNAME">netbios name (G)</term>
4909                 <listitem><para>This sets the NetBIOS name by which a Samba 
4910                 server is known. By default it is the same as the first component 
4911                 of the host's DNS name. If a machine is a browse server or
4912                 logon server this name (or the first component
4913                 of the hosts DNS name) will be the name that these services are
4914                 advertised under.</para>
4915                 
4916                 <para>See also <link linkend="NETBIOSALIASES"><parameter>netbios 
4917                 aliases</parameter></link>.</para>
4918
4919                 <para>Default: <emphasis>machine DNS name</emphasis></para>
4920                 <para>Example: <command>netbios name = MYNAME</command></para>
4921                 </listitem>
4922                 </varlistentry>
4923
4924
4925
4926                 <varlistentry>
4927                 <term><anchor id="NETBIOSSCOPE">netbios scope (G)</term>
4928                 <listitem><para>This sets the NetBIOS scope that Samba will 
4929                 operate under. This should not be set unless every machine 
4930                 on your LAN also sets this value.</para>
4931                 </listitem>
4932                 </varlistentry>
4933                 
4934
4935                 <varlistentry>
4936                 <term><anchor id="NISHOMEDIR">nis homedir (G)</term>
4937                 <listitem><para>Get the home share server from a NIS map. For 
4938                 UNIX systems that use an automounter, the user's home directory 
4939                 will often be mounted on a workstation on demand from a remote 
4940                 server. </para>
4941
4942                 <para>When the Samba logon server is not the actual home directory 
4943                 server, but is mounting the home directories via NFS then two 
4944                 network hops would be required to access the users home directory 
4945                 if the logon server told the client to use itself as the SMB server 
4946                 for home directories (one over SMB and one over NFS). This can 
4947                 be very slow.</para>
4948
4949                 <para>This option allows Samba to return the home share as 
4950                 being on a different server to the logon server and as 
4951                 long as a Samba daemon is running on the home directory server, 
4952                 it will be mounted on the Samba client directly from the directory 
4953                 server. When Samba is returning the home share to the client, it 
4954                 will consult the NIS map specified in <link linkend="HOMEDIRMAP">
4955                 <parameter>homedir map</parameter></link> and return the server 
4956                 listed there.</para>
4957
4958                 <para>Note that for this option to work there must be a working 
4959                 NIS system and the Samba server with this option must also 
4960                 be a logon server.</para>
4961
4962                 <para>Default: <command>nis homedir = no</command></para>
4963                 </listitem>
4964                 </varlistentry>
4965
4966
4967
4968                 <varlistentry>
4969                 <term><anchor id="NONUNIXACCOUNTRANGE">non unix account range (G)</term>
4970                 <listitem><para>The non unix account range parameter specifies 
4971                 the range of 'user ids' that are allocated by the various 'non unix 
4972                 account' passdb backends.  These backends allow
4973                 the storage of passwords for users who don't exist in /etc/passwd.  
4974                 This is most often used for machine account creation. 
4975                 This range of ids should have no existing local or NIS users within 
4976                 it as strange conflicts can occur otherwise.</para>
4977
4978                 <para>NOTE: These userids never appear on the system and Samba will never
4979                 'become' these users. They are used only to ensure that the algorithmic 
4980                 RID mapping does not conflict with normal users.
4981                 </para>
4982
4983                 <para>Default: <command>non unix account range = &lt;empty string&gt;
4984                 </command></para>
4985                 
4986                 <para>Example: <command>non unix account range = 10000-20000</command></para>
4987                 </listitem>
4988                 </varlistentry>
4989
4990
4991
4992                 <varlistentry>
4993                 <term><anchor id="NTACLSUPPORT">nt acl support (S)</term>
4994                 <listitem><para>This boolean parameter controls whether 
4995                 <ulink url="smbd.8.html">smbd(8)</ulink> will attempt to map 
4996                 UNIX permissions into Windows NT access control lists.
4997                 This parameter was formally a global parameter in releases
4998                 prior to 2.2.2.</para>
4999                 
5000                 <para>Default: <command>nt acl support = yes</command></para>
5001                 </listitem>
5002                 </varlistentry>
5003
5004
5005
5006                 <varlistentry>
5007                 <term><anchor id="NTPIPESUPPORT">nt pipe support (G)</term>
5008                 <listitem><para>This boolean parameter controls whether 
5009                 <ulink url="smbd.8.html">smbd(8)</ulink> will allow Windows NT 
5010                 clients to connect to the NT SMB specific <constant>IPC$</constant> 
5011                 pipes. This is a developer debugging option and can be left
5012                 alone.</para>
5013
5014                 <para>Default: <command>nt pipe support = yes</command></para>
5015                 </listitem>
5016                 </varlistentry>
5017
5018
5019
5020                 <varlistentry>
5021                 <term><anchor id="NTSTATUSSUPPORT">nt status support (G)</term>
5022                 <listitem><para>This boolean parameter controls whether <ulink
5023                 url="smbd.8.html">smbd(8)</ulink> will negotiate NT specific status
5024                 support with Windows NT/2k/XP clients. This is a developer
5025                 debugging option and should be left alone.
5026                 If this option is set to <constant>no</constant> then Samba offers
5027                 exactly the same DOS error codes that versions prior to Samba 2.2.3
5028                 reported.</para>
5029
5030                 <para>You should not need to ever disable this parameter.</para>
5031
5032                 <para>Default: <command>nt status support = yes</command></para>
5033                 </listitem>
5034                 </varlistentry>
5035
5036
5037                 <varlistentry>
5038                 <term><anchor id="NULLPASSWORDS">null passwords (G)</term>
5039                 <listitem><para>Allow or disallow client access to accounts 
5040                 that have null passwords. </para>
5041
5042                 <para>See also <ulink url="smbpasswd.5.html">smbpasswd (5)</ulink>.</para>
5043
5044                 <para>Default: <command>null passwords = no</command></para>
5045                 </listitem>
5046                 </varlistentry>
5047
5048
5049
5050
5051                 <varlistentry>
5052                 <term><anchor id="OBEYPAMRESTRICTIONS">obey pam restrictions (G)</term>
5053                 <listitem><para>When Samba 2.2 is configured to enable PAM support
5054                 (i.e. --with-pam), this parameter will control whether or not Samba
5055                 should obey PAM's account and session management directives.  The 
5056                 default behavior is to use PAM for clear text authentication only
5057                 and to ignore any account or session management.  Note that Samba
5058                 always ignores PAM for authentication in the case of <link
5059                 linkend="ENCRYPTPASSWORDS"><parameter>encrypt passwords = yes</parameter>
5060                 </link>.  The reason is that PAM modules cannot support the challenge/response
5061                 authentication mechanism needed in the presence of SMB password encryption.
5062                 </para>
5063
5064                 <para>Default: <command>obey pam restrictions = no</command></para>
5065                 </listitem>
5066                 </varlistentry>
5067
5068
5069
5070
5071
5072                 <varlistentry>
5073                 <term><anchor id="ONLYUSER">only user (S)</term>
5074                 <listitem><para>This is a boolean option that controls whether 
5075                 connections with usernames not in the <parameter>user</parameter> 
5076                 list will be allowed. By default this option is disabled so that a 
5077                 client can supply a username to be used by the server.  Enabling
5078                 this parameter will force the server to only user the login 
5079                 names from the <parameter>user</parameter> list and is only really
5080                 useful in <link linkend="SECURITYEQUALSSHARE">shave level</link>
5081                 security.</para>
5082
5083                 <para>Note that this also means Samba won't try to deduce 
5084                 usernames from the service name. This can be annoying for 
5085                 the [homes] section. To get around this you could use <command>user =
5086                 %S</command> which means your <parameter>user</parameter> list
5087                 will be just the service name, which for home directories is the 
5088                 name of the user.</para>
5089
5090                 <para>See also the <link linkend="USER"><parameter>user</parameter>
5091                 </link> parameter.</para>
5092
5093                 <para>Default: <command>only user = no</command></para>
5094                 </listitem>
5095                 </varlistentry>
5096
5097
5098
5099
5100                 <varlistentry>
5101                 <term><anchor id="ONLYGUEST">only guest (S)</term>
5102                 <listitem><para>A synonym for <link linkend="GUESTONLY"><parameter>
5103                 guest only</parameter></link>.</para>
5104                 </listitem>
5105                 </varlistentry>
5106
5107
5108
5109                 <varlistentry>
5110                 <term><anchor id="OPLOCKBREAKWAITTIME">oplock break wait time (G)</term>
5111                 <listitem><para>This is a tuning parameter added due to bugs in 
5112                 both Windows 9x and WinNT. If Samba responds to a client too 
5113                 quickly when that client issues an SMB that can cause an oplock 
5114                 break request, then the network client can fail and not respond 
5115                 to the break request. This tuning parameter (which is set in milliseconds) 
5116                 is the amount of time Samba will wait before sending an oplock break 
5117                 request to such (broken) clients.</para>
5118
5119                 <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
5120                 AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para>
5121
5122                 <para>Default: <command>oplock break wait time = 0</command></para>
5123                 </listitem>
5124                 </varlistentry>
5125
5126
5127                 <varlistentry>
5128                 <term><anchor id="OPLOCKCONTENTIONLIMIT">oplock contention limit (S)</term>
5129                 <listitem><para>This is a <emphasis>very</emphasis> advanced 
5130                 <ulink url="smbd.8.html">smbd(8)</ulink> tuning option to 
5131                 improve the efficiency of the granting of oplocks under multiple 
5132                 client contention for the same file.</para>
5133                 
5134                 <para>In brief it specifies a number, which causes <ulink url="smbd.8.html">smbd</ulink> not to 
5135                 grant an oplock even when requested if the approximate number of 
5136                 clients contending for an oplock on the same file goes over this 
5137                 limit. This causes <command>smbd</command> to behave in a similar 
5138                 way to Windows NT.</para>
5139
5140                 <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ 
5141                 AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para>
5142
5143                 <para>Default: <command>oplock contention limit = 2</command></para>
5144                 </listitem>
5145                 </varlistentry>
5146
5147
5148
5149
5150
5151                 <varlistentry>
5152                 <term><anchor id="OPLOCKS">oplocks (S)</term>
5153                 <listitem><para>This boolean option tells <command>smbd</command> whether to 
5154                 issue oplocks (opportunistic locks) to file open requests on this 
5155                 share. The oplock code can dramatically (approx. 30% or more) improve 
5156                 the speed of access to files on Samba servers. It allows the clients 
5157                 to aggressively cache files locally and you may want to disable this 
5158                 option for unreliable network environments (it is turned on by 
5159                 default in Windows NT Servers).  For more information see the file 
5160                 <filename>Speed.txt</filename> in the Samba <filename>docs/</filename> 
5161                 directory.</para>
5162
5163                 <para>Oplocks may be selectively turned off on certain files with a 
5164                 share. See the <link linkend="VETOOPLOCKFILES"><parameter>
5165                 veto oplock files</parameter></link> parameter. On some systems 
5166                 oplocks are recognized by the underlying operating system. This 
5167                 allows data synchronization between all access to oplocked files, 
5168                 whether it be via Samba or NFS or a local UNIX process. See the 
5169                 <parameter>kernel oplocks</parameter> parameter for details.</para>
5170
5171                 <para>See also the <link linkend="KERNELOPLOCKS"><parameter>kernel 
5172                 oplocks</parameter></link> and <link linkend="LEVEL2OPLOCKS"><parameter>
5173                 level2 oplocks</parameter></link> parameters.</para>
5174
5175                 <para>Default: <command>oplocks = yes</command></para>
5176                 </listitem>
5177                 </varlistentry>
5178
5179                 <varlistentry>
5180                 <term><anchor id="NTLMAUTH">ntlm auth (G)</term>
5181                 <listitem><para>This parameter determines whether or not <ulink url="smbd.8.html">smbd</ulink> will
5182                 attempt to authenticate users using the NTLM password hash.
5183                 If disabled, only the lanman password hashes will be used. 
5184                 </para>
5185
5186                 <para>Please note that at least this option or <command>lanman auth</command> should be enabled in order to be able to log in.
5187                 </para>
5188                 
5189                 <para>Default : <command>ntlm auth = yes</command></para>
5190                 </listitem>
5191                 </varlistentry>
5192
5193                 <varlistentry>
5194                 <term><anchor id="OSLEVEL">os level (G)</term>
5195                 <listitem><para>This integer value controls what level Samba 
5196                 advertises itself as for browse elections. The value of this 
5197                 parameter determines whether <ulink url="nmbd.8.html">nmbd(8)</ulink> 
5198                 has a chance of becoming a local master browser for the <parameter>
5199                 WORKGROUP</parameter> in the local broadcast area.</para>
5200                 
5201                 <para><emphasis>Note :</emphasis>By default, Samba will win 
5202                 a local master browsing election over all Microsoft operating 
5203                 systems except a Windows NT 4.0/2000 Domain Controller.  This 
5204                 means that a misconfigured Samba host can effectively isolate 
5205                 a subnet for browsing purposes.  See <filename>BROWSING.txt
5206                 </filename> in the Samba <filename>docs/</filename> directory 
5207                 for details.</para>
5208
5209                 <para>Default: <command>os level = 20</command></para>
5210                 <para>Example: <command>os level = 65 </command></para>
5211                 </listitem>
5212                 </varlistentry>
5213
5214
5215
5216                 <varlistentry>
5217                 <term><anchor id="OS2DRIVERMAP">os2 driver map (G)</term>
5218                 <listitem><para>The parameter is used to define the absolute
5219                 path to a file containing a mapping of Windows NT printer driver
5220                 names to OS/2 printer driver names.  The format is:</para>
5221                 
5222                 <para>&lt;nt driver name&gt; = &lt;os2 driver 
5223                 name&gt;.&lt;device name&gt;</para>
5224                 
5225                 <para>For example, a valid entry using the HP LaserJet 5
5226                 printer driver would appear as <command>HP LaserJet 5L = LASERJET.HP 
5227                 LaserJet 5L</command>.</para>
5228                 
5229                 <para>The need for the file is due to the printer driver namespace 
5230                 problem described in the <ulink url="printer_driver2.html">Samba 
5231                 Printing HOWTO</ulink>.  For more details on OS/2 clients, please 
5232                 refer to the <ulink url="OS2-Client-HOWTO.html">OS2-Client-HOWTO
5233                 </ulink> containing in the Samba documentation.</para>
5234
5235                 <para>Default: <command>os2 driver map = &lt;empty string&gt;
5236                 </command></para>
5237                 </listitem>
5238                 </varlistentry>
5239
5240
5241                 <varlistentry>
5242                 <term><anchor id="PAMPASSWORDCHANGE">pam password change (G)</term>
5243                 <listitem><para>With the addition of better PAM support in Samba 2.2, 
5244                 this parameter, it is possible to use PAM's password change control 
5245                 flag for Samba.  If enabled, then PAM will be used for password
5246                 changes when requested by an SMB client instead of the program listed in 
5247                 <link linkend="PASSWDPROGRAM"><parameter>passwd program</parameter></link>. 
5248                 It should be possible to enable this without changing your 
5249                 <link linkend="PASSWDCHAT"><parameter>passwd chat</parameter></link>
5250                 parameter for most setups.
5251                 </para>
5252                 
5253                 <para>Default: <command>pam password change = no</command></para>
5254                 
5255                 </listitem>
5256                 </varlistentry>
5257
5258
5259                 <varlistentry>
5260                 <term><anchor id="PANICACTION">panic action (G)</term>
5261                 <listitem><para>This is a Samba developer option that allows a 
5262                 system command to be called when either <ulink url="smbd.8.html">
5263                 smbd(8)</ulink> or <ulink url="nmbd.8.html">nmbd(8)</ulink> 
5264                 crashes. This is usually used to draw attention to the fact that 
5265                 a problem occurred.</para>
5266
5267                 <para>Default: <command>panic action = &lt;empty string&gt;</command></para>
5268                 <para>Example: <command>panic action = "/bin/sleep 90000"</command></para>
5269                 </listitem>
5270                 </varlistentry>
5271
5272                 <varlistentry>
5273                 <term><anchor id="PARANOIDSERVERSECURITY">paranoid server security (G)</term>
5274                 <listitem><para>Some version of NT 4.x allow non-guest 
5275                 users with a bad passowrd. When this option is enabled, samba will not 
5276                 use a broken NT 4.x server as password server, but instead complain
5277                 to the logs and exit.
5278                 </para>
5279
5280                 <para>Default: <command>paranoid server security = yes</command></para>
5281
5282                 </listitem>
5283                 </varlistentry>
5284
5285                 <varlistentry>
5286                 <term><anchor id="PASSDBBACKEND">passdb backend (G)</term>
5287                 <listitem><para>This option allows the administrator to chose which backends to retrieve and store passwords with. This allows (for example) both 
5288                 smbpasswd and tdbsam to be used without a recompile. 
5289                 Multiple backends can be specified, seperated by spaces. The backends will be searched in the order they are specified. New users are always added to the first backend specified.
5290                 Experimental backends must still be selected
5291                 (eg --with-tdbsam) at configure time.
5292                 </para>
5293
5294                 <para>This parameter is in two parts, the backend's name, and a 'location'
5295                 string that has meaning only to that particular backed.  These are separated
5296                 by a : character.</para>
5297
5298                 <para>Available backends can include:
5299                 <itemizedlist>
5300                         <listitem><para><command>smbpasswd</command> - The default smbpasswd
5301                         backend.  Takes a path to the smbpasswd file as an optional argument.</para></listitem>
5302                         
5303                         <listitem><para><command>smbpasswd_nua</command> - The smbpasswd
5304                         backend, but with support for 'not unix accounts'.  
5305                         Takes a path to the smbpasswd file as an optional argument.</para>
5306                         <para>See also <link linkend="NONUNIXACCOUNTRANGE">
5307                         <parameter>non unix account range</parameter></link></para></listitem>
5308
5309                         <listitem><para><command>tdbsam</command> - The TDB based password storage
5310                         backend.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
5311                         in the <link linkend="PRIVATEDIR">
5312                         <parameter>private dir</parameter></link> directory.</para></listitem>
5313                         
5314                         <listitem><para><command>tdbsam_nua</command> - The TDB based password storage
5315                         backend, with non unix account support.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
5316                         in the <link linkend="PRIVATEDIR">
5317                         <parameter>private dir</parameter></link> directory.</para>
5318                         <para>See also <link linkend="NONUNIXACCOUNTRANGE">
5319                         <parameter>non unix account range</parameter></link></para></listitem>
5320                         
5321                         <listitem><para><command>ldapsam</command> - The LDAP based passdb 
5322                         backend.  Takes an LDAP URL as an optional argument (defaults to 
5323                         <command>ldap://localhost</command>)</para></listitem>
5324                         
5325                         <listitem><para><command>ldapsam_nua</command> - The LDAP based passdb 
5326                         backend, with non unix account support.  Takes an LDAP URL as an optional argument (defaults to 
5327                         <command>ldap://localhost</command>)</para>
5328                         <para>See also <link linkend="NONUNIXACCOUNTRANGE">
5329                         <parameter>non unix account range</parameter></link></para></listitem>
5330                         
5331                         <listitem><para><command>nisplussam</command> - The NIS+ based passdb backend. Takes name NIS domain as an optional argument. Only works with sun NIS+ servers. </para></listitem>
5332                         
5333                         <listitem><para><command>plugin</command> - Allows Samba to load an 
5334                         arbitary passdb backend from the .so specified as a compulsary argument.
5335                         </para>
5336
5337                         <para>Any characters after the (optional) second : are passed to the plugin
5338                         for its own processing</para>
5339                         </listitem>
5340                 
5341                         <listitem><para><command>unixsam</command> - Allows samba to map all (other) available unix users</para>
5342
5343                         <para>This backend uses the standard unix database for retrieving users. Users included 
5344                         in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
5345                         able to login. The use of this backend is to always be able to display the owner of a file 
5346                         on the samba server - even when the user doesn't have a 'real' samba account in one of the 
5347                         other passdb backends.
5348                         </para>
5349
5350                         <para>This backend should always be the last backend listed, since it contains all users in 
5351                         the unix passdb and might 'override' mappings if specified earlier. It's meant to only return 
5352                         accounts for users that aren't covered by the previous backends.</para>
5353                         </listitem>
5354                 </itemizedlist>
5355                 </para>
5356
5357                 <para>Default: <command>passdb backend = smbpasswd unixsam</command></para>
5358                 <para>Example: <command>passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam</command></para>
5359                 <para>Example: <command>passdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam</command></para>
5360                 <para>Example: <command>passdb backend = plugin:/usr/local/samba/lib/my_passdb.so:my_plugin_args tdbsam:/etc/samba/private/passdb.tdb</command></para>
5361                 </listitem>
5362                 </varlistentry>
5363
5364
5365                 <varlistentry>
5366                 <term><anchor id="PASSWDCHAT">passwd chat (G)</term>
5367                 <listitem><para>This string controls the <emphasis>"chat"</emphasis> 
5368                 conversation that takes places between <ulink 
5369                 url="smbd.8.html">smbd</ulink> and the local password changing
5370                 program to change the user's password. The string describes a 
5371                 sequence of response-receive pairs that <ulink url="smbd.8.html">
5372                 smbd(8)</ulink> uses to determine what to send to the 
5373                 <link linkend="PASSWDPROGRAM"><parameter>passwd program</parameter>
5374                 </link> and what to expect back. If the expected output is not 
5375                 received then the password is not changed.</para>
5376
5377                 <para>This chat sequence is often quite site specific, depending 
5378                 on what local methods are used for password control (such as NIS 
5379                 etc).</para>
5380                 <para>Note that this parameter only is only used if the <link 
5381                 linkend="UNIXPASSWORDSYNC"><parameter>unix 
5382                 password sync</parameter></link> parameter is set to <constant>yes</constant>. This 
5383                 sequence is then called <emphasis>AS ROOT</emphasis> when the SMB password 
5384                 in the smbpasswd file is being changed, without access to the old 
5385                 password cleartext. This means that root must be able to reset the user's password
5386                 without knowing the text of the previous password. In the presence of NIS/YP, 
5387                 this means that the <link linkend="PASSWDPROGRAM">passwd program</link> must be 
5388                 executed on the NIS master.
5389                 </para>
5390
5391
5392                 <para>The string can contain the macro <parameter>%n</parameter> which is substituted 
5393                 for the new password.  The chat sequence can also contain the standard 
5394                 macros <constant>\n</constant>, <constant>\r</constant>, <constant>
5395                 \t</constant> and <constant>\s</constant> to give line-feed, 
5396                 carriage-return, tab and space.  The chat sequence string can also contain 
5397                 a '*' which matches any sequence of characters.
5398                 Double quotes can be used to collect strings with spaces 
5399                 in them into a single string.</para>
5400
5401                 <para>If the send string in any part of the chat sequence 
5402                 is a full stop ".",  then no string is sent. Similarly, 
5403                 if the expect string is a full stop then no string is expected.</para>
5404
5405                 <para>If the <link linkend="PAMPASSWORDCHANGE"><parameter>pam
5406                 password change</parameter></link> parameter is set to true, the chat pairs
5407                 may be matched in any order, and success is determined by the PAM result, 
5408                 not any particular output. The \n macro is ignored for PAM conversions.
5409                 </para>
5410
5411                 <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter>unix password 
5412                 sync</parameter></link>, <link linkend="PASSWDPROGRAM"><parameter>
5413                 passwd program</parameter></link> ,<link linkend="PASSWDCHATDEBUG">
5414                 <parameter>passwd chat debug</parameter></link> and <link linkend="PAMPASSWORDCHANGE">
5415                 <parameter>pam password change</parameter></link>.</para>
5416
5417                 <para>Default: <command>passwd chat = *new*password* %n\n 
5418                 *new*password* %n\n *changed*</command></para>
5419                 <para>Example: <command>passwd chat = "*Enter OLD password*" %o\n 
5420                 "*Enter NEW password*" %n\n "*Reenter NEW password*" %n\n "*Password 
5421                 changed*"</command></para>
5422                 </listitem>
5423                 </varlistentry>
5424
5425         
5426    
5427                 <varlistentry>
5428                 <term><anchor id="PASSWDCHATDEBUG">passwd chat debug (G)</term>
5429                 <listitem><para>This boolean specifies if the passwd chat script 
5430                 parameter is run in <emphasis>debug</emphasis> mode. In this mode the 
5431                 strings passed to and received from the passwd chat are printed 
5432                 in the <ulink url="smbd.8.html">smbd(8)</ulink> log with a 
5433                 <link linkend="DEBUGLEVEL"><parameter>debug level</parameter></link> 
5434                 of 100. This is a dangerous option as it will allow plaintext passwords 
5435                 to be seen in the <command>smbd</command> log. It is available to help 
5436                 Samba admins debug their <parameter>passwd chat</parameter> scripts 
5437                 when calling the <parameter>passwd program</parameter> and should 
5438                 be turned off after this has been done. This option has no effect if the 
5439                 <link linkend="PAMPASSWORDCHANGE"><parameter>pam password change</parameter></link>
5440                 paramter is set. This parameter is off by default.</para>
5441   
5442
5443                 <para>See also <link linkend="PASSWDCHAT"><parameter>passwd chat</parameter>
5444                 </link>, <link linkend="PAMPASSWORDCHANGE"><parameter>pam password change</parameter>
5445                 </link>, <link linkend="PASSWDPROGRAM"><parameter>passwd program</parameter>
5446                 </link>.</para>
5447
5448                 <para>Default: <command>passwd chat debug = no</command></para>
5449                 </listitem>
5450                 </varlistentry>
5451
5452
5453
5454                 <varlistentry>
5455                 <term><anchor id="PASSWDPROGRAM">passwd program (G)</term>
5456                 <listitem><para>The name of a program that can be used to set 
5457                 UNIX user passwords.  Any occurrences of <parameter>%u</parameter> 
5458                 will be replaced with the user name. The user name is checked for 
5459                 existence before calling the password changing program.</para>
5460
5461                 <para>Also note that many passwd programs insist in <emphasis>reasonable
5462                 </emphasis> passwords, such as a minimum length, or the inclusion 
5463                 of mixed case chars and digits. This can pose a problem as some clients 
5464                 (such as Windows for Workgroups) uppercase the password before sending 
5465                 it.</para>
5466
5467                 <para><emphasis>Note</emphasis> that if the <parameter>unix 
5468                 password sync</parameter> parameter is set to <constant>true
5469                 </constant> then this program is called <emphasis>AS ROOT</emphasis> 
5470                 before the SMB password in the <ulink url="smbpasswd.5.html">smbpasswd(5)
5471                 </ulink> file is changed. If this UNIX password change fails, then 
5472                 <command>smbd</command> will fail to change the SMB password also 
5473                 (this is by design).</para>
5474
5475                 <para>If the <parameter>unix password sync</parameter> parameter 
5476                 is set this parameter <emphasis>MUST USE ABSOLUTE PATHS</emphasis> 
5477                 for <emphasis>ALL</emphasis> programs called, and must be examined 
5478                 for security implications. Note that by default <parameter>unix 
5479                 password sync</parameter> is set to <constant>false</constant>.</para>
5480
5481                 <para>See also <link linkend="UNIXPASSWORDSYNC"><parameter>unix 
5482                 password sync</parameter></link>.</para>
5483
5484                 <para>Default: <command>passwd program = /bin/passwd</command></para>
5485                 <para>Example: <command>passwd program = /sbin/npasswd %u</command>
5486                 </para>
5487                 </listitem>
5488                 </varlistentry>
5489
5490
5491
5492                 <varlistentry>
5493                 <term><anchor id="PASSWORDLEVEL">password level (G)</term>
5494                 <listitem><para>Some client/server combinations have difficulty 
5495                 with mixed-case passwords.  One offending client is Windows for 
5496                 Workgroups, which for some reason forces passwords to upper 
5497                 case when using the LANMAN1 protocol, but leaves them alone when 
5498                 using COREPLUS!  Another problem child is the Windows 95/98
5499                 family of operating systems.  These clients upper case clear
5500                 text passwords even when NT LM 0.12 selected by the protocol
5501                 negotiation request/response.</para>
5502
5503                 <para>This parameter defines the maximum number of characters 
5504                 that may be upper case in passwords.</para>
5505
5506                 <para>For example, say the password given was "FRED". If <parameter>
5507                 password level</parameter> is set to 1, the following combinations 
5508                 would be tried if "FRED" failed:</para>
5509
5510                 <para>"Fred", "fred", "fRed", "frEd","freD"</para>
5511
5512                 <para>If <parameter>password level</parameter> was set to 2, 
5513                 the following combinations would also be tried: </para>
5514
5515                 <para>"FRed", "FrEd", "FreD", "fREd", "fReD", "frED", ..</para>
5516
5517                 <para>And so on.</para>
5518
5519                 <para>The higher value this parameter is set to the more likely 
5520                 it is that a mixed case password will be matched against a single 
5521                 case password. However, you should be aware that use of this 
5522                 parameter reduces security and increases the time taken to 
5523                 process a new connection.</para>
5524
5525                 <para>A value of zero will cause only two attempts to be 
5526                 made - the password as is and the password in all-lower case.</para>
5527
5528                 <para>Default: <command>password level = 0</command></para>
5529                 <para>Example: <command>password level = 4</command></para>
5530                 </listitem>
5531                 </varlistentry>
5532
5533
5534
5535                 <varlistentry>
5536                 <term><anchor id="PASSWORDSERVER">password server (G)</term>
5537                 <listitem><para>By specifying the name of another SMB server (such 
5538                 as a WinNT box) with this option, and using <command>security = domain
5539                 </command> or <command>security = server</command> you can get Samba 
5540                 to do all its username/password validation via a remote server.</para>
5541
5542                 <para>This option sets the name of the password server to use. 
5543                 It must be a NetBIOS name, so if the machine's NetBIOS name is 
5544                 different from its Internet name then you may have to add its NetBIOS 
5545                 name to the lmhosts  file which is stored in the same directory 
5546                 as the <filename>smb.conf</filename> file.</para>
5547
5548                 <para>The name of the password server is looked up using the 
5549                 parameter <link linkend="NAMERESOLVEORDER"><parameter>name 
5550                 resolve order</parameter></link> and so may resolved
5551                 by any method and order described in that parameter.</para>
5552
5553                 <para>The password server much be a machine capable of using 
5554                 the "LM1.2X002" or the "NT LM 0.12" protocol, and it must be in 
5555                 user level security mode.</para>
5556
5557                 <para><emphasis>NOTE:</emphasis> Using a password server 
5558                 means your UNIX box (running Samba) is only as secure as your 
5559                 password server. <emphasis>DO NOT CHOOSE A PASSWORD SERVER THAT 
5560                 YOU DON'T COMPLETELY TRUST</emphasis>.</para>
5561                 
5562                 <para>Never point a Samba server at itself for password 
5563                 serving. This will cause a loop and could lock up your Samba 
5564                 server!</para>
5565
5566                 <para>The name of the password server takes the standard 
5567                 substitutions, but probably the only useful one is <parameter>%m
5568                 </parameter>, which means the Samba server will use the incoming 
5569                 client as the password server. If you use this then you better 
5570                 trust your clients, and you had better restrict them with hosts allow!</para>
5571
5572                 <para>If the <parameter>security</parameter> parameter is set to
5573                 <constant>domain</constant>, then the list of machines in this 
5574                 option must be a list of Primary or Backup Domain controllers for the
5575                 Domain or the character '*', as the Samba server is effectively
5576                 in that domain, and will use cryptographically authenticated RPC calls
5577                 to authenticate the user logging on. The advantage of using <command>
5578                 security = domain</command> is that if you list several hosts in the 
5579                 <parameter>password server</parameter> option then <command>smbd
5580                 </command> will try each in turn till it finds one that responds. This 
5581                 is useful in case your primary server goes down.</para>
5582
5583                 <para>If the <parameter>password server</parameter> option is set 
5584                 to the character '*', then Samba will attempt to auto-locate the 
5585                 Primary or Backup Domain controllers to authenticate against by 
5586                 doing a query for the name <constant>WORKGROUP&lt;1C&gt;</constant> 
5587                 and then contacting each server returned in the list of IP 
5588                 addresses from the name resolution source. </para>
5589                 
5590                 <para>If the <parameter>security</parameter> parameter is 
5591                 set to <constant>server</constant>, then there are different
5592                 restrictions that <command>security = domain</command> doesn't 
5593                 suffer from:</para>
5594
5595                 <itemizedlist>
5596                         <listitem><para>You may list several password servers in 
5597                         the <parameter>password server</parameter> parameter, however if an 
5598                         <command>smbd</command> makes a connection to a password server, 
5599                         and then the password server fails, no more users will be able 
5600                         to be authenticated from this <command>smbd</command>.  This is a 
5601                         restriction of the SMB/CIFS protocol when in <command>security = server
5602                         </command> mode and cannot be fixed in Samba.</para></listitem>
5603
5604                         <listitem><para>If you are using a Windows NT server as your 
5605                         password server then you will have to ensure that your users 
5606                         are able to login from the Samba server, as when in <command>
5607                         security = server</command>  mode the network logon will appear to 
5608                         come from there rather than from the users workstation.</para></listitem>
5609                 </itemizedlist>
5610
5611                 <para>See also the <link linkend="SECURITY"><parameter>security
5612                 </parameter></link> parameter.</para>
5613
5614                 <para>Default: <command>password server = &lt;empty string&gt;</command>
5615                 </para>
5616                 <para>Example: <command>password server = NT-PDC, NT-BDC1, NT-BDC2
5617                 </command></para>
5618                 <para>Example: <command>password server = *</command></para>
5619                 </listitem>
5620                 </varlistentry>
5621
5622
5623
5624                 <varlistentry>
5625                 <term><anchor id="PATH">path (S)</term>
5626                 <listitem><para>This parameter specifies a directory to which 
5627                 the user of the service is to be given access. In the case of 
5628                 printable services, this is where print data will spool prior to 
5629                 being submitted to the host for printing.</para>
5630
5631                 <para>For a printable service offering guest access, the service 
5632                 should be readonly and the path should be world-writeable and 
5633                 have the sticky bit set. This is not mandatory of course, but 
5634                 you probably won't get the results you expect if you do 
5635                 otherwise.</para>
5636
5637                 <para>Any occurrences of <parameter>%u</parameter> in the path 
5638                 will be replaced with the UNIX username that the client is using 
5639                 on this connection. Any occurrences of <parameter>%m</parameter> 
5640                 will be replaced by the NetBIOS name of the machine they are 
5641                 connecting from. These replacements are very useful for setting 
5642                 up pseudo home directories for users.</para>
5643
5644                 <para>Note that this path will be based on <link linkend="ROOTDIR">
5645                 <parameter>root dir</parameter></link> if one was specified.</para>
5646
5647                 <para>Default: <emphasis>none</emphasis></para>
5648                 <para>Example: <command>path = /home/fred</command></para>
5649                 </listitem>
5650                 </varlistentry>
5651
5652
5653
5654
5655                 <varlistentry>
5656                 <term><anchor id="PIDDIRECTORY">pid directory (G)</term>
5657                 <listitem><para>This option specifies the directory where pid 
5658                 files will be placed.  </para>
5659
5660                 <para>Default: <command>pid directory = ${prefix}/var/locks</command></para>
5661                 <para>Example: <command>pid directory = /var/run/</command>
5662                 </para></listitem>
5663                 </varlistentry>
5664
5665
5666
5667                 <varlistentry>
5668                 <term><anchor id="POSIXLOCKING">posix locking (S)</term>
5669                 <listitem><para>The <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
5670                 daemon maintains an database of file locks obtained by SMB clients.
5671                 The default behavior is to map this internal database to POSIX
5672                 locks.  This means that file locks obtained by SMB clients are 
5673                 consistent with those seen by POSIX compliant applications accessing 
5674                 the files via a non-SMB method (e.g. NFS or local file access).  
5675                 You should never need to disable this parameter.</para>
5676                 
5677                 <para>Default: <command>posix locking = yes</command></para>
5678                 </listitem>
5679                 </varlistentry>
5680
5681
5682
5683
5684                 <varlistentry>
5685                 <term><anchor id="POSTEXEC">postexec (S)</term>
5686                 <listitem><para>This option specifies a command to be run 
5687                 whenever the service is disconnected. It takes the usual 
5688                 substitutions. The command may be run as the root on some 
5689                 systems.</para>
5690
5691                 <para>An interesting example may be to unmount server 
5692                 resources:</para>
5693
5694                 <para><command>postexec = /etc/umount /cdrom</command></para>
5695
5696                 <para>See also <link linkend="PREEXEC"><parameter>preexec</parameter>
5697                 </link>.</para>
5698
5699                 <para>Default: <emphasis>none (no command executed)</emphasis>
5700                 </para>
5701
5702                 <para>Example: <command>postexec = echo \"%u disconnected from %S 
5703                 from %m (%I)\" &gt;&gt; /tmp/log</command></para>
5704                 </listitem>
5705                 </varlistentry>
5706
5707
5708
5709                 <varlistentry>
5710                 <term><anchor id="POSTSCRIPT">postscript (S)</term>
5711                 <listitem><para>This parameter forces a printer to interpret 
5712                 the print files as PostScript. This is done by adding a <constant>%!
5713                 </constant> to the start of print output.</para>
5714
5715                 <para>This is most useful when you have lots of PCs that persist 
5716                 in putting a control-D at the start of print jobs, which then 
5717                 confuses your printer.</para>
5718
5719                 <para>Default: <command>postscript = no</command></para>
5720                 </listitem>
5721                 </varlistentry>
5722         
5723         
5724         
5725                 <varlistentry>
5726                 <term><anchor id="PREEXEC">preexec (S)</term>
5727                 <listitem><para>This option specifies a command to be run whenever 
5728                 the service is connected to. It takes the usual substitutions.</para>
5729
5730                 <para>An interesting example is to send the users a welcome 
5731                 message every time they log in. Maybe a message of the day? Here 
5732                 is an example:</para>
5733
5734                 <para><command>preexec = csh -c 'echo \"Welcome to %S!\" |
5735                  /usr/local/samba/bin/smbclient -M %m -I %I' & </command></para>
5736
5737                 <para>Of course, this could get annoying after a while :-)</para>
5738
5739                 <para>See also <link linkend="PREEXECCLOSE"><parameter>preexec close
5740                 </parameter</link> and <link linkend="POSTEXEC"><parameter>postexec
5741                 </parameter></link>.</para>
5742
5743                 <para>Default: <emphasis>none (no command executed)</emphasis></para>
5744                 <para>Example: <command>preexec = echo \"%u connected to %S from %m
5745                 (%I)\" &gt;&gt; /tmp/log</command></para>
5746                 </listitem>
5747                 </varlistentry>
5748
5749
5750
5751                 <varlistentry>
5752                 <term><anchor id="PREEXECCLOSE">preexec close (S)</term>
5753                 <listitem><para>This boolean option controls whether a non-zero 
5754                 return code from <link linkend="PREEXEC"><parameter>preexec
5755                 </parameter></link> should close the service being connected to.</para>
5756
5757                 <para>Default: <command>preexec close = no</command></para>
5758                 </listitem>
5759                 </varlistentry>
5760
5761
5762                 <varlistentry>
5763                 <term><anchor id="PREFERREDMASTER">preferred master (G)</term>
5764                 <listitem><para>This boolean parameter controls if <ulink 
5765                 url="nmbd.8.html">nmbd(8)</ulink> is a preferred master browser 
5766                 for its workgroup.</para>
5767
5768                 <para>If this is set to <constant>true</constant>, on startup, <command>nmbd</command> 
5769                 will force an election, and it will have a slight advantage in 
5770                 winning the election.  It is recommended that this parameter is 
5771                 used in conjunction with <command><link linkend="DOMAINMASTER"><parameter>
5772                 domain master</parameter></link> = yes</command>, so that <command>
5773                 nmbd</command> can guarantee becoming a domain master.</para>
5774                 
5775                 <para>Use this option with caution, because if there are several 
5776                 hosts (whether Samba servers, Windows 95 or NT) that are preferred 
5777                 master browsers on the same subnet, they will each periodically 
5778                 and continuously attempt to become the local master browser.  
5779                 This will result in unnecessary broadcast traffic and reduced browsing
5780                 capabilities.</para>
5781
5782                 <para>See also <link linkend="OSLEVEL"><parameter>os level</parameter>
5783                 </link>.</para>
5784
5785                 <para>Default: <command>preferred master = auto</command></para>
5786                 </listitem>
5787                 </varlistentry>
5788
5789
5790
5791                 <varlistentry>
5792                 <term><anchor id="PREFEREDMASTER">prefered master (G)</term>
5793                 <listitem><para>Synonym for <link linkend="PREFERREDMASTER"><parameter>
5794                 preferred master</parameter></link> for people who cannot spell :-).</para>
5795                 </listitem>
5796                 </varlistentry>
5797
5798
5799
5800                 <varlistentry>
5801                 <term><anchor id="PRELOAD">preload (G)</term>
5802                 <listitem><para>This is a list of services that you want to be 
5803                 automatically added to the browse lists. This is most useful 
5804                 for homes and printers services that would otherwise not be 
5805                 visible.</para>
5806
5807                 <para>Note that if you just want all printers in your 
5808                 printcap file loaded then the <link linkend="LOADPRINTERS">
5809                 <parameter>load printers</parameter></link> option is easier.</para>
5810
5811                 <para>Default: <emphasis>no preloaded services</emphasis></para>
5812                 
5813                 <para>Example: <command>preload = fred lp colorlp</command></para>
5814                 </listitem>
5815                 </varlistentry>
5816
5817
5818                 <varlistentry>
5819                 <term><anchor id="PRESERVECASE">preserve case (S)</term>
5820                 <listitem><para> This controls if new filenames are created
5821                 with the case that the client passes, or if they are forced to 
5822                 be the <link linkend="DEFAULTCASE"><parameter>default case
5823                 </parameter></link>.</para>
5824
5825                 <para>Default: <command>preserve case = yes</command></para>
5826
5827                 <para>See the section on <link linkend="NAMEMANGLINGSECT">NAME 
5828                 MANGLING</link> for a fuller discussion.</para>
5829                 </listitem>
5830                 </varlistentry>
5831
5832
5833
5834                 <varlistentry>
5835                 <term><anchor id="PRINTCOMMAND">print command (S)</term>
5836                 <listitem><para>After a print job has finished spooling to 
5837                 a service, this command will be used via a <command>system()</command> 
5838                 call to process the spool file. Typically the command specified will 
5839                 submit the spool file to the host's printing subsystem, but there 
5840                 is no requirement that this be the case. The server will not remove 
5841                 the spool file, so whatever command you specify should remove the 
5842                 spool file when it has been processed, otherwise you will need to 
5843                 manually remove old spool files.</para>
5844                 
5845                 <para>The print command is simply a text string. It will be used 
5846                 verbatim after macro substitutions have been made:</para>
5847
5848                 <para>s, %p - the path to the spool
5849                 file name</para>
5850
5851                 <para>%p - the appropriate printer 
5852                 name</para>
5853
5854                 <para>%J - the job 
5855                 name as transmitted by the client.</para>
5856
5857                 <para>%c - The number of printed pages
5858                 of the spooled job (if known).</para>
5859
5860                 <para>%z - the size of the spooled
5861                 print job (in bytes)</para>
5862
5863                 <para>The print command <emphasis>MUST</emphasis> contain at least 
5864                 one occurrence of <parameter>%s</parameter> or <parameter>%f
5865                 </parameter> - the <parameter>%p</parameter> is optional. At the time 
5866                 a job is submitted, if no printer name is supplied the <parameter>%p
5867                 </parameter> will be silently removed from the printer command.</para>
5868
5869                 <para>If specified in the [global] section, the print command given 
5870                 will be used for any printable service that does not have its own 
5871                 print command specified.</para>
5872
5873                 <para>If there is neither a specified print command for a 
5874                 printable service nor a global print command, spool files will 
5875                 be created but not processed and (most importantly) not removed.</para>
5876
5877                 <para>Note that printing may fail on some UNIXes from the 
5878                 <constant>nobody</constant> account. If this happens then create 
5879                 an alternative guest account that can print and set the <link
5880                 linkend="GUESTACCOUNT"><parameter>guest account</parameter></link> 
5881                 in the [global] section.</para>
5882
5883                 <para>You can form quite complex print commands by realizing 
5884                 that they are just passed to a shell. For example the following 
5885                 will log a print job, print the file, then remove it. Note that 
5886                 ';' is the usual separator for command in shell scripts.</para>
5887
5888                 <para><command>print command = echo Printing %s &gt;&gt; 
5889                 /tmp/print.log; lpr -P %p %s; rm %s</command></para>
5890
5891                 <para>You may have to vary this command considerably depending 
5892                 on how you normally print files on your system. The default for 
5893                 the parameter varies depending on the setting of the <link linkend="PRINTING">
5894                 <parameter>printing</parameter></link> parameter.</para>
5895
5896                 <para>Default: For <command>printing = BSD, AIX, QNX, LPRNG 
5897                 or PLP :</command></para>
5898                 <para><command>print command = lpr -r -P%p %s</command></para>
5899
5900                 <para>For <command>printing = SYSV or HPUX :</command></para>
5901                 <para><command>print command = lp -c -d%p %s; rm %s</command></para>
5902
5903                 <para>For <command>printing = SOFTQ :</command></para>
5904                 <para><command>print command = lp -d%p -s %s; rm %s</command></para>
5905
5906                 <para>For printing = CUPS :   If SAMBA is compiled against
5907                 libcups, then <link linkend="PRINTING">printcap = cups</link> 
5908                 uses the CUPS API to
5909                 submit jobs, etc.  Otherwise it maps to the System V
5910                 commands with the -oraw option for printing, i.e. it
5911                 uses <command>lp -c -d%p -oraw; rm %s</command>.   
5912                 With <command>printing = cups</command>,
5913                 and if SAMBA is compiled against libcups, any manually 
5914                 set print command will be ignored.</para>
5915
5916
5917                 <para>Example: <command>print command = /usr/local/samba/bin/myprintscript
5918                 %p %s</command></para>
5919                 </listitem>
5920                 </varlistentry>
5921                 
5922                 
5923
5924                 <varlistentry>
5925                 <term><anchor id="PRINTOK">print ok (S)</term>
5926                 <listitem><para>Synonym for <link linkend="PRINTABLE">
5927                 <parameter>printable</parameter></link>.</para>
5928                 </listitem>
5929                 </varlistentry>
5930
5931
5932
5933
5934                 <varlistentry>
5935                 <term><anchor id="PRINTABLE">printable (S)</term>
5936                 <listitem><para>If this parameter is <constant>yes</constant>, then 
5937                 clients may open, write to and submit spool files on the directory 
5938                 specified for the service. </para>
5939                 
5940                 <para>Note that a printable service will ALWAYS allow writing 
5941                 to the service path (user privileges permitting) via the spooling 
5942                 of print data. The <link linkend="WRITEABLE"><parameter>writeable
5943                 </parameter></link> parameter controls only non-printing access to 
5944                 the resource.</para>
5945
5946                 <para>Default: <command>printable = no</command></para>
5947                 </listitem>
5948                 </varlistentry>
5949
5950
5951
5952                 <varlistentry>
5953                 <term><anchor id="PRINTCAP">printcap (G)</term>
5954                 <listitem><para>Synonym for     <link linkend="PRINTCAPNAME"><parameter>
5955                 printcap name</parameter></link>.</para>
5956                 </listitem>
5957                 </varlistentry>
5958
5959
5960
5961
5962                 <varlistentry>
5963                 <term><anchor id="PRINTCAPNAME">printcap name (G)</term>
5964                 <listitem><para>This parameter may be used to override the 
5965                 compiled-in default printcap name used by the server (usually <filename>
5966                 /etc/printcap</filename>). See the discussion of the <link
5967                 linkend="PRINTERSSECT">[printers]</link> section above for reasons 
5968                 why you might want to do this.</para>
5969
5970                 <para>To use the CUPS printing interface set <command>printcap name = cups
5971                 </command>. This should be supplemented by an addtional setting 
5972                 <link linkend="PRINTING">printing = cups</link> in the [global] 
5973                 section.  <command>printcap name = cups</command> will use the  
5974                 "dummy" printcap created by CUPS, as specified in your CUPS
5975                 configuration file.
5976                 </para>
5977
5978                 <para>On System V systems that use <command>lpstat</command> to 
5979                 list available printers you can use <command>printcap name = lpstat
5980                 </command> to automatically obtain lists of available printers. This 
5981                 is the default for systems that define SYSV at configure time in 
5982                 Samba (this includes most System V based systems). If <parameter>
5983                 printcap name</parameter> is set to <command>lpstat</command> on 
5984                 these systems then Samba will launch <command>lpstat -v</command> and 
5985                 attempt to parse the output to obtain a printer list.</para>
5986
5987                 <para>A minimal printcap file would look something like this:</para>
5988
5989                 <para><programlisting>
5990                 print1|My Printer 1
5991                 print2|My Printer 2
5992                 print3|My Printer 3
5993                 print4|My Printer 4
5994                 print5|My Printer 5
5995                 </programlisting></para>
5996         
5997                 <para>where the '|' separates aliases of a printer. The fact 
5998                 that the second alias has a space in it gives a hint to Samba 
5999                 that it's a comment.</para>
6000
6001                 <para><emphasis>NOTE</emphasis>: Under AIX the default printcap 
6002                 name is <filename>/etc/qconfig</filename>. Samba will assume the 
6003                 file is in AIX <filename>qconfig</filename> format if the string
6004                 <filename>qconfig</filename> appears in the printcap filename.</para>
6005
6006                 <para>Default: <command>printcap name = /etc/printcap</command></para>
6007                 <para>Example: <command>printcap name = /etc/myprintcap</command></para>
6008                 </listitem>
6009                 </varlistentry>
6010
6011
6012
6013
6014
6015                 <varlistentry>
6016                 <term><anchor id="PRINTERADMIN">printer admin (S)</term>
6017                 <listitem><para>This is a list of users that can do anything to 
6018                 printers via the remote administration interfaces offered by MS-RPC 
6019                 (usually using a NT workstation). Note that the root user always 
6020                 has admin rights.</para>
6021
6022                 <para>Default: <command>printer admin = &lt;empty string&gt;</command>
6023                 </para>
6024                 <para>Example: <command>printer admin = admin, @staff</command></para>
6025                 </listitem>
6026                 </varlistentry>
6027
6028
6029
6030
6031                 
6032                 <varlistentry>
6033                 <term><anchor id="PRINTERDRIVER">printer driver (S)</term>
6034                 <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
6035                 parameter and will be removed in the next major release
6036                 following version 2.2.  Please see the instructions in
6037                 the <ulink url="printer_driver2.html">Samba 2.2. Printing
6038                 HOWTO</ulink> for more information
6039                 on the new method of loading printer drivers onto a Samba server.
6040                 </para>
6041                 
6042                 <para>This option allows you to control the string 
6043                 that clients receive when they ask the server for the printer driver 
6044                 associated with a printer. If you are using Windows95 or Windows NT 
6045                 then you can use this to automate the setup of printers on your 
6046                 system.</para>
6047
6048                 <para>You need to set this parameter to the exact string (case 
6049                 sensitive) that describes the appropriate printer driver for your 
6050                 system. If you don't know the exact string to use then you should 
6051                 first try with no <link linkend="PRINTERDRIVER"><parameter>
6052                 printer driver</parameter></link> option set and the client will 
6053                 give you a list of printer drivers. The appropriate strings are 
6054                 shown in a scroll box after you have chosen the printer manufacturer.</para>
6055
6056                 <para>See also <link linkend="PRINTERDRIVERFILE"><parameter>printer
6057                 driver file</parameter></link>.</para>
6058
6059                 <para>Example: <command>printer driver = HP LaserJet 4L</command></para>
6060                 </listitem>
6061                 </varlistentry>
6062
6063
6064
6065                 <varlistentry>
6066                 <term><anchor id="PRINTERDRIVERFILE">printer driver file (G)</term>
6067                 <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
6068                 parameter and will be removed in the next major release
6069                 following version 2.2.  Please see the instructions in
6070                 the <ulink url="printer_driver2.html">Samba 2.2. Printing
6071                 HOWTO</ulink> for more information
6072                 on the new method of loading printer drivers onto a Samba server.
6073                 </para>
6074
6075                 <para>This parameter tells Samba where the printer driver 
6076                 definition file, used when serving drivers to Windows 95 clients, is 
6077                 to be found. If this is not set, the default is :</para>
6078
6079                 <para><filename><replaceable>SAMBA_INSTALL_DIRECTORY</replaceable>
6080                 /lib/printers.def</filename></para>
6081
6082                 <para>This file is created from Windows 95 <filename>msprint.inf
6083                 </filename> files found on the Windows 95 client system. For more 
6084                 details on setting up serving of printer drivers to Windows 95 
6085                 clients, see the outdated documentation file in the <filename>docs/</filename> 
6086                 directory, <filename>PRINTER_DRIVER.txt</filename>.</para>
6087
6088                 <para>See also <link linkend="PRINTERDRIVERLOCATION"><parameter>
6089                 printer driver location</parameter></link>.</para>
6090                 
6091                 <para>Default: <emphasis>None (set in compile).</emphasis></para>
6092
6093                 <para>Example: <command>printer driver file = 
6094                 /usr/local/samba/printers/drivers.def</command></para>
6095                 </listitem>
6096                 </varlistentry>
6097
6098
6099
6100
6101                 <varlistentry>
6102                 <term><anchor id="PRINTERDRIVERLOCATION">printer driver location (S)</term>
6103                 <listitem><para><emphasis>Note :</emphasis>This is a deprecated 
6104                 parameter and will be removed in the next major release
6105                 following version 2.2.  Please see the instructions in
6106                 the <ulink url="printer_driver2.html">Samba 2.2. Printing
6107                 HOWTO</ulink> for more information
6108                 on the new method of loading printer drivers onto a Samba server.
6109                 </para>
6110
6111                 <para>This parameter tells clients of a particular printer 
6112                 share where to find the printer driver files for the automatic 
6113                 installation of drivers for Windows 95 machines. If Samba is set up 
6114                 to serve printer drivers to Windows 95 machines, this should be set to</para>
6115
6116                 <para><command>\\MACHINE\PRINTER$</command></para>
6117
6118                 <para>Where MACHINE is the NetBIOS name of your Samba server, 
6119                 and PRINTER$ is a share you set up for serving printer driver 
6120                 files. For more details on setting this up see the outdated documentation 
6121                 file in the <filename>docs/</filename> directory, <filename>
6122                 PRINTER_DRIVER.txt</filename>.</para>
6123
6124                 <para>See also <link linkend="PRINTERDRIVERFILE"><parameter>
6125                 printer driver file</parameter></link>.</para>
6126
6127                 <para>Default: <command>none</command></para>
6128                 <para>Example: <command>printer driver location = \\MACHINE\PRINTER$
6129                 </command></para>
6130                 </listitem>
6131                 </varlistentry>
6132
6133
6134
6135                 <varlistentry>
6136                 <term><anchor id="PRINTERNAME">printer name (S)</term>
6137                 <listitem><para>This parameter specifies the name of the printer 
6138                 to which print jobs spooled through a printable service will be sent.</para>
6139
6140                 <para>If specified in the [global] section, the printer
6141                 name given will be used for any printable service that does 
6142                 not have its own printer name specified.</para>
6143
6144                 <para>Default: <emphasis>none (but may be <constant>lp</constant> 
6145                 on many systems)</emphasis></para>
6146
6147                 <para>Example: <command>printer name = laserwriter</command></para>
6148                 </listitem>
6149                 </varlistentry>
6150
6151
6152                 <varlistentry>
6153                 <term><anchor id="PRINTER">printer (S)</term>
6154                 <listitem><para>Synonym for <link linkend="PRINTERNAME"><parameter>
6155                 printer name</parameter></link>.</para>
6156                 </listitem>
6157                 </varlistentry>
6158
6159
6160
6161                 <varlistentry>
6162                 <term><anchor id="PRINTING">printing (S)</term>
6163                 <listitem><para>This parameters controls how printer status 
6164                 information is interpreted on your system. It also affects the 
6165                 default values for the <parameter>print command</parameter>, 
6166                 <parameter>lpq command</parameter>, <parameter>lppause command
6167                 </parameter>, <parameter>lpresume command</parameter>, and 
6168                 <parameter>lprm command</parameter> if specified in the 
6169                 [global] section.</para>
6170
6171                 <para>Currently nine printing styles are supported. They are
6172                 <constant>BSD</constant>, <constant>AIX</constant>, 
6173                 <constant>LPRNG</constant>, <constant>PLP</constant>,
6174                 <constant>SYSV</constant>, <constant>HPUX</constant>,
6175                 <constant>QNX</constant>, <constant>SOFTQ</constant>,
6176                 and <constant>CUPS</constant>.</para>
6177
6178                 <para>To see what the defaults are for the other print 
6179                 commands when using the various options use the <ulink 
6180                 url="testparm.1.html">testparm(1)</ulink> program.</para>
6181
6182                 <para>This option can be set on a per printer basis</para>
6183
6184                 <para>See also the discussion in the <link linkend="PRINTERSSECT">
6185                 [printers]</link> section.</para>
6186                 </listitem>
6187                 </varlistentry>
6188
6189
6190
6191                 
6192                 <varlistentry>
6193                 <term><anchor id="PRIVATEDIR">private dir (G)</term>
6194                 <listitem><para>This parameters defines the directory
6195                 smbd will use for storing such files as <filename>smbpasswd</filename>
6196                 and <filename>secrets.tdb</filename>.
6197                 </para>
6198                                 
6199                 <para>Default :<command>private dir = ${prefix}/private</command></para>
6200                 </listitem>
6201                 </varlistentry>
6202                 
6203                 
6204                 
6205
6206                 <varlistentry>
6207                 <term><anchor id="PROTOCOL">protocol (G)</term>
6208                 <listitem><para>Synonym for <link linkend="MAXPROTOCOL">
6209                 <parameter>max protocol</parameter></link>.</para></listitem>
6210                 </varlistentry>
6211
6212
6213
6214
6215                 <varlistentry>
6216                 <term><anchor id="PUBLIC">public (S)</term>
6217                 <listitem><para>Synonym for <link linkend="GUESTOK"><parameter>guest 
6218                 ok</parameter></link>.</para>
6219                 </listitem>
6220                 </varlistentry>
6221
6222
6223
6224                 <varlistentry>
6225                 <term><anchor id="QUEUEPAUSECOMMAND">queuepause command (S)</term>
6226                 <listitem><para>This parameter specifies the command to be 
6227                 executed on the server host in order to pause the printer queue.</para>
6228
6229                 <para>This command should be a program or script which takes 
6230                 a printer name as its only parameter and stops the printer queue, 
6231                 such that no longer jobs are submitted to the printer.</para>
6232
6233                 <para>This command is not supported by Windows for Workgroups, 
6234                 but can be issued from the Printers window under Windows 95 
6235                 and NT.</para>
6236                 
6237                 <para>If a <parameter>%p</parameter> is given then the printer name 
6238                 is put in its place. Otherwise it is placed at the end of the command.
6239                 </para>
6240
6241                 <para>Note that it is good practice to include the absolute 
6242                 path in the command as the PATH may not be available to the 
6243                 server.</para>
6244
6245                 <para>Default: <emphasis>depends on the setting of <parameter>printing
6246                 </parameter></emphasis></para>
6247                 <para>Example: <command>queuepause command = disable %p</command></para>
6248                 </listitem>
6249                 </varlistentry>
6250
6251
6252
6253                 <varlistentry>
6254                 <term><anchor id="QUEUERESUMECOMMAND">queueresume command (S)</term>
6255                 <listitem><para>This parameter specifies the command to be 
6256                 executed on the server host in order to resume the printer queue. It 
6257                 is the command to undo the behavior that is caused by the 
6258                 previous parameter (<link linkend="QUEUEPAUSECOMMAND"><parameter>
6259                 queuepause command</parameter></link>).</para>
6260  
6261                 <para>This command should be a program or script which takes 
6262                 a printer name as its only parameter and resumes the printer queue, 
6263                 such that queued jobs are resubmitted to the printer.</para>
6264
6265                 <para>This command is not supported by Windows for Workgroups, 
6266                 but can be issued from the Printers window under Windows 95 
6267                 and NT.</para>
6268
6269                 <para>If a <parameter>%p</parameter> is given then the printer name 
6270                 is put in its place. Otherwise it is placed at the end of the 
6271                 command.</para>
6272
6273                 <para>Note that it is good practice to include the absolute 
6274                 path in the command as the PATH may not be available to the 
6275                 server.</para>
6276
6277                 <para>Default: <emphasis>depends on the setting of <link
6278                 linkend="PRINTING"><parameter>printing</parameter></link></emphasis>
6279                 </para>
6280
6281                 <para>Example: <command>queuepause command = enable %p
6282                 </command></para>
6283                 </listitem>
6284                 </varlistentry>
6285
6286
6287
6288                 <varlistentry>
6289                 <term><anchor id="READBMPX">read bmpx (G)</term>
6290                 <listitem><para>This boolean parameter controls whether <ulink 
6291                 url="smbd.8.html">smbd(8)</ulink> will support the "Read 
6292                 Block Multiplex" SMB. This is now rarely used and defaults to 
6293                 <constant>no</constant>. You should never need to set this 
6294                 parameter.</para>
6295                 
6296                 <para>Default: <command>read bmpx = no</command></para>
6297                 </listitem>
6298                 </varlistentry>
6299
6300
6301
6302
6303                 <varlistentry>
6304                 <term><anchor id="READLIST">read list (S)</term>
6305                 <listitem><para>This is a list of users that are given read-only 
6306                 access to a service. If the connecting user is in this list then 
6307                 they will not be given write access, no matter what the <link 
6308                 linkend="WRITEABLE"><parameter>writeable</parameter></link>
6309                 option is set to. The list can include group names using the 
6310                 syntax described in the <link linkend="INVALIDUSERS"><parameter>
6311                 invalid users</parameter></link> parameter.</para>
6312
6313                 <para>See also the <link linkend="WRITELIST"><parameter>
6314                 write list</parameter></link> parameter and the <link 
6315                 linkend="INVALIDUSERS"><parameter>invalid users</parameter>
6316                 </link> parameter.</para>
6317
6318                 <para>Default: <command>read list = &lt;empty string&gt;</command></para>
6319                 <para>Example: <command>read list = mary, @students</command></para>
6320                 </listitem>
6321                 </varlistentry>
6322
6323
6324
6325                 <varlistentry>
6326                 <term><anchor id="READONLY">read only (S)</term>
6327                 <listitem><para>Note that this is an inverted synonym for <link 
6328                 linkend="WRITEABLE"><parameter>writeable</parameter></link>.</para>
6329                 </listitem>
6330                 </varlistentry>
6331
6332
6333
6334                 <varlistentry>
6335                 <term><anchor id="READRAW">read raw (G)</term>
6336                 <listitem><para>This parameter controls whether or not the server 
6337                 will support the raw read SMB requests when transferring data 
6338                 to clients.</para>
6339
6340                 <para>If enabled, raw reads allow reads of 65535 bytes in 
6341                 one packet. This typically provides a major performance benefit.
6342                 </para>
6343
6344                 <para>However, some clients either negotiate the allowable 
6345                 block size incorrectly or are incapable of supporting larger block 
6346                 sizes, and for these clients you may need to disable raw reads.</para>
6347
6348                 <para>In general this parameter should be viewed as a system tuning 
6349                 tool and left severely alone. See also <link linkend="WRITERAW">
6350                 <parameter>write raw</parameter></link>.</para>
6351
6352                 <para>Default: <command>read raw = yes</command></para>
6353                 </listitem>
6354                 </varlistentry>
6355
6356
6357                 <varlistentry>
6358                 <term><anchor id="READSIZE">read size (G)</term>
6359                 <listitem><para>The option <parameter>read size</parameter> 
6360                 affects the overlap of disk reads/writes with network reads/writes. 
6361                 If the amount of data being transferred in several of the SMB 
6362                 commands (currently SMBwrite, SMBwriteX and SMBreadbraw) is larger 
6363                 than this value then the server begins writing the data before it 
6364                 has received the whole packet from the network, or in the case of 
6365                 SMBreadbraw, it begins writing to the network before all the data 
6366                 has been read from disk.</para>
6367
6368                 <para>This overlapping works best when the speeds of disk and 
6369                 network access are similar, having very little effect when the 
6370                 speed of one is much greater than the other.</para>
6371
6372                 <para>The default value is 16384, but very little experimentation 
6373                 has been done yet to determine the optimal value, and it is likely 
6374                 that the best value will vary greatly between systems anyway. 
6375                 A value over 65536 is pointless and will cause you to allocate 
6376                 memory unnecessarily.</para>
6377
6378                 <para>Default: <command>read size = 16384</command></para>
6379                 <para>Example: <command>read size = 8192</command></para>
6380                 </listitem>
6381                 </varlistentry>
6382
6383
6384                 <varlistentry>
6385                 <term><anchor id="REALM">realm (G)</term>
6386                 <listitem><para>
6387                 This option specifies the kerberos realm to use. The realm is 
6388                 used as the ADS equivalent of the NT4<command>domain</command>. It
6389                 is usually set to the DNS name of the kerberos server.
6390                 </para>
6391                 
6392                 <para>Default: <command>realm = </command></para>
6393                 <para>Example: <command>realm = mysambabox.mycompany.com</command></para>
6394                 </listitem>
6395                 </varlistentry>
6396
6397                 <varlistentry>
6398                 <term><anchor id="REMOTEANNOUNCE">remote announce (G)</term>
6399                 <listitem><para>This option allows you to setup <ulink 
6400                 url="nmbd.8.html">nmbd(8)</ulink> to periodically announce itself 
6401                 to arbitrary IP addresses with an arbitrary workgroup name.</para>
6402
6403                 <para>This is useful if you want your Samba server to appear 
6404                 in a remote workgroup for which the normal browse propagation 
6405                 rules don't work. The remote workgroup can be anywhere that you 
6406                 can send IP packets to.</para>
6407
6408                 <para>For example:</para>
6409
6410                 <para><command>remote announce = 192.168.2.255/SERVERS 
6411                 192.168.4.255/STAFF</command></para>
6412
6413                 <para>the above line would cause <command>nmbd</command> to announce itself 
6414                 to the two given IP addresses using the given workgroup names. 
6415                 If you leave out the workgroup name then the one given in 
6416                 the <link linkend="WORKGROUP"><parameter>workgroup</parameter></link> 
6417                 parameter is used instead.</para>
6418
6419                 <para>The IP addresses you choose would normally be the broadcast 
6420                 addresses of the remote networks, but can also be the IP addresses 
6421                 of known browse masters if your network config is that stable.</para>
6422
6423                 <para>See the documentation file <filename>BROWSING.txt</filename> 
6424                 in the <filename>docs/</filename> directory.</para>
6425                 
6426                 <para>Default: <command>remote announce = &lt;empty string&gt;
6427                 </command></para>
6428                 </listitem>
6429                 </varlistentry>
6430
6431
6432
6433                 <varlistentry>
6434                 <term><anchor id="REMOTEBROWSESYNC">remote browse sync (G)</term>
6435                 <listitem><para>This option allows you to setup <ulink 
6436                 url="nmbd.8.html">nmbd(8)</ulink> to periodically request 
6437                 synchronization of browse lists with the master browser of a Samba 
6438                 server that is on a remote segment. This option will allow you to 
6439                 gain browse lists for multiple workgroups across routed networks. This 
6440                 is done in a manner that does not work with any non-Samba servers.</para>
6441
6442                 <para>This is useful if you want your Samba server and all local 
6443                 clients to appear in a remote workgroup for which the normal browse 
6444                 propagation rules don't work. The remote workgroup can be anywhere 
6445                 that you can send IP packets to.</para>
6446
6447                 <para>For example:</para>
6448                 
6449                 <para><command>remote browse sync = 192.168.2.255 192.168.4.255
6450                 </command></para>
6451
6452                 <para>the above line would cause <command>nmbd</command> to request 
6453                 the master browser on the specified subnets or addresses to 
6454                 synchronize their browse lists with the local server.</para>
6455
6456                 <para>The IP addresses you choose would normally be the broadcast 
6457                 addresses of the remote networks, but can also be the IP addresses 
6458                 of known browse masters if your network config is that stable. If 
6459                 a machine IP address is given Samba makes NO attempt to validate 
6460                 that the remote machine is available, is listening, nor that it 
6461                 is in fact the browse master on its segment.</para>
6462
6463                 <para>Default: <command>remote browse sync = &lt;empty string&gt;
6464                 </command></para>
6465                 </listitem>
6466                 </varlistentry>
6467
6468
6469
6470
6471                 <varlistentry>
6472                 <term><anchor id="RESTRICTANONYMOUS">restrict anonymous (G)</term>
6473                 <listitem><para>This is a boolean parameter.  If it is <constant>true</constant>, then 
6474                 anonymous access to the server will be restricted, namely in the 
6475                 case where the server is expecting the client to send a username, 
6476                 but it doesn't.  Setting it to <constant>true</constant> will force these anonymous 
6477                 connections to be denied, and the client will be required to always 
6478                 supply a username and password when connecting. Use of this parameter 
6479                 is only recommended for homogeneous NT client environments.</para>
6480
6481                 <para>This parameter makes the use of macro expansions that rely
6482                 on the username (%U, %G, etc) consistent.  NT 4.0 
6483                 likes to use anonymous connections when refreshing the share list, 
6484                 and this is a way to work around that.</para>
6485
6486                 <para>When restrict anonymous is <constant>true</constant>, all anonymous connections 
6487                 are denied no matter what they are for.  This can effect the ability 
6488                 of a machine to access the Samba Primary Domain Controller to revalidate 
6489                 its machine account after someone else has logged on the client 
6490                 interactively.  The NT client will display a message saying that 
6491                 the machine's account in  the domain doesn't exist or the password is 
6492                 bad.  The best way to deal  with this is to reboot NT client machines 
6493                 between interactive logons,  using "Shutdown and Restart", rather 
6494                 than "Close all programs and logon as a different user".</para>
6495
6496                 <para>Default: <command>restrict anonymous = no</command></para>
6497                 </listitem>
6498                 </varlistentry>
6499
6500
6501
6502                 <varlistentry>
6503                 <term><anchor id="ROOT">root (G)</term>
6504                 <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
6505                 <parameter>root directory"</parameter></link>.</para>
6506                 </listitem>
6507                 </varlistentry>
6508
6509
6510
6511                 <varlistentry>
6512                 <term><anchor id="ROOTDIR">root dir (G)</term>
6513                 <listitem><para>Synonym for <link linkend="ROOTDIRECTORY">
6514                 <parameter>root directory"</parameter></link>.</para>
6515                 </listitem>
6516                 </varlistentry>
6517
6518
6519                 <varlistentry>
6520                 <term><anchor id="ROOTDIRECTORY">root directory (G)</term>
6521                 <listitem><para>The server will <command>chroot()</command> (i.e. 
6522                 Change its root directory) to this directory on startup. This is 
6523                 not strictly necessary for secure operation. Even without it the 
6524                 server will deny access to files not in one of the service entries. 
6525                 It may also check for, and deny access to, soft links to other 
6526                 parts of the filesystem, or attempts to use ".." in file names 
6527                 to access other directories (depending on the setting of the <link
6528                 linkend="WIDELINKS"><parameter>wide links</parameter></link> 
6529                 parameter).</para>
6530
6531                 <para>Adding a <parameter>root directory</parameter> entry other 
6532                 than "/" adds an extra level of security, but at a price. It 
6533                 absolutely ensures that no access is given to files not in the 
6534                 sub-tree specified in the <parameter>root directory</parameter> 
6535                 option, <emphasis>including</emphasis> some files needed for 
6536                 complete operation of the server. To maintain full operability 
6537                 of the server you will need to mirror some system files 
6538                 into the <parameter>root directory</parameter> tree. In particular 
6539                 you will need to mirror <filename>/etc/passwd</filename> (or a 
6540                 subset of it), and any binaries or configuration files needed for 
6541                 printing (if required). The set of files that must be mirrored is
6542                 operating system dependent.</para>
6543
6544                 <para>Default: <command>root directory = /</command></para>
6545                 <para>Example: <command>root directory = /homes/smb</command></para>
6546                 </listitem>
6547                 </varlistentry>
6548
6549
6550
6551                 <varlistentry>
6552                 <term><anchor id="ROOTPOSTEXEC">root postexec (S)</term>
6553                 <listitem><para>This is the same as the <parameter>postexec</parameter>
6554                 parameter except that the command is run as root. This 
6555                 is useful for unmounting filesystems 
6556                 (such as CDROMs) after a connection is closed.</para>
6557
6558                 <para>See also <link linkend="POSTEXEC"><parameter>
6559                 postexec</parameter></link>.</para>
6560
6561                 <para>Default: <command>root postexec = &lt;empty string&gt;
6562                 </command></para>
6563                 </listitem>
6564                 </varlistentry>
6565
6566                 <varlistentry>
6567                 <term><anchor id="ROOTPREEXEC">root preexec (S)</term>
6568                 <listitem><para>This is the same as the <parameter>preexec</parameter>
6569                 parameter except that the command is run as root. This 
6570                 is useful for mounting filesystems (such as CDROMs) when a 
6571                 connection is opened.</para>
6572
6573                 <para>See also <link linkend="PREEXEC"><parameter>
6574                 preexec</parameter></link> and <link linkend="PREEXECCLOSE">
6575                 <parameter>preexec close</parameter></link>.</para>
6576                 
6577                 <para>Default: <command>root preexec = &lt;empty string&gt;
6578                 </command></para>
6579                 </listitem>
6580                 </varlistentry>
6581
6582
6583
6584                 <varlistentry>
6585                 <term><anchor id="ROOTPREEXECCLOSE">root preexec close (S)</term>
6586                 <listitem><para>This is the same as the <parameter>preexec close
6587                 </parameter> parameter except that the command is run as root.</para>
6588
6589                 <para>See also <link linkend="PREEXEC"><parameter>
6590                 preexec</parameter></link> and <link linkend="PREEXECCLOSE">
6591                 <parameter>preexec close</parameter></link>.</para>
6592
6593                 <para>Default: <command>root preexec close = no</command></para>
6594                 </listitem>
6595                 </varlistentry>
6596
6597
6598                 <varlistentry>
6599                 <term><anchor id="SECURITY">security (G)</term>
6600                 <listitem><para>This option affects how clients respond to 
6601                 Samba and is one of the most important settings in the <filename>
6602                 smb.conf</filename> file.</para>
6603
6604                 <para>The option sets the "security mode bit" in replies to 
6605                 protocol negotiations with <ulink url="smbd.8.html">smbd(8)
6606                 </ulink> to turn share level security on or off. Clients decide 
6607                 based on this bit whether (and how) to transfer user and password 
6608                 information to the server.</para>
6609
6610
6611                 <para>The default is <command>security = user</command>, as this is
6612                 the most common setting needed when talking to Windows 98 and 
6613                 Windows NT.</para>
6614
6615                 <para>The alternatives are <command>security = share</command>,
6616                 <command>security = server</command> or <command>security = domain
6617                 </command>.</para>
6618
6619                 <para>In versions of Samba prior to 2.0.0, the default was 
6620                 <command>security = share</command> mainly because that was
6621                 the only option at one stage.</para>
6622
6623                 <para>There is a bug in WfWg that has relevance to this 
6624                 setting. When in user or server level security a WfWg client 
6625                 will totally ignore the password you type in the "connect 
6626                 drive" dialog box. This makes it very difficult (if not impossible) 
6627                 to connect to a Samba service as anyone except the user that 
6628                 you are logged into WfWg as.</para>
6629
6630                 <para>If your PCs use usernames that are the same as their 
6631                 usernames on the UNIX machine then you will want to use 
6632                 <command>security = user</command>. If you mostly use usernames 
6633                 that don't exist on the UNIX box then use <command>security = 
6634                 share</command>.</para>
6635
6636                 <para>You should also use <command>security = share</command> if you 
6637                 want to mainly setup shares without a password (guest shares). This 
6638                 is commonly used for a shared printer server. It is more difficult 
6639                 to setup guest shares with <command>security = user</command>, see 
6640                 the <link linkend="MAPTOGUEST"><parameter>map to guest</parameter>
6641                 </link>parameter for details.</para>
6642                 
6643                 <para>It is possible to use <command>smbd</command> in a <emphasis>
6644                 hybrid mode</emphasis> where it is offers both user and share 
6645                 level security under different <link linkend="NETBIOSALIASES">
6646                 <parameter>NetBIOS aliases</parameter></link>. </para>
6647
6648                 <para>The different settings will now be explained.</para>
6649
6650
6651                 <para><anchor id="SECURITYEQUALSSHARE"><emphasis>SECURITY = SHARE
6652                 </emphasis></para> 
6653                 
6654                 <para>When clients connect to a share level security server they 
6655                 need not log onto the server with a valid username and password before 
6656                 attempting to connect to a shared resource (although modern clients 
6657                 such as Windows 95/98 and Windows NT will send a logon request with 
6658                 a username but no password when talking to a <command>security = share
6659                 </command> server). Instead, the clients send authentication information 
6660                 (passwords) on a per-share basis, at the time they attempt to connect 
6661                 to that share.</para>
6662
6663                 <para>Note that <command>smbd</command> <emphasis>ALWAYS</emphasis> 
6664                 uses a valid UNIX user to act on behalf of the client, even in
6665                 <command>security = share</command> level security.</para>
6666
6667                 <para>As clients are not required to send a username to the server
6668                 in share level security, <command>smbd</command> uses several
6669                 techniques to determine the correct UNIX user to use on behalf
6670                 of the client.</para>
6671
6672                 <para>A list of possible UNIX usernames to match with the given
6673                 client password is constructed using the following methods :</para>
6674
6675                 <itemizedlist>
6676                         <listitem><para>If the <link linkend="GUESTONLY"><parameter>guest 
6677                         only</parameter></link> parameter is set, then all the other 
6678                         stages are missed and only the <link linkend="GUESTACCOUNT">
6679                         <parameter>guest account</parameter></link> username is checked.
6680                         </para></listitem>
6681
6682                         <listitem><para>Is a username is sent with the share connection 
6683                         request, then this username (after mapping - see <link 
6684                         linkend="USERNAMEMAP"><parameter>username map</parameter></link>), 
6685                         is added as a potential username.</para></listitem>
6686
6687                         <listitem><para>If the client did a previous <emphasis>logon
6688                         </emphasis> request (the SessionSetup SMB call) then the 
6689                         username sent in this SMB will be added as a potential username.
6690                         </para></listitem>
6691
6692                         <listitem><para>The name of the service the client requested is 
6693                         added as a potential username.</para></listitem>
6694
6695                         <listitem><para>The NetBIOS name of the client is added to 
6696                         the list as a potential username.</para></listitem>
6697
6698                         <listitem><para>Any users on the <link linkend="USER"><parameter>
6699                         user</parameter></link> list are added as potential usernames.
6700                         </para></listitem>
6701                 </itemizedlist>
6702
6703                 <para>If the <parameter>guest only</parameter> parameter is 
6704                 not set, then this list is then tried with the supplied password. 
6705                 The first user for whom the password matches will be used as the 
6706                 UNIX user.</para>
6707
6708                 <para>If the <parameter>guest only</parameter> parameter is 
6709                 set, or no username can be determined then if the share is marked 
6710                 as available to the <parameter>guest account</parameter>, then this 
6711                 guest user will be used, otherwise access is denied.</para>
6712
6713                 <para>Note that it can be <emphasis>very</emphasis> confusing 
6714                 in share-level security as to which UNIX username will eventually
6715                 be used in granting access.</para>
6716
6717                 <para>See also the section <link linkend="VALIDATIONSECT">
6718                 NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
6719
6720                 <para><anchor id="SECURITYEQUALSUSER"><emphasis>SECURITY = USER
6721                 </emphasis></para>
6722
6723                 <para>This is the default security setting in Samba 2.2. 
6724                 With user-level security a client must first "log-on" with a 
6725                 valid username and password (which can be mapped using the <link
6726                 linkend="USERNAMEMAP"><parameter>username map</parameter></link> 
6727                 parameter). Encrypted passwords (see the <link linkend="ENCRYPTPASSWORDS">
6728                 <parameter>encrypted passwords</parameter></link> parameter) can also
6729                 be used in this security mode. Parameters such as <link linkend="USER">
6730                 <parameter>user</parameter></link> and <link linkend="GUESTONLY">
6731                 <parameter>guest only</parameter></link> if set are then applied and 
6732                 may change the UNIX user to use on this connection, but only after 
6733                 the user has been successfully authenticated.</para>
6734
6735                 <para><emphasis>Note</emphasis> that the name of the resource being 
6736                 requested is <emphasis>not</emphasis> sent to the server until after 
6737                 the server has successfully authenticated the client. This is why 
6738                 guest shares don't work in user level security without allowing 
6739                 the server to automatically map unknown users into the <link
6740                 linkend="GUESTACCOUNT"><parameter>guest account</parameter></link>. 
6741                 See the <link linkend="MAPTOGUEST"><parameter>map to guest</parameter>
6742                 </link> parameter for details on doing this.</para>
6743
6744                 <para>See also the section <link linkend="VALIDATIONSECT">
6745                 NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
6746
6747                 <para><anchor id="SECURITYEQUALSSERVER"><emphasis>SECURITY = SERVER
6748                 </emphasis></para>
6749
6750                 <para>In this mode Samba will try to validate the username/password 
6751                 by passing it to another SMB server, such as an NT box. If this 
6752                 fails it will revert to <command>security = user</command>, but note 
6753                 that if encrypted passwords have been negotiated then Samba cannot 
6754                 revert back to checking the UNIX password file, it must have a valid 
6755                 <filename>smbpasswd</filename> file to check users against. See the 
6756                 documentation file in the <filename>docs/</filename> directory 
6757                 <filename>ENCRYPTION.txt</filename> for details on how to set this 
6758                 up.</para>
6759
6760                 <para><emphasis>Note</emphasis> that from the client's point of 
6761                 view <command>security = server</command> is the same as <command>
6762                 security = user</command>.  It only affects how the server deals 
6763                 with the authentication, it does not in any way affect what the 
6764                 client sees.</para>
6765
6766                 <para><emphasis>Note</emphasis> that the name of the resource being 
6767                 requested is <emphasis>not</emphasis> sent to the server until after 
6768                 the server has successfully authenticated the client. This is why 
6769                 guest shares don't work in user level security without allowing 
6770                 the server to automatically map unknown users into the <link
6771                 linkend="GUESTACCOUNT"><parameter>guest account</parameter></link>. 
6772                 See the <link linkend="MAPTOGUEST"><parameter>map to guest</parameter>
6773                 </link> parameter for details on doing this.</para>
6774
6775                 <para>See also the section <link linkend="VALIDATIONSECT">
6776                 NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
6777
6778                 <para>See also the <link linkend="PASSWORDSERVER"><parameter>password 
6779                 server</parameter></link> parameter and the <link 
6780                 linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
6781                 </link> parameter.</para>
6782                 
6783                 <para><anchor id="SECURITYEQUALSDOMAIN"><emphasis>SECURITY = DOMAIN
6784                 </emphasis></para>
6785
6786                 <para>This mode will only work correctly if <ulink 
6787                 url="smbpasswd.8.html">smbpasswd(8)</ulink> has been used to add this 
6788                 machine into a Windows NT Domain. It expects the <link 
6789                 linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
6790                 </link> parameter to be set to <constant>true</constant>. In this 
6791                 mode Samba will try to validate the username/password by passing
6792                 it to a Windows NT Primary or Backup Domain Controller, in exactly 
6793                 the same way that a Windows NT Server would do.</para>
6794
6795                 <para><emphasis>Note</emphasis> that a valid UNIX user must still 
6796                 exist as well as the account on the Domain Controller to allow 
6797                 Samba to have a valid UNIX account to map file access to.</para>
6798
6799                 <para><emphasis>Note</emphasis> that from the client's point 
6800                 of view <command>security = domain</command> is the same as <command>security = user
6801                 </command>. It only affects how the server deals with the authentication, 
6802                 it does not in any way affect what the client sees.</para>
6803
6804                 <para><emphasis>Note</emphasis> that the name of the resource being 
6805                 requested is <emphasis>not</emphasis> sent to the server until after 
6806                 the server has successfully authenticated the client. This is why 
6807                 guest shares don't work in user level security without allowing 
6808                 the server to automatically map unknown users into the <link
6809                 linkend="GUESTACCOUNT"><parameter>guest account</parameter></link>. 
6810                 See the <link linkend="MAPTOGUEST"><parameter>map to guest</parameter>
6811                 </link> parameter for details on doing this.</para>
6812
6813                 <para><emphasis>BUG:</emphasis> There is currently a bug in the 
6814                 implementation of <command>security = domain</command> with respect 
6815                 to multi-byte character set usernames. The communication with a 
6816                 Domain Controller must be done in UNICODE and Samba currently 
6817                 does not widen multi-byte user names to UNICODE correctly, thus 
6818                 a multi-byte username will not be recognized correctly at the 
6819                 Domain Controller. This issue will be addressed in a future release.</para>
6820
6821                 <para>See also the section <link linkend="VALIDATIONSECT">
6822                 NOTE ABOUT USERNAME/PASSWORD VALIDATION</link>.</para>
6823
6824                 <para>See also the <link linkend="PASSWORDSERVER"><parameter>password 
6825                 server</parameter></link> parameter and the <link 
6826                 linkend="ENCRYPTPASSWORDS"><parameter>encrypted passwords</parameter>
6827                 </link> parameter.</para>
6828
6829                 <para>Default: <command>security = USER</command></para>
6830                 <para>Example: <command>security = DOMAIN</command></para>
6831                 </listitem>
6832                 </varlistentry>
6833
6834
6835
6836                 <varlistentry>
6837                 <term><anchor id="SECURITYMASK">security mask (S)</term>
6838                 <listitem><para>This parameter controls what UNIX permission 
6839                 bits can be modified when a Windows NT client is manipulating 
6840                 the UNIX permission on a file using the native NT security 
6841                 dialog box.</para>
6842
6843                 <para>This parameter is applied as a mask (AND'ed with) to 
6844                 the changed permission bits, thus preventing any bits not in 
6845                 this mask from being modified. Essentially, zero bits in this 
6846                 mask may be treated as a set of bits the user is not allowed 
6847                 to change.</para>
6848
6849                 <para>If not set explicitly this parameter is 0777, allowing
6850                 a user to modify all the user/group/world permissions on a file.
6851                 </para>
6852
6853                 <para><emphasis>Note</emphasis> that users who can access the 
6854                 Samba server through other means can easily bypass this 
6855                 restriction, so it is primarily useful for standalone 
6856                 "appliance" systems.  Administrators of most normal systems will 
6857                 probably want to leave it set to <constant>0777</constant>.</para>
6858                 
6859                 <para>See also the <link linkend="FORCEDIRECTORYSECURITYMODE">
6860                 <parameter>force directory security mode</parameter></link>, 
6861                 <link linkend="DIRECTORYSECURITYMASK"><parameter>directory 
6862                 security mask</parameter></link>, <link linkend="FORCESECURITYMODE">
6863                 <parameter>force security mode</parameter></link> parameters.</para>
6864
6865                 <para>Default: <command>security mask = 0777</command></para>
6866                 <para>Example: <command>security mask = 0770</command></para>
6867                 </listitem>
6868                 </varlistentry>
6869
6870
6871                 <varlistentry>
6872                 <term><anchor id="SERVERSTRING">server string (G)</term>
6873                 <listitem><para>This controls what string will show up in the 
6874                 printer comment box in print manager and next to the IPC connection 
6875                 in <command>net view</command>. It can be any string that you wish 
6876                 to show to your users.</para>
6877                 
6878                 <para>It also sets what will appear in browse lists next 
6879                 to the machine name.</para>
6880
6881                 <para>A <parameter>%v</parameter> will be replaced with the Samba 
6882                 version number.</para>
6883
6884                 <para>A <parameter>%h</parameter> will be replaced with the 
6885                 hostname.</para>
6886
6887                 <para>Default: <command>server string = Samba %v</command></para>
6888
6889                 <para>Example: <command>server string = University of GNUs Samba 
6890                 Server</command></para>
6891                 </listitem>
6892                 </varlistentry>
6893
6894
6895
6896                 <varlistentry>
6897                 <term><anchor id="SETDIRECTORY">set directory (S)</term>
6898                 <listitem><para>If <command>set directory = no</command>, then 
6899                 users of the service may not use the setdir command to change 
6900                 directory.</para>
6901
6902                 <para>The <command>setdir</command> command is only implemented 
6903                 in the Digital Pathworks client. See the Pathworks documentation 
6904                 for details.</para>
6905
6906                 <para>Default: <command>set directory = no</command></para>
6907                 </listitem>
6908                 </varlistentry>
6909
6910
6911
6912                 <varlistentry>
6913                 <term><anchor id="SHAREMODES">share modes (S)</term>
6914                 <listitem><para>This enables or disables the honoring of 
6915                 the <parameter>share modes</parameter> during a file open. These 
6916                 modes are used by clients to gain exclusive read or write access 
6917                 to a file.</para>
6918
6919                 <para>These open modes are not directly supported by UNIX, so
6920                 they are simulated using shared memory, or lock files if your 
6921                 UNIX doesn't support shared memory (almost all do).</para>
6922
6923                 <para>The share modes that are enabled by this option are 
6924                 <constant>DENY_DOS</constant>, <constant>DENY_ALL</constant>,
6925                 <constant>DENY_READ</constant>, <constant>DENY_WRITE</constant>,
6926                 <constant>DENY_NONE</constant> and <constant>DENY_FCB</constant>.
6927                 </para>
6928
6929                 <para>This option gives full share compatibility and enabled 
6930                 by default.</para>
6931
6932                 <para>You should <emphasis>NEVER</emphasis> turn this parameter 
6933                 off as many Windows applications will break if you do so.</para>
6934
6935                 <para>Default: <command>share modes = yes</command></para>
6936                 </listitem>
6937                 </varlistentry>
6938
6939
6940
6941                 <varlistentry>
6942                 <term><anchor id="SHORTPRESERVECASE">short preserve case (S)</term>
6943                 <listitem><para>This boolean parameter controls if new files 
6944                 which conform to 8.3 syntax, that is all in upper case and of 
6945                 suitable length, are created upper case, or if they are forced 
6946                 to be the <link linkend="DEFAULTCASE"><parameter>default case
6947                 </parameter></link>. This  option can be use with <link 
6948                 linkend="PRESERVECASE"><command>preserve case = yes</command>
6949                 </link> to permit long filenames to retain their case, while short 
6950                 names are lowered. </para>
6951                 
6952                 <para>See the section on <link linkend="NAMEMANGLINGSECT">
6953                 NAME MANGLING</link>.</para>
6954
6955                 <para>Default: <command>short preserve case = yes</command></para>
6956                 </listitem>
6957                 </varlistentry>
6958
6959
6960
6961                 <varlistentry>
6962                 <term><anchor id="SHOWADDPRINTERWIZARD">show add printer wizard (G)</term>
6963                 <listitem><para>With the introduction of MS-RPC based printing support
6964                 for Windows NT/2000 client in Samba 2.2, a "Printers..." folder will 
6965                 appear on Samba hosts in the share listing.  Normally this folder will 
6966                 contain an icon for the MS Add Printer Wizard (APW).  However, it is 
6967                 possible to disable this feature regardless of the level of privilege 
6968                 of the connected user.</para>
6969                 
6970                 <para>Under normal circumstances, the Windows NT/2000 client will 
6971                 open a handle on the printer server with OpenPrinterEx() asking for
6972                 Administrator privileges.  If the user does not have administrative
6973                 access on the print server (i.e is not root or a member of the 
6974                 <parameter>printer admin</parameter> group), the OpenPrinterEx() 
6975                 call fails and the client makes another open call with a request for 
6976                 a lower privilege level.  This should succeed, however the APW 
6977                 icon will not be displayed.</para>
6978                 
6979                 <para>Disabling the <parameter>show add printer wizard</parameter>
6980                 parameter will always cause the OpenPrinterEx() on the server
6981                 to fail.  Thus the APW icon will never be displayed. <emphasis>
6982                 Note :</emphasis>This does not prevent the same user from having 
6983                 administrative privilege on an individual printer.</para>
6984                 
6985                 <para>See also <link linkend="ADDPRINTERCOMMAND"><parameter>addprinter
6986                 command</parameter></link>, <link linkend="DELETEPRINTERCOMMAND">
6987                 <parameter>deleteprinter command</parameter></link>, <link 
6988                 linkend="PRINTERADMIN"><parameter>printer admin</parameter></link></para>
6989                 
6990                 <para>Default :<command>show add printer wizard = yes</command></para>
6991                 </listitem>
6992                 </varlistentry>
6993
6994
6995
6996                 <varlistentry>
6997                 <term><anchor id="SHUTDOWNSCRIPT">shutdown script (G)</term>
6998                 <listitem><para><emphasis>This parameter only exists in the HEAD cvs branch</emphasis>
6999                 This a full path name to a script called by
7000                 <ulink url="smbd.8.html"><command>smbd(8)</command></ulink> that
7001                 should start a shutdown procedure.</para>
7002
7003                 <para>This command will be run as the user connected to the
7004                 server.</para>
7005
7006                 <para>%m %t %r %f parameters are expanded</para>
7007                 <para><parameter>%m</parameter> will be substituted with the
7008                 shutdown message sent to the server.</para>
7009                 <para><parameter>%t</parameter> will be substituted with the
7010                 number of seconds to wait before effectively starting the
7011                 shutdown procedure.</para>
7012                 <para><parameter>%r</parameter> will be substituted with the
7013                 switch <emphasis>-r</emphasis>. It means reboot after shutdown
7014                 for NT.
7015                 </para>
7016                 <para><parameter>%f</parameter> will be substituted with the
7017                 switch <emphasis>-f</emphasis>. It means force the shutdown
7018                 even if applications do not respond for NT.</para>
7019
7020                 <para>Default: <emphasis>None</emphasis>.</para>
7021                 <para>Example: <command>abort shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f</command></para>
7022                 <para>Shutdown script example:
7023                 <programlisting>
7024                 #!/bin/bash
7025                 
7026                 $time=0
7027                 let "time/60"
7028                 let "time++"
7029
7030                 /sbin/shutdown $3 $4 +$time $1 &
7031                 </programlisting>
7032                 Shutdown does not return so we need to launch it in background.
7033                 </para>
7034
7035                 <para>See also <link linkend="ABORTSHUTDOWNSCRIPT"><parameter>abort shutdown script</parameter></link>.</para>
7036                 </listitem>
7037                 </varlistentry>
7038
7039
7040                 <varlistentry>
7041                 <term><anchor id="SMBPASSWDFILE">smb passwd file (G)</term>
7042                 <listitem><para>This option sets the path to the encrypted 
7043                 smbpasswd file.  By default the path to the smbpasswd file 
7044                 is compiled into Samba.</para>
7045                 
7046                 <para>Default: <command>smb passwd file = ${prefix}/private/smbpasswd
7047                 </command></para>
7048
7049                 <para>Example: <command>smb passwd file = /etc/samba/smbpasswd
7050                 </command></para>
7051                 </listitem>
7052                 </varlistentry>
7053
7054
7055                 <varlistentry>
7056                 <term><anchor id="SMBPORTS">smb ports (G)</term>
7057                 <listitem><para>Specifies which ports the server should listen on
7058                 for SMB traffic.
7059                 </para>
7060
7061                 <para>Default: <command>smb ports = 445 139</command></para>
7062
7063                 </listitem>
7064                 </varlistentry>
7065
7066                 <varlistentry>
7067                 <term><anchor id="SOCKETADDRESS">socket address (G)</term>
7068                 <listitem><para>This option allows you to control what 
7069                 address Samba will listen for connections on. This is used to 
7070                 support multiple virtual interfaces on the one server, each 
7071                 with a different configuration.</para>
7072                 
7073                 <para>By default Samba will accept connections on any 
7074                 address.</para>
7075
7076                 <para>Example: <command>socket address = 192.168.2.20</command>
7077                 </para>
7078                 </listitem>
7079                 </varlistentry>
7080
7081
7082
7083                 <varlistentry>
7084                 <term><anchor id="SOCKETOPTIONS">socket options (G)</term>
7085                 <listitem><para>This option allows you to set socket options 
7086                 to be used when talking with the client.</para>
7087
7088                 <para>Socket options are controls on the networking layer 
7089                 of the operating systems which allow the connection to be 
7090                 tuned.</para>
7091
7092                 <para>This option will typically be used to tune your Samba 
7093                 server for optimal performance for your local network. There is 
7094                 no way that Samba can know what the optimal parameters are for 
7095                 your net, so you must experiment and choose them yourself. We 
7096                 strongly suggest you read the appropriate documentation for your 
7097                 operating system first (perhaps <command>man setsockopt</command> 
7098                 will help).</para>
7099
7100                 <para>You may find that on some systems Samba will say 
7101                 "Unknown socket option" when you supply an option. This means you 
7102                 either incorrectly  typed it or you need to add an include file 
7103                 to includes.h for your OS.  If the latter is the case please 
7104                 send the patch to <ulink url="mailto:samba@samba.org">
7105                 samba@samba.org</ulink>.</para>
7106
7107                 <para>Any of the supported socket options may be combined 
7108                 in any way you like, as long as your OS allows it.</para>
7109
7110                 <para>This is the list of socket options currently settable 
7111                 using this option:</para>
7112
7113                 <itemizedlist>
7114                         <listitem><para>SO_KEEPALIVE</para></listitem>
7115                         <listitem><para>SO_REUSEADDR</para></listitem>
7116                         <listitem><para>SO_BROADCAST</para></listitem>
7117                         <listitem><para>TCP_NODELAY</para></listitem>
7118                         <listitem><para>IPTOS_LOWDELAY</para></listitem>
7119                         <listitem><para>IPTOS_THROUGHPUT</para></listitem>
7120                         <listitem><para>SO_SNDBUF *</para></listitem>
7121                         <listitem><para>SO_RCVBUF *</para></listitem>
7122                         <listitem><para>SO_SNDLOWAT *</para></listitem>
7123                         <listitem><para>SO_RCVLOWAT *</para></listitem>
7124                 </itemizedlist>
7125
7126                 <para>Those marked with a <emphasis>'*'</emphasis> take an integer 
7127                 argument. The others can optionally take a 1 or 0 argument to enable 
7128                 or disable the option, by default they will be enabled if you 
7129                 don't specify 1 or 0.</para>
7130
7131                 <para>To specify an argument use the syntax SOME_OPTION = VALUE 
7132                 for example <command>SO_SNDBUF = 8192</command>. Note that you must 
7133                 not have any spaces before or after the = sign.</para>
7134
7135                 <para>If you are on a local network then a sensible option 
7136                 might be</para>
7137                 <para><command>socket options = IPTOS_LOWDELAY</command></para>
7138
7139                 <para>If you have a local network then you could try:</para>
7140                 <para><command>socket options = IPTOS_LOWDELAY TCP_NODELAY</command></para>
7141
7142                 <para>If you are on a wide area network then perhaps try 
7143                 setting IPTOS_THROUGHPUT. </para>
7144
7145                 <para>Note that several of the options may cause your Samba 
7146                 server to fail completely. Use these options with caution!</para>
7147
7148                 <para>Default: <command>socket options = TCP_NODELAY</command></para>
7149                 <para>Example: <command>socket options = IPTOS_LOWDELAY</command></para>
7150                 </listitem>
7151                 </varlistentry>
7152
7153
7154
7155
7156                 <varlistentry>
7157                 <term><anchor id="SOURCEENVIRONMENT">source environment (G)</term>
7158                 <listitem><para>This parameter causes Samba to set environment 
7159                 variables as per the content of the file named.</para>
7160
7161                 <para>If the value of this parameter starts with a "|" character 
7162                 then Samba will treat that value as a pipe command to open and 
7163                 will set the environment variables from the output of the pipe.</para>
7164
7165                 <para>The contents of the file or the output of the pipe should 
7166                 be formatted as the output of the standard Unix <command>env(1)
7167                 </command> command. This is of the form :</para>
7168                 <para>Example environment entry:</para>
7169                 <para><command>SAMBA_NETBIOS_NAME = myhostname</command></para>
7170
7171                 <para>Default: <emphasis>No default value</emphasis></para>
7172                 <para>Examples: <command>source environment = |/etc/smb.conf.sh
7173                 </command></para>
7174
7175                 <para>Example: <command>source environment = 
7176                 /usr/local/smb_env_vars</command></para>
7177                 </listitem>
7178                 </varlistentry>
7179 <varlistentry>
7180 <term><anchor id="SPNEGO">use spnego (G)</term>
7181 <listitem><para> This variable controls controls whether samba will try to use Simple and Protected NEGOciation (as specified by rfc2478) with WindowsXP and Windows2000sp2 clients to agree upon an authentication mechanism.  As of samba 3.0alpha it must be set to "no" for these clients to join a samba domain controller.  It can be set to "yes" to allow samba to participate in an AD domain controlled by a Windows2000 domain controller.</para>
7182 <para>Default:  <emphasis>use spnego = yes</emphasis></para>
7183 </listitem>
7184 </varlistentry>
7185
7186                 <varlistentry>
7187                 <term><anchor id="STATCACHE">stat cache (G)</term>
7188                 <listitem><para>This parameter determines if <ulink 
7189                 url="smbd.8.html">smbd(8)</ulink> will use a cache in order to 
7190                 speed up case insensitive name mappings. You should never need 
7191                 to change this parameter.</para>
7192
7193                 <para>Default: <command>stat cache = yes</command></para>
7194                 </listitem>
7195                 </varlistentry>
7196
7197                 <varlistentry>
7198                 <term><anchor id="STATCACHESIZE">stat cache size (G)</term>
7199                 <listitem><para>This parameter determines the number of 
7200                 entries in the <parameter>stat cache</parameter>.  You should 
7201                 never need to change this parameter.</para>
7202                 
7203                 <para>Default: <command>stat cache size = 50</command></para>
7204                 </listitem>
7205                 </varlistentry>
7206
7207
7208
7209                 <varlistentry>
7210                 <term><anchor id="STRICTALLOCATE">strict allocate (S)</term>
7211                 <listitem><para>This is a boolean that controls the handling of 
7212                 disk space allocation in the server. When this is set to <constant>yes</constant> 
7213                 the server will change from UNIX behaviour of not committing real
7214                 disk storage blocks when a file is extended to the Windows behaviour
7215                 of actually forcing the disk system to allocate real storage blocks
7216                 when a file is created or extended to be a given size. In UNIX
7217                 terminology this means that Samba will stop creating sparse files.
7218                 This can be slow on some systems.</para>
7219
7220                 <para>When strict allocate is <constant>no</constant> the server does sparse
7221                 disk block allocation when a file is extended.</para>
7222
7223                 <para>Setting this to <constant>yes</constant> can help Samba return
7224                 out of quota messages on systems that are restricting the disk quota
7225                 of users.</para>
7226
7227                 <para>Default: <command>strict allocate = no</command></para>
7228                 </listitem>
7229                 </varlistentry>
7230
7231
7232
7233                 <varlistentry>
7234                 <term><anchor id="STRICTLOCKING">strict locking (S)</term>
7235                 <listitem><para>This is a boolean that controls the handling of 
7236                 file locking in the server. When this is set to <constant>yes</constant> 
7237                 the server will check every read and write access for file locks, and 
7238                 deny access if locks exist. This can be slow on some systems.</para>
7239
7240                 <para>When strict locking is <constant>no</constant> the server does file 
7241                 lock checks only when the client explicitly asks for them.</para>
7242
7243                 <para>Well-behaved clients always ask for lock checks when it 
7244                 is important, so in the vast majority of cases <command>strict 
7245                 locking = no</command> is preferable.</para>
7246
7247                 <para>Default: <command>strict locking = no</command></para>
7248                 </listitem>
7249                 </varlistentry>
7250
7251
7252
7253                 <varlistentry>
7254                 <term><anchor id="STRICTSYNC">strict sync (S)</term>
7255                 <listitem><para>Many Windows applications (including the Windows 
7256                 98 explorer shell) seem to confuse flushing buffer contents to 
7257                 disk with doing a sync to disk. Under UNIX, a sync call forces 
7258                 the process to be suspended until the kernel has ensured that 
7259                 all outstanding data in kernel disk buffers has been safely stored 
7260                 onto stable storage. This is very slow and should only be done 
7261                 rarely. Setting this parameter to <constant>no</constant> (the 
7262                 default) means that <ulink url="smbd.8.html">smbd</ulink> ignores the Windows applications requests for
7263                 a sync call. There is only a possibility of losing data if the
7264                 operating system itself that Samba is running on crashes, so there is
7265                 little danger in this default setting. In addition, this fixes many
7266                 performance problems that people have reported with the new Windows98
7267                 explorer shell file copies.</para>
7268
7269                 <para>See also the <link linkend="SYNCALWAYS"><parameter>sync 
7270                 always></parameter></link> parameter.</para>
7271
7272                 <para>Default: <command>strict sync = no</command></para>
7273                 </listitem>
7274                 </varlistentry>
7275
7276
7277                 <varlistentry>
7278                 <term><anchor id="STRIPDOT">strip dot (G)</term>
7279                 <listitem><para>This is a boolean that controls whether to 
7280                 strip trailing dots off UNIX filenames. This helps with some 
7281                 CDROMs that have filenames ending in a single dot.</para>
7282
7283                 <para>Default: <command>strip dot = no</command></para>
7284                 </listitem>
7285                 </varlistentry>
7286
7287
7288
7289                 <varlistentry>
7290                 <term><anchor id="SYNCALWAYS">sync always (S)</term>
7291                 <listitem><para>This is a boolean parameter that controls 
7292                 whether writes will always be written to stable storage before 
7293                 the write call returns. If this is <constant>false</constant> then the server will be 
7294                 guided by the client's request in each write call (clients can 
7295                 set a bit indicating that a particular write should be synchronous). 
7296                 If this is <constant>true</constant> then every write will be followed by a <command>fsync()
7297                 </command> call to ensure the data is written to disk. Note that 
7298                 the <parameter>strict sync</parameter> parameter must be set to
7299                 <constant>yes</constant> in order for this parameter to have 
7300                 any affect.</para>
7301                 
7302                 <para>See also the <link linkend="STRICTSYNC"><parameter>strict 
7303                 sync</parameter></link> parameter.</para>
7304
7305                 <para>Default: <command>sync always = no</command></para>
7306                 </listitem>
7307                 </varlistentry>
7308
7309
7310
7311                 <varlistentry>
7312                 <term><anchor id="SYSLOG">syslog (G)</term>
7313                 <listitem><para>This parameter maps how Samba debug messages 
7314                 are logged onto the system syslog logging levels. Samba debug 
7315                 level zero maps onto syslog <constant>LOG_ERR</constant>, debug 
7316                 level one maps onto <constant>LOG_WARNING</constant>, debug level 
7317                 two maps onto <constant>LOG_NOTICE</constant>, debug level three 
7318                 maps onto LOG_INFO. All higher levels are mapped to <constant>
7319                 LOG_DEBUG</constant>.</para>
7320
7321                 <para>This parameter sets the threshold for sending messages 
7322                 to syslog.  Only messages with debug level less than this value 
7323                 will be sent to syslog.</para>
7324
7325                 <para>Default: <command>syslog = 1</command></para>
7326                 </listitem>
7327                 </varlistentry>
7328
7329
7330
7331                 <varlistentry>
7332                 <term><anchor id="SYSLOGONLY">syslog only (G)</term>
7333                 <listitem><para>If this parameter is set then Samba debug 
7334                 messages are logged into the system syslog only, and not to 
7335                 the debug log files.</para>
7336
7337                 <para>Default: <command>syslog only = no</command></para>
7338                 </listitem>
7339                 </varlistentry>
7340
7341
7342
7343                 <varlistentry>
7344                 <term><anchor id="TEMPLATEHOMEDIR">template homedir (G)</term>
7345                 <listitem><para>When filling out the user information for a Windows NT 
7346                 user, the <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon 
7347                 uses this parameter to fill in the home directory for that user.  
7348                 If the string <parameter>%D</parameter> is present it is substituted 
7349                 with the user's Windows NT domain name.  If the string <parameter>%U
7350                 </parameter> is present it is substituted with the user's Windows 
7351                 NT user name.</para>
7352
7353                 <para>Default: <command>template homedir = /home/%D/%U</command></para>
7354                 </listitem>
7355                 </varlistentry>
7356
7357
7358
7359                 <varlistentry>
7360                 <term><anchor id="TEMPLATESHELL">template shell (G)</term>
7361                 <listitem><para>When filling out the user information for a Windows NT 
7362                 user, the <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon 
7363                 uses this parameter to fill in the login shell for that user.</para>
7364
7365                 <para>Default: <command>template shell = /bin/false</command></para>
7366                 </listitem>
7367                 </varlistentry>
7368
7369
7370
7371                 <varlistentry>
7372                 <term><anchor id="TIMEOFFSET">time offset (G)</term>
7373                 <listitem><para>This parameter is a setting in minutes to add 
7374                 to the normal GMT to local time conversion. This is useful if 
7375                 you are serving a lot of PCs that have incorrect daylight 
7376                 saving time handling.</para>
7377                 
7378                 <para>Default: <command>time offset = 0</command></para>
7379                 <para>Example: <command>time offset = 60</command></para>
7380                 </listitem>
7381                 </varlistentry>
7382
7383
7384
7385                 <varlistentry>
7386                 <term><anchor id="TIMESERVER">time server (G)</term>
7387                 <listitem><para>This parameter determines if <ulink url="nmbd.8.html">                  
7388                 nmbd(8)</ulink> advertises itself as a time server to Windows 
7389                 clients.</para>
7390
7391                 <para>Default: <command>time server = no</command></para>
7392                 </listitem>
7393                 </varlistentry>
7394
7395
7396                 <varlistentry>
7397                 <term><anchor id="TIMESTAMPLOGS">timestamp logs (G)</term>
7398                 <listitem><para>Synonym for <link linkend="DEBUGTIMESTAMP"><parameter>
7399                 debug timestamp</parameter></link>.</para>
7400                 </listitem>
7401                 </varlistentry>
7402
7403
7404
7405
7406
7407                 <varlistentry>
7408                 <term><anchor id="TOTALPRINTJOBS">total print jobs (G)</term>
7409                 <listitem><para>This parameter accepts an integer value which defines
7410                 a limit on the maximum number of print jobs that will be accepted 
7411                 system wide at any given time.  If a print job is submitted
7412                 by a client which will exceed this number, then <ulink url="smbd.8.html">smbd</ulink> will return an 
7413                 error indicating that no space is available on the server.  The 
7414                 default value of 0 means that no such limit exists.  This parameter
7415                 can be used to prevent a server from exceeding its capacity and is
7416                 designed as a printing throttle.  See also 
7417                 <link linkend="MAXPRINTJOBS"><parameter>max print jobs</parameter</link>.
7418                 </para>
7419                 
7420                 <para>Default: <command>total print jobs = 0</command></para>
7421                 <para>Example: <command>total print jobs = 5000</command></para>
7422                 </listitem>
7423                 </varlistentry>
7424
7425                 <varlistentry>
7426                 <term><anchor id="UNICODE">unicode (G)</term>
7427                 <listitem><para>Specifies whether Samba should try 
7428                 to use unicode on the wire by default. 
7429                 </para>
7430
7431                 <para>Default: <command>unicode = yes</command></para>
7432
7433                 </listitem>
7434                 </varlistentry>
7435
7436                 <varlistentry>
7437                 <term><anchor id="UNIXCHARSET">unix charset (G)</term>
7438                 <listitem><para>Specifies the charset the unix machine 
7439                 Samba runs on uses. Samba needs to know this in order to be able to 
7440                 convert text to the charsets other SMB clients use.
7441                 </para>
7442
7443                 <para>Default: <command>unix charset = ASCII</command></para>
7444                 </listitem>
7445                 </varlistentry>
7446
7447                 <varlistentry>
7448                 <term><anchor id="UNIXEXTENSIONS">unix extensions(G)</term>
7449                 <listitem><para>This boolean parameter controls whether Samba 
7450                 implments the CIFS UNIX extensions, as defined by HP. 
7451                 These extensions enable Samba to better serve UNIX CIFS clients
7452                 by supporting features such as symbolic links, hard links, etc...
7453                 These extensions require a similarly enabled client, and are of
7454                 no current use to Windows clients.</para>
7455
7456                 <para>Default: <command>unix extensions = no</command></para>
7457                 </listitem>
7458                 </varlistentry>
7459
7460
7461
7462
7463                 <varlistentry>
7464                 <term><anchor id="UNIXPASSWORDSYNC">unix password sync (G)</term>
7465                 <listitem><para>This boolean parameter controls whether Samba 
7466                 attempts to synchronize the UNIX password with the SMB password 
7467                 when the encrypted SMB password in the smbpasswd file is changed. 
7468                 If this is set to <constant>true</constant> the program specified in the <parameter>passwd
7469                 program</parameter>parameter is called <emphasis>AS ROOT</emphasis> - 
7470                 to allow the new UNIX password to be set without access to the 
7471                 old UNIX password (as the SMB password change code has no 
7472                 access to the old password cleartext, only the new).</para>
7473
7474                 <para>See also <link linkend="PASSWDPROGRAM"><parameter>passwd 
7475                 program</parameter></link>, <link linkend="PASSWDCHAT"><parameter>
7476                 passwd chat</parameter></link>.</para>
7477
7478                 <para>Default: <command>unix password sync = no</command></para>
7479                 </listitem>
7480                 </varlistentry>
7481
7482
7483
7484                 <varlistentry>
7485                 <term><anchor id="UPDATEENCRYPTED">update encrypted (G)</term>
7486                 <listitem><para>This boolean parameter allows a user logging 
7487                 on with a plaintext password to have their encrypted (hashed) 
7488                 password in the smbpasswd file to be updated automatically as 
7489                 they log on. This option allows a site to migrate from plaintext 
7490                 password authentication (users authenticate with plaintext 
7491                 password over the wire, and are checked against a UNIX account 
7492                 database) to encrypted password authentication (the SMB 
7493                 challenge/response authentication mechanism) without forcing
7494                 all users to re-enter their passwords via smbpasswd at the time the
7495                 change is made. This is a convenience option to allow the change over
7496                 to encrypted passwords to be made over a longer period. Once all users
7497                 have encrypted representations of their passwords in the smbpasswd
7498                 file this parameter should be set to <constant>no</constant>.</para>
7499
7500                 <para>In order for this parameter to work correctly the <link
7501                 linkend="ENCRYPTPASSWORDS"><parameter>encrypt passwords</parameter>
7502                 </link> parameter must be set to <constant>no</constant> when
7503                 this parameter is set to <constant>yes</constant>.</para>
7504
7505                 <para>Note that even when this parameter is set a user 
7506                 authenticating to <command>smbd</command> must still enter a valid 
7507                 password in order to connect correctly, and to update their hashed 
7508                 (smbpasswd) passwords.</para>
7509
7510                 <para>Default: <command>update encrypted = no</command></para>
7511                 </listitem>
7512                 </varlistentry>
7513
7514
7515                 <varlistentry>
7516                 <term><anchor id="USECLIENTDRIVER">use client driver (S)</term>
7517                 <listitem><para>This parameter applies only to Windows NT/2000
7518                 clients.  It has no affect on Windows 95/98/ME clients.  When 
7519                 serving a printer to Windows NT/2000 clients without first installing
7520                 a valid printer driver on the Samba host, the client will be required
7521                 to install a local printer driver.  From this point on, the client
7522                 will treat the print as a local printer and not a network printer 
7523                 connection.  This is much the same behavior that will occur
7524                 when <command>disable spoolss = yes</command>.  </para>
7525
7526                 <para>The differentiating 
7527                 factor is that under normal circumstances, the NT/2000 client will 
7528                 attempt to open the network printer using MS-RPC.  The problem is that
7529                 because the client considers the printer to be local, it will attempt
7530                 to issue the OpenPrinterEx() call requesting access rights associated 
7531                 with the logged on user. If the user possesses local administator rights
7532                 but not root privilegde on the Samba host (often the case), the OpenPrinterEx()
7533                 call will fail.  The result is that the client will now display an "Access
7534                 Denied; Unable to connect" message in the printer queue window (even though
7535                 jobs may successfully be printed).  </para>
7536
7537                 <para>If this parameter is enabled for a printer, then any attempt
7538                 to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
7539                 to PRINTER_ACCESS_USE instead.  Thus allowing the OpenPrinterEx()
7540                 call to succeed.  <emphasis>This parameter MUST not be able enabled
7541                 on a print share which has valid print driver installed on the Samba 
7542                 server.</emphasis></para>
7543
7544                 <para>See also <link linkend="DISABLESPOOLSS">disable spoolss</link>
7545                 </para>
7546
7547                 <para>Default: <command>use client driver = no</command></para>
7548                 </listitem>
7549                 </varlistentry>
7550         
7551
7552
7553                 <varlistentry>
7554                 <term><anchor id="USEMMAP">use mmap (G)</term>
7555                 <listitem><para>This global parameter determines if the tdb internals of Samba can
7556                 depend on mmap working correctly on the running system. Samba requires a coherent
7557                 mmap/read-write system memory cache. Currently only HPUX does not have such a
7558                 coherent cache, and so this parameter is set to <constant>false</constant> by
7559                 default on HPUX. On all other systems this parameter should be left alone. This
7560                 parameter is provided to help the Samba developers track down problems with
7561                 the tdb internal code.
7562                 </para>
7563
7564                 <para>Default: <command>use mmap = yes</command></para>
7565                 </listitem>
7566                 </varlistentry>
7567
7568
7569
7570
7571                 <varlistentry>
7572                 <term><anchor id="USER">user (S)</term>
7573                 <listitem><para>Synonym for <link linkend="USERNAME"><parameter>
7574                 username</parameter></link>.</para>
7575                 </listitem>
7576                 </varlistentry>
7577
7578
7579
7580                 <varlistentry>
7581                 <term><anchor id="USERS">users (S)</term>
7582                 <listitem><para>Synonym for <link linkend="USERNAME"><parameter>
7583                 username</parameter></link>.</para>
7584                 </listitem>
7585                 </varlistentry>
7586
7587
7588                 <varlistentry>
7589                 <term><anchor id="USERNAME">username (S)</term>
7590                 <listitem><para>Multiple users may be specified in a comma-delimited 
7591                 list, in which case the supplied password will be tested against 
7592                 each username in turn (left to right).</para>
7593
7594                 <para>The <parameter>username</parameter> line is needed only when 
7595                 the PC is unable to supply its own username. This is the case 
7596                 for the COREPLUS protocol or where your users have different WfWg 
7597                 usernames to UNIX usernames. In both these cases you may also be 
7598                 better using the \\server\share%user syntax instead.</para>
7599
7600                 <para>The <parameter>username</parameter> line is not a great 
7601                 solution in many cases as it means Samba will try to validate 
7602                 the supplied password against each of the usernames in the 
7603                 <parameter>username</parameter> line in turn. This is slow and 
7604                 a bad idea for lots of users in case of duplicate passwords. 
7605                 You may get timeouts or security breaches using this parameter 
7606                 unwisely.</para>
7607
7608                 <para>Samba relies on the underlying UNIX security. This 
7609                 parameter does not restrict who can login, it just offers hints 
7610                 to the Samba server as to what usernames might correspond to the 
7611                 supplied password. Users can login as whoever they please and 
7612                 they will be able to do no more damage than if they started a 
7613                 telnet session. The daemon runs as the user that they log in as, 
7614                 so they cannot do anything that user cannot do.</para>
7615
7616                 <para>To restrict a service to a particular set of users you 
7617                 can use the <link linkend="VALIDUSERS"><parameter>valid users
7618                 </parameter></link> parameter.</para>
7619
7620                 <para>If any of the usernames begin with a '@' then the name 
7621                 will be looked up first in the NIS netgroups list (if Samba 
7622                 is compiled with netgroup support), followed by a lookup in 
7623                 the UNIX groups database and will expand to a list of all users 
7624                 in the group of that name.</para>
7625                 
7626                 <para>If any of the usernames begin with a '+' then the name 
7627                 will be looked up only in the UNIX groups database and will 
7628                 expand to a list of all users in the group of that name.</para>
7629
7630                 <para>If any of the usernames begin with a '&'then the name 
7631                 will be looked up only in the NIS netgroups database (if Samba 
7632                 is compiled with netgroup support) and will expand to a list 
7633                 of all users in the netgroup group of that name.</para>
7634
7635                 <para>Note that searching though a groups database can take 
7636                 quite some time, and some clients may time out during the 
7637                 search.</para>
7638
7639                 <para>See the section <link linkend="VALIDATIONSECT">NOTE ABOUT 
7640                 USERNAME/PASSWORD VALIDATION</link> for more information on how 
7641                 this parameter determines access to the services.</para>
7642
7643                 <para>Default: <command>The guest account if a guest service, 
7644                 else &lt;empty string&gt;.</command></para>
7645
7646                 <para>Examples:<command>username = fred, mary, jack, jane, 
7647                 @users, @pcgroup</command></para>
7648                 </listitem>
7649                 </varlistentry>
7650
7651
7652
7653                 <varlistentry>
7654                 <term><anchor id="USERNAMELEVEL">username level (G)</term>
7655                 <listitem><para>This option helps Samba to try and 'guess' at 
7656                 the real UNIX username, as many DOS clients send an all-uppercase 
7657                 username. By default Samba tries all lowercase, followed by the 
7658                 username with the first letter capitalized, and fails if the 
7659                 username is not found on the UNIX machine.</para>
7660
7661                 <para>If this parameter is set to non-zero the behavior changes. 
7662                 This parameter is a number that specifies the number of uppercase
7663                 combinations to try while trying to determine the UNIX user name. The
7664                 higher the number the more combinations will be tried, but the slower
7665                 the discovery of usernames will be. Use this parameter when you have
7666                 strange usernames on your UNIX machine, such as <constant>AstrangeUser
7667                 </constant>.</para>
7668
7669                 <para>Default: <command>username level = 0</command></para>
7670                 <para>Example: <command>username level = 5</command></para>
7671                 </listitem>
7672                 </varlistentry>
7673
7674
7675
7676                 <varlistentry>
7677                 <term><anchor id="USERNAMEMAP">username map (G)</term>
7678                 <listitem><para>This option allows you to specify a file containing 
7679                 a mapping of usernames from the clients to the server. This can be 
7680                 used for several purposes. The most common is to map usernames 
7681                 that users use on DOS or Windows machines to those that the UNIX 
7682                 box uses. The other is to map multiple users to a single username 
7683                 so that they can more easily share files.</para>
7684
7685                 <para>The map file is parsed line by line. Each line should 
7686                 contain a single UNIX username on the left then a '=' followed 
7687                 by a list of usernames on the right. The list of usernames on the 
7688                 right may contain names of the form @group in which case they 
7689                 will match any UNIX username in that group. The special client 
7690                 name '*' is a wildcard and matches any name. Each line of the 
7691                 map file may be up to 1023 characters long.</para>
7692
7693                 <para>The file is processed on each line by taking the 
7694                 supplied username and comparing it with each username on the right 
7695                 hand side of the '=' signs. If the supplied name matches any of 
7696                 the names on the right hand side then it is replaced with the name 
7697                 on the left. Processing then continues with the next line.</para>
7698
7699                 <para>If any line begins with a '#' or a ';' then it is 
7700                 ignored</para>
7701
7702                 <para>If any line begins with an '!' then the processing 
7703                 will stop after that line if a mapping was done by the line. 
7704                 Otherwise mapping continues with every line being processed. 
7705                 Using '!' is most useful when you have a wildcard mapping line 
7706                 later in the file.</para>
7707                 
7708                 <para>For example to map from the name <constant>admin</constant> 
7709                 or <constant>administrator</constant> to the UNIX name <constant>
7710                 root</constant> you would use:</para>
7711
7712                 <para><command>root = admin administrator</command></para>
7713
7714                 <para>Or to map anyone in the UNIX group <constant>system</constant> 
7715                 to the UNIX name <constant>sys</constant> you would use:</para>
7716
7717                 <para><command>sys = @system</command></para>
7718
7719                 <para>You can have as many mappings as you like in a username 
7720                 map file.</para>
7721                 
7722                 
7723                 <para>If your system supports the NIS NETGROUP option then 
7724                 the netgroup database is checked before the <filename>/etc/group
7725                 </filename> database for matching groups.</para>
7726
7727                 <para>You can map Windows usernames that have spaces in them
7728                  by using double quotes around the name. For example:</para>
7729
7730                 <para><command>tridge = "Andrew Tridgell"</command></para>
7731
7732                 <para>would map the windows username "Andrew Tridgell" to the 
7733                 unix username "tridge".</para>
7734
7735                 <para>The following example would map mary and fred to the 
7736                 unix user sys, and map the rest to guest. Note the use of the 
7737                 '!' to tell Samba to stop processing if it gets a match on 
7738                 that line.</para>
7739
7740                 <para><programlisting>
7741                 !sys = mary fred
7742                 guest = *
7743                 </programlisting></para>
7744
7745                 <para>Note that the remapping is applied to all occurrences 
7746                 of usernames. Thus if you connect to \\server\fred and <constant>
7747                 fred</constant> is remapped to <constant>mary</constant> then you 
7748                 will actually be connecting to \\server\mary and will need to 
7749                 supply a password suitable for <constant>mary</constant> not 
7750                 <constant>fred</constant>. The only exception to this is the 
7751                 username passed to the <link linkend="PASSWORDSERVER"><parameter>
7752                 password server</parameter></link> (if you have one). The password 
7753                 server will receive whatever username the client supplies without 
7754                 modification.</para>
7755
7756                 <para>Also note that no reverse mapping is done. The main effect 
7757                 this has is with printing. Users who have been mapped may have 
7758                 trouble deleting print jobs as PrintManager under WfWg will think 
7759                 they don't own the print job.</para>
7760
7761                 <para>Default: <emphasis>no username map</emphasis></para>
7762                 <para>Example: <command>username map = /usr/local/samba/lib/users.map
7763                 </command></para>
7764                 </listitem>
7765                 </varlistentry>
7766
7767
7768
7769                 <varlistentry>
7770                 <term><anchor id="UTMP">utmp (G)</term>
7771                 <listitem><para>This boolean parameter is only available if 
7772                 Samba has been configured and compiled  with the option <command>
7773                 --with-utmp</command>. If set to <constant>true</constant> then Samba will attempt
7774                 to add utmp or utmpx records (depending on the UNIX system) whenever a
7775                 connection is made to a Samba server. Sites may use this to record the
7776                 user connecting to a Samba share.</para>
7777
7778                 <para>Due to the requirements of the utmp record, we
7779                 are required to create a unique identifier for the
7780                 incoming user.  Enabling this option creates an n^2
7781                 algorithm to find this number.  This may impede
7782                 performance on large installations. </para>
7783
7784                 <para>See also the <link linkend="UTMPDIRECTORY"><parameter>
7785                 utmp directory</parameter></link> parameter.</para>
7786
7787                 <para>Default: <command>utmp = no</command></para>
7788                 </listitem>
7789                 </varlistentry>
7790
7791                 <varlistentry>
7792                 <term><anchor id="UTMPDIRECTORY">utmp directory(G)</term>
7793                 <listitem><para>This parameter is only available if Samba has 
7794                 been configured and compiled with the option <command>
7795                 --with-utmp</command>. It specifies a directory pathname that is
7796                 used to store the utmp or utmpx files (depending on the UNIX system) that
7797                 record user connections to a Samba server. See also the <link linkend="UTMP">
7798                 <parameter>utmp</parameter></link> parameter. By default this is 
7799                 not set, meaning the system will use whatever utmp file the 
7800                 native system is set to use (usually 
7801                 <filename>/var/run/utmp</filename> on Linux).</para>
7802
7803                 <para>Default: <emphasis>no utmp directory</emphasis></para>
7804                 <para>Example: <command>utmp directory = /var/run/utmp</command></para>
7805                 </listitem>
7806                 </varlistentry>
7807
7808                 <varlistentry>
7809                 <term><anchor id="WTMPDIRECTORY">wtmp directory(G)</term>
7810                 <listitem><para>This parameter is only available if Samba has 
7811                 been configured and compiled with the option <command>
7812                 --with-utmp</command>. It specifies a directory pathname that is
7813                 used to store the wtmp or wtmpx files (depending on the UNIX system) that
7814                 record user connections to a Samba server. The difference with
7815                 the utmp directory is the fact that user info is kept after a user 
7816                 has logged out.
7817                 
7818                 See also the <link linkend="UTMP">
7819                 <parameter>utmp</parameter></link> parameter. By default this is 
7820                 not set, meaning the system will use whatever utmp file the 
7821                 native system is set to use (usually 
7822                 <filename>/var/run/wtmp</filename> on Linux).</para>
7823
7824                 <para>Default: <emphasis>no wtmp directory</emphasis></para>
7825                 <para>Example: <command>wtmp directory = /var/log/wtmp</command></para>
7826                 </listitem>
7827                 </varlistentry>
7828
7829
7830                 <varlistentry>
7831                 <term><anchor id="VALIDUSERS">valid users (S)</term>
7832                 <listitem><para>This is a list of users that should be allowed 
7833                 to login to this service. Names starting with '@', '+' and  '&'
7834                 are interpreted using the same rules as described in the 
7835                 <parameter>invalid users</parameter> parameter.</para>
7836
7837                 <para>If this is empty (the default) then any user can login. 
7838                 If a username is in both this list and the <parameter>invalid 
7839                 users</parameter> list then access is denied for that user.</para>
7840
7841                 <para>The current servicename is substituted for <parameter>%S
7842                 </parameter>. This is useful in the [homes] section.</para>
7843
7844                 <para>See also <link linkend="INVALIDUSERS"><parameter>invalid users
7845                 </parameter></link></para>
7846
7847                 <para>Default: <emphasis>No valid users list (anyone can login)
7848                 </emphasis></para>
7849
7850                 <para>Example: <command>valid users = greg, @pcusers</command></para>
7851                 </listitem>
7852                 </varlistentry>
7853
7854
7855
7856
7857                 <varlistentry>
7858                 <term><anchor id="VETOFILES">veto files(S)</term>
7859                 <listitem><para>This is a list of files and directories that 
7860                 are neither visible nor accessible.  Each entry in the list must 
7861                 be separated by a '/', which allows spaces to be included 
7862                 in the entry. '*' and '?' can be used to specify multiple files 
7863                 or directories as in DOS wildcards.</para>
7864
7865                 <para>Each entry must be a unix path, not a DOS path and 
7866                 must <emphasis>not</emphasis> include the  unix directory 
7867                 separator '/'.</para>
7868
7869                 <para>Note that the <parameter>case sensitive</parameter> option 
7870                 is applicable in vetoing files.</para>
7871                 
7872                 <para>One feature of the veto files parameter that it
7873                 is important to be aware of is Samba's behaviour when
7874                 trying to delete a directory. If a directory that is
7875                 to be deleted contains nothing but veto files this
7876                 deletion will <emphasis>fail</emphasis> unless you also set
7877                 the <parameter>delete veto files</parameter> parameter to
7878                 <parameter>yes</parameter>.</para>
7879
7880                 <para>Setting this parameter will affect the performance 
7881                 of Samba, as it will be forced to check all files and directories 
7882                 for a match as they are scanned.</para>
7883
7884                 <para>See also <link linkend="HIDEFILES"><parameter>hide files
7885                 </parameter></link> and <link linkend="CASESENSITIVE"><parameter>
7886                 case sensitive</parameter></link>.</para>
7887
7888                 <para>Default: <emphasis>No files or directories are vetoed.
7889                 </emphasis></para>
7890
7891 <para>Examples:<programlisting>
7892 ; Veto any files containing the word Security, 
7893 ; any ending in .tmp, and any directory containing the
7894 ; word root.
7895 veto files = /*Security*/*.tmp/*root*/
7896
7897 ; Veto the Apple specific files that a NetAtalk server
7898 ; creates.
7899 veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
7900 </programlisting></para>
7901                 </listitem>
7902                 </varlistentry>
7903
7904
7905                 <varlistentry>
7906                 <term><anchor id="VETOOPLOCKFILES">veto oplock files (S)</term>
7907                 <listitem><para>This parameter is only valid when the <link
7908                 linkend="OPLOCKS"><parameter>oplocks</parameter></link>
7909                 parameter is turned on for a share. It allows the Samba administrator
7910                 to selectively turn off the granting of oplocks on selected files that
7911                 match a wildcarded list, similar to the wildcarded list used in the
7912                 <link linkend="VETOFILES"><parameter>veto files</parameter></link> 
7913                 parameter.</para>
7914
7915                 <para>Default: <emphasis>No files are vetoed for oplock 
7916                 grants</emphasis></para>
7917
7918                 <para>You might want to do this on files that you know will 
7919                 be heavily contended for by clients. A good example of this 
7920                 is in the NetBench SMB benchmark program, which causes heavy 
7921                 client contention for files ending in <filename>.SEM</filename>. 
7922                 To cause Samba not to grant oplocks on these files you would use 
7923                 the line (either in the [global] section or in the section for 
7924                 the particular NetBench share :</para>
7925
7926                 <para>Example: <command>veto oplock files = /*.SEM/
7927                 </command></para>
7928                 </listitem>
7929                 </varlistentry>
7930
7931                 <varlistentry>
7932                 <term><anchor id="VFSPATH">vfs path (S)</term>
7933                 <listitem><para>This parameter specifies the directory
7934                 to look in for vfs modules. The name of every <command>vfs object
7935                 </command> will be prepended by this directory
7936                 </para>
7937
7938                 <para>Default: <command>vfs path = </command></para>
7939                 <para>Example: <command>vfs path = /usr/lib/samba/vfs</command></para>
7940
7941                 </listitem>
7942                 </varlistentry>
7943
7944                 <varlistentry>
7945                 <term><anchor id="VFSOBJECT">vfs object (S)</term>
7946                 <listitem><para>This parameter specifies a shared object file that 
7947                 is used for Samba VFS I/O operations.  By default, normal 
7948                 disk I/O operations are used but these can be overloaded 
7949                 with a VFS object.  The Samba VFS layer is new to Samba 2.2 and 
7950                 must be enabled at compile time with --with-vfs.</para>
7951                 
7952                 <para>Default : <emphasis>no value</emphasis></para>
7953                 </listitem>
7954                 </varlistentry>
7955
7956
7957
7958
7959                 <varlistentry>
7960                 <term><anchor id="VFSOPTIONS">vfs options (S)</term>
7961                 <listitem><para>This parameter allows parameters to be passed 
7962                 to the vfs layer at initialization time.  The Samba VFS layer 
7963                 is new to Samba 2.2 and must be enabled at compile time 
7964                 with --with-vfs.  See also <link linkend="VFSOBJECT"><parameter>
7965                 vfs object</parameter></link>.</para>
7966                 
7967                 <para>Default : <emphasis>no value</emphasis></para>
7968                 </listitem>
7969                 </varlistentry>
7970
7971
7972
7973                 <varlistentry>
7974                 <term><anchor id="VOLUME">volume (S)</term>
7975                 <listitem><para> This allows you to override the volume label 
7976                 returned for a share. Useful for CDROMs with installation programs 
7977                 that insist on a particular volume label.</para>
7978
7979                 <para>Default: <emphasis>the name of the share</emphasis></para>
7980                 </listitem>
7981                 </varlistentry>
7982
7983
7984
7985                 <varlistentry>
7986                 <term><anchor id="WIDELINKS">wide links (S)</term>
7987                 <listitem><para>This parameter controls whether or not links 
7988                 in the UNIX file system may be followed by the server. Links 
7989                 that point to areas within the directory tree exported by the 
7990                 server are always allowed; this parameter controls access only 
7991                 to areas that are outside the directory tree being exported.</para>
7992
7993                 <para>Note that setting this parameter can have a negative 
7994                 effect on your server performance due to the extra system calls 
7995                 that Samba has to  do in order to perform the link checks.</para>
7996
7997                 <para>Default: <command>wide links = yes</command></para>
7998                 </listitem>
7999                 </varlistentry>
8000
8001
8002
8003
8004                 <varlistentry>
8005                 <term><anchor id="WINBINDCACHETIME">winbind cache time (G)</term>
8006                 <listitem><para>This parameter specifies the number of seconds the
8007                 <ulink url="winbindd.8.html">winbindd(8)</ulink> daemon will cache 
8008                 user and group information before querying a Windows NT server 
8009                 again.</para>
8010
8011                 <para>Default: <command>winbind cache type = 15</command></para>
8012                 </listitem>
8013                 </varlistentry>
8014
8015
8016                 <varlistentry>
8017                 <term><anchor id="WINBINDENUMUSERS">winbind enum users (G)</term> 
8018                 <listitem><para>On large installations using
8019                 <ulink url="winbindd.8.html">winbindd(8)</ulink> it may be
8020                 necessary to suppress the enumeration of users through the
8021                 <command> setpwent()</command>,
8022                 <command>getpwent()</command> and
8023                 <command>endpwent()</command> group of system calls.  If
8024                 the <parameter>winbind enum users</parameter> parameter is
8025                 false, calls to the <command>getpwent</command> system call
8026                 will not return any data. </para>
8027
8028                 <para><emphasis>Warning:</emphasis> Turning off user
8029                 enumeration may cause some programs to behave oddly.  For
8030                 example, the finger program relies on having access to the
8031                 full user list when searching for matching
8032                 usernames. </para>
8033
8034                 <para>Default: <command>winbind enum users = yes </command></para>
8035                 </listitem>
8036                 </varlistentry>
8037                 
8038                 <varlistentry>
8039                 <term><anchor id="WINBINDENUMGROUPS">winbind enum groups (G)</term> 
8040                 <listitem><para>On large installations using
8041                 <ulink url="winbindd.8.html">winbindd(8)</ulink> it may be
8042                 necessary to suppress the enumeration of groups through the
8043                 <command> setgrent()</command>,
8044                 <command>getgrent()</command> and
8045                 <command>endgrent()</command> group of system calls.  If
8046                 the <parameter>winbind enum groups</parameter> parameter is
8047                 false, calls to the <command>getgrent()</command> system
8048                 call will not return any data. </para>
8049
8050                 <para><emphasis>Warning:</emphasis> Turning off group
8051                 enumeration may cause some programs to behave oddly.
8052                 </para>
8053
8054                 <para>Default: <command>winbind enum groups = yes </command>
8055                 </para></listitem>
8056                 </varlistentry>
8057
8058         
8059                 <varlistentry>
8060                 <term><anchor id="WINBINDGID">winbind gid (G)</term>
8061                 <listitem><para>The winbind gid parameter specifies the range of group 
8062                 ids that are allocated by the <ulink url="winbindd.8.html">
8063                 winbindd(8)</ulink> daemon.  This range of group ids should have no 
8064                 existing local or NIS groups within it as strange conflicts can 
8065                 occur otherwise.</para>
8066
8067                 <para>Default: <command>winbind gid = &lt;empty string&gt;
8068                 </command></para>
8069
8070                 <para>Example: <command>winbind gid = 10000-20000</command></para>
8071                 </listitem>
8072                 </varlistentry>
8073
8074
8075                 <varlistentry>
8076                 <term><anchor id="WINBINDSEPARATOR">winbind separator (G)</term>
8077                 <listitem><para>This parameter allows an admin to define the character 
8078                 used when listing a username of the form of <replaceable>DOMAIN
8079                 </replaceable>\<replaceable>user</replaceable>.  This parameter 
8080                 is only applicable when using the <filename>pam_winbind.so</filename>
8081                 and <filename>nss_winbind.so</filename> modules for UNIX services.
8082                 </para>
8083
8084                 <para>Please note that setting this parameter to + causes problems
8085                 with group membership at least on glibc systems, as the character +
8086                 is used as a special character for NIS in /etc/group.</para>
8087
8088                 <para>Default: <command>winbind separator = '\'</command></para>
8089                 <para>Example: <command>winbind separator = +</command></para>
8090                 </listitem>
8091                 </varlistentry>
8092
8093
8094
8095
8096                 <varlistentry>
8097                 <term><anchor id="WINBINDUID">winbind uid (G)</term>
8098                 <listitem><para>The winbind gid parameter specifies the range of group 
8099                 ids that are allocated by the <ulink url="winbindd.8.html">
8100                 winbindd(8)</ulink> daemon.  This range of ids should have no 
8101                 existing local or NIS users within it as strange conflicts can 
8102                 occur otherwise.</para>
8103
8104                 <para>Default: <command>winbind uid = &lt;empty string&gt;
8105                 </command></para>
8106                 
8107                 <para>Example: <command>winbind uid = 10000-20000</command></para>
8108                 </listitem>
8109                 </varlistentry>
8110
8111
8112                 <varlistentry>
8113                 <term>winbind use default domain</term>
8114                 
8115                 <term><anchor id="WINBINDUSEDEFAULTDOMAIN">winbind use default domain (G)</term>
8116                 <listitem><para>This parameter specifies whether the <ulink url="winbindd.8.html">
8117                 winbindd(8)</ulink>
8118                 daemon should operate on users without domain component in their username.  
8119                 Users without a domain component are treated as is part of the winbindd server's 
8120                 own domain.  While this does not benifit Windows users, it makes SSH, FTP and e-mail 
8121                 function in a way much closer to the way they would in a native unix system.</para>
8122                 
8123                 <para>Default: <command>winbind use default domain = &lt;falseg&gt; 
8124                 </command></para>
8125                 <para>Example: <command>winbind use default domain = true</command></para>
8126                 </listitem>
8127                 </varlistentry>
8128
8129
8130                 <varlistentry>
8131                 <term><anchor id="WINSHOOK">wins hook (G)</term>
8132                 <listitem><para>When Samba is running as a WINS server this 
8133                 allows you to call an external program for all changes to the 
8134                 WINS database. The primary use for this option is to allow the 
8135                 dynamic update of external name resolution databases such as 
8136                 dynamic DNS.</para>
8137
8138                 <para>The wins hook parameter specifies the name of a script 
8139                 or executable that will be called as follows:</para>
8140
8141                 <para><command>wins_hook operation name nametype ttl IP_list
8142                 </command></para>
8143
8144                 <itemizedlist>
8145                         <listitem><para>The first argument is the operation and is one 
8146                         of "add", "delete", or "refresh". In most cases the operation can 
8147                         be ignored as the rest of the parameters provide sufficient 
8148                         information. Note that "refresh" may sometimes be called when the 
8149                         name has not previously been added, in that case it should be treated 
8150                         as an add.</para></listitem>
8151
8152                         <listitem><para>The second argument is the NetBIOS name. If the 
8153                         name is not a legal name then the wins hook is not called. 
8154                         Legal names contain only  letters, digits, hyphens, underscores 
8155                         and periods.</para></listitem>
8156
8157                         <listitem><para>The third argument is the NetBIOS name 
8158                         type as a 2 digit hexadecimal number. </para></listitem>
8159
8160                         <listitem><para>The fourth argument is the TTL (time to live) 
8161                         for the name in seconds.</para></listitem>
8162                         
8163                         <listitem><para>The fifth and subsequent arguments are the IP 
8164                         addresses currently registered for that name. If this list is 
8165                         empty then the name should be deleted.</para></listitem>
8166                 </itemizedlist>
8167
8168                 <para>An example script that calls the BIND dynamic DNS update 
8169                 program <command>nsupdate</command> is provided in the examples 
8170                 directory of the Samba source code. </para>
8171                 </listitem>
8172                 </varlistentry>
8173
8174
8175
8176
8177
8178                 <varlistentry>
8179                 <term><anchor id="WINSPROXY">wins proxy (G)</term>
8180                 <listitem><para>This is a boolean that controls if <ulink 
8181                 url="nmbd.8.html">nmbd(8)</ulink> will respond to broadcast name 
8182                 queries on behalf of  other hosts. You may need to set this 
8183                 to <constant>yes</constant> for some older clients.</para>
8184
8185                 <para>Default: <command>wins proxy = no</command></para>
8186                 </listitem>
8187                 </varlistentry>
8188
8189
8190
8191
8192                 <varlistentry>
8193                 <term><anchor id="WINSSERVER">wins server (G)</term>
8194                 <listitem><para>This specifies the IP address (or DNS name: IP 
8195                 address for preference) of the WINS server that <ulink url="nmbd.8.html">
8196                 nmbd(8)</ulink> should register with. If you have a WINS server on 
8197                 your network then you should set this to the WINS server's IP.</para>
8198
8199                 <para>You should point this at your WINS server if you have a
8200                 multi-subnetted network.</para>
8201
8202                 <para><emphasis>NOTE</emphasis>. You need to set up Samba to point 
8203                 to a WINS server if you have multiple subnets and wish cross-subnet 
8204                 browsing to work correctly.</para>
8205
8206                 <para>See the documentation file <filename>BROWSING.txt</filename> 
8207                 in the docs/ directory of your Samba source distribution.</para>
8208
8209                 <para>Default: <emphasis>not enabled</emphasis></para>
8210                 <para>Example: <command>wins server = 192.9.200.1</command></para>
8211                 </listitem>
8212                 </varlistentry>
8213
8214
8215
8216                 <varlistentry>
8217                 <term><anchor id="WINSSUPPORT">wins support (G)</term>
8218                 <listitem><para>This boolean controls if the <ulink url="nmbd.8.html">          
8219                 nmbd(8)</ulink> process in Samba will act as a WINS server. You should 
8220                 not set this to <constant>true</constant> unless you have a multi-subnetted network and 
8221                 you wish a particular <command>nmbd</command> to be your WINS server. 
8222                 Note that you should <emphasis>NEVER</emphasis> set this to <constant>true</constant>
8223                 on more than one machine in your network.</para>
8224
8225                 <para>Default: <command>wins support = no</command></para>
8226                 </listitem>
8227                 </varlistentry>
8228
8229
8230
8231                 <varlistentry>
8232                 <term><anchor id="WORKGROUP">workgroup (G)</term>
8233                 <listitem><para>This controls what workgroup your server will 
8234                 appear to be in when queried by clients. Note that this parameter 
8235                 also controls the Domain name used with the <link 
8236                 linkend="SECURITYEQUALSDOMAIN"><command>security = domain</command></link>
8237                 setting.</para>
8238
8239                 <para>Default: <emphasis>set at compile time to WORKGROUP</emphasis></para>
8240                 <para>Example: <command>workgroup = MYGROUP</command></para>
8241                 </listitem>
8242                 </varlistentry>
8243
8244
8245
8246
8247                 <varlistentry>
8248                 <term><anchor id="WRITABLE">writable (S)</term>
8249                 <listitem><para>Synonym for <link linkend="WRITEABLE"><parameter>
8250                 writeable</parameter></link> for people who can't spell :-).</para>
8251                 </listitem>
8252                 </varlistentry>
8253
8254
8255
8256                 <varlistentry>
8257                 <term><anchor id="WRITECACHESIZE">write cache size (S)</term>
8258                 <listitem><para>If this integer parameter is set to non-zero value,
8259                 Samba will create an in-memory cache for each oplocked file 
8260                 (it does <emphasis>not</emphasis> do this for 
8261                 non-oplocked files). All writes that the client does not request 
8262                 to be flushed directly to disk will be stored in this cache if possible. 
8263                 The cache is flushed onto disk when a write comes in whose offset 
8264                 would not fit into the cache or when the file is closed by the client. 
8265                 Reads for the file are also served from this cache if the data is stored 
8266                 within it.</para>
8267
8268                 <para>This cache allows Samba to batch client writes into a more 
8269                 efficient write size for RAID disks (i.e. writes may be tuned to 
8270                 be the RAID stripe size) and can improve performance on systems 
8271                 where the disk subsystem is a bottleneck but there is free 
8272                 memory for userspace programs.</para>
8273
8274                 <para>The integer parameter specifies the size of this cache 
8275                 (per oplocked file) in bytes.</para>
8276
8277                 <para>Default: <command>write cache size = 0</command></para>
8278                 <para>Example: <command>write cache size = 262144</command></para>
8279
8280                 <para>for a 256k cache size per file.</para>
8281                 </listitem>
8282                 </varlistentry>
8283
8284
8285
8286
8287
8288                 <varlistentry>
8289                 <term><anchor id="WRITELIST">write list (S)</term>
8290                 <listitem><para>This is a list of users that are given read-write 
8291                 access to a service. If the connecting user is in this list then 
8292                 they will be given write access, no matter what the <link
8293                 linkend="WRITEABLE"><parameter>writeable</parameter></link>
8294                 option is set to. The list can include group names using the 
8295                 @group syntax.</para>
8296
8297                 <para>Note that if a user is in both the read list and the 
8298                 write list then they will be given write access.</para>
8299
8300                 <para>See also the <link linkend="READLIST"><parameter>read list
8301                 </parameter></link> option.</para>
8302
8303                 <para>Default: <command>write list = &lt;empty string&gt;
8304                 </command></para>
8305
8306                 <para>Example: <command>write list = admin, root, @staff
8307                 </command></para>
8308                 </listitem>
8309                 </varlistentry>
8310
8311
8312
8313                 <varlistentry>
8314                 <term><anchor id="WINSPARTNERS">wins partners (G)</term>
8315                 <listitem><para>A space separated list of partners' IP addresses for 
8316                 WINS replication. WINS partners are always defined as push/pull 
8317                 partners as defining only one way WINS replication is unreliable. 
8318                 WINS replication is currently experimental and unreliable between 
8319                 samba servers.
8320                 </para>
8321
8322                 <para>Default: <command>wins partners = </command></para>
8323
8324                 <para>Example: <command>wins partners = 192.168.0.1 172.16.1.2</command></para>
8325                 </listitem>
8326                 </varlistentry>
8327
8328
8329                 <varlistentry>
8330                 <term><anchor id="WRITEOK">write ok (S)</term>
8331                 <listitem><para>Synonym for <link linkend="WRITEABLE"><parameter>
8332                 writeable</parameter></link>.</para>
8333                 </listitem>
8334                 </varlistentry>
8335
8336
8337
8338                 <varlistentry>
8339                 <term><anchor id="WRITERAW">write raw (G)</term>
8340                 <listitem><para>This parameter controls whether or not the server 
8341                 will support raw write SMB's when transferring data from clients. 
8342                 You should never need to change this parameter.</para>
8343
8344                 <para>Default: <command>write raw = yes</command></para>
8345                 </listitem>
8346                 </varlistentry>
8347
8348
8349
8350                 <varlistentry>
8351                 <term><anchor id="WRITEABLE">writeable (S)</term>
8352                 <listitem><para>An inverted synonym is <link linkend="READONLY">
8353                 <parameter>read only</parameter></link>.</para>
8354
8355                 <para>If this parameter is <constant>no</constant>, then users 
8356                 of a service may not create or modify files in the service's 
8357                 directory.</para>
8358
8359                 <para>Note that a printable service (<command>printable = yes</command>)
8360                 will <emphasis>ALWAYS</emphasis> allow writing to the directory 
8361                 (user privileges permitting), but only via spooling operations.</para>
8362
8363                 <para>Default: <command>writeable = no</command></para>
8364                 </listitem>
8365                 </varlistentry>
8366
8367
8368         </variablelist>
8369
8370 </refsect1>
8371
8372 <refsect1>
8373         <title>WARNINGS</title>
8374         
8375         <para>Although the configuration file permits service names 
8376         to contain spaces, your client software may not. Spaces will 
8377         be ignored in comparisons anyway, so it shouldn't be a 
8378         problem - but be aware of the possibility.</para>
8379
8380         <para>On a similar note, many clients - especially DOS clients - 
8381         limit service names to eight characters. <ulink url="smbd.8.html">smbd(8)
8382         </ulink> has no such limitation, but attempts to connect from such 
8383         clients will fail if they truncate the service names.  For this reason 
8384         you should probably keep your service names down to eight characters 
8385         in length.</para>
8386
8387         <para>Use of the [homes] and [printers] special sections make life 
8388         for an administrator easy, but the various combinations of default 
8389         attributes can be tricky. Take extreme care when designing these 
8390         sections. In particular, ensure that the permissions on spool 
8391         directories are correct.</para>
8392 </refsect1>
8393
8394 <refsect1>
8395         <title>VERSION</title>
8396
8397         <para>This man page is correct for version 2.2 of 
8398         the Samba suite.</para>
8399 </refsect1>
8400
8401 <refsect1>
8402         <title>SEE ALSO</title>
8403         <para><ulink url="samba.7.html">samba(7)</ulink>,
8404         <ulink url="smbpasswd.8.html"><command>smbpasswd(8)</command></ulink>,
8405         <ulink url="swat.8.html"><command>swat(8)</command></ulink>,
8406         <ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
8407         <ulink url="nmbd.8.html"><command>nmbd(8)</command></ulink>, 
8408         <ulink url="smbclient.1.html"><command>smbclient(1)</command></ulink>, 
8409         <ulink url="nmblookup.1.html"><command>nmblookup(1)</command></ulink>,
8410         <ulink url="testparm.1.html"><command>testparm(1)</command></ulink>, 
8411         <ulink url="testprns.1.html"><command>testprns(1)</command></ulink>
8412         </para>
8413 </refsect1>
8414
8415 <refsect1>
8416         <title>AUTHOR</title>
8417         
8418         <para>The original Samba software and related utilities 
8419         were created by Andrew Tridgell. Samba is now developed
8420         by the Samba Team as an Open Source project similar 
8421         to the way the Linux kernel is developed.</para>
8422         
8423         <para>The original Samba man pages were written by Karl Auer. 
8424         The man page sources were converted to YODL format (another 
8425         excellent piece of Open Source software, available at
8426         <ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
8427         ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
8428         release by Jeremy Allison.  The conversion to DocBook for 
8429         Samba 2.2 was done by Gerald Carter</para>
8430 </refsect1>
8431
8432 </refentry>