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