Added explicit examples for veto files.
[Samba/gbeck.git] / docs / manpages / smb.conf.5
blob0489e3c34489950d6bfbe8c997cf39d646782135
1 .TH SMB.CONF 5 smb.conf smb.conf
2 .SH NAME
3 smb.conf \- configuration file for smbd
4 .SH SYNOPSIS
5 .B smb.conf
6 .SH DESCRIPTION
7 The
8 .B smb.conf
9 file is a configuration file for the Samba suite.
11 .B smb.conf
12 contains runtime configuration information for the
13 .B smbd
14 program. The
15 .B smbd
16 program provides LanManager-like services to clients
17 using the SMB protocol.
18 .SH FILE FORMAT
19 The file consists of sections and parameters. A section begins with the 
20 name of the section in square brackets and continues until the next
21 section begins. Sections contain parameters of the form 'name = value'.
23 The file is line-based - that is, each newline-terminated line represents
24 either a comment, a section name or a parameter.
26 Section and parameter names are not case sensitive.
28 Only the first equals sign in a parameter is significant. Whitespace before 
29 or after the first equals sign is discarded. Leading, trailing and internal
30 whitespace in section and parameter names is irrelevant. Leading and
31 trailing whitespace in a parameter value is discarded. Internal whitespace
32 within a parameter value is retained verbatim.
34 Any line beginning with a semicolon is ignored, as are lines containing 
35 only whitespace.
37 Any line ending in a \e is "continued" on the next line in the
38 customary UNIX fashion.
40 The values following the equals sign in parameters are all either a string
41 (no quotes needed) or a boolean, which may be given as yes/no, 0/1 or
42 true/false. Case is not significant in boolean values, but is preserved
43 in string values. Some items such as create modes are numeric.
44 .SH SERVICE DESCRIPTIONS
45 Each section in the configuration file describes a service. The section name
46 is the service name and the parameters within the section define the service's
47 attributes.
49 There are three special sections, [global], [homes] and [printers], which are
50 described under 'special sections'. The following notes apply to ordinary 
51 service descriptions.
53 A service consists of a directory to which access is being given plus a 
54 description of the access rights which are granted to the user of the 
55 service. Some housekeeping options are also specifiable.
57 Services are either filespace services (used by the client as an extension of
58 their native file systems) or printable services (used by the client to access
59 print services on the host running the server).
61 Services may be guest services, in which case no password is required to
62 access them. A specified guest account is used to define access privileges
63 in this case.
65 Services other than guest services will require a password to access
66 them. The client provides the username. As many clients only provide
67 passwords and not usernames, you may specify a list of usernames to
68 check against the password using the "user=" option in the service
69 definition. 
71 Note that the access rights granted by the server are masked by the access
72 rights granted to the specified or guest user by the host system. The 
73 server does not grant more access than the host system grants.
75 The following sample section defines a file space service. The user has write
76 access to the path /home/bar. The service is accessed via the service name 
77 "foo":
79         [foo]
80                 path = /home/bar
81                 writable = true
83 The following sample section defines a printable service. The service is 
84 readonly, but printable. That is, the only write access permitted is via 
85 calls to open, write to and close a spool file. The 'guest ok' parameter 
86 means access will be permitted as the default guest user (specified elsewhere):
88         [aprinter]
89                 path = /usr/spool/public
90                 read only = true
91                 printable = true
92                 public = true
93 .SH SPECIAL SECTIONS
95 .SS The [global] section
96 .RS 3
97 Parameters in this section apply to the server as a whole, or are defaults
98 for services which do not specifically define certain items. See the notes
99 under 'Parameters' for more information.
102 .SS The [homes] section
103 .RS 3
104 If a section called 'homes' is included in the configuration file, services
105 connecting clients to their home directories can be created on the fly by the
106 server.
108 When the connection request is made, the existing services are scanned. If a
109 match is found, it is used. If no match is found, the requested service name is
110 treated as a user name and looked up in the local passwords file. If the
111 name exists and the correct password has been given, a service is created
112 by cloning the [homes] section.
114 Some modifications are then made to the newly created section:
116 .RS 3
117 The service name is changed from 'homes' to the located username
119 If no path was given, the path is set to the user's home directory.
122 If you decide to use a path= line in your [homes] section then you may
123 find it useful to use the %S macro. For example path=/data/pchome/%S
124 would be useful if you have different home directories for your PCs
125 than for UNIX access.
127 This is a fast and simple way to give a large number of clients access to
128 their home directories with a minimum of fuss.
130 A similar process occurs if the requested service name is "homes", except that
131 the service name is not changed to that of the requesting user. This method
132 of using the [homes] section works well if different users share a client PC.
134 The [homes] section can specify all the parameters a normal service section
135 can specify, though some make more sense than others. The following is a 
136 typical and suitable [homes] section:
138         [homes]
139                 writable = yes
141 An important point:
143 .RS 3
144 If guest access is specified in the [homes] section, all home directories will
145 be accessible to all clients
146 .B without a password.
147 In the very unlikely event
148 that this is actually desirable, it would be wise to also specify read only
149 access.
153 Note that the browseable flag for auto home directories will be
154 inherited from the global browseable flag, not the [homes] browseable
155 flag. This is useful as it means setting browseable=no in the [homes]
156 section will hide the [homes] service but make any auto home
157 directories visible.
159 .SS The [printers] section
160 .RS 3
161 This section works like [homes], but for printers.
163 If a [printers] section occurs in the configuration file, users are able 
164 to connect to any printer specified in the local host's printcap file.
166 When a connection request is made, the existing services are scanned. If a
167 match is found, it is used. If no match is found, but a [homes] section
168 exists, it is used as described above. Otherwise, the requested service name is
169 treated as a printer name and the appropriate printcap file is scanned to
170 see if the requested service name is a valid printer name. If a match is
171 found, a new service is created by cloning the [printers] section.
173 A few modifications are then made to the newly created section:
175 .RS 3
176 The service name is set to the located printer name
178 If no printer name was given, the printer name is set to the located printer
179 name
181 If the service does not permit guest access and no username was given, the 
182 username is set to the located printer name.
185 Note that the [printers] service MUST be printable - if you specify otherwise,
186 the server will refuse to load the configuration file.
188 Typically the path specified would be that of a world-writable spool directory
189 with the sticky bit set on it. A typical [printers] entry would look like this:
191         [printers]
192                 path = /usr/spool/public
193                 writable = no
194                 public = yes
195                 printable = yes 
197 All aliases given for a printer in the printcap file are legitimate printer
198 names as far as the server is concerned. If your printing subsystem doesn't
199 work like that, you will have to set up a pseudo-printcap. This is a file
200 consisting of one or more lines like this:
202         alias|alias|alias|alias...
204 Each alias should be an acceptable printer name for your printing 
205 subsystem. In the [global] section, specify the new file as your printcap.
206 The server will then only recognise names found in your pseudo-printcap,
207 which of course can contain whatever aliases you like. The same technique
208 could be used simply to limit access to a subset of your local printers.
210 An alias, by the way, is defined as any component of the first entry of a 
211 printcap record. Records are separated by newlines, components (if there are 
212 more than one) are separated by vertical bar symbols ("|").
214 .SH PARAMETERS
215 Parameters define the specific attributes of services.
217 Some parameters are specific to the [global] section (eg., security).
218 Some parameters are usable in all sections (eg., create mode). All others are
219 permissible only in normal sections. For the purposes of the following
220 descriptions the [homes] and [printers] sections will be considered normal.
221 The letter 'G' in parentheses indicates that a parameter is specific to the
222 [global] section. The letter 'S' indicates that a parameter can be
223 specified in a service specific section. Note that all S parameters
224 can also be specified in the [global] section - in which case they
225 will define the default behaviour for all services.
227 Parameters are arranged here in alphabetical order - this may not create
228 best bedfellows, but at least you can find them! Where there are synonyms,
229 the preferred synonym is described, others refer to the preferred synonym.
231 .SS VARIABLE SUBSTITUTIONS
233 Many of the strings that are settable in the config file can take
234 substitutions. For example the option "path = /tmp/%u" would be
235 interpreted as "path = /tmp/john" if the user connected with the
236 username john.
238 These substitutions are mostly noted in the descriptions below, but
239 there are some general substitutions which apply whenever they might be
240 relevant. These are:
242 %S = the name of the current service, if any
244 %P = the root directory of the current service, if any
246 %u = user name of the current service, if any
248 %g = primary group name of %u
250 %U = session user name (the user name that the client wanted, not
251 necessarily the same as the one they got)
253 %G = primary group name of %U
255 %H = the home directory of the user given by %u
257 %v = the Samba version
259 %h = the hostname that Samba is running on
261 %m = the netbios name of the client machine (very useful)
263 %L = the netbios name of the server. This allows you to change your
264 config based on what the client calls you. Your server can have a "dual
265 personality".
267 %M = the internet name of the client machine
269 %d = The process id of the current server process
271 %a = the architecture of the remote machine. Only some are recognised,
272 and those may not be 100% reliable. It currently recognises Samba,
273 WfWg, WinNT and Win95. Anything else will be known as "UNKNOWN". If it
274 gets it wrong then sending me a level 3 log should allow me to fix it.
276 %I = The IP address of the client machine
278 %T = the current date and time
280 There are some quite creative things that can be done with these
281 substitutions and other smb.conf options.
283 .SS NAME MANGLING
285 Samba supports "name mangling" so that DOS and Windows clients can use
286 files that don't conform to the 8.3 format. It can also be set to adjust
287 the case of 8.3 format filenames.
289 There are several options that control the way mangling is performed,
290 and they are grouped here rather than listed separately. For the
291 defaults look at the output of the testparm program.
293 All of these options can be set separately for each service (or
294 globally, of course).
296 The options are:
298 "mangle case = yes/no" controls if names that have characters that
299 aren't of the "default" case are mangled. For example, if this is yes
300 then a name like "Mail" would be mangled. Default no.
302 "case sensitive = yes/no" controls whether filenames are case
303 sensitive. If they aren't then Samba must do a filename search and
304 match on passed names. Default no.
306 "default case = upper/lower" controls what the default case is for new
307 filenames. Default lower.
309 "preserve case = yes/no" controls if new files are created with the
310 case that the client passes, or if they are forced to be the "default"
311 case. Default no.
313 "short preserve case = yes/no" controls if new files which conform to 8.3
314 syntax, that is all in upper case and of suitable length, are created
315 upper case, or if they are forced to be the "default" case. This option can
316 be use with "preserve case = yes" to permit long filenames to retain their
317 case, while short names are lowered. Default no.
319 .SS COMPLETE LIST OF GLOBAL PARAMETERS
321 Here is a list of all global parameters. See the section of each
322 parameter for details.  Note that some are synonyms.
324 auto services
326 browse list
328 character set
330 client code page
332 config file
334 deadtime
336 debuglevel
338 default
340 default service
342 dfree command
344 dns proxy
346 domain controller
348 domain master
350 encrypt passwords
352 getwd cache
354 hide files
356 hide dot files
358 homedir map
360 hosts equiv
362 include
364 keepalive
366 lock dir
368 load printers
370 local master
372 lock directory
374 log file
376 log level
378 logon path
380 logon script
382 lpq cache time
384 mangled stack
386 max log size
388 max mux
390 max packet
392 max ttl
394 max xmit
396 message command
398 netbios name
400 nis homedir
402 null passwords
404 os level
406 packet size
408 passwd chat
410 passwd program
412 password level
414 password server
416 preferred master
418 preload
420 printing
422 printcap name
424 protocol
426 read bmpx
428 read prediction
430 read raw
432 read size
434 remote announce
436 root
438 root dir
440 root directory
442 security
444 server string
446 shared file entries
448 shared mem size
450 smb passwd file
452 smbrun
454 socket address
456 socket options
458 status
460 strip dot
462 syslog
464 syslog only
466 time offset
468 time server
470 unix realname
472 username map
474 use rhosts
476 valid chars
478 veto files
480 workgroup
482 write raw
484 .SS COMPLETE LIST OF SERVICE PARAMETERS
486 Here is a list of all service parameters. See the section of each
487 parameter for details. Note that some are synonyms.
489 admin users
491 allow hosts
493 alternate permissions
495 available
497 browseable
499 case sensitive
501 case sig names
503 copy
505 create mask
507 create mode
509 comment
511 default case
513 delete readonly
515 deny hosts
517 directory
519 directory mask
521 directory mode
523 dont descend
525 exec
527 fake oplocks
529 force create mode
531 force directory mode
533 force group
535 force user
537 guest account
539 guest ok
541 guest only
543 hide dot files
545 hosts allow
547 hosts deny
549 invalid users
551 locking
553 lppause command
555 lpq command
557 lpresume command
559 lprm command
561 magic output
563 magic script
565 mangle case
567 mangled names
569 mangling char
571 map archive
573 map hidden
575 map system
577 max connections
579 min print space
581 only guest
583 only user
585 path
587 postexec
589 postscript
591 preserve case
593 print command
595 printer driver
597 print ok
599 printable
601 printer
603 printer name
605 public
607 read only
609 read list
611 revalidate
613 root postexec
615 root preexec
617 set directory
619 share modes
621 short preserve case
623 strict locking
625 sync always
627 user
629 username
631 users
633 valid users
635 volume
637 wide links
639 writable
641 write ok
643 writeable
645 write list
647 .SS EXPLANATION OF EACH PARAMETER
648 .RS 3
650 .SS admin users (G)
652 This is a list of users who will be granted administrative privileges
653 on the share. This means that they will do all file operations as the
654 super-user (root).
656 You should use this option very carefully, as any user in this list
657 will be able to do anything they like on the share, irrespective of
658 file permissions.
660 .B Default:
661         no admin users
663 .B Example:
664         admin users = jason
666 .SS auto services (G)
667 This is a list of services that you want to be automatically added to
668 the browse lists. This is most useful for homes and printers services
669 that would otherwise not be visible.
671 Note that if you just want all printers in your printcap file loaded
672 then the "load printers" option is easier.
674 .B Default:
675         no auto services
677 .B Example:
678         auto services = fred lp colorlp
680 .SS allow hosts (S)
681 A synonym for this parameter is 'hosts allow'.
683 This parameter is a comma delimited set of hosts which are permitted to access
684 a services. If specified in the [global] section, matching hosts will be
685 allowed access to any service that does not specifically exclude them from
686 access. Specific services my have their own list, which override those
687 specified in the [global] section.
689 You can specify the hosts by name or IP number. For example, you could
690 restrict access to only the hosts on a Class C subnet with something like
691 "allow hosts = 150.203.5.". The full syntax of the list is described in
692 the man page
693 .BR hosts_access (5).
695 You can also specify hosts by network/netmask pairs and by netgroup
696 names if your system supports netgroups. The EXCEPT keyword can also
697 be used to limit a wildcard list. The following examples may provide
698 some help:
700 Example 1: allow all IPs in 150.203.*.* except one
702         hosts allow = 150.203. EXCEPT 150.203.6.66
704 Example 2: allow hosts that match the given network/netmask
706         hosts allow = 150.203.15.0/255.255.255.0
708 Example 3: allow a couple of hosts
710         hosts allow = lapland, arvidsjaur
712 Example 4: allow only hosts in netgroup "foonet" or localhost, but 
713 deny access from one particular host
715         hosts allow = @foonet, localhost
716         hosts deny = pirate
718 Note that access still requires suitable user-level passwords.
721 .BR testparm (1)
722 for a way of testing your host access to see if it
723 does what you expect.
725 .B Default:
726         none (i.e., all hosts permitted access)
728 .B Example:
729         allow hosts = 150.203.5. myhost.mynet.edu.au
731 .SS alternate permissions (S)
733 This option affects the way the "read only" DOS attribute is produced
734 for UNIX files. If this is false then the read only bit is set for
735 files on writeable shares which the user cannot write to.
737 If this is true then it is set for files whos user write bit is not set.
739 The latter behaviour is useful for when users copy files from each
740 others directories, and use a file manager that preserves
741 permissions. Without this option they may get annoyed as all copied
742 files will have the "read only" bit set.
744 .B Default:
745         alternate permissions = no
747 .B Example:
748         alternate permissions = yes
750 .SS available (S)
751 This parameter lets you 'turn off' a service. If 'available = no', then
752 ALL attempts to connect to the service will fail. Such failures are logged.
754 .B Default:
755         available = yes
757 .B Example:
758         available = no
759 .SS browseable (S)
760 This controls whether this share is seen in the list of available
761 shares in a net view and in the browse list.
763 .B Default:
764         browseable = Yes
766 .B Example: 
767         browseable = No
768 .SS browse list(G)
769 This controls whether the smbd will serve a browse list to a client
770 doing a NetServerEnum call. Normally set to true. You should never
771 need to change this.
773 .B Default:
774         browse list = Yes
776 .SS case sensitive (G)
777 See the discussion on NAME MANGLING.
779 .SS case sig names (G)
780 See "case sensitive"
782 .SS character set (G)
783 This allows a smbd to map incoming characters from a DOS 850 Code page
784 to either a Western European (ISO8859-1) or Easter European (ISO8859-2)
785 code page. Normally not set, meaning no filename translation is done.
787 .B Default
789         character set =
791 .B Example
793         character set = iso8859-1
795 .SS client code page (G)
796 Currently (Samba 1.9.17 and above) this may be set to one of two
797 values, 850 or 437. It specifies the base DOS code page that the
798 clients accessing Samba are using. To determine this, open a DOS
799 command prompt and type the command "chcp". This will output the
800 code page. The default for USA MS-DOS, Windows 95, and Windows NT
801 releases is code page 437. The default for western european 
802 releases of the above operating systems is code page 850.
804 This parameter co-operates with the "valid chars" parameter in
805 determining what characters are valid in filenames and how
806 capitalization is done. It has been added as a convenience for
807 clients whose code page is either 437 or 850 so a convoluted
808 "valid chars" string does not have to be determined. If you
809 set both this parameter and the "valid chars" parameter the 
810 "client code page" parameter MUST be set before the "valid chars"
811 in the smb.conf file. The "valid chars" string will then augment
812 the character settings in the "client code page" parameter.
814 If "client code page" is set to a value other than 850 or 437
815 it will default to 850.
817 See also : "valid chars".
819 .B Default
821         client code page = 850
823 .B Example
825         client code page = 437
827 .SS comment (S)
828 This is a text field that is seen when a client does a net view to
829 list what shares are available. It will also be used when browsing is
830 fully supported.
832 .B Default:
833         No comment string
835 .B Example:
836         comment = Fred's Files
838 .SS config file (G)
840 This allows you to override the config file to use, instead of the
841 default (usually smb.conf). There is a chicken and egg problem here as
842 this option is set in the config file! 
844 For this reason, if the name of the config file has changed when the
845 parameters are loaded then it will reload them from the new config
846 file.
848 This option takes the usual substitutions, which can be very useful.
850 If the config file doesn't exist then it won't be loaded (allowing
851 you to special case the config files of just a few clients).
853 .B Example:
854         config file = /usr/local/samba/lib/smb.conf.%m
856 .SS copy (S)
857 This parameter allows you to 'clone' service entries. The specified
858 service is simply duplicated under the current service's name. Any 
859 parameters specified in the current section will override those in the
860 section being copied.
862 This feature lets you set up a 'template' service and create similar 
863 services easily. Note that the service being copied must occur earlier 
864 in the configuration file than the service doing the copying.
866 .B Default:
867         none
869 .B Example:
870         copy = otherservice
871 .SS create mask (S)
872 A synonym for this parameter is 'create mode'.
874 This parameter is the octal modes which are used when converting DOS modes 
875 to UNIX modes.
877 When a file is created, the neccessary permissions are calculated
878 according to the mapping from DOS modes to UNIX permissions, and
879 the resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
880 This parameter may be thought of as a bit-wise MASK for the UNIX
881 modes of a file. Any bit *not* set here will be removed from the
882 modes set on a file when it is created.
884 The default value of this parameter removes the 'user' execute
885 bit and the 'group' and 'other' write and execute bits from the
886 UNIX modes.
888 Following this Samba will bit-wise 'OR' the UNIX mode created from
889 this parameter with the value of the "force create mode" parameter 
890 which is set to 0700 by default. This causes the 'user' read, write
891 and execute bits to be set for every file created. You must have at 
892 least 'user' read, write and execute bits set for Samba to work properly.
894 For Samba 1.9.17 and above this parameter no longer affects directory
895 modes. See the parameter 'directory mode' for details.
897 See also the "force create mode" parameter for forcing particular
898 mode bits to be set on created files.
899 See also the "directory mode" paramter for masking mode bits on created
900 directories.
902 .B Default:
903         create mask = 0644
905 .B Example:
906         create mask = 0775
907 .SS create mode (S)
909 .B create mask.
911 .SS dead time (G)
912 The value of the parameter (a decimal integer) represents the number of
913 minutes of inactivity before a connection is considered dead, and it
914 is disconnected. The deadtime only takes effect if the number of open files
915 is zero.
917 This is useful to stop a server's resources being exhausted by a large
918 number of inactive connections.
920 Most clients have an auto-reconnect feature when a connection is broken so
921 in most cases this parameter should be transparent to users.
923 Using this parameter with a timeout of a few minutes is recommended
924 for most systems.
926 A deadtime of zero indicates that no auto-disconnection should be performed.
928 .B Default:
929         dead time = 0
931 .B Example:
932         dead time = 15
933 .SS debug level (G)
934 The value of the parameter (an integer) allows the debug level
935 (logging level) to be specified in the
936 .B smb.conf
937 file. This is to give
938 greater flexibility in the configuration of the system.
940 The default will be the debug level specified on the command line.
942 .B Example:
943         debug level = 3
944 .SS default (G)
946 .B default service.
947 .SS default case (S)
949 See the section on "NAME MANGLING" Also note the addition of "short
950 preserve case"
952 .SS default service (G)
953 A synonym for this parameter is 'default'.
955 This parameter specifies the name of a service which will be connected to
956 if the service actually requested cannot be found. Note that the square
957 brackets are NOT given in the parameter value (see example below).
959 There is no default value for this parameter. If this parameter is not given,
960 attempting to connect to a nonexistent service results in an error.
962 Typically the default service would be a public, read-only service.
964 Also note that as of 1.9.14 the apparent service name will be changed to
965 equal that of the requested service, this is very useful as it allows
966 you to use macros like %S to make a wildcard service.
968 Note also that any _ characters in the name of the service used in the
969 default service will get mapped to a /. This allows for interesting
970 things.
973 .B Example:
974         default service = pub
975         
976         [pub]
977              path = /%S
978           
980 .SS delete readonly (S)
981 This parameter allows readonly files to be deleted.  This is not normal DOS
982 semantics, but is allowed by UNIX.
984 This option may be useful for running applications such as rcs, where UNIX
985 file ownership prevents changing file permissions, and DOS semantics prevent
986 deletion of a read only file.
988 .B Default:
989         delete readonly = No
991 .B Example:
992         delete readonly = Yes
993 .SS deny hosts (S)
994 A synonym for this parameter is 'hosts deny'.
996 The opposite of 'allow hosts' - hosts listed here are NOT permitted
997 access to services unless the specific services have their own lists to
998 override this one. Where the lists conflict, the 'allow' list takes precedence.
1000 .B Default:
1001         none (i.e., no hosts specifically excluded)
1003 .B Example:
1004         deny hosts = 150.203.4. badhost.mynet.edu.au
1005 .SS dfree command (G)
1006 The dfree command setting should only be used on systems where a
1007 problem occurs with the internal disk space calculations. This has
1008 been known to happen with Ultrix, but may occur with other operating
1009 systems. The symptom that was seen was an error of "Abort Retry
1010 Ignore" at the end of each directory listing.
1012 This setting allows the replacement of the internal routines to
1013 calculate the total disk space and amount available with an external
1014 routine. The example below gives a possible script that might fulfill
1015 this function. 
1017 The external program will be passed a single parameter indicating a
1018 directory in the filesystem being queried. This will typically consist
1019 of the string "./". The script should return two integers in ascii. The
1020 first should be the total disk space in blocks, and the second should
1021 be the number of available blocks. An optional third return value
1022 can give the block size in bytes. The default blocksize is 1024 bytes.
1024 Note: Your script should NOT be setuid or setgid and should be owned by
1025 (and writable only by) root!
1027 .B Default:
1028         By default internal routines for determining the disk capacity
1029 and remaining space will be used.
1031 .B Example:
1032         dfree command = /usr/local/samba/bin/dfree
1034         Where the script dfree (which must be made executable) could be
1037         #!/bin/sh
1038         df $1 | tail -1 | awk '{print $2" "$4}'
1041         or perhaps (on Sys V)
1044         #!/bin/sh
1045         /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
1048         Note that you may have to replace the command names with full
1049 path names on some systems.
1050 .SS directory (S)
1052 .B path.
1054 .SS directory mask (S)
1055 A synonym for this parameter is 'directory mode'.
1057 This parameter is the octal modes which are used when converting DOS modes 
1058 to UNIX modes when creating UNIX directories.
1060 When a directory is created, the neccessary permissions are calculated
1061 according to the mapping from DOS modes to UNIX permissions, and
1062 the resulting UNIX mode is then bit-wise 'AND'ed with this parameter.
1063 This parameter may be thought of as a bit-wise MASK for the UNIX
1064 modes of a directory. Any bit *not* set here will be removed from the
1065 modes set on a directory when it is created.
1067 The default value of this parameter removes the 'group' and 'other'
1068 write bits from the UNIX mode.
1070 Following this Samba will bit-wise 'OR' the UNIX mode created from
1071 this parameter with the value of the "force directory mode" parameter. 
1072 This parameter is set to 000 by default (ie. no extra mode bits are added).
1074 See the "force directory mode" parameter to cause particular mode
1075 bits to always be set on created directories.
1077 See also the "create mode" parameter for masking mode bits on created
1078 files.
1080 .B Default:
1081         directory mask = 0755
1083 .B Example:
1084         directory mask = 0775
1085 .SS directory mode (S)
1087 .B directory mask.
1089 .SS dns proxy (G)
1091 Specifies that nmbd should (as a WINS server), on finding that a NetBIOS
1092 name has not been registered, treat the NetBIOS name word-for-word as
1093 a DNS name.
1095 Note that the maximum length for a NetBIOS name is 15
1096 characters, so the DNS name (or DNS alias) can likewise only be 15
1097 characters, maximum.
1099 Note also that nmbd will block completely until the DNS name is resolved.
1100 This will result in temporary loss of browsing and WINS services.
1101 Enable this option only if you are certain that DNS resolution is fast,
1102 or you can live with the consequences of periodic pauses in nmbd service.
1104 .B Default:
1105          dns proxy = yes
1107 .SS domain controller (G)
1109 Specifies the DNS name or IP address of the machine to refer domain 
1110 logons from Win95 machines to. You should never need to set this parameter.
1112 .B Default:
1113          domain controller = no
1115 .SS domain master (G)
1117 Enable WAN-wide browse list collation.  Local master browsers on 
1118 broadcast-isolated subnets will give samba their local browse lists, and 
1119 ask for a complete copy of the browse list for the whole wide area network.
1120 Browser clients will then contact their local master browser, and will
1121 receive the domain-wide browse list, instead of just the list for their
1122 broadcast-isolated subnet.
1124 .B Default:
1125         domain master = no
1127 .SS dont descend (S)
1128 There are certain directories on some systems (eg., the /proc tree under
1129 Linux) that are either not of interest to clients or are infinitely deep
1130 (recursive). This parameter allows you to specify a comma-delimited list
1131 of directories that the server should always show as empty.
1133 Note that Samba can be very fussy about the exact format of the "dont
1134 descend" entries. For example you may need "./proc" instead of just
1135 "/proc". Experimentation is the best policy :-)
1137 .B Default:
1138         none (i.e., all directories are OK to descend)
1140 .B Example:
1141         dont descend = /proc,/dev
1143 .SS encrypt passwords (G)
1145 This boolean controls whether encrypted passwords will be negotiated
1146 with the client. Note that this option has no effect if you haven't
1147 compiled in the necessary des libraries and encryption code. It
1148 defaults to no.
1150 .SS exec (S)
1152 This is an alias for preexec
1154 .SS fake oplocks (S)
1156 Oplocks are the way that SMB clients get permission from a server to
1157 locally cache file operations. If a server grants an oplock
1158 (opportunistic lock) then the client is free to assume that it is the
1159 only one accessing the file and it will aggressively cache file
1160 data. With some oplock types the client may even cache file open/close
1161 operations. This can give enormous performance benefits.
1163 Samba does not support opportunistic locks because they are very
1164 difficult to do under Unix. Samba can fake them, however, by granting
1165 a oplock whenever a client asks for one. This is controlled using the
1166 smb.conf option "fake oplocks". If you set "fake oplocks = yes" then
1167 you are telling the client that it may aggressively cache the file
1168 data.
1170 By enabling this option on all read-only shares or shares that you know
1171 will only be accessed from one client at a time you will see a big
1172 performance improvement on many operations. If you enable this option
1173 on shares where multiple clients may be accessing the files read-write
1174 at the same time you can get data corruption. Use this option
1175 carefully! 
1177 This option is disabled by default.
1179 .SS force create mode (S)
1180 This parameter specifies a set of UNIX mode bit permissions that
1181 will *always* be set on a file created by Samba. This is done
1182 by bitwise 'OR'ing these bits onto the mode bits of a file that
1183 is being created. The default for this parameter is (in octel)
1184 0700 as files must have at least 'user' read/write/execute bits
1185 set for Samba to work correctly. This operation is done after
1186 the mode mask in the parameter "create mask" is applied.
1188 See also the parameter "create mask" for details on masking mode
1189 bits on created files.
1191 .B Default:
1192        force create mode = 0700
1194 .B Example:
1195        force create mode = 0755
1197 would force all created files to have read and execute permissions
1198 set for 'group' and 'other' as well as the read/write/execute bits 
1199 set for the 'user'.
1201 .SS force directory mode (S)
1202 This parameter specifies a set of UNIX mode bit permissions that
1203 will *always* be set on a directory created by Samba. This is done
1204 by bitwise 'OR'ing these bits onto the mode bits of a directory that
1205 is being created. The default for this parameter is (in octel)
1206 0000 which will not add any extra permission bits to a created
1207 directory. This operation is done after the mode mask in the parameter 
1208 "directory mask" is applied.
1210 See also the parameter "directory mask" for details on masking mode
1211 bits on created directories.
1213 .B Default:
1214        force directory mode = 000
1216 .B Example:
1217        force directory mode = 0755
1219 would force all created directories to have read and execute permissions
1220 set for 'group' and 'other' as well as the read/write/execute bits 
1221 set for the 'user'.
1223 .SS force group (S)
1224 This specifies a group name that all connections to this service
1225 should be made as. This may be useful for sharing files.
1227 .B Default:
1228        no forced group
1230 .B Example:
1231        force group = agroup
1233 .SS force user (S)
1234 This specifies a user name that all connections to this service
1235 should be made as. This may be useful for sharing files. You should
1236 also use it carefully as using it incorrectly can cause security
1237 problems.
1239 This user name only gets used once a connection is established. Thus
1240 clients still need to connect as a valid user and supply a valid
1241 password. Once connected, all file operations will be performed as the
1242 "forced user", not matter what username the client connected as.
1244 .B Default:
1245        no forced user
1247 .B Example:
1248        force user = auser
1250 .SS getwd cache (G)
1251 This is a tuning option. When this is enabled a cacheing algorithm will
1252 be used to reduce the time taken for getwd() calls. This can have a
1253 significant impact on performance, especially when widelinks is False.
1255 .B Default:
1256         getwd cache = No
1258 .B Example:
1259         getwd cache = Yes
1261 .SS group (S)
1262 This is an alias for "force group" and is only kept for compatibility
1263 with old versions of Samba. It may be removed in future versions.
1265 .SS guest account (S)
1266 This is a username which will be used for access to services which are
1267 specified as 'guest ok' (see below). Whatever privileges this user has
1268 will be available to any client connecting to the guest
1269 service. Typically this user will exist in the password file, but will
1270 not have a valid login. If a username is specified in a given service,
1271 the specified username overrides this one.
1273 One some systems the account "nobody" may not be able to print. Use
1274 another account in this case. You should test this by trying to log in
1275 as your guest user (perhaps by using the "su \-" command) and trying to
1276 print using
1277 .BR lpr .
1279 Note that as of version 1.9 of Samba this option may be set
1280 differently for each service.
1282 .B Default:
1283         specified at compile time
1285 .B Example:
1286         guest account = nobody
1287 .SS guest ok (S)
1289 .B public.
1290 .SS guest only (S)
1291 If this parameter is 'yes' for a service, then only guest connections to the
1292 service are permitted. This parameter will have no affect if "guest ok" or
1293 "public" is not set for the service.
1295 See the section below on user/password validation for more information about
1296 this option.
1298 .B Default:
1299         guest only = no
1301 .B Example:
1302         guest only = yes
1303 .SS hide dot files (S)
1304 This is a boolean parameter that controls whether files starting with
1305 a dot appear as hidden files.
1307 .B Default:
1308         hide dot files = yes
1310 .B Example:
1311         hide dot files = no
1314 .SS hide files(S)
1315 This is a list of files and directories that are not visible but are
1316 accessible.  The DOS 'hidden' attribute is applied to any files or
1317 directories that match.
1319 Each entry in the list must be separated by a "\\", which allows spaces
1320 to be included in the entry.  '*' and '?' can be used to specify multiple
1321 files or directories.  The default, for example, is used to hide all files
1322 beginning with a dot.
1324 Each entry must be a unix path, not a DOS path.  Therefore, the pathname
1325 specified between separators "\\", if it incudes directories, must use the
1326 unix directory specifier "/", not the DOS directory specifier "\\".
1328 Note that the case sensitivity option is applicable in hiding files.
1330 See also "veto files" and "case sensitive"
1332 .B Default
1333         hide files = */.*
1335 .B Example
1336         hide files = \\*/.*\\DesktopFolderDB\\TrashFor%m\\resource.frk\\
1338 The above example is based on files that the Macintosh client (DAVE)
1339 creates for internal use, and also still hides all files beginning with
1340 a dot.
1342 .SS homedir map (G)
1343 If "nis homedir" is true, this parameter specifies the NIS (or YP) map
1344 from which the server for the user's home directory should be extracted.
1345 At present, only the Sun auto.home map format is understood. The form of
1346 the map is:
1348 username        server:/some/file/system
1350 and the program will extract the servername from before the first ':'.
1351 There should probably be a better parsing system that copes with different
1352 map formats and also Amd (another automounter) maps.
1354 NB: The -DNETGROUP option is required in the Makefile for option to work
1355 and on some architectures the line -lrpcsvc needs to be added to the
1356 LIBSM variable. This is required for Solaris 2, FreeBSD and HPUX.
1358 See also "nis homedir"
1360 .B Default:
1361         homedir map = auto.home
1363 .B Example:
1364         homedir map = amd.homedir
1365 .SS hosts allow (S)
1367 .B allow hosts.
1368 .SS hosts deny (S)
1370 .B deny hosts.
1372 .SS hosts equiv (G)
1373 If this global parameter is a non-null string, it specifies the name of
1374 a file to read for the names of hosts and users who will be allowed access
1375 without specifying a password.
1377 This is not be confused with 
1378 .B allow hosts
1379 which is about hosts access to services and is more useful for guest services.
1380 .B hosts equiv
1381 may be useful for NT clients which will not supply passwords to samba.
1383 NOTE: The use of hosts.equiv can be a major security hole. This is
1384 because you are trusting the PC to supply the correct username. It is
1385 very easy to get a PC to supply a false username. I recommend that the
1386 hosts.equiv option be only used if you really know what you are doing,
1387 or perhaps on a home network where you trust your wife and kids :-)
1389 .B Default
1390         No host equivalences
1392 .B Example
1393         hosts equiv = /etc/hosts.equiv
1395 .SS include (G)
1397 This allows you to include one config file inside another.  The file is
1398 included literally, as though typed in place.
1400 It takes the standard substitutions, except %u, %P and %S
1402 .SS interfaces (G)
1404 This option allows you to setup multiple network interfaces, so that
1405 Samba can properly handle browsing on all interfaces.
1407 The option takes a list of ip/netmask pairs. The netmask may either be
1408 a bitmask, or a bitlength. 
1410 For example, the following line:
1412 interfaces = 192.168.2.10/24 192.168.3.10/24
1414 would configure two network interfaces with IP addresses 192.168.2.10
1415 and 192.168.3.10. The netmasks of both interfaces would be set to
1416 255.255.255.0. 
1418 You could produce an equivalent result by using:
1420 interfaces = 192.168.2.10/255.255.255.0 192.168.3.10/255.255.255.0
1422 if you prefer that format.
1424 If this option is not set then Samba will attempt to find a primary
1425 interface, but won't attempt to configure more than one interface.
1427 .SS invalid users (S)
1428 This is a list of users that should not be allowed to login to this
1429 service. This is really a "paranoid" check to absolutely ensure an
1430 improper setting does not breach your security.
1432 A name starting with @ is interpreted as a UNIX group.
1434 The current servicename is substituted for %S. This is useful in the
1435 [homes] section.
1437 See also "valid users"
1439 .B Default
1440         No invalid users
1442 .B Example
1443         invalid users = root fred admin @wheel
1445 .SS keep alive (G)
1446 The value of the parameter (an integer) represents the number of seconds 
1447 between 'keepalive' packets. If this parameter is zero, no keepalive packets
1448 will be sent. Keepalive packets, if sent, allow the server to tell whether a
1449 client is still present and responding.
1451 Keepalives should, in general, not be needed if the socket being used
1452 has the SO_KEEPALIVE attribute set on it (see "socket
1453 options"). Basically you should only use this option if you strike
1454 difficulties.
1456 .B Default:
1457         keep alive = 0
1459 .B Example:
1460         keep alive = 60
1461 .SS load printers (G)
1462 A boolean variable that controls whether all printers in the printcap
1463 will be loaded for browsing by default. 
1465 .B Default:
1466         load printers = no
1468 .B Example:
1469         load printers = yes
1471 .SS local master (G)
1472 This option allows the nmbd to become a local master browser on a
1473 subnet. If set to False then nmbd will not attempt to become a local
1474 master browser on a subnet and will also lose in all browsing elections. 
1475 By default this value is set to true. Setting this value to true doesn't 
1476 mean that Samba will become the local master browser on a subnet, just 
1477 that the nmbd will participate in elections for local master browser.
1479 .B Default:
1480         local master = yes
1482 .SS lock directory (G)
1483 This option specifies the directory where lock files will be placed.
1484 The lock files are used to implement the "max connections" option.
1486 .B Default:
1487         lock directory = /tmp/samba
1489 .B Example: 
1490         lock directory = /usr/local/samba/var/locks
1491 .SS locking (S)
1492 This controls whether or not locking will be performed by the server in 
1493 response to lock requests from the client.
1495 If "locking = no", all lock and unlock requests will appear to succeed and 
1496 all lock queries will indicate that the queried lock is clear.
1498 If "locking = yes", real locking will be performed by the server.
1500 This option may be particularly useful for read-only filesystems which
1501 do not need locking (such as cdrom drives).
1503 Be careful about disabling locking either globally or in a specific
1504 service, as lack of locking may result in data corruption.
1506 .B Default:
1507         locking = yes
1509 .B Example:
1510         locking = no
1512 .SS log file (G)
1514 This options allows you to override the name of the Samba log file
1515 (also known as the debug file).
1517 This option takes the standard substitutions, allowing you to have
1518 separate log files for each user or machine.
1520 .B Example:
1521         log file = /usr/local/samba/var/log.%m
1523 .SS log level (G)
1524 see "debug level"
1526 .SS logon path (G)
1528 This parameter specifies the home directory where roaming profiles 
1529 (USER.DAT / USER.MAN files) are stored.
1531 This option takes the standard substitutions, allowing you to have
1532 separate logon scripts for each user or machine.  It also specifies
1533 the directory from which the "desktop", "start menu", "nethood" and
1534 "programs" folders, and their contents, are loaded and displayed
1535 on your Windows 95 client.
1537 The share and the path must be readable by the user for the preferences
1538 and directories to be loaded onto the Windows 95 client.  The share
1539 must be writeable when the logs in for the first time, in order that
1540 the Windows 95 client can create the user.dat and other directories.
1542 Thereafter, the directories and any of contents can, if required,
1543 be made read-only.  It is not adviseable that the USER.DAT file be made
1544 read-only - rename it to USER.MAN to achieve the desired effect
1545 (a MANdatory profile).
1547 .B Default:
1548         logon path = \\\\%L\\%U 
1550 .B Example:
1551         logon path = \\\\PROFILESERVER\\HOME_DIR\\%U
1553 .SS logon script (G)
1555 This parameter specifies the batch file (.bat) or NT command file (.cmd)
1556 to be downloaded and run on a machine when a user successfully logs in.
1557 The file must contain the DOS style cr/lf line endings.  Using a DOS-style
1558 editor to create the file is recommended.
1560 The script must be a relative path to the [netlogon] service.  If the
1561 [netlogon] service specifies a path of /usr/local/samba/netlogon, and
1562 logon script = STARTUP.BAT, then file that will be downloaded is:
1564 .B /usr/local/samba/netlogon/STARTUP.BAT
1566 The contents of the batch file is entirely your choice.  A suggested
1567 command would be to add NET TIME \\\\SERVER /SET /YES, to force every
1568 machine to synchronise clocks with the same time server.  Another use
1569 would be to add NET USE U: \\\\SERVER\\UTILS for commonly used utilities,
1570 or NET USE Q: \\\\SERVER\\ISO9001_QA.
1572 Note that it is particularly important not to allow write access to
1573 the [netlogon] share, or to grant users write permission on the
1574 batch files in a secure environment, as this would allow the batch
1575 files to be arbitrarily modified.
1578 This option takes the standard substitutions, allowing you to have
1579 separate logon scripts for each user or machine.
1581 .B Example:
1582         logon script = scripts/%U.bat
1584 .SS lppause command (S)
1585 This parameter specifies the command to be executed on the server host in
1586 order to stop printing or spooling a specific print job.
1588 This command should be a program or script which takes a printer name and
1589 job number to pause the print job. Currently I don't know of any print
1590 spooler system that can do this with a simple option, except for the PPR
1591 system from Trinity College (ppr\-dist.trincoll.edu/pub/ppr). One way
1592 of implementing this is by using job priorities, where jobs having a too
1593 low priority won't be sent to the printer. See also the
1594 .B lppause
1595 command.
1597 If a %p is given then the printername is put in its place. A %j is
1598 replaced with the job number (an integer).
1599 On HPUX (see printing=hpux), if the -p%p option is added to the lpq
1600 command, the job will show up with the correct status, i.e. if the job
1601 priority is lower than the set fence priority it will have the PAUSED
1602 status, whereas if the priority is equal or higher it will have the
1603 SPOOLED or PRINTING status.
1605 Note that it is good practice to include the absolute path in the lppause
1606 command as the PATH may not be available to the server.
1608 .B Default:
1609         Currently no default value is given to this string
1611 .B Example for HPUX:
1612         lppause command = /usr/bin/lpalt %p-%j -p0
1614 .SS lpq cache time (G)
1616 This controls how long lpq info will be cached for to prevent the lpq
1617 command being called too often. A separate cache is kept for each
1618 variation of the lpq command used by the system, so if you use
1619 different lpq commands for different users then they won't share cache
1620 information.
1622 The cache files are stored in /tmp/lpq.xxxx where xxxx is a hash
1623 of the lpq command in use.
1625 The default is 10 seconds, meaning that the cached results of a
1626 previous identical lpq command will be used if the cached data is less
1627 than 10 seconds old. A large value may be advisable if your lpq
1628 command is very slow.
1630 A value of 0 will disable cacheing completely.
1632 .B Default:
1633         lpq cache time = 10
1635 .B Example:
1636         lpq cache time = 30
1638 .SS lpq command (S)
1639 This parameter specifies the command to be executed on the server host in
1640 order to obtain "lpq"-style printer status information. 
1642 This command should be a program or script which takes a printer name
1643 as its only parameter and outputs printer status information. 
1645 Currently six styles of printer status information are supported; BSD,
1646 SYSV, AIX, HPUX, QNX, LPRNG and PLP. This covers most UNIX systems. You
1647 control which type is expected using the "printing =" option.
1649 Some clients (notably Windows for Workgroups) may not correctly send the
1650 connection number for the printer they are requesting status information
1651 about. To get around this, the server reports on the first printer service
1652 connected to by the client. This only happens if the connection number sent
1653 is invalid.
1655 If a %p is given then the printername is put in its place. Otherwise
1656 it is placed at the end of the command.
1658 Note that it is good practice to include the absolute path in the lpq
1659 command as the PATH may not be available to the server.
1661 .B Default:
1662         depends on the setting of "printing ="
1664 .B Example:
1665         lpq command = /usr/bin/lpq %p
1667 .SS lpresume command (S)
1668 This parameter specifies the command to be executed on the server host in
1669 order to restart or continue printing or spooling a specific print job.
1671 This command should be a program or script which takes a printer name and
1672 job number to resume the print job. See also the lppause command.
1674 If a %p is given then the printername is put in its place. A %j is
1675 replaced with the job number (an integer).
1677 Note that it is good practice to include the absolute path in the lpresume
1678 command as the PATH may not be available to the server.
1680 .B Default:
1681         Currently no default value is given to this string
1683 .B Example for HPUX:
1684         lpresume command = /usr/bin/lpalt %p-%j -p2
1686 .SS lprm command (S)
1687 This parameter specifies the command to be executed on the server host in
1688 order to delete a print job.
1690 This command should be a program or script which takes a printer name
1691 and job number, and deletes the print job.
1693 Currently seven styles of printer control are supported; BSD, SYSV, AIX
1694 HPUX, QNX, LPRNG and PLP. This covers most UNIX systems. You control
1695 which type is expected using the "printing =" option.
1697 If a %p is given then the printername is put in its place. A %j is
1698 replaced with the job number (an integer).
1700 Note that it is good practice to include the absolute path in the lprm
1701 command as the PATH may not be available to the server.
1703 .B Default:
1704         depends on the setting of "printing ="
1706 .B Example 1:
1707         lprm command = /usr/bin/lprm -P%p %j
1709 .B Example 2:
1710         lprm command = /usr/bin/cancel %p-%j
1712 .SS magic output (S)
1713 This parameter specifies the name of a file which will contain output
1714 created by a magic script (see
1715 .I magic script
1716 below).
1718 Warning: If two clients use the same magic script in the same directory the
1719 output file content is undefined.
1720 .B Default:
1721         magic output = <magic script name>.out
1723 .B Example:
1724         magic output = myfile.txt
1725 .SS magic script (S)
1726 This parameter specifies the name of a file which, if opened, will be
1727 executed by the server when the file is closed. This allows a UNIX script
1728 to be sent to the Samba host and executed on behalf of the connected user.
1730 Scripts executed in this way will be deleted upon completion, permissions
1731 permitting.
1733 If the script generates output, output will be sent to the file specified by
1735 .I magic output
1736 parameter (see above).
1738 Note that some shells are unable to interpret scripts containing
1739 carriage-return-linefeed instead of linefeed as the end-of-line
1740 marker. Magic scripts must be executable "as is" on the host, which
1741 for some hosts and some shells will require filtering at the DOS end.
1743 Magic scripts are EXPERIMENTAL and should NOT be relied upon.
1745 .B Default:
1746         None. Magic scripts disabled.
1748 .B Example:
1749         magic script = user.csh
1751 .SS mangle case (S)
1753 See the section on "NAME MANGLING"
1755 .SS mangled map (S)
1756 This is for those who want to directly map UNIX file names which are
1757 not representable on DOS.  The mangling of names is not always what is
1758 needed.  In particular you may have documents with file extensions
1759 that differ between DOS and UNIX. For example, under UNIX it is common
1760 to use .html for HTML files, whereas under DOS .htm is more commonly
1761 used.
1763 So to map 'html' to 'htm' you put:
1765   mangled map = (*.html *.htm)
1767 One very useful case is to remove the annoying ;1 off the ends of
1768 filenames on some CDROMS (only visible under some UNIXes). To do this
1769 use a map of (*;1 *)
1771 .B default:
1772         no mangled map
1774 .B Example:
1775         mangled map = (*;1 *)
1777 .SS mangled names (S)
1778 This controls whether non-DOS names under UNIX should be mapped to
1779 DOS-compatible names ("mangled") and made visible, or whether non-DOS names
1780 should simply be ignored.
1782 See the section on "NAME MANGLING" for details on how to control the
1783 mangling process.
1785 If mangling is used then the mangling algorithm is as follows:
1787 - the first (up to) five alphanumeric characters before the rightmost dot of
1788 the filename are preserved, forced to upper case, and appear as the first (up
1789 to) five characters of the mangled name.
1791 - a tilde ("~") is appended to the first part of the mangled name, followed
1792 by a two-character unique sequence, based on the original root name 
1793 (i.e., the original filename minus its final extension). The final
1794 extension is included in the hash calculation only if it contains any upper
1795 case characters or is longer than three characters.
1797 Note that the character to use may be specified using the "mangling
1798 char" option, if you don't like ~.
1800 - the first three alphanumeric characters of the final extension are preserved,
1801 forced to upper case and appear as the extension of the mangled name. The 
1802 final extension is defined as that part of the original filename after the
1803 rightmost dot. If there are no dots in the filename, the mangled name will
1804 have no extension (except in the case of hidden files - see below).
1806 - files whose UNIX name begins with a dot will be presented as DOS hidden
1807 files. The mangled name will be created as for other filenames, but with the
1808 leading dot removed and "___" as its extension regardless of actual original
1809 extension (that's three underscores).
1812 The two-digit hash value consists of upper case alphanumeric characters.
1814 This algorithm can cause name collisions only if files in a directory share
1815 the same first five alphanumeric characters. The probability of such a clash 
1816 is 1/1300.
1818 The name mangling (if enabled) allows a file to be copied between UNIX
1819 directories from DOS while retaining the long UNIX filename. UNIX files can
1820 be renamed to a new extension from DOS and will retain the same basename. 
1821 Mangled names do not change between sessions.
1823 .B Default:
1824         mangled names = yes
1826 .B Example:
1827         mangled names = no
1828 .SS mangling char (S)
1829 This controls what character is used as the "magic" character in name
1830 mangling. The default is a ~ but this may interfere with some
1831 software. Use this option to set it to whatever you prefer.
1833 .B Default:
1834         mangling char = ~
1836 .B Example:
1837         mangling char = ^
1839 .SS mangled stack (G)
1840 This parameter controls the number of mangled names that should be cached in
1841 the Samba server.
1843 This stack is a list of recently mangled base names (extensions are only
1844 maintained if they are longer than 3 characters or contains upper case
1845 characters).
1847 The larger this value, the more likely it is that mangled names can be
1848 successfully converted to correct long UNIX names. However, large stack
1849 sizes will slow most directory access. Smaller stacks save memory in the
1850 server (each stack element costs 256 bytes).
1852 It is not possible to absolutely guarantee correct long file names, so
1853 be prepared for some surprises!
1855 .B Default:
1856         mangled stack = 50
1858 .B Example:
1859         mangled stack = 100
1861 .SS map archive (S)
1862 This controls whether the DOS archive attribute should be mapped to UNIX
1863 execute bits.  The DOS archive bit is set when a file has been modified
1864 since its last backup.  One motivation for this option it to keep Samba/your
1865 PC from making any file it touches from becoming executable under UNIX.
1866 This can be quite annoying for shared source code, documents,  etc...
1868 .B Default:
1869       map archive = yes
1871 .B Example:
1872       map archive = no
1874 .SS map hidden (S)
1875 This controls whether DOS style hidden files should be mapped to UNIX
1876 execute bits.
1878 .B Default:
1879         map hidden = no
1881 .B Example:
1882         map hidden = yes
1883 .SS map system (S)
1884 This controls whether DOS style system files should be mapped to UNIX
1885 execute bits.
1887 .B Default:
1888         map system = no
1890 .B Example:
1891         map system = yes
1892 .SS max connections (S)
1893 This option allows the number of simultaneous connections to a
1894 service to be limited. If "max connections" is greater than 0 then
1895 connections will be refused if this number of connections to the
1896 service are already open. A value of zero mean an unlimited number of
1897 connections may be made.
1899 Record lock files are used to implement this feature. The lock files
1900 will be stored in the directory specified by the "lock directory" option.
1902 .B Default:
1903         max connections = 0
1905 .B Example:
1906         max connections = 10
1908 .SS max disk size (G)
1909 This option allows you to put an upper limit on the apparent size of
1910 disks. If you set this option to 100 then all shares will appear to be
1911 not larger than 100 MB in size.
1913 Note that this option does not limit the amount of data you can put on
1914 the disk. In the above case you could still store much more than 100
1915 MB on the disk, but if a client ever asks for the amount of free disk
1916 space or the total disk size then the result will be bounded by the
1917 amount specified in "max disk size".
1919 This option is primarily useful to work around bugs in some pieces of
1920 software that can't handle very large disks, particularly disks over
1921 1GB in size.
1923 A "max disk size" of 0 means no limit.
1925 .B Default:
1926         max disk size = 0
1928 .B Example:
1929         max disk size = 1000
1931 .SS max log size (G)
1933 This option (an integer in kilobytes) specifies the max size the log
1934 file should grow to. Samba periodically checks the size and if it is
1935 exceeded it will rename the file, adding a .old extension.
1937 A size of 0 means no limit.
1939 .B Default:
1940         max log size = 5000
1942 .B Example:
1943         max log size = 1000
1945 .SS max mux (G)
1947 This option controls the maximum number of outstanding simultaneous SMB 
1948 operations that samba tells the client it will allow. You should never need 
1949 to set this parameter.
1951 .B Default:
1952         max mux = 50
1954 .SS max packet (G)
1956 A synonym for this parameter is 'packet size'.
1958 .SS max ttl (G)
1960 This option tells nmbd what the default 'time to live' of NetBIOS
1961 names should be (in seconds). You should never need to change this parameter.
1963 .B Default:
1964         max ttl = 14400
1965 .SS max xmit (G)
1967 This option controls the maximum packet size that will be negotiated
1968 by Samba. The default is 65535, which is the maximum. In some cases
1969 you may find you get better performance with a smaller value. A value
1970 below 2048 is likely to cause problems.
1972 .B Default:
1973         max xmit = 65535
1975 .B Example:
1976         max xmit = 8192
1978 .SS message command (G)
1980 This specifies what command to run when the server receives a WinPopup
1981 style message.
1983 This would normally be a command that would deliver the message
1984 somehow. How this is to be done is up to your imagination.
1986 What I use is:
1988    message command = csh -c 'xedit %s;rm %s' &
1990 This delivers the message using xedit, then removes it
1991 afterwards. NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN
1992 IMMEDIATELY. That's why I have the & on the end. If it doesn't return
1993 immediately then your PCs may freeze when sending messages (they
1994 should recover after 30secs, hopefully).
1996 All messages are delivered as the global guest user. The command takes
1997 the standard substitutions, although %u won't work (%U may be better
1998 in this case).
2000 Apart from the standard substitutions, some additional ones apply. In
2001 particular:
2003 %s = the filename containing the message
2005 %t = the destination that the message was sent to (probably the server
2006 name)
2008 %f = who the message is from
2010 You could make this command send mail, or whatever else takes your
2011 fancy. Please let me know of any really interesting ideas you have.
2013 Here's a way of sending the messages as mail to root:
2015 message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s
2017 If you don't have a message command then the message won't be
2018 delivered and Samba will tell the sender there was an
2019 error. Unfortunately WfWg totally ignores the error code and carries
2020 on regardless, saying that the message was delivered.
2022 If you want to silently delete it then try "message command = rm %s".
2024 For the really adventurous, try something like this:
2026 message command = csh -c 'csh < %s |& /usr/local/samba/bin/smbclient \e
2027                   -M %m; rm %s' &
2029 this would execute the command as a script on the server, then give
2030 them the result in a WinPopup message. Note that this could cause a
2031 loop if you send a message from the server using smbclient! You better
2032 wrap the above in a script that checks for this :-)
2034 .B Default:
2035         no message command
2037 .B Example:
2038         message command = csh -c 'xedit %s;rm %s' &
2040 .SS min print space (S)
2042 This sets the minimum amount of free disk space that must be available
2043 before a user will be able to spool a print job. It is specified in
2044 kilobytes. The default is 0, which means no limit.
2046 .B Default:
2047         min print space = 0
2049 .B Example:
2050         min print space = 2000
2052 .SS netbios name (G)
2054 This sets the NetBIOS name by which a Samba server is known. By
2055 default it is the same as the first component of the host's DNS name.
2057 .SS nis homedir (G)
2058 Get the home share server from a NIS (or YP) map. For unix systems that
2059 use an automounter, the user's home directory will often be mounted on
2060 a workstation on demand from a remote server. When the Samba logon server
2061 is not the actual home directory server, two network hops are required
2062 to access the home directory and this can be very slow especially with 
2063 writing via Samba to an NFS mounted directory. This option allows samba
2064 to return the home share as being on a different server to the logon
2065 server and as long as a samba daemon is running on the home directory 
2066 server, it will be mounted on the Samba client directly from the directory
2067 server. When Samba is returning the home share to the client, it will
2068 consult the NIS (or YP) map specified in "homedir map" and return the
2069 server listed there.
2071 .B Default:
2072         nis homedir = false
2074 .B Example:
2075         nis homedir = true
2077 .SS null passwords (G)
2078 Allow or disallow access to accounts that have null passwords. 
2080 .B Default:
2081         null passwords = no
2083 .B Example:
2084         null passwords = yes
2086 .SS only guest (S)
2087 A synonym for this command is 'guest only'.
2089 .SS only user (S)
2090 This is a boolean option that controls whether connections with
2091 usernames not in the user= list will be allowed. By default this
2092 option is disabled so a client can supply a username to be used by
2093 the server.
2095 Note that this also means Samba won't try to deduce usernames from the
2096 service name. This can be annoying for the [homes] section. To get
2097 around this you could use "user = %S" which means your "user" list
2098 will be just the service name, which for home directories is the name
2099 of the user.
2101 .B Default: 
2102         only user = False
2104 .B Example: 
2105         only user = True
2107 .SS os level (G)
2108 This integer value controls what level Samba advertises itself as for
2109 browse elections. See BROWSING.txt for details.
2111 .SS packet size (G)
2112 The maximum transmit packet size during a raw read. This option is no
2113 longer implemented as of version 1.7.00, and is kept only so old
2114 configuration files do not become invalid.
2116 .SS passwd chat (G)
2117 This string controls the "chat" conversation that takes places
2118 between smbd and the local password changing program to change the
2119 users password. The string describes a sequence of response-receive
2120 pairs that smbd uses to determine what to send to the passwd program
2121 and what to expect back. If the expected output is not received then
2122 the password is not changed.
2124 This chat sequence is often quite site specific, depending on what
2125 local methods are used for password control (such as NIS+ etc).
2127 The string can contain the macros %o and %n which are substituted for
2128 the old and new passwords respectively. It can also contain the
2129 standard macros \en \er \et and \es to give line-feed, carriage-return,
2130 tab and space.
2132 The string can also contain a * which matches any sequence of
2133 characters.
2135 Double quotes can be used to collect strings with spaces in them into
2136 a single string.
2138 If the send string in any part of the chat sequence is a fullstop "."
2139 then no string is sent. Similarly, is the expect string is a fullstop
2140 then no string is expected.
2142 .B Example:
2143         passwd chat = "*Enter OLD password*" %o\en "*Enter NEW password*" %n\en \e
2144                        "*Reenter NEW password*" %n\en "*Password changed*"
2147 .B Default:
2148        passwd chat = *old*password* %o\en *new*password* %n\en *new*password* %n\en *changed*
2150 .SS passwd program (G)
2151 The name of a program that can be used to set user passwords.
2153 This is only necessary if you have enabled remote password changing at
2154 compile time. Any occurrences of %u will be replaced with the user
2155 name.
2157 Also note that many passwd programs insist in "reasonable" passwords,
2158 such as a minimum length, or the inclusion of mixed case chars and
2159 digits. This can pose a problem as some clients (such as Windows for
2160 Workgroups) uppercase the password before sending it. 
2162 .B Default:
2163         passwd program = /bin/passwd
2165 .B Example:
2166         passwd program = /sbin/passwd %u
2168 .SS password level (G)
2169 Some client/server combinations have difficulty with mixed-case passwords.
2170 One offending client is Windows for Workgroups, which for some reason forces
2171 passwords to upper case when using the LANMAN1 protocol, but leaves them alone
2172 when using COREPLUS!
2174 This parameter defines the maximum number of characters that may be upper case
2175 in passwords.
2177 For example, say the password given was "FRED". If
2178 .B password level
2179 is set to 1 (one), the following combinations would be tried if "FRED" failed:
2180 "Fred", "fred", "fRed", "frEd", "freD". If
2181 .B password level was set to 2 (two), the following combinations would also be
2182 tried: "FRed", "FrEd", "FreD", "fREd", "fReD", "frED". And so on.
2184 The higher value this parameter is set to the more likely it is that a mixed
2185 case password will be matched against a single case password. However, you
2186 should be aware that use of this parameter reduces security and increases the
2187 time taken to process a new connection.
2189 A value of zero will cause only two attempts to be made - the password as is
2190 and the password in all-lower case.
2192 If you find the connections are taking too long with this option then
2193 you probably have a slow crypt() routine. Samba now comes with a fast
2194 "ufc crypt" that you can select in the Makefile. You should also make
2195 sure the PASSWORD_LENGTH option is correct for your system in local.h
2196 and includes.h. On most systems only the first 8 chars of a password
2197 are significant so PASSWORD_LENGTH should be 8, but on some longer
2198 passwords are significant. The includes.h file tries to select the
2199 right length for your system.
2201 .B Default:
2202         password level = 0
2204 .B Example:
2205         password level = 4
2207 .SS password server (G)
2209 By specifying the name of another SMB server (such as a WinNT box)
2210 with this option, and using "security = server" you can get Samba to
2211 do all its username/password validation via a remote server.
2213 This options sets the name of the password server to use. It must be a
2214 netbios name, so if the machine's netbios name is different from its
2215 internet name then you may have to add its netbios name to
2216 /etc/hosts.
2218 The password server much be a machine capable of using the "LM1.2X002"
2219 or the "LM NT 0.12" protocol, and it must be in user level security
2220 mode. 
2222 NOTE: Using a password server means your UNIX box (running Samba) is
2223 only as secure as your password server. DO NOT CHOOSE A PASSWORD
2224 SERVER THAT YOU DON'T COMPLETELY TRUST.
2226 Never point a Samba server at itself for password serving. This will
2227 cause a loop and could lock up your Samba server!
2229 The name of the password server takes the standard substitutions, but
2230 probably the only useful one is %m, which means the Samba server will
2231 use the incoming client as the password server. If you use this then
2232 you better trust your clients, and you better restrict them with hosts
2233 allow!
2235 If you list several hosts in the "password server" option then smbd
2236 will try each in turn till it finds one that responds. This is useful
2237 in case your primary server goes down.
2239 .SS path (S)
2240 A synonym for this parameter is 'directory'.
2242 This parameter specifies a directory to which the user of the service is to
2243 be given access. In the case of printable services, this is where print data 
2244 will spool prior to being submitted to the host for printing.
2246 For a printable service offering guest access, the service should be readonly
2247 and the path should be world-writable and have the sticky bit set. This is not
2248 mandatory of course, but you probably won't get the results you expect if you
2249 do otherwise.
2251 Any occurrences of %u in the path will be replaced with the username
2252 that the client is connecting as. Any occurrences of %m will be
2253 replaced by the name of the machine they are connecting from. These
2254 replacements are very useful for setting up pseudo home directories
2255 for users.
2257 Note that this path will be based on 'root dir' if one was specified.
2258 .B Default:
2259         none
2261 .B Example:
2262         path = /home/fred+ 
2264 .SS postexec (S)
2266 This option specifies a command to be run whenever the service is
2267 disconnected. It takes the usual substitutions. The command may be run
2268 as the root on some systems.
2270 An interesting example may be do unmount server resources:
2272 postexec = /etc/umount /cdrom
2274 See also preexec
2276 .B Default:
2277       none (no command executed)
2279 .B Example:
2280       postexec = echo \e"%u disconnected from %S from %m (%I)\e" >> /tmp/log
2282 .SS postscript (S)
2283 This parameter forces a printer to interpret the print files as
2284 postscript. This is done by adding a %! to the start of print output. 
2286 This is most useful when you have lots of PCs that persist in putting
2287 a control-D at the start of print jobs, which then confuses your
2288 printer.
2290 .B Default: 
2291         postscript = False
2293 .B Example: 
2294         postscript = True
2296 .SS preexec (S)
2298 This option specifies a command to be run whenever the service is
2299 connected to. It takes the usual substitutions.
2301 An interesting example is to send the users a welcome message every
2302 time they log in. Maybe a message of the day? Here is an example:
2304 preexec = csh -c 'echo \e"Welcome to %S!\e" | \e
2305        /usr/local/samba/bin/smbclient -M %m -I %I' &
2307 Of course, this could get annoying after a while :-)
2309 See also postexec
2311 .B Default:
2312         none (no command executed)
2314 .B Example:
2315         preexec = echo \e"%u connected to %S from %m (%I)\e" >> /tmp/log
2317 .SS preferred master (G)
2318 This boolean parameter controls if Samba is a preferred master browser
2319 for its workgroup.
2320 If this is set to true, on startup, samba will force an election, 
2321 and it will have a slight advantage in winning the election.  
2322 It is recommended that this parameter is used in conjunction 
2323 with domain master = yes, so that samba can guarantee becoming 
2324 a domain master.  
2326 Use this option with caution, because if there are several hosts
2327 (whether samba servers, Windows 95 or NT) that are preferred master
2328 browsers on the same subnet, they will each periodically and continuously
2329 attempt to become the local master browser.  This will result in
2330 unnecessary broadcast traffic and reduced browsing capabilities.
2333 .B os level = nn
2335 .B Default:
2336         preferred master = no
2338 .SS preload
2339 This is an alias for "auto services"
2341 .SS preserve case (S)
2343 This controls if new filenames are created with the case that the
2344 client passes, or if they are forced to be the "default" case.
2346 .B Default:
2347        preserve case = no
2349 See the section on "NAME MANGLING" for a fuller discussion.
2351 .SS print command (S)
2352 After a print job has finished spooling to a service, this command will be
2353 used via a system() call to process the spool file. Typically the command 
2354 specified will submit the spool file to the host's printing subsystem, but
2355 there is no requirement that this be the case. The server will not remove the
2356 spool file, so whatever command you specify should remove the spool file when
2357 it has been processed, otherwise you will need to manually remove old spool
2358 files.
2360 The print command is simply a text string. It will be used verbatim,
2361 with two exceptions: All occurrences of "%s" will be replaced by the
2362 appropriate spool file name, and all occurrences of "%p" will be
2363 replaced by the appropriate printer name. The spool file name is
2364 generated automatically by the server, the printer name is discussed
2365 below.
2367 The full path name will be used for the filename if %s is not preceded
2368 by a /. If you don't like this (it can stuff up some lpq output) then
2369 use %f instead. Any occurrences of %f get replaced by the spool
2370 filename without the full path at the front.
2372 The print command MUST contain at least one occurrence of "%s" or %f -
2373 the "%p" is optional. At the time a job is submitted, if no printer
2374 name is supplied the "%p" will be silently removed from the printer
2375 command.
2377 If specified in the [global] section, the print command given will be used
2378 for any printable service that does not have its own print command specified.
2380 If there is neither a specified print command for a printable service nor a 
2381 global print command, spool files will be created but not processed and (most
2382 importantly) not removed.
2384 Note that printing may fail on some UNIXes from the "nobody"
2385 account. If this happens then create an alternative guest account that
2386 can print and set the "guest account" in the [global] section.
2388 You can form quite complex print commands by realising that they are
2389 just passed to a shell. For example the following will log a print
2390 job, print the file, then remove it. Note that ; is the usual
2391 separator for command in shell scripts.
2393 print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s
2395 You may have to vary this command considerably depending on how you
2396 normally print files on your system.
2398 .B Default:
2399         print command = lpr -r -P %p %s
2401 .B Example:
2402         print command = /usr/local/samba/bin/myprintscript %p %s
2403 .SS print ok (S)
2405 .B printable.
2406 .SS printable (S)
2407 A synonym for this parameter is 'print ok'.
2409 If this parameter is 'yes', then clients may open, write to and submit spool 
2410 files on the directory specified for the service.
2412 Note that a printable service will ALWAYS allow writing to the service path
2413 (user privileges permitting) via the spooling of print data. The 'read only'
2414 parameter controls only non-printing access to the resource.
2416 .B Default:
2417         printable = no
2419 .B Example:
2420         printable = yes
2422 .SS printcap name (G)
2423 This parameter may be used to override the compiled-in default printcap
2424 name used by the server (usually /etc/printcap). See the discussion of the
2425 [printers] section above for reasons why you might want to do this.
2427 For those of you without a printcap (say on SysV) you can just create a
2428 minimal file that looks like a printcap and set "printcap name =" in
2429 [global] to point at it.
2431 A minimal printcap file would look something like this:
2433 print1|My Printer 1
2435 print2|My Printer 2
2437 print3|My Printer 3
2439 print4|My Printer 4
2441 print5|My Printer 5
2443 where the | separates aliases of a printer. The fact that the second
2444 alias has a space in it gives a hint to Samba that it's a comment.
2446 NOTE: Under AIX the default printcap name is "/etc/qconfig". Samba
2447 will assume the file is in AIX "qconfig" format if the string
2448 "/qconfig" appears in the printcap filename.
2450 .B Default:
2451         printcap name = /etc/printcap
2453 .B Example:
2454         printcap name = /etc/myprintcap
2455 .SS printer (S)
2456 A synonym for this parameter is 'printer name'.
2458 This parameter specifies the name of the printer to which print jobs spooled
2459 through a printable service will be sent.
2461 If specified in the [global] section, the printer name given will be used
2462 for any printable service that does not have its own printer name specified.
2464 .B Default:
2465         none (but may be 'lp' on many systems)
2467 .B Example:
2468         printer name = laserwriter
2470 .SS printer driver (S)
2471 This option allows you to control the string that clients receive when
2472 they ask the server for the printer driver associated with a
2473 printer. If you are using Windows95 or WindowsNT then you can use this
2474 to automate the setup of printers on your system.
2476 You need to set this parameter to the exact string (case sensitive)
2477 that describes the appropriate printer driver for your system. 
2478 If you don't know the exact string to use then you should first try
2479 with no "printer driver" option set and the client will give you a
2480 list of printer drivers. The appropriate strings are shown in a
2481 scrollbox after you have chosen the printer manufacturer.
2483 .B Example:
2484         printer driver = HP LaserJet 4L
2486 .SS printer name (S)
2488 .B printer.
2490 .SS printing (G)
2491 This parameters controls how printer status information is interpreted
2492 on your system, and also affects the default values for the "print
2493 command", "lpq command" and "lprm command".
2495 Currently six printing styles are supported. They are "printing =
2496 bsd", "printing = sysv", "printing = hpux", "printing = aix",
2497 "printing = qnx" and "printing = plp".
2499 To see what the defaults are for the other print commands when using
2500 these three options use the "testparm" program.
2503 .SS protocol (G)
2504 The value of the parameter (a string) is the highest protocol level that will
2505 be supported by the server. 
2507 Possible values are CORE, COREPLUS, LANMAN1, LANMAN2 and NT1. The relative
2508 merits of each are discussed in the README file.
2510 Normally this option should not be set as the automatic negotiation
2511 phase in the SMB protocol takes care of choosing the appropriate protocol.
2513 .B Default:
2514         protocol = NT1
2516 .B Example:
2517         protocol = LANMAN1
2518 .SS public (S)
2519 A synonym for this parameter is 'guest ok'.
2521 If this parameter is 'yes' for a service, then no password is required
2522 to connect to the service. Privileges will be those of the guest
2523 account.
2525 See the section below on user/password validation for more information about
2526 this option.
2528 .B Default:
2529         public = no
2531 .B Example:
2532         public = yes
2533 .SS read list (S)
2534 This is a list of users that are given read-only access to a
2535 service. If the connecting user is in this list then they will
2536 not be given write access, no matter what the "read only" option
2537 is set to. The list can include group names using the @group syntax.
2539 See also the "write list" option
2541 .B Default:
2542      read list =
2544 .B Example:
2545      read list = mary, @students
2547 .SS read only (S)
2549 .B writable
2551 .B write ok.
2552 Note that this is an inverted synonym for writable and write ok.
2553 .SS read prediction (G)
2554 This options enables or disables the read prediction code used to
2555 speed up reads from the server. When enabled the server will try to
2556 pre-read data from the last accessed file that was opened read-only
2557 while waiting for packets.
2559 .SS Default:
2560         read prediction = False
2562 .SS Example:
2563         read prediction = True
2564 .SS read raw (G)
2565 This parameter controls whether or not the server will support raw reads when
2566 transferring data to clients.
2568 If enabled, raw reads allow reads of 65535 bytes in one packet. This
2569 typically provides a major performance benefit.
2571 However, some clients either negotiate the allowable block size incorrectly
2572 or are incapable of supporting larger block sizes, and for these clients you
2573 may need to disable raw reads.
2575 In general this parameter should be viewed as a system tuning tool and left
2576 severely alone. See also
2577 .B write raw.
2579 .B Default:
2580         read raw = yes
2582 .B Example:
2583         read raw = no
2584 .SS read size (G)
2586 The option "read size" affects the overlap of disk reads/writes with
2587 network reads/writes. If the amount of data being transferred in
2588 several of the SMB commands (currently SMBwrite, SMBwriteX and
2589 SMBreadbraw) is larger than this value then the server begins writing
2590 the data before it has received the whole packet from the network, or
2591 in the case of SMBreadbraw, it begins writing to the network before
2592 all the data has been read from disk.
2594 This overlapping works best when the speeds of disk and network access
2595 are similar, having very little effect when the speed of one is much
2596 greater than the other.
2598 The default value is 2048, but very little experimentation has been
2599 done yet to determine the optimal value, and it is likely that the best
2600 value will vary greatly between systems anyway. A value over 65536 is
2601 pointless and will cause you to allocate memory unnecessarily.
2603 .B Default:
2604         read size = 2048
2606 .B Example:
2607         read size = 8192
2609 .SS remote announce (G)
2611 This option allows you to setup nmbd to periodically announce itself
2612 to arbitrary IP addresses with an arbitrary workgroup name. 
2614 This is useful if you want your Samba server to appear in a remote
2615 workgroup for which the normal browse propagation rules don't
2616 work. The remote workgroup can be anywhere that you can send IP
2617 packets to.
2619 For example:
2621        remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF
2623 the above line would cause nmbd to announce itself to the two given IP
2624 addresses using the given workgroup names. If you leave out the
2625 workgroup name then the one given in the "workgroup" option is used
2626 instead. 
2628 The IP addresses you choose would normally be the broadcast addresses
2629 of the remote networks, but can also be the IP addresses of known
2630 browse masters if your network config is that stable.
2632 This option replaces similar functionality from the nmbd lmhosts file.
2634 .SS revalidate (S)
2636 This options controls whether Samba will allow a previously validated
2637 username/password pair to be used to attach to a share. Thus if you
2638 connect to \e\eserver\eshare1 then to \e\eserver\eshare2 it won't
2639 automatically allow the client to request connection to the second
2640 share as the same username as the first without a password.
2642 If "revalidate" is True then the client will be denied automatic
2643 access as the same username.
2645 .B Default:
2646         revalidate = False
2648 .B Example:
2649         revalidate = True
2651 .SS root (G)
2653 .B root directory.
2654 .SS root dir (G)
2656 .B root directory.
2657 .SS root directory (G)
2658 Synonyms for this parameter are 'root dir' and 'root'.
2660 The server will chroot() to this directory on startup. This is not 
2661 strictly necessary for secure operation. Even without it the server
2662 will deny access to files not in one of the service entries. It may 
2663 also check for, and deny access to, soft links to other parts of the 
2664 filesystem, or attempts to use .. in file names to access other 
2665 directories (depending on the setting of the "wide links" parameter).
2667 Adding a "root dir" entry other than "/" adds an extra level of security, 
2668 but at a price. It absolutely ensures that no access is given to files not
2669 in the sub-tree specified in the "root dir" option, *including* some files 
2670 needed for complete operation of the server. To maintain full operability
2671 of the server you will need to mirror some system files into the "root dir"
2672 tree. In particular you will need to mirror /etc/passwd (or a subset of it),
2673 and any binaries or configuration files needed for printing (if required). 
2674 The set of files that must be mirrored is operating system dependent.
2676 .B Default:
2677         root directory = /
2679 .B Example:
2680         root directory = /homes/smb
2681 .SS root postexec (S)
2683 This is the same as postexec except that the command is run as
2684 root. This is useful for unmounting filesystems (such as cdroms) after
2685 a connection is closed.
2687 .SS root preexec (S)
2689 This is the same as preexec except that the command is run as
2690 root. This is useful for mounting filesystems (such as cdroms) before
2691 a connection is finalised.
2693 .SS security (G)
2694 This option affects how clients respond to Samba.
2696 The option sets the "security mode bit" in replies to protocol negotiations
2697 to turn share level security on or off. Clients decide based on this bit 
2698 whether (and how) to transfer user and password information to the server.
2700 The default is "security=SHARE", mainly because that was the only
2701 option at one stage.
2703 The alternatives are "security = user" or "security = server". 
2705 If your PCs use usernames that are the same as their usernames on the
2706 UNIX machine then you will want to use "security = user". If you
2707 mostly use usernames that don't exist on the UNIX box then use
2708 "security = share".
2710 There is a bug in WfWg that may affect your decision. When in user
2711 level security a WfWg client will totally ignore the password you type
2712 in the "connect drive" dialog box. This makes it very difficult (if
2713 not impossible) to connect to a Samba service as anyone except the
2714 user that you are logged into WfWg as.
2716 If you use "security = server" then Samba will try to validate the
2717 username/password by passing it to another SMB server, such as an NT
2718 box. If this fails it will revert to "security = USER".
2720 See the "password server" option for more details.
2722 .B Default:
2723         security = SHARE
2725 .B Example:
2726         security = USER
2727 .SS server string (G)
2728 This controls what string will show up in the printer comment box in
2729 print manager and next to the IPC connection in "net view". It can be
2730 any string that you wish to show to your users.
2732 It also sets what will appear in browse lists next to the machine name.
2734 A %v will be replaced with the Samba version number.
2736 A %h will be replaced with the hostname.
2738 .B Default:
2739         server string = Samba %v
2741 .B Example:
2742         server string = University of GNUs Samba Server
2744 .SS set directory (S)
2745 If 'set directory = no', then users of the service may not use the setdir
2746 command to change directory.
2748 The setdir command is only implemented in the Digital Pathworks client. See the
2749 Pathworks documentation for details.
2751 .B Default:
2752         set directory = no
2754 .B Example:
2755         set directory = yes
2757 .SS shared file entries (G)
2758 This parameter is only useful when Samba has been compiled with FAST_SHARE_MODES.
2759 It specifies the number of hash bucket entries used for share file locking.
2760 You should never change this parameter unless you have studied the source 
2761 and know what you are doing.
2763 .B Default
2764         shared file entries = 113
2766 .SS shared mem size (G)
2767 This parameter is only useful when Samba has been compiled with FAST_SHARE_MODES.
2768 It specifies the size of the shared memory (in bytes) to use between smbd 
2769 processes. You should never change this parameter unless you have studied 
2770 the source and know what you are doing.
2772 .B Default
2773         shared mem size = 102400
2775 .SS smb passwd file (G)
2776 This option sets the path to the encrypted smbpasswd file. This is a *VERY
2777 DANGEROUS OPTION* if the smb.conf is user writable. By default the path
2778 to the smbpasswd file is compiled into Samba.
2780 .SS smbrun (G)
2781 This sets the full path to the smbrun binary. This defaults to the
2782 value in the Makefile.
2784 You must get this path right for many services to work correctly.
2786 .B Default:
2787 taken from Makefile
2789 .B Example:
2790         smbrun = /usr/local/samba/bin/smbrun
2792 .SS share modes (S)
2794 This enables or disables the honouring of the "share modes" during a
2795 file open. These modes are used by clients to gain exclusive read or
2796 write access to a file. 
2798 These open modes are not directly supported by UNIX, so they are
2799 simulated using lock files in the "lock directory". The "lock
2800 directory" specified in smb.conf must be readable by all users.
2802 The share modes that are enabled by this option are DENY_DOS,
2803 DENY_ALL, DENY_READ, DENY_WRITE, DENY_NONE and DENY_FCB.
2805 Enabling this option gives full share compatibility but may cost a bit
2806 of processing time on the UNIX server. They are enabled by default.
2808 .B Default:
2809         share modes = yes
2811 .B Example:
2812         share modes = no
2814 .SS short preserve case (S)
2816 This controls if new short filenames are created with the case that
2817 the client passes, or if they are forced to be the "default" case.
2819 .B Default:
2820        short preserve case = no
2822 See the section on "NAME MANGLING" for a fuller discussion.
2824 .SS socket address (G)
2826 This option allows you to control what address Samba will listen for
2827 connections on. This is used to support multiple virtual interfaces on
2828 the one server, each with a different configuration.
2830 By default samba will accept connections on any address.
2832 .B Example:
2833         socket address = 192.168.2.20
2835 .SS socket options (G)
2836 This option (which can also be invoked with the -O command line
2837 option) allows you to set socket options to be used when talking with
2838 the client.
2840 Socket options are controls on the networking layer of the operating
2841 systems which allow the connection to be tuned.
2843 This option will typically be used to tune your Samba server for
2844 optimal performance for your local network. There is no way that Samba
2845 can know what the optimal parameters are for your net, so you must
2846 experiment and choose them yourself. I strongly suggest you read the
2847 appropriate documentation for your operating system first (perhaps
2848 "man setsockopt" will help).
2850 You may find that on some systems Samba will say "Unknown socket
2851 option" when you supply an option. This means you either mis-typed it
2852 or you need to add an include file to includes.h for your OS. If the
2853 latter is the case please send the patch to me
2854 (samba-bugs@samba.anu.edu.au).
2856 Any of the supported socket options may be combined in any way you
2857 like, as long as your OS allows it.
2859 This is the list of socket options currently settable using this
2860 option:
2862   SO_KEEPALIVE
2864   SO_REUSEADDR
2866   SO_BROADCAST
2868   TCP_NODELAY
2870   IPTOS_LOWDELAY
2872   IPTOS_THROUGHPUT
2874   SO_SNDBUF *
2876   SO_RCVBUF *
2878   SO_SNDLOWAT *
2880   SO_RCVLOWAT *
2882 Those marked with a * take an integer argument. The others can
2883 optionally take a 1 or 0 argument to enable or disable the option, by
2884 default they will be enabled if you don't specify 1 or 0.
2886 To specify an argument use the syntax SOME_OPTION=VALUE for example
2887 SO_SNDBUF=8192. Note that you must not have any spaces before or after
2888 the = sign.
2890 If you are on a local network then a sensible option might be
2892 socket options = IPTOS_LOWDELAY
2894 If you have an almost unloaded local network and you don't mind a lot
2895 of extra CPU usage in the server then you could try
2897 socket options = IPTOS_LOWDELAY TCP_NODELAY
2899 If you are on a wide area network then perhaps try setting
2900 IPTOS_THROUGHPUT. 
2902 Note that several of the options may cause your Samba server to fail
2903 completely. Use these options with caution!
2905 .B Default:
2906         no socket options
2908 .B Example:
2909         socket options = IPTOS_LOWDELAY 
2914 .SS status (G)
2915 This enables or disables logging of connections to a status file that
2916 .B smbstatus
2917 can read.
2919 With this disabled
2920 .B smbstatus
2921 won't be able to tell you what
2922 connections are active.
2924 .B Default:
2925         status = yes
2927 .B Example:
2928         status = no
2930 .SS strict locking (S)
2931 This is a boolean that controls the handling of file locking in the
2932 server. When this is set to yes the server will check every read and
2933 write access for file locks, and deny access if locks exist. This can
2934 be slow on some systems.
2936 When strict locking is "no" the server does file lock checks only when
2937 the client explicitly asks for them. 
2939 Well behaved clients always ask for lock checks when it is important,
2940 so in the vast majority of cases "strict locking = no" is preferable.
2942 .B Default:
2943         strict locking = no
2945 .B Example:
2946         strict locking = yes
2948 .SS strip dot (G)
2949 This is a boolean that controls whether to strip trailing dots off
2950 filenames. This helps with some CDROMs that have filenames ending in a
2951 single dot.
2953 NOTE: This option is now obsolete, and may be removed in future. You
2954 should use the "mangled map" option instead as it is much more
2955 general. 
2957 .SS syslog (G)
2958 This parameter maps how Samba debug messages are logged onto the
2959 system syslog logging levels. Samba debug level zero maps onto
2960 syslog LOG_ERR, debug level one maps onto LOG_WARNING, debug
2961 level two maps to LOG_NOTICE, debug level three maps onto LOG_INFO.
2962 The paramter sets the threshold for doing the mapping, all Samba
2963 debug messages above this threashold are mapped to syslog LOG_DEBUG
2964 messages.
2966 .B Default:
2968         syslog = 1
2970 .SS syslog only (G)
2971 If this parameter is set then Samba debug messages are logged into
2972 the system syslog only, and not to the debug log files.
2974 .B Default:
2975         syslog only = no
2977 .SS sync always (S)
2979 This is a boolean parameter that controls whether writes will always
2980 be written to stable storage before the write call returns. If this is
2981 false then the server will be guided by the client's request in each
2982 write call (clients can set a bit indicating that a particular write
2983 should be synchronous). If this is true then every write will be
2984 followed by a fsync() call to ensure the data is written to disk.
2986 .B Default:
2987         sync always = no
2989 .B Example:
2990         sync always = yes
2992 .SS time offset (G)
2993 This parameter is a setting in minutes to add to the normal GMT to
2994 local time conversion. This is useful if you are serving a lot of PCs
2995 that have incorrect daylight saving time handling.
2997 .B Default:
2998         time offset = 0
3000 .B Example:
3001         time offset = 60
3003 .SS time server (G)
3004 This parameter determines if nmbd advertises itself as a time server
3005 to Windows clients. The default is False.
3007 .B Default:
3008         time server = False
3010 .B Example:
3011         time server = True
3013 .SS unix realname (G)
3014 This boolean parameter when set causes samba to supply the real name field
3015 from the unix password file to the client. This is useful for setting up
3016 mail clients and WWW browsers on systems used by more than one person.
3018 .B Default:
3019         unix realname = no
3021 .B Example:
3022         unix realname = yes
3024 .SS user (S)
3026 .B username.
3027 .SS username (S)
3028 A synonym for this parameter is 'user'.
3030 Multiple users may be specified in a comma-delimited list, in which case the
3031 supplied password will be tested against each username in turn (left to right).
3033 The username= line is needed only when the PC is unable to supply its own
3034 username. This is the case for the coreplus protocol or where your
3035 users have different WfWg usernames to UNIX usernames. In both these
3036 cases you may also be better using the \e\eserver\eshare%user syntax
3037 instead. 
3039 The username= line is not a great solution in many cases as it means Samba
3040 will try to validate the supplied password against each of the
3041 usernames in the username= line in turn. This is slow and a bad idea for
3042 lots of users in case of duplicate passwords. You may get timeouts or
3043 security breaches using this parameter unwisely.
3045 Samba relies on the underlying UNIX security. This parameter does not
3046 restrict who can login, it just offers hints to the Samba server as to
3047 what usernames might correspond to the supplied password. Users can
3048 login as whoever they please and they will be able to do no more
3049 damage than if they started a telnet session. The daemon runs as the
3050 user that they log in as, so they cannot do anything that user cannot
3053 To restrict a service to a particular set of users you can use the
3054 "valid users=" line.
3056 If any of the usernames begin with a @ then the name will be looked up
3057 in the groups file and will expand to a list of all users in the group
3058 of that name. Note that searching though a groups file can take quite
3059 some time, and some clients may time out during the search.
3061 See the section below on username/password validation for more information
3062 on how this parameter determines access to the services.
3064 .B Default:
3065         The guest account if a guest service, else the name of the service.
3067 .B Examples:
3068         username = fred
3069         username = fred, mary, jack, jane, @users, @pcgroup
3071 .SS username map (G)
3073 This option allows you to to specify a file containing a mapping of
3074 usernames from the clients to the server. This can be used for several
3075 purposes. The most common is to map usernames that users use on DOS or
3076 Windows machines to those that the UNIX box uses. The other is to map
3077 multiple users to a single username so that they can more easily share
3078 files.
3080 The map file is parsed line by line. Each line should contain a single
3081 UNIX username on the left then a '=' followed by a list of usernames
3082 on the right. The list of usernames on the right may contain names of
3083 the form @group in which case they will match any UNIX username in
3084 that group. The special client name '*' is a wildcard and matches any
3085 name.
3087 The file is processed on each line by taking the supplied username and
3088 comparing it with each username on the right hand side of the '='
3089 signs. If the supplied name matches any of the names on the right
3090 hand side then it is replaced with the name on the left. Processing
3091 then continues with the next line.
3093 If any line begins with a '#' or a ';' then it is ignored
3095 For example to map from the name "admin" or "administrator" to the UNIX
3096 name "root" you would use
3098         root = admin administrator
3100 Or to map anyone in the UNIX group "system" to the UNIX name "sys" you
3101 would use
3103         sys = @system
3105 You can have as many mappings as you like in a username map file.
3107 Note that the remapping is applied to all occurrences of
3108 usernames. Thus if you connect to "\e\eserver\efred" and "fred" is
3109 remapped to "mary" then you will actually be connecting to
3110 "\e\eserver\emary" and will need to supply a password suitable for
3111 "mary" not "fred". The only exception to this is the username passed
3112 to the "password server" (if you have one). The password server will
3113 receive whatever username the client supplies without modification.
3115 Also note that no reverse mapping is done. The main effect this has is
3116 with printing. Users who have been mapped may have trouble deleting
3117 print jobs as PrintManager under WfWg will think they don't own the
3118 print job.
3120 .B Default
3121         no username map
3123 .B Example
3124         username map = /usr/local/samba/lib/users.map
3126 .SS valid chars (S)
3128 The option allows you to specify additional characters that should be
3129 considered valid by the server in filenames. This is particularly
3130 useful for national character sets, such as adding u-umlaut or a-ring.
3132 The option takes a list of characters in either integer or character
3133 form with spaces between them. If you give two characters with a colon
3134 between them then it will be taken as an lowercase:uppercase pair.
3136 If you have an editor capable of entering the characters into the
3137 config file then it is probably easiest to use this method. Otherwise
3138 you can specify the characters in octal, decimal or hexadecimal form
3139 using the usual C notation.
3141 For example to add the single character 'Z' to the charset (which is a
3142 pointless thing to do as it's already there) you could do one of the
3143 following
3145 valid chars = Z
3146 valid chars = z:Z
3147 valid chars = 0132:0172
3149 The last two examples above actually add two characters, and alter
3150 the uppercase and lowercase mappings appropriately.
3152 Note that you MUST specify this parameter after the "client code page"
3153 parameter if you have both set. If "client code page" is set after
3154 the "valid chars" parameter the "valid chars" settings will be
3155 overwritten.
3157 See also the "client code page" parameter.
3159 .B Default
3161         Samba defaults to using a reasonable set of valid characters
3163         for english systems
3165 .B Example
3166         valid chars = 0345:0305 0366:0326 0344:0304
3168 The above example allows filenames to have the swedish characters in
3169 them. 
3171 NOTE: It is actually quite difficult to correctly produce a "valid
3172 chars" line for a particular system. To automate the process
3173 tino@augsburg.net has written a package called "validchars" which will
3174 automatically produce a complete "valid chars" line for a given client
3175 system. Look in the examples subdirectory for this package.
3177 .SS valid users (S)
3178 This is a list of users that should be allowed to login to this
3179 service. A name starting with @ is interpreted as a UNIX group.
3181 If this is empty (the default) then any user can login. If a username
3182 is in both this list and the "invalid users" list then access is
3183 denied for that user.
3185 The current servicename is substituted for %S. This is useful in the
3186 [homes] section.
3188 See also "invalid users"
3190 .B Default
3191         No valid users list. (anyone can login)
3193 .B Example
3194         valid users = greg, @pcusers
3197 .SS veto files(S)
3198 This is a list of files and directories that are neither visible nor
3199 accessible.  Each entry in the list must be separated by a "\\", which
3200 allows spaces to be included in the entry.  '*' and '?' can be used to
3201 specify multiple files or directories as in DOS wildcards.
3203 Each entry must be a unix path, not a DOS path.  Therefore, the pathname
3204 specified between separators "\\", if it incudes directories, must use the
3205 unix directory specifier "/", not the DOS directory specifier "\\".
3207 Note that the case sensitivity option is applicable in vetoing files.
3209 One feature of the veto files parameter that it is important to be
3210 aware of, is that if a directory contains nothing but files that
3211 match the veto files parameter (which means that Windows/DOS clients
3212 cannot ever see them) is deleted, the veto files within that directory
3213 *are automatically deleted* along with it, if the user has UNIX permissions
3214 to do so.
3216 See also "hide files" and "case sensitive"
3218 .B Default
3219         No files or directories are vetoed.
3221 .B Examples
3222     Example 1.
3223     Veto any files containing the word Security, 
3224     any ending in .tmp, and any directory containing the
3225     component /root/.
3227         veto files = \\*Security*\\*.tmp\\*/root/*\\
3229     Example 2.
3230     Veto the Apple specific files that a NetAtalk server
3231     creates.
3233     veto files = \.AppleDouble\.bin\.AppleDesktop\Network Trash Folder\
3235 .SS volume (S)
3236 This allows you to override the volume label returned for a
3237 share. Useful for CDROMs with installation programs that insist on a
3238 particular volume label.
3240 The default is the name of the share
3242 .SS wide links (S)
3243 This parameter controls whether or not links in the UNIX file system may be
3244 followed by the server. Links that point to areas within the directory tree
3245 exported by the server are always allowed; this parameter controls access 
3246 only to areas that are outside the directory tree being exported.
3248 .B Default:
3249         wide links = yes
3251 .B Example:
3252         wide links = no
3254 .SS wins proxy (G)
3256 This is a boolean that controls if nmbd will respond to broadcast name
3257 queries on behalf of other hosts. You may need to set this to no for
3258 some older clients.
3260 .B Default:
3261         wins proxy = no
3262 .SS wins server (G)
3264 This specifies the DNS name (or IP address) of the WINS server that Samba 
3265 should register with. If you have a WINS server on your network then you
3266 should set this to the WINS servers name.
3268 You should point this at your WINS server if you have a multi-subnetted
3269 network.
3270 .B Default:
3271         wins server = 
3273 .SS wins support (G)
3275 This boolean controls if Samba will act as a WINS server. You should
3276 not set this to true unless you have a multi-subnetted network and
3277 you wish a particular nmbd to be your WINS server. Note that you
3278 should *NEVER* set this to true on more than one machine in your
3279 network.
3281 .B Default:
3282         wins support = no
3283 .SS workgroup (G)
3285 This controls what workgroup your server will appear to be in when
3286 queried by clients. 
3288 .B Default:
3289         set in the Makefile
3291 .B Example:
3292         workgroup = MYGROUP
3294 .SS writable (S)
3295 A synonym for this parameter is 'write ok'. An inverted synonym is 'read only'.
3297 If this parameter is 'no', then users of a service may not create or modify
3298 files in the service's directory.
3300 Note that a printable service ('printable = yes') will ALWAYS allow 
3301 writing to the directory (user privileges permitting), but only via
3302 spooling operations.
3304 .B Default:
3305         writable = no
3307 .B Examples:
3308         read only = no
3309         writable = yes
3310         write ok = yes
3311 .SS write list (S)
3312 This is a list of users that are given read-write access to a
3313 service. If the connecting user is in this list then they will be
3314 given write access, no matter what the "read only" option is set
3315 to. The list can include group names using the @group syntax.
3317 Note that if a user is in both the read list and the write list then
3318 they will be given write access.
3320 See also the "read list" option
3322 .B Default:
3323      write list =
3325 .B Example:
3326      write list = admin, root, @staff
3328 .SS write ok (S)
3330 .B writable
3332 .B read only.
3333 .SS write raw (G)
3334 This parameter controls whether or not the server will support raw writes when
3335 transferring data from clients.
3337 .B Default:
3338         write raw = yes
3340 .B Example:
3341         write raw = no
3342 .SH NOTE ABOUT USERNAME/PASSWORD VALIDATION
3343 There are a number of ways in which a user can connect to a
3344 service. The server follows the following steps in determining if it
3345 will allow a connection to a specified service. If all the steps fail
3346 then the connection request is rejected. If one of the steps pass then
3347 the following steps are not checked.
3349 If the service is marked "guest only = yes" then steps 1 to 5 are skipped
3351 Step 1: If the client has passed a username/password pair and that
3352 username/password pair is validated by the UNIX system's password
3353 programs then the connection is made as that username. Note that this
3354 includes the \e\eserver\eservice%username method of passing a username.
3356 Step 2: If the client has previously registered a username with the
3357 system and now supplies a correct password for that username then the
3358 connection is allowed.
3360 Step 3: The client's netbios name and any previously used user names
3361 are checked against the supplied password, if they match then the
3362 connection is allowed as the corresponding user.
3364 Step 4: If the client has previously validated a username/password
3365 pair with the server and the client has passed the validation token
3366 then that username is used. This step is skipped if "revalidate = yes" 
3367 for this service.
3369 Step 5: If a "user = " field is given in the smb.conf file for the
3370 service and the client has supplied a password, and that password
3371 matches (according to the UNIX system's password checking) with one of
3372 the usernames from the user= field then the connection is made as the
3373 username in the "user=" line. If one of the username in the user= list
3374 begins with a @ then that name expands to a list of names in the group
3375 of the same name.
3377 Step 6: If the service is a guest service then a connection is made as
3378 the username given in the "guest account =" for the service,
3379 irrespective of the supplied password.
3380 .SH WARNINGS
3381 Although the configuration file permits service names to contain spaces, 
3382 your client software may not. Spaces will be ignored in comparisons anyway,
3383 so it shouldn't be a problem - but be aware of the possibility.
3385 On a similar note, many clients - especially DOS clients - limit service
3386 names to eight characters. Smbd has no such limitation, but attempts
3387 to connect from such clients will fail if they truncate the service names.
3388 For this reason you should probably keep your service names down to eight 
3389 characters in length.
3391 Use of the [homes] and [printers] special sections make life for an 
3392 administrator easy, but the various combinations of default attributes can be
3393 tricky. Take extreme care when designing these sections. In particular,
3394 ensure that the permissions on spool directories are correct.
3395 .SH VERSION
3396 This man page is (mostly) correct for version 1.9.16 of the Samba suite, plus some
3397 of the recent patches to it. These notes will necessarily lag behind 
3398 development of the software, so it is possible that your version of 
3399 the server has extensions or parameter semantics that differ from or are not 
3400 covered by this man page. Please notify these to the address below for 
3401 rectification.
3403 Prior to version 1.5.21 of the Samba suite, the configuration file was
3404 radically different (more primitive). If you are using a version earlier than
3405 1.8.05, it is STRONGLY recommended that you upgrade.
3406 .SH OPTIONS
3407 Not applicable.
3408 .SH FILES
3409 Not applicable.
3410 .SH ENVIRONMENT VARIABLES
3411 Not applicable.
3412 .SH SEE ALSO
3413 .BR smbd (8),
3414 .BR smbclient (1),
3415 .BR nmbd (8),
3416 .BR testparm (1), 
3417 .BR testprns (1),
3418 .BR lpq (1),
3419 .BR hosts_access (5)
3420 .SH DIAGNOSTICS
3421 [This section under construction]
3423 Most diagnostics issued by the server are logged in a specified log file. The
3424 log file name is specified at compile time, but may be overridden on the
3425 smbd command line (see
3426 .BR smbd (8)).
3428 The number and nature of diagnostics available depends on the debug level used
3429 by the server. If you have problems, set the debug level to 3 and peruse the
3430 log files.
3432 Most messages are reasonably self-explanatory. Unfortunately, at time of
3433 creation of this man page the source code is still too fluid to warrant
3434 describing each and every diagnostic. At this stage your best bet is still
3435 to grep the source code and inspect the conditions that gave rise to the 
3436 diagnostics you are seeing.
3437 .SH BUGS
3438 None known.
3440 Please send bug reports, comments and so on to:
3442 .RS 3
3443 .B samba-bugs@samba.anu.edu.au (Andrew Tridgell)
3445 .RS 3
3446 or to the mailing list:
3449 .B samba@listproc.anu.edu.au
3452 You may also like to subscribe to the announcement channel:
3454 .RS 3
3455 .B samba-announce@listproc.anu.edu.au
3458 To subscribe to these lists send a message to
3459 listproc@listproc.anu.edu.au with a body of "subscribe samba Your
3460 Name" or "subscribe samba-announce Your Name".
3462 Errors or suggestions for improvements to the Samba man pages should be 
3463 mailed to:
3465 .RS 3
3466 .B samba-bugs@samba.anu.edu.au (Andrew Tridgell)