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