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