From 540af9b304400dc64498eab80a560f6c2209676c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 12 Mar 1998 03:00:44 +0000 Subject: some initial help and images files for swat (This used to be commit d2376416d6350b22550ab56a590afd06d7c4d9bf) --- swat/help/parameters.html | 3368 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3368 insertions(+) create mode 100644 swat/help/parameters.html (limited to 'swat/help/parameters.html') diff --git a/swat/help/parameters.html b/swat/help/parameters.html new file mode 100644 index 0000000000..15cf563983 --- /dev/null +++ b/swat/help/parameters.html @@ -0,0 +1,3368 @@ + + + +SWAT Parameters help

+ +We need to reformat the smb.conf man page as HTML with a label for +each parameter. Anyone want to write a perl script? Currently I've +just done a quick hack with an emacs macro to get something in +place. Or maybe the SGML conversion will be the way to go?

+ +


+ + +

admin users (S)

+ +This is a list of users who will be granted administrative privileges +on the share. This means that they will do all file operations as the +super-user (root).

+ +You should use this option very carefully, as any user in this list +will be able to do anything they like on the share, irrespective of +file permissions.

+ +.B Default: + no admin users

+ +.B Example: + admin users = jason

+ + +

announce as (G)

+ +This specifies what type of server nmbd will announce itself as in +browse lists. By default this is set to Windows NT. The valid options +are "NT", "Win95" or "WfW" meaining Windows NT, Windows 95 and +Windows for Workgroups respectively. Do not change this parameter +unless you have a specific need to stop Samba appearing as an NT +server as this may prevent Samba servers from participating as +browser servers correctly.

+ +.B Default: + announce as = NT

+ +.B Example + announce as = Win95

+ + +

announce version (G)

+ +This specifies the major and minor version numbers that nmbd +will use when announcing itself as a server. The default is 4.2. +Do not change this parameter unless you have a specific need to +set a Samba server to be a downlevel server.

+ +.B Default: + announce version = 4.2

+ +.B Example: + announce version = 2.0

+ + +

auto services (G)

+This is a list of services that you want to be automatically added to +the browse lists. This is most useful for homes and printers services +that would otherwise not be visible.

+ +Note that if you just want all printers in your printcap file loaded +then the "load printers" option is easier.

+ +.B Default: + no auto services

+ +.B Example: + auto services = fred lp colorlp

+ + +

allow hosts (S)

+A synonym for this parameter is 'hosts allow'.

+ +This parameter is a comma delimited set of hosts which are permitted to access +a service.

+ +If specified in the [global] section then it will apply to all +services, regardless of whether the individual service has a different +setting.

+ +You can specify the hosts by name or IP number. For example, you could +restrict access to only the hosts on a Class C subnet with something like +"allow hosts = 150.203.5.". The full syntax of the list is described in +the man page +.BR hosts_access (5).

+ +You can also specify hosts by network/netmask pairs and by netgroup +names if your system supports netgroups. The EXCEPT keyword can also +be used to limit a wildcard list. The following examples may provide +some help:

+ +Example 1: allow all IPs in 150.203.*.* except one

+ + hosts allow = 150.203. EXCEPT 150.203.6.66

+ +Example 2: allow hosts that match the given network/netmask

+ + hosts allow = 150.203.15.0/255.255.255.0

+ +Example 3: allow a couple of hosts

+ + hosts allow = lapland, arvidsjaur

+ +Example 4: allow only hosts in netgroup "foonet" or localhost, but +deny access from one particular host

+ + hosts allow = @foonet, localhost + hosts deny = pirate

+ +Note that access still requires suitable user-level passwords.

+ +See +.BR testparm (1) +for a way of testing your host access to see if it +does what you expect.

+ +.B Default: + none (i.e., all hosts permitted access)

+ +.B Example: + allow hosts = 150.203.5. myhost.mynet.edu.au

+ + +

alternate permissions (S)

+ +This option affects the way the "read only" DOS attribute is produced +for UNIX files. If this is false then the read only bit is set for +files on writeable shares which the user cannot write to.

+ +If this is true then it is set for files whos user write bit is not set.

+ +The latter behaviour is useful for when users copy files from each +others directories, and use a file manager that preserves +permissions. Without this option they may get annoyed as all copied +files will have the "read only" bit set.

+ +.B Default: + alternate permissions = no

+ +.B Example: + alternate permissions = yes

+ + +

available (S)

+This parameter lets you 'turn off' a service. If 'available = no', then +ALL attempts to connect to the service will fail. Such failures are logged.

+ +.B Default: + available = yes

+ +.B Example: + available = no

+ + +

bind interfaces only (G)

+This global parameter (new for 1.9.18) allows the Samba admin to limit +what interfaces on a machine will serve smb requests. If affects file service +(smbd) and name service (nmbd) in slightly different ways.

+ +For name service it causes nmbd to bind to ports 137 and 138 on +the interfaces listed in the 'interfaces' parameter. nmbd also binds +to the 'all addresses' interface (0.0.0.0) on ports 137 and 138 +for the purposes of reading broadcast messages. If this option is +not set then nmbd will service name requests on all of these +sockets. If "bind interfaces only" is set then nmbd will check +the source address of any packets coming in on the broadcast +sockets and discard any that don't match the broadcast addresses +of the interfaces in the 'interfaces' parameter list. As unicast +packets are received on the other sockets it allows nmbd to +refuse to serve names to machines that send packets that arrive +through any interfaces not listed in the 'interfaces' list. +IP Source address spoofing does defeat this simple check, however +so it must not be used seriously as a security feature for nmbd.

+ +For file service it causes smbd to bind only to the interface +list given in the 'interfaces' parameter. This restricts the +networks that smbd will serve to packets coming in those interfaces. +Note that you should not use this parameter for machines that +are serving ppp or other intermittant or non-broadcast network +interfaces as it will not cope with non-permanent interfaces.

+ +.B Default: + bind interfaces only = False

+ +.B Example: + bind interfaces only = True

+ + +

browseable (S)

+This controls whether this share is seen in the list of available +shares in a net view and in the browse list.

+ +.B Default: + browseable = Yes

+ +.B Example: + browseable = No + +

browse list(G)

+This controls whether the smbd will serve a browse list to a client +doing a NetServerEnum call. Normally set to true. You should never +need to change this.

+ +.B Default: + browse list = Yes

+ + +

case sensitive (G)

+See the discussion on NAME MANGLING.

+ + +

case sig names (G)

+See "case sensitive"

+ + +

character set (G)

+This allows a smbd to map incoming characters from a DOS 850 Code page +to either a Western European (ISO8859-1) or Easter European (ISO8859-2) +code page. Normally not set, meaning no filename translation is done.

+ +.B Default

+ + character set =

+ +.B Example

+ + character set = iso8859-1

+ + +

client code page (G)

+Currently (Samba 1.9.17 and above) this may be set to one of two +values, 850 or 437. It specifies the base DOS code page that the +clients accessing Samba are using. To determine this, open a DOS +command prompt and type the command "chcp". This will output the +code page. The default for USA MS-DOS, Windows 95, and Windows NT +releases is code page 437. The default for western european +releases of the above operating systems is code page 850.

+ +This parameter co-operates with the "valid chars" parameter in +determining what characters are valid in filenames and how +capitalization is done. It has been added as a convenience for +clients whose code page is either 437 or 850 so a convoluted +"valid chars" string does not have to be determined. If you +set both this parameter and the "valid chars" parameter the +"client code page" parameter MUST be set before the "valid chars" +in the smb.conf file. The "valid chars" string will then augment +the character settings in the "client code page" parameter.

+ +If "client code page" is set to a value other than 850 or 437 +it will default to 850.

+ +See also : "valid chars".

+ +.B Default

+ + client code page = 850

+ +.B Example

+ + client code page = 437

+ + +

comment (S)

+This is a text field that is seen next to a share when a client does a +net view to list what shares are available.

+ +If you want to set the string that is displayed next to the machine +name then see the server string command.

+ +.B Default: + No comment string

+ +.B Example: + comment = Fred's Files

+ + +

config file (G)

+ +This allows you to override the config file to use, instead of the +default (usually smb.conf). There is a chicken and egg problem here as +this option is set in the config file!

+ +For this reason, if the name of the config file has changed when the +parameters are loaded then it will reload them from the new config +file.

+ +This option takes the usual substitutions, which can be very useful.

+ +If the config file doesn't exist then it won't be loaded (allowing +you to special case the config files of just a few clients).

+ +.B Example: + config file = /usr/local/samba/lib/smb.conf.%m

+ + +

copy (S)

+This parameter allows you to 'clone' service entries. The specified +service is simply duplicated under the current service's name. Any +parameters specified in the current section will override those in the +section being copied.

+ +This feature lets you set up a 'template' service and create similar +services easily. Note that the service being copied must occur earlier +in the configuration file than the service doing the copying.

+ +.B Default: + none

+ +.B Example: + copy = otherservice + +

create mask (S)

+A synonym for this parameter is 'create mode'.

+ +When a file is created, the neccessary permissions are calculated +according to the mapping from DOS modes to UNIX permissions, and +the resulting UNIX mode is then bit-wise 'AND'ed with this parameter. +This parameter may be thought of as a bit-wise MASK for the UNIX +modes of a file. Any bit *not* set here will be removed from the +modes set on a file when it is created.

+ +The default value of this parameter removes the 'group' and 'other' +write and execute bits from the UNIX modes.

+ +Following this Samba will bit-wise 'OR' the UNIX mode created from +this parameter with the value of the "force create mode" parameter +which is set to 000 by default.

+ +For Samba 1.9.17 and above this parameter no longer affects directory +modes. See the parameter 'directory mode' for details.

+ +See also the "force create mode" parameter for forcing particular +mode bits to be set on created files. +See also the "directory mode" parameter for masking mode bits on created +directories.

+ +.B Default: + create mask = 0744

+ +.B Example: + create mask = 0775 + +

create mode (S)

+See +.B create mask.

+ + +

dead time (G)

+The value of the parameter (a decimal integer) represents the number of +minutes of inactivity before a connection is considered dead, and it +is disconnected. The deadtime only takes effect if the number of open files +is zero.

+ +This is useful to stop a server's resources being exhausted by a large +number of inactive connections.

+ +Most clients have an auto-reconnect feature when a connection is broken so +in most cases this parameter should be transparent to users.

+ +Using this parameter with a timeout of a few minutes is recommended +for most systems.

+ +A deadtime of zero indicates that no auto-disconnection should be performed.

+ +.B Default: + dead time = 0

+ +.B Example: + dead time = 15 + +

debug level (G)

+The value of the parameter (an integer) allows the debug level +(logging level) to be specified in the +.B smb.conf +file. This is to give +greater flexibility in the configuration of the system.

+ +The default will be the debug level specified on the command line.

+ +.B Example: + debug level = 3 + +

default (G)

+See +.B default service. + +

default case (S)

+ +See the section on "NAME MANGLING" Also note the addition of "short +preserve case"

+ + +

default service (G)

+A synonym for this parameter is 'default'.

+ +This parameter specifies the name of a service which will be connected to +if the service actually requested cannot be found. Note that the square +brackets are NOT given in the parameter value (see example below).

+ +There is no default value for this parameter. If this parameter is not given, +attempting to connect to a nonexistent service results in an error.

+ +Typically the default service would be a public, read-only service.

+ +Also note that as of 1.9.14 the apparent service name will be changed to +equal that of the requested service, this is very useful as it allows +you to use macros like %S to make a wildcard service.

+ +Note also that any _ characters in the name of the service used in the +default service will get mapped to a /. This allows for interesting +things.

+ + +.B Example: + default service = pub + + [pub] + path = /%S +

+ + +

delete readonly (S)

+This parameter allows readonly files to be deleted. This is not normal DOS +semantics, but is allowed by UNIX.

+ +This option may be useful for running applications such as rcs, where UNIX +file ownership prevents changing file permissions, and DOS semantics prevent +deletion of a read only file.

+ +.B Default: + delete readonly = No

+ +.B Example: + delete readonly = Yes + +

deny hosts (S)

+A synonym for this parameter is 'hosts deny'.

+ +The opposite of 'allow hosts' - hosts listed here are NOT permitted +access to services unless the specific services have their own lists to +override this one. Where the lists conflict, the 'allow' list takes precedence.

+ +.B Default: + none (i.e., no hosts specifically excluded)

+ +.B Example: + deny hosts = 150.203.4. badhost.mynet.edu.au

+ + +

delete veto files (S)

+ +This option is used when Samba is attempting to delete a directory +that contains one or more vetoed directories (see the 'veto files' option). +If this option is set to False (the default) then if a vetoed directory +contains any non-vetoed files or directories then the directory delete +will fail. This is usually what you want.

+ +If this option is set to True, then Samba will attempt +to recursively delete any files and directories within the vetoed +directory. This can be useful for integration with file serving +systems such as Netatalk, which create meta-files within directories +you might normally veto DOS/Windows users from seeing (eg. .AppleDouble)

+ +Setting 'delete veto files = True' allows these directories to be +transparently deleted when the parent directory is deleted (so long +as the user has permissions to do so).

+ +.B Default: + delete veto files = False

+ +.B Example: + delete veto files = True

+ +See +.B veto files

+ + +

dfree command (G)

+The dfree command setting should only be used on systems where a +problem occurs with the internal disk space calculations. This has +been known to happen with Ultrix, but may occur with other operating +systems. The symptom that was seen was an error of "Abort Retry +Ignore" at the end of each directory listing.

+ +This setting allows the replacement of the internal routines to +calculate the total disk space and amount available with an external +routine. The example below gives a possible script that might fulfill +this function.

+ +The external program will be passed a single parameter indicating a +directory in the filesystem being queried. This will typically consist +of the string "./". The script should return two integers in ascii. The +first should be the total disk space in blocks, and the second should +be the number of available blocks. An optional third return value +can give the block size in bytes. The default blocksize is 1024 bytes.

+ +Note: Your script should NOT be setuid or setgid and should be owned by +(and writable only by) root!

+ +.B Default: + By default internal routines for determining the disk capacity +and remaining space will be used.

+ +.B Example: + dfree command = /usr/local/samba/bin/dfree

+ + Where the script dfree (which must be made executable) could be

+ +.nf + #!/bin/sh + df $1 | tail -1 | awk '{print $2" "$4}' +.fi

+ + or perhaps (on Sys V)

+ +.nf + #!/bin/sh + /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}' +.fi

+ + Note that you may have to replace the command names with full +path names on some systems. + +

directory (S)

+See +.B path.

+ + +

directory mask (S)

+A synonym for this parameter is 'directory mode'.

+ +This parameter is the octal modes which are used when converting DOS modes +to UNIX modes when creating UNIX directories.

+ +When a directory is created, the neccessary permissions are calculated +according to the mapping from DOS modes to UNIX permissions, and +the resulting UNIX mode is then bit-wise 'AND'ed with this parameter. +This parameter may be thought of as a bit-wise MASK for the UNIX +modes of a directory. Any bit *not* set here will be removed from the +modes set on a directory when it is created.

+ +The default value of this parameter removes the 'group' and 'other' +write bits from the UNIX mode, allowing only the user who owns the +directory to modify it.

+ +Following this Samba will bit-wise 'OR' the UNIX mode created from +this parameter with the value of the "force directory mode" parameter. +This parameter is set to 000 by default (ie. no extra mode bits are added).

+ +See the "force directory mode" parameter to cause particular mode +bits to always be set on created directories.

+ +See also the "create mode" parameter for masking mode bits on created +files.

+ +.B Default: + directory mask = 0755

+ +.B Example: + directory mask = 0775

+ + +

directory mode (S)

+See +.B directory mask.

+ + +

dns proxy (G)

+ +Specifies that nmbd should (as a WINS server), on finding that a NetBIOS +name has not been registered, treat the NetBIOS name word-for-word as +a DNS name.

+ +Note that the maximum length for a NetBIOS name is 15 +characters, so the DNS name (or DNS alias) can likewise only be 15 +characters, maximum.

+ +Note also that nmbd will block completely until the DNS name is resolved. +This will result in temporary loss of browsing and WINS services. +Enable this option only if you are certain that DNS resolution is fast, +or you can live with the consequences of periodic pauses in nmbd service.

+ +.B Default: + dns proxy = yes

+ + +

domain controller (G)

+ +Specifies the DNS name or IP address of the machine to refer domain +logons from Win95 machines to. You should never need to set this parameter.

+ +.B Default: + domain controller = no

+ + +

domain logons (G)

+ +If set to true, the Samba server will serve Windows 95 domain logons +for the workgroup it is in. For more details on setting up this feature +see the file DOMAINS.txt in the Samba source documentation directory.

+ +.B Default: + domain logons = no

+ + +

domain master (G)

+ +Enable WAN-wide browse list collation. Local master browsers on +broadcast-isolated subnets will give samba their local browse lists, and +ask for a complete copy of the browse list for the whole wide area network. +Browser clients will then contact their local master browser, and will +receive the domain-wide browse list, instead of just the list for their +broadcast-isolated subnet.

+ +.B Default: + domain master = no

+ + +

dont descend (S)

+There are certain directories on some systems (eg., the /proc tree under +Linux) that are either not of interest to clients or are infinitely deep +(recursive). This parameter allows you to specify a comma-delimited list +of directories that the server should always show as empty.

+ +Note that Samba can be very fussy about the exact format of the "dont +descend" entries. For example you may need "./proc" instead of just +"/proc". Experimentation is the best policy :-)

+ +.B Default: + none (i.e., all directories are OK to descend)

+ +.B Example: + dont descend = /proc,/dev

+ + +

dos filetimes (S)

+Under DOS and Windows, if a user can write to a file they can change +the timestamp on it. Under POSIX semantics, only the owner of the file +or root may change the timestamp. By default, Samba runs with POSIX +semantics and refuses to change the timestamp on a file if the user +smbd is acting on behalf of is not the file owner. Setting this option +to True allows DOS semantics and smbd will change the file timstamp as +DOS requires. This is a correct implementation of a previous compile-time +options (UTIME_WORKAROUND) which was broken and is now removed.

+ +.B Default: + dos filetimes = False

+ +.B Example: + dos filetimes = True

+ + +

dos filetime resolution (S)

+Under the DOS and Windows FAT filesystem, the finest granulatity on +time resolution is two seconds. Setting this parameter for a share +causes Samba to round the reported time down to the nearest two +second boundary when a query call that requires one second resolution +is made to smbd.

+ +This option is mainly used as a compatibility option for Visual C++ +when used against Samba shares. If oplocks are enabled on a share, +Visual C++ uses two different time reading calls to check if a file +has changed since it was last read. One of these calls uses a one-second +granularity, the other uses a two second granularity. As the two second +call rounds any odd second down, then if the file has a timestamp of an +odd number of seconds then the two timestamps will not match and Visual +C++ will keep reporting the file has changed. Setting this option causes +the two timestamps to match, and Visual C++ is happy.

+ +.B Default: + dos filetime resolution = False

+ +.B Example: + dos filetime resolution = True

+ + +

encrypt passwords (G)

+ +This boolean controls whether encrypted passwords will be negotiated +with the client. Note that this option has no effect if you haven't +compiled in the necessary des libraries and encryption code. It +defaults to no.

+ + +

exec (S)

+ +This is an alias for preexec

+ + +

fake oplocks (S)

+ +Oplocks are the way that SMB clients get permission from a server to +locally cache file operations. If a server grants an oplock +(opportunistic lock) then the client is free to assume that it is the +only one accessing the file and it will aggressively cache file +data. With some oplock types the client may even cache file open/close +operations. This can give enormous performance benefits.

+ +When you set "fake oplocks = yes" Samba will always grant oplock +requests no matter how many clients are using the file.

+ +By enabling this option on all read-only shares or shares that you know +will only be accessed from one client at a time you will see a big +performance improvement on many operations. If you enable this option +on shares where multiple clients may be accessing the files read-write +at the same time you can get data corruption. Use this option +carefully!

+ +It is generally much better to use the real oplock support except for +physically read-only media such as CDROMs.

+ +This option is disabled by default.

+ + +

follow symlinks (S)

+ +This parameter allows the Samba administrator to stop smbd from +following symbolic links in a particular share. Setting this +parameter to "No" prevents any file or directory that is a +symbolic link from being followed (the user will get an error). +This option is very useful to stop users from adding a symbolic +link to /etc/pasword in their home directory for instance. +However it will slow filename lookups down slightly.

+ +This option is enabled (ie. smbd will follow symbolic links) +by default.

+ + +

force create mode (S)

+This parameter specifies a set of UNIX mode bit permissions that +will *always* be set on a file created by Samba. This is done +by bitwise 'OR'ing these bits onto the mode bits of a file that +is being created. The default for this parameter is (in octel) +000. The modes in this parameter are bitwise 'OR'ed onto the +file mode after the mask set in the "create mask" parameter +is applied.

+ +See also the parameter "create mask" for details on masking mode +bits on created files.

+ +.B Default: + force create mode = 000

+ +.B Example: + force create mode = 0755

+ +would force all created files to have read and execute permissions +set for 'group' and 'other' as well as the read/write/execute bits +set for the 'user'.

+ + +

force directory mode (S)

+This parameter specifies a set of UNIX mode bit permissions that +will *always* be set on a directory created by Samba. This is done +by bitwise 'OR'ing these bits onto the mode bits of a directory that +is being created. The default for this parameter is (in octel) +0000 which will not add any extra permission bits to a created +directory. This operation is done after the mode mask in the parameter +"directory mask" is applied.

+ +See also the parameter "directory mask" for details on masking mode +bits on created directories.

+ +.B Default: + force directory mode = 000

+ +.B Example: + force directory mode = 0755

+ +would force all created directories to have read and execute permissions +set for 'group' and 'other' as well as the read/write/execute bits +set for the 'user'.

+ + +

force group (S)

+This specifies a group name that all connections to this service +should be made as. This may be useful for sharing files.

+ +.B Default: + no forced group

+ +.B Example: + force group = agroup

+ + +

force user (S)

+This specifies a user name that all connections to this service +should be made as. This may be useful for sharing files. You should +also use it carefully as using it incorrectly can cause security +problems.

+ +This user name only gets used once a connection is established. Thus +clients still need to connect as a valid user and supply a valid +password. Once connected, all file operations will be performed as the +"forced user", not matter what username the client connected as.

+ +.B Default: + no forced user

+ +.B Example: + force user = auser

+ + +

getwd cache (G)

+This is a tuning option. When this is enabled a cacheing algorithm will +be used to reduce the time taken for getwd() calls. This can have a +significant impact on performance, especially when widelinks is False.

+ +.B Default: + getwd cache = No

+ +.B Example: + getwd cache = Yes

+ + +

group (S)

+This is an alias for "force group" and is only kept for compatibility +with old versions of Samba. It may be removed in future versions.

+ + +

guest account (S)

+This is a username which will be used for access to services which are +specified as 'guest ok' (see below). Whatever privileges this user has +will be available to any client connecting to the guest +service. Typically this user will exist in the password file, but will +not have a valid login. If a username is specified in a given service, +the specified username overrides this one.

+ +One some systems the account "nobody" may not be able to print. Use +another account in this case. You should test this by trying to log in +as your guest user (perhaps by using the "su \-" command) and trying to +print using +.BR lpr .

+ +Note that as of version 1.9 of Samba this option may be set +differently for each service.

+ +.B Default: + specified at compile time

+ +.B Example: + guest account = nobody + +

guest ok (S)

+See +.B public. + +

guest only (S)

+If this parameter is 'yes' for a service, then only guest connections to the +service are permitted. This parameter will have no affect if "guest ok" or +"public" is not set for the service.

+ +See the section below on user/password validation for more information about +this option.

+ +.B Default: + guest only = no

+ +.B Example: + guest only = yes + +

hide dot files (S)

+This is a boolean parameter that controls whether files starting with +a dot appear as hidden files.

+ +.B Default: + hide dot files = yes

+ +.B Example: + hide dot files = no

+ + + +

hide files(S)

+This is a list of files or directories that are not visible but are +accessible. The DOS 'hidden' attribute is applied to any files or +directories that match.

+ +Each entry in the list must be separated by a "/", which allows spaces +to be included in the entry. '*' and '?' can be used to specify multiple +files or directories as in DOS wildcards.

+ +Each entry must be a unix path, not a DOS path and must not include the +unix directory separator "/".

+ +Note that the case sensitivity option is applicable in hiding files.

+ +Setting this parameter will affect the performance of Samba, as +it will be forced to check all files and directories for a match +as they are scanned.

+ +See also "hide dot files", "veto files" and "case sensitive"

+ +.B Default + No files or directories are hidden by this option (dot files are + hidden by default because of the "hide dot files" option).

+ +.B Example + hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/

+ +The above example is based on files that the Macintosh client (DAVE) +creates for internal use, and also still hides all files beginning with +a dot.

+ + +

homedir map (G)

+If "nis homedir" is true, this parameter specifies the NIS (or YP) map +from which the server for the user's home directory should be extracted. +At present, only the Sun auto.home map format is understood. The form of +the map is:

+ +username server:/some/file/system

+ +and the program will extract the servername from before the first ':'. +There should probably be a better parsing system that copes with different +map formats and also Amd (another automounter) maps.

+ +NB: The -DNETGROUP option is required in the Makefile for option to work +and on some architectures the line -lrpcsvc needs to be added to the +LIBSM variable. This is required for Solaris 2, FreeBSD and HPUX.

+ +See also "nis homedir"

+ +.B Default: + homedir map = auto.home

+ +.B Example: + homedir map = amd.homedir + +

hosts allow (S)

+See +.B allow hosts. + +

hosts deny (S)

+See +.B deny hosts.

+ + +

hosts equiv (G)

+If this global parameter is a non-null string, it specifies the name of +a file to read for the names of hosts and users who will be allowed access +without specifying a password.

+ +This is not be confused with +.B allow hosts +which is about hosts access to services and is more useful for guest services. +.B hosts equiv +may be useful for NT clients which will not supply passwords to samba.

+ +NOTE: The use of hosts.equiv can be a major security hole. This is +because you are trusting the PC to supply the correct username. It is +very easy to get a PC to supply a false username. I recommend that the +hosts.equiv option be only used if you really know what you are doing, +or perhaps on a home network where you trust your wife and kids :-)

+ +.B Default + No host equivalences

+ +.B Example + hosts equiv = /etc/hosts.equiv

+ + +

include (G)

+ +This allows you to include one config file inside another. The file is +included literally, as though typed in place.

+ +It takes the standard substitutions, except %u, %P and %S

+ + +

interfaces (G)

+ +This option allows you to setup multiple network interfaces, so that +Samba can properly handle browsing on all interfaces.

+ +The option takes a list of ip/netmask pairs. The netmask may either be +a bitmask, or a bitlength.

+ +For example, the following line:

+ +interfaces = 192.168.2.10/24 192.168.3.10/24

+ +would configure two network interfaces with IP addresses 192.168.2.10 +and 192.168.3.10. The netmasks of both interfaces would be set to +255.255.255.0.

+ +You could produce an equivalent result by using:

+ +interfaces = 192.168.2.10/255.255.255.0 192.168.3.10/255.255.255.0

+ +if you prefer that format.

+ +If this option is not set then Samba will attempt to find a primary +interface, but won't attempt to configure more than one interface.

+ + +

invalid users (S)

+This is a list of users that should not be allowed to login to this +service. This is really a "paranoid" check to absolutely ensure an +improper setting does not breach your security.

+ +A name starting with @ is interpreted as a UNIX group.

+ +The current servicename is substituted for %S. This is useful in the +[homes] section.

+ +See also "valid users"

+ +.B Default + No invalid users

+ +.B Example + invalid users = root fred admin @wheel

+ + +

keepalive (G)

+The value of the parameter (an integer) represents the number of seconds +between 'keepalive' packets. If this parameter is zero, no keepalive packets +will be sent. Keepalive packets, if sent, allow the server to tell whether a +client is still present and responding.

+ +Keepalives should, in general, not be needed if the socket being used +has the SO_KEEPALIVE attribute set on it (see "socket +options"). Basically you should only use this option if you strike +difficulties.

+ +.B Default: + keep alive = 0

+ +.B Example: + keep alive = 60

+ + +

lm announce (G)

+ +This parameter determines if Samba will produce Lanman announce +broadcasts that are needed by OS/2 clients in order for them to +see the Samba server in their browse list. This parameter can +have three values, true, false, or auto. The default is auto. +If set to False Samba will never produce these broadcasts. If +set to true Samba will produce Lanman announce broadcasts at +a frequency set by the parameter 'lm interval'. If set to auto +Samba will not send Lanman announce broadcasts by default but +will listen for them. If it hears such a broadcast on the wire +it will then start sending them at a frequency set by the parameter +'lm interval'.

+ +See also "lm interval".

+ +.B Default: + lm announce = auto

+ +.B Example: + lm announce = true

+ + +

lm interval (G)

+ +If Samba is set to produce Lanman announce broadcasts needed +by OS/2 clients (see the "lm announce" parameter) this parameter +defines the frequency in seconds with which they will be made. +If this is set to zero then no Lanman announcements will be +made despite the setting of the "lm announce" parameter.

+ +See also "lm announce".

+ +.B Default: + lm interval = 60

+ +.B Example: + lm interval = 120

+ + +

load printers (G)

+A boolean variable that controls whether all printers in the printcap +will be loaded for browsing by default.

+ +.B Default: + load printers = yes

+ +.B Example: + load printers = no

+ + +

local master (G)

+This option allows the nmbd to become a local master browser on a +subnet. If set to False then nmbd will not attempt to become a local +master browser on a subnet and will also lose in all browsing elections. +By default this value is set to true. Setting this value to true doesn't +mean that Samba will become the local master browser on a subnet, just +that the nmbd will participate in elections for local master browser.

+ +.B Default: + local master = yes

+ + +

lock directory (G)

+This option specifies the directory where lock files will be placed. +The lock files are used to implement the "max connections" option.

+ +.B Default: + lock directory = /tmp/samba

+ +.B Example: + lock directory = /usr/local/samba/var/locks

+ + +

locking (S)

+This controls whether or not locking will be performed by the server in +response to lock requests from the client.

+ +If "locking = no", all lock and unlock requests will appear to succeed and +all lock queries will indicate that the queried lock is clear.

+ +If "locking = yes", real locking will be performed by the server.

+ +This option may be particularly useful for read-only filesystems which +do not need locking (such as cdrom drives).

+ +Be careful about disabling locking either globally or in a specific +service, as lack of locking may result in data corruption.

+ +.B Default: + locking = yes

+ +.B Example: + locking = no

+ + +

log file (G)

+ +This options allows you to override the name of the Samba log file +(also known as the debug file).

+ +This option takes the standard substitutions, allowing you to have +separate log files for each user or machine.

+ +.B Example: + log file = /usr/local/samba/var/log.%m

+ + +

log level (G)

+see "debug level"

+ + +

logon drive (G)

+ +This parameter specifies the local path to which the home directory +will be connected (see "logon home") and is only used by NT Workstations.

+ +.B Example: + logon drive = h:

+ + +

logon home (G)

+ +This parameter specifies the home directory location when a Win95 or +NT Workstation logs into a Samba PDC. It allows you to do "NET USE +H: /HOME" from a command prompt, for example.

+ +.B +This option takes the standard substitutions, allowing you to have +separate logon scripts for each user or machine.

+ +.B Example: + logon home = "\\\\remote_smb_server\\%U"

+ +.B Default: + logon home = "\\\\%N\\%U"

+ + +

logon path (G)

+ +This parameter specifies the home directory where roaming profiles +(USER.DAT / USER.MAN files for Windows 95) are stored.

+ +This option takes the standard substitutions, allowing you to have +separate logon scripts for each user or machine. It also specifies +the directory from which the "desktop", "start menu", "nethood" and +"programs" folders, and their contents, are loaded and displayed +on your Windows 95 client.

+ +The share and the path must be readable by the user for the preferences +and directories to be loaded onto the Windows 95 client. The share +must be writeable when the logs in for the first time, in order that +the Windows 95 client can create the user.dat and other directories.

+ +Thereafter, the directories and any of contents can, if required, +be made read-only. It is not adviseable that the USER.DAT file be made +read-only - rename it to USER.MAN to achieve the desired effect +(a MANdatory profile).

+ +Windows clients can sometimes maintain a connection to the [homes] +share, even though there is no user logged in. Therefore, it is +vital that the logon path does not include a reference to the +homes share (i.e \\\\%N\\HOMES\profile_path will cause problems).

+ +.B +This option takes the standard substitutions, allowing you to have +separate logon scripts for each user or machine.

+ +.B Default: + logon path = \\\\%N\\%U\\profile

+ +.B Example: + logon path = \\\\PROFILESERVER\\HOME_DIR\\%U\\PROFILE

+ + +

logon script (G)

+ +This parameter specifies the batch file (.bat) or NT command file (.cmd) +to be downloaded and run on a machine when a user successfully logs in. +The file must contain the DOS style cr/lf line endings. Using a DOS-style +editor to create the file is recommended.

+ +The script must be a relative path to the [netlogon] service. If the +[netlogon] service specifies a path of /usr/local/samba/netlogon, and +logon script = STARTUP.BAT, then file that will be downloaded is:

+ +.B /usr/local/samba/netlogon/STARTUP.BAT

+ +The contents of the batch file is entirely your choice. A suggested +command would be to add NET TIME \\\\SERVER /SET /YES, to force every +machine to synchronise clocks with the same time server. Another use +would be to add NET USE U: \\\\SERVER\\UTILS for commonly used utilities, +or NET USE Q: \\\\SERVER\\ISO9001_QA.

+ +Note that it is particularly important not to allow write access to +the [netlogon] share, or to grant users write permission on the +batch files in a secure environment, as this would allow the batch +files to be arbitrarily modified.

+ +.B +This option takes the standard substitutions, allowing you to have +separate logon scripts for each user or machine.

+ +.B Example: + logon script = scripts/%U.bat

+ + +

lppause command (S)

+This parameter specifies the command to be executed on the server host in +order to stop printing or spooling a specific print job.

+ +This command should be a program or script which takes a printer name and +job number to pause the print job. Currently I don't know of any print +spooler system that can do this with a simple option, except for the PPR +system from Trinity College (ppr\-dist.trincoll.edu/pub/ppr). One way +of implementing this is by using job priorities, where jobs having a too +low priority won't be sent to the printer. See also the +.B lppause +command.

+ +If a %p is given then the printername is put in its place. A %j is +replaced with the job number (an integer). +On HPUX (see printing=hpux), if the -p%p option is added to the lpq +command, the job will show up with the correct status, i.e. if the job +priority is lower than the set fence priority it will have the PAUSED +status, whereas if the priority is equal or higher it will have the +SPOOLED or PRINTING status.

+ +Note that it is good practice to include the absolute path in the lppause +command as the PATH may not be available to the server.

+ +.B Default: + Currently no default value is given to this string

+ +.B Example for HPUX: + lppause command = /usr/bin/lpalt %p-%j -p0

+ + +

lpq cache time (G)

+ +This controls how long lpq info will be cached for to prevent the lpq +command being called too often. A separate cache is kept for each +variation of the lpq command used by the system, so if you use +different lpq commands for different users then they won't share cache +information.

+ +The cache files are stored in /tmp/lpq.xxxx where xxxx is a hash +of the lpq command in use.

+ +The default is 10 seconds, meaning that the cached results of a +previous identical lpq command will be used if the cached data is less +than 10 seconds old. A large value may be advisable if your lpq +command is very slow.

+ +A value of 0 will disable cacheing completely.

+ +.B Default: + lpq cache time = 10

+ +.B Example: + lpq cache time = 30

+ + +

lpq command (S)

+This parameter specifies the command to be executed on the server host in +order to obtain "lpq"-style printer status information.

+ +This command should be a program or script which takes a printer name +as its only parameter and outputs printer status information.

+ +Currently six styles of printer status information are supported; BSD, +SYSV, AIX, HPUX, QNX, LPRNG and PLP. This covers most UNIX systems. You +control which type is expected using the "printing =" option.

+ +Some clients (notably Windows for Workgroups) may not correctly send the +connection number for the printer they are requesting status information +about. To get around this, the server reports on the first printer service +connected to by the client. This only happens if the connection number sent +is invalid.

+ +If a %p is given then the printername is put in its place. Otherwise +it is placed at the end of the command.

+ +Note that it is good practice to include the absolute path in the lpq +command as the PATH may not be available to the server.

+ +.B Default: + depends on the setting of "printing ="

+ +.B Example: + lpq command = /usr/bin/lpq %p

+ + +

lpresume command (S)

+This parameter specifies the command to be executed on the server host in +order to restart or continue printing or spooling a specific print job.

+ +This command should be a program or script which takes a printer name and +job number to resume the print job. See also the lppause command.

+ +If a %p is given then the printername is put in its place. A %j is +replaced with the job number (an integer).

+ +Note that it is good practice to include the absolute path in the lpresume +command as the PATH may not be available to the server.

+ +.B Default: + Currently no default value is given to this string

+ +.B Example for HPUX: + lpresume command = /usr/bin/lpalt %p-%j -p2

+ + +

lprm command (S)

+This parameter specifies the command to be executed on the server host in +order to delete a print job.

+ +This command should be a program or script which takes a printer name +and job number, and deletes the print job.

+ +Currently seven styles of printer control are supported; BSD, SYSV, AIX +HPUX, QNX, LPRNG and PLP. This covers most UNIX systems. You control +which type is expected using the "printing =" option.

+ +If a %p is given then the printername is put in its place. A %j is +replaced with the job number (an integer).

+ +Note that it is good practice to include the absolute path in the lprm +command as the PATH may not be available to the server.

+ +.B Default: + depends on the setting of "printing ="

+ +.B Example 1: + lprm command = /usr/bin/lprm -P%p %j

+ +.B Example 2: + lprm command = /usr/bin/cancel %p-%j

+ + +

magic output (S)

+This parameter specifies the name of a file which will contain output +created by a magic script (see +.I magic script +below).

+ +Warning: If two clients use the same magic script in the same directory the +output file content is undefined. +.B Default: + magic output = .out

+ +.B Example: + magic output = myfile.txt + +

magic script (S)

+This parameter specifies the name of a file which, if opened, will be +executed by the server when the file is closed. This allows a UNIX script +to be sent to the Samba host and executed on behalf of the connected user.

+ +Scripts executed in this way will be deleted upon completion, permissions +permitting.

+ +If the script generates output, output will be sent to the file specified by +the +.I magic output +parameter (see above).

+ +Note that some shells are unable to interpret scripts containing +carriage-return-linefeed instead of linefeed as the end-of-line +marker. Magic scripts must be executable "as is" on the host, which +for some hosts and some shells will require filtering at the DOS end.

+ +Magic scripts are EXPERIMENTAL and should NOT be relied upon.

+ +.B Default: + None. Magic scripts disabled.

+ +.B Example: + magic script = user.csh

+ + +

mangle case (S)

+ +See the section on "NAME MANGLING"

+ + +

mangled map (S)

+This is for those who want to directly map UNIX file names which are +not representable on DOS. The mangling of names is not always what is +needed. In particular you may have documents with file extensions +that differ between DOS and UNIX. For example, under UNIX it is common +to use .html for HTML files, whereas under DOS .htm is more commonly +used.

+ +So to map 'html' to 'htm' you put:

+ + mangled map = (*.html *.htm)

+ +One very useful case is to remove the annoying ;1 off the ends of +filenames on some CDROMS (only visible under some UNIXes). To do this +use a map of (*;1 *)

+ +.B default: + no mangled map

+ +.B Example: + mangled map = (*;1 *)

+ + +

mangled names (S)

+This controls whether non-DOS names under UNIX should be mapped to +DOS-compatible names ("mangled") and made visible, or whether non-DOS names +should simply be ignored.

+ +See the section on "NAME MANGLING" for details on how to control the +mangling process.

+ +If mangling is used then the mangling algorithm is as follows: +.RS +- the first (up to) five alphanumeric characters before the rightmost dot of +the filename are preserved, forced to upper case, and appear as the first (up +to) five characters of the mangled name.

+ +- a tilde ("~") is appended to the first part of the mangled name, followed +by a two-character unique sequence, based on the original root name +(i.e., the original filename minus its final extension). The final +extension is included in the hash calculation only if it contains any upper +case characters or is longer than three characters.

+ +Note that the character to use may be specified using the "mangling +char" option, if you don't like ~.

+ +- the first three alphanumeric characters of the final extension are preserved, +forced to upper case and appear as the extension of the mangled name. The +final extension is defined as that part of the original filename after the +rightmost dot. If there are no dots in the filename, the mangled name will +have no extension (except in the case of hidden files - see below).

+ +- files whose UNIX name begins with a dot will be presented as DOS hidden +files. The mangled name will be created as for other filenames, but with the +leading dot removed and "___" as its extension regardless of actual original +extension (that's three underscores). +.RE

+ +The two-digit hash value consists of upper case alphanumeric characters.

+ +This algorithm can cause name collisions only if files in a directory share +the same first five alphanumeric characters. The probability of such a clash +is 1/1300.

+ +The name mangling (if enabled) allows a file to be copied between UNIX +directories from DOS while retaining the long UNIX filename. UNIX files can +be renamed to a new extension from DOS and will retain the same basename. +Mangled names do not change between sessions.

+ +.B Default: + mangled names = yes

+ +.B Example: + mangled names = no + +

mangling char (S)

+This controls what character is used as the "magic" character in name +mangling. The default is a ~ but this may interfere with some +software. Use this option to set it to whatever you prefer.

+ +.B Default: + mangling char = ~

+ +.B Example: + mangling char = ^

+ + +

mangled stack (G)

+This parameter controls the number of mangled names that should be cached in +the Samba server.

+ +This stack is a list of recently mangled base names (extensions are only +maintained if they are longer than 3 characters or contains upper case +characters).

+ +The larger this value, the more likely it is that mangled names can be +successfully converted to correct long UNIX names. However, large stack +sizes will slow most directory access. Smaller stacks save memory in the +server (each stack element costs 256 bytes).

+ +It is not possible to absolutely guarantee correct long file names, so +be prepared for some surprises!

+ +.B Default: + mangled stack = 50

+ +.B Example: + mangled stack = 100

+ + +

map archive (S)

+This controls whether the DOS archive attribute should be mapped to the +UNIX owner execute bit. The DOS archive bit is set when a file has been modified +since its last backup. One motivation for this option it to keep Samba/your +PC from making any file it touches from becoming executable under UNIX. +This can be quite annoying for shared source code, documents, etc...

+ +Note that this requires the 'create mask' to be set such that owner +execute bit is not masked out (ie. it must include 100). See the +parameter "create mask" for details.

+ +.B Default: + map archive = yes

+ +.B Example: + map archive = no

+ + +

map hidden (S)

+This controls whether DOS style hidden files should be mapped to the +UNIX world execute bit.

+ +Note that this requires the 'create mask' to be set such that the world +execute bit is not masked out (ie. it must include 001). +See the parameter "create mask" for details.

+ +.B Default: + map hidden = no

+ +.B Example: + map hidden = yes + +

map system (S)

+This controls whether DOS style system files should be mapped to the +UNIX group execute bit.

+ +Note that this requires the 'create mask' to be set such that the group +execute bit is not masked out (ie. it must include 010). See the parameter +"create mask" for details.

+ +.B Default: + map system = no

+ +.B Example: + map system = yes + +

max connections (S)

+This option allows the number of simultaneous connections to a +service to be limited. If "max connections" is greater than 0 then +connections will be refused if this number of connections to the +service are already open. A value of zero mean an unlimited number of +connections may be made.

+ +Record lock files are used to implement this feature. The lock files +will be stored in the directory specified by the "lock directory" option.

+ +.B Default: + max connections = 0

+ +.B Example: + max connections = 10

+ + +

max disk size (G)

+This option allows you to put an upper limit on the apparent size of +disks. If you set this option to 100 then all shares will appear to be +not larger than 100 MB in size.

+ +Note that this option does not limit the amount of data you can put on +the disk. In the above case you could still store much more than 100 +MB on the disk, but if a client ever asks for the amount of free disk +space or the total disk size then the result will be bounded by the +amount specified in "max disk size".

+ +This option is primarily useful to work around bugs in some pieces of +software that can't handle very large disks, particularly disks over +1GB in size.

+ +A "max disk size" of 0 means no limit.

+ +.B Default: + max disk size = 0

+ +.B Example: + max disk size = 1000

+ + +

max log size (G)

+ +This option (an integer in kilobytes) specifies the max size the log +file should grow to. Samba periodically checks the size and if it is +exceeded it will rename the file, adding a .old extension.

+ +A size of 0 means no limit.

+ +.B Default: + max log size = 5000

+ +.B Example: + max log size = 1000

+ + +

max mux (G)

+ +This option controls the maximum number of outstanding simultaneous SMB +operations that samba tells the client it will allow. You should never need +to set this parameter.

+ +.B Default: + max mux = 50

+ + +

max packet (G)

+ +A synonym for this parameter is 'packet size'.

+ + +

max ttl (G)

+ +This option tells nmbd what the default 'time to live' of NetBIOS +names should be (in seconds) when nmbd is requesting a name using +either a broadcast or from a WINS server. You should never need to +change this parameter.

+ +.B Default: + max ttl = 14400

+ + +

max wins ttl (G)

+ +This option tells nmbd when acting as a WINS server (wins support = true) +what the maximum 'time to live' of NetBIOS names that nmbd will grant will +be (in seconds). You should never need to change this parameter. +The default is 3 days (259200 seconds).

+ +.B Default: + max wins ttl = 259200

+ + +

max xmit (G)

+ +This option controls the maximum packet size that will be negotiated +by Samba. The default is 65535, which is the maximum. In some cases +you may find you get better performance with a smaller value. A value +below 2048 is likely to cause problems.

+ +.B Default: + max xmit = 65535

+ +.B Example: + max xmit = 8192

+ + +

message command (G)

+ +This specifies what command to run when the server receives a WinPopup +style message.

+ +This would normally be a command that would deliver the message +somehow. How this is to be done is up to your imagination.

+ +What I use is:

+ + message command = csh -c 'xedit %s;rm %s' &

+ +This delivers the message using xedit, then removes it +afterwards. NOTE THAT IT IS VERY IMPORTANT THAT THIS COMMAND RETURN +IMMEDIATELY. That's why I have the & on the end. If it doesn't return +immediately then your PCs may freeze when sending messages (they +should recover after 30secs, hopefully).

+ +All messages are delivered as the global guest user. The command takes +the standard substitutions, although %u won't work (%U may be better +in this case).

+ +Apart from the standard substitutions, some additional ones apply. In +particular:

+ +%s = the filename containing the message

+ +%t = the destination that the message was sent to (probably the server +name)

+ +%f = who the message is from

+ +You could make this command send mail, or whatever else takes your +fancy. Please let me know of any really interesting ideas you have.

+ +Here's a way of sending the messages as mail to root:

+ +message command = /bin/mail -s 'message from %f on %m' root < %s; rm %s

+ +If you don't have a message command then the message won't be +delivered and Samba will tell the sender there was an +error. Unfortunately WfWg totally ignores the error code and carries +on regardless, saying that the message was delivered.

+ +If you want to silently delete it then try "message command = rm %s".

+ +For the really adventurous, try something like this:

+ +message command = csh -c 'csh < %s |& /usr/local/samba/bin/smbclient \e + -M %m; rm %s' &

+ +this would execute the command as a script on the server, then give +them the result in a WinPopup message. Note that this could cause a +loop if you send a message from the server using smbclient! You better +wrap the above in a script that checks for this :-)

+ +.B Default: + no message command

+ +.B Example: + message command = csh -c 'xedit %s;rm %s' &

+ + +

min print space (S)

+ +This sets the minimum amount of free disk space that must be available +before a user will be able to spool a print job. It is specified in +kilobytes. The default is 0, which means no limit.

+ +.B Default: + min print space = 0

+ +.B Example: + min print space = 2000

+ + +

min wins ttl (G)

+ +This option tells nmbd when acting as a WINS server (wins support = true) +what the minimum 'time to live' of NetBIOS names that nmbd will grant will +be (in seconds). You should never need to change this parameter. +The default is 6 hours (21600 seconds).

+ +.B Default: + min wins ttl = 21600

+ + + +

netbios aliases (G)

+ +This is a list of names that nmbd will advertise as additional +names by which the Samba server is known. This allows one machine +to appear in browse lists under multiple names. If a machine is +acting as a browse server or logon server none of these names +will be advertised as either browse server or logon servers, only +the primary name of the machine will be advertised with these +capabilities.

+ +See also 'netbios name'.

+ +.B Example: + netbios aliases = TEST TEST1 TEST2

+ + +

netbios name (G)

+ +This sets the NetBIOS name by which a Samba server is known. By +default it is the same as the first component of the host's DNS name. +If a machine is a browse server or logon server this name (or the +first component of the hosts DNS name) will be the name that these +services are advertised under.

+ +See also 'netbios aliases'.

+ +.B Example: + netbios name = MYNAME

+ + +

nis homedir (G)

+Get the home share server from a NIS (or YP) map. For unix systems that +use an automounter, the user's home directory will often be mounted on +a workstation on demand from a remote server. When the Samba logon server +is not the actual home directory server, two network hops are required +to access the home directory and this can be very slow especially with +writing via Samba to an NFS mounted directory. This option allows samba +to return the home share as being on a different server to the logon +server and as long as a samba daemon is running on the home directory +server, it will be mounted on the Samba client directly from the directory +server. When Samba is returning the home share to the client, it will +consult the NIS (or YP) map specified in "homedir map" and return the +server listed there.

+ +.B Default: + nis homedir = false

+ +.B Example: + nis homedir = true

+ + +

networkstation user login (G)

+This global parameter (new for 1.9.18p3) affects server level security. +With this set (recommended) samba will do a full NetWkstaUserLogon to +confirm that the client really should have login rights. This can cause +problems with machines in trust relationships in which case you can +disable it here, but be warned, we have heard that some NT machines +will then allow anyone in with any password! Make sure you test it.

+ +.B Default: + networkstation user login = yes

+ +.B Example: + networkstation user login = no

+ + +

null passwords (G)

+Allow or disallow access to accounts that have null passwords.

+ +.B Default: + null passwords = no

+ +.B Example: + null passwords = yes

+ + +

only guest (S)

+A synonym for this command is 'guest only'.

+ + +

only user (S)

+This is a boolean option that controls whether connections with +usernames not in the user= list will be allowed. By default this +option is disabled so a client can supply a username to be used by +the server.

+ +Note that this also means Samba won't try to deduce usernames from the +service name. This can be annoying for the [homes] section. To get +around this you could use "user = %S" which means your "user" list +will be just the service name, which for home directories is the name +of the user.

+ +.B Default: + only user = False

+ +.B Example: + only user = True

+ + +

oplocks (S)

+This boolean option tells smbd whether to issue oplocks (opportunistic +locks) to file open requests on this share. The oplock code was introduced in +Samba 1.9.18 and can dramatically (approx 30% or more) improve the speed +of access to files on Samba servers. It allows the clients to agressively +cache files locally and you may want to disable this option for unreliable +network environments (it is turned on by default in Windows NT Servers). +For more information see the file Speed.txt in the Samba docs/ directory.

+ +Oplocks may be selectively turned off on certain files on a per share basis. +See the 'veto oplock files' parameter.

+ +.B Default: + oplocks = True

+ +.B Example: + oplocks = False

+ + + +

os level (G)

+This integer value controls what level Samba advertises itself as for +browse elections. See BROWSING.txt for details.

+ + +

packet size (G)

+The maximum transmit packet size during a raw read. This option is no +longer implemented as of version 1.7.00, and is kept only so old +configuration files do not become invalid.

+ + +

passwd chat (G)

+This string controls the "chat" conversation that takes places +between smbd and the local password changing program to change the +users password. The string describes a sequence of response-receive +pairs that smbd uses to determine what to send to the passwd program +and what to expect back. If the expected output is not received then +the password is not changed.

+ +This chat sequence is often quite site specific, depending on what +local methods are used for password control (such as NIS+ etc).

+ +The string can contain the macros %o and %n which are substituted for +the old and new passwords respectively. It can also contain the +standard macros \en \er \et and \es to give line-feed, carriage-return, +tab and space.

+ +The string can also contain a * which matches any sequence of +characters.

+ +Double quotes can be used to collect strings with spaces in them into +a single string.

+ +If the send string in any part of the chat sequence is a fullstop "." +then no string is sent. Similarly, is the expect string is a fullstop +then no string is expected.

+ +.B Example: + passwd chat = "*Enter OLD password*" %o\en "*Enter NEW password*" %n\en \e + "*Reenter NEW password*" %n\en "*Password changed*"

+ + +.B Default: + passwd chat = *old*password* %o\en *new*password* %n\en *new*password* %n\en *changed*

+ + +

passwd program (G)

+The name of a program that can be used to set user passwords.

+ +This is only necessary if you have enabled remote password changing at +compile time. Any occurrences of %u will be replaced with the user +name.

+ +Also note that many passwd programs insist in "reasonable" passwords, +such as a minimum length, or the inclusion of mixed case chars and +digits. This can pose a problem as some clients (such as Windows for +Workgroups) uppercase the password before sending it.

+ +.B Default: + passwd program = /bin/passwd

+ +.B Example: + passwd program = /sbin/passwd %u

+ + +

password level (G)

+Some client/server combinations have difficulty with mixed-case passwords. +One offending client is Windows for Workgroups, which for some reason forces +passwords to upper case when using the LANMAN1 protocol, but leaves them alone +when using COREPLUS!

+ +This parameter defines the maximum number of characters that may be upper case +in passwords.

+ +For example, say the password given was "FRED". If +.B password level +is set to 1 (one), the following combinations would be tried if "FRED" failed: +"Fred", "fred", "fRed", "frEd", "freD". If +.B password level was set to 2 (two), the following combinations would also be +tried: "FRed", "FrEd", "FreD", "fREd", "fReD", "frED". And so on.

+ +The higher value this parameter is set to the more likely it is that a mixed +case password will be matched against a single case password. However, you +should be aware that use of this parameter reduces security and increases the +time taken to process a new connection.

+ +A value of zero will cause only two attempts to be made - the password as is +and the password in all-lower case.

+ +If you find the connections are taking too long with this option then +you probably have a slow crypt() routine. Samba now comes with a fast +"ufc crypt" that you can select in the Makefile. You should also make +sure the PASSWORD_LENGTH option is correct for your system in local.h +and includes.h. On most systems only the first 8 chars of a password +are significant so PASSWORD_LENGTH should be 8, but on some longer +passwords are significant. The includes.h file tries to select the +right length for your system.

+ +.B Default: + password level = 0

+ +.B Example: + password level = 4

+ + +

password server (G)

+ +By specifying the name of another SMB server (such as a WinNT box) +with this option, and using "security = server" you can get Samba to +do all its username/password validation via a remote server.

+ +This options sets the name of the password server to use. It must be a +netbios name, so if the machine's netbios name is different from its +internet name then you may have to add its netbios name to +/etc/hosts.

+ +The password server much be a machine capable of using the "LM1.2X002" +or the "LM NT 0.12" protocol, and it must be in user level security +mode.

+ +NOTE: Using a password server means your UNIX box (running Samba) is +only as secure as your password server. DO NOT CHOOSE A PASSWORD +SERVER THAT YOU DON'T COMPLETELY TRUST.

+ +Never point a Samba server at itself for password serving. This will +cause a loop and could lock up your Samba server!

+ +The name of the password server takes the standard substitutions, but +probably the only useful one is %m, which means the Samba server will +use the incoming client as the password server. If you use this then +you better trust your clients, and you better restrict them with hosts +allow!

+ +If you list several hosts in the "password server" option then smbd +will try each in turn till it finds one that responds. This is useful +in case your primary server goes down.

+ +If you are using a WindowsNT server as your password server then you +will have to ensure that your users are able to login from the Samba +server, as the network logon will appear to come from there rather +than from the users workstation.

+ + +

path (S)

+A synonym for this parameter is 'directory'.

+ +This parameter specifies a directory to which the user of the service is to +be given access. In the case of printable services, this is where print data +will spool prior to being submitted to the host for printing.

+ +For a printable service offering guest access, the service should be readonly +and the path should be world-writable and have the sticky bit set. This is not +mandatory of course, but you probably won't get the results you expect if you +do otherwise.

+ +Any occurrences of %u in the path will be replaced with the username +that the client is connecting as. Any occurrences of %m will be +replaced by the name of the machine they are connecting from. These +replacements are very useful for setting up pseudo home directories +for users.

+ +Note that this path will be based on 'root dir' if one was specified. +.B Default: + none

+ +.B Example: + path = /home/fred+

+ + +

postexec (S)

+ +This option specifies a command to be run whenever the service is +disconnected. It takes the usual substitutions. The command may be run +as the root on some systems.

+ +An interesting example may be do unmount server resources:

+ +postexec = /etc/umount /cdrom

+ +See also preexec

+ +.B Default: + none (no command executed)

+ +.B Example: + postexec = echo \e"%u disconnected from %S from %m (%I)\e" >> /tmp/log

+ + +

postscript (S)

+This parameter forces a printer to interpret the print files as +postscript. This is done by adding a %! to the start of print output.

+ +This is most useful when you have lots of PCs that persist in putting +a control-D at the start of print jobs, which then confuses your +printer.

+ +.B Default: + postscript = False

+ +.B Example: + postscript = True

+ + +

preexec (S)

+ +This option specifies a command to be run whenever the service is +connected to. It takes the usual substitutions.

+ +An interesting example is to send the users a welcome message every +time they log in. Maybe a message of the day? Here is an example:

+ +preexec = csh -c 'echo \e"Welcome to %S!\e" | \e + /usr/local/samba/bin/smbclient -M %m -I %I' &

+ +Of course, this could get annoying after a while :-)

+ +See also postexec

+ +.B Default: + none (no command executed)

+ +.B Example: + preexec = echo \e"%u connected to %S from %m (%I)\e" >> /tmp/log

+ + +

preferred master (G)

+This boolean parameter controls if Samba is a preferred master browser +for its workgroup. +If this is set to true, on startup, samba will force an election, +and it will have a slight advantage in winning the election. +It is recommended that this parameter is used in conjunction +with domain master = yes, so that samba can guarantee becoming +a domain master.

+ +Use this option with caution, because if there are several hosts +(whether samba servers, Windows 95 or NT) that are preferred master +browsers on the same subnet, they will each periodically and continuously +attempt to become the local master browser. This will result in +unnecessary broadcast traffic and reduced browsing capabilities.

+ +See +.B os level = nn

+ +.B Default: + preferred master = no

+ +

preload

+This is an alias for "auto services"

+ + +

preload

+This is an alias for "auto services"

+ + +

preserve case (S)

+ +This controls if new filenames are created with the case that the +client passes, or if they are forced to be the "default" case.

+ +.B Default: + preserve case = no

+ +See the section on "NAME MANGLING" for a fuller discussion.

+ + +

print command (S)

+After a print job has finished spooling to a service, this command will be +used via a system() call to process the spool file. Typically the command +specified will submit the spool file to the host's printing subsystem, but +there is no requirement that this be the case. The server will not remove the +spool file, so whatever command you specify should remove the spool file when +it has been processed, otherwise you will need to manually remove old spool +files.

+ +The print command is simply a text string. It will be used verbatim, +with two exceptions: All occurrences of "%s" will be replaced by the +appropriate spool file name, and all occurrences of "%p" will be +replaced by the appropriate printer name. The spool file name is +generated automatically by the server, the printer name is discussed +below.

+ +The full path name will be used for the filename if %s is not preceded +by a /. If you don't like this (it can stuff up some lpq output) then +use %f instead. Any occurrences of %f get replaced by the spool +filename without the full path at the front.

+ +The print command MUST contain at least one occurrence of "%s" or %f - +the "%p" is optional. At the time a job is submitted, if no printer +name is supplied the "%p" will be silently removed from the printer +command.

+ +If specified in the [global] section, the print command given will be used +for any printable service that does not have its own print command specified.

+ +If there is neither a specified print command for a printable service nor a +global print command, spool files will be created but not processed and (most +importantly) not removed.

+ +Note that printing may fail on some UNIXes from the "nobody" +account. If this happens then create an alternative guest account that +can print and set the "guest account" in the [global] section.

+ +You can form quite complex print commands by realising that they are +just passed to a shell. For example the following will log a print +job, print the file, then remove it. Note that ; is the usual +separator for command in shell scripts.

+ +print command = echo Printing %s >> /tmp/print.log; lpr -P %p %s; rm %s

+ +You may have to vary this command considerably depending on how you +normally print files on your system.

+ +.B Default: + print command = lpr -r -P %p %s

+ +.B Example: + print command = /usr/local/samba/bin/myprintscript %p %s + +

print ok (S)

+See +.B printable. + +

printable (S)

+A synonym for this parameter is 'print ok'.

+ +If this parameter is 'yes', then clients may open, write to and submit spool +files on the directory specified for the service.

+ +Note that a printable service will ALWAYS allow writing to the service path +(user privileges permitting) via the spooling of print data. The 'read only' +parameter controls only non-printing access to the resource.

+ +.B Default: + printable = no

+ +.B Example: + printable = yes

+ + +

printcap name (G)

+This parameter may be used to override the compiled-in default printcap +name used by the server (usually /etc/printcap). See the discussion of the +[printers] section above for reasons why you might want to do this.

+ +On SystemV systems that use lpstat to list available printers you +can use "printcap name = lpstat" to automatically obtain lists of +available printers. This is the default for systems that define +SYSV at compile time in Samba (this includes most SystemV based +systems). If "printcap name" is set to lpstat on these systems then +Samba will launch "lpstat -v" and attempt to parse the output to +obtain a printer list.

+ +A minimal printcap file would look something like this:

+ +print1|My Printer 1 +.br +print2|My Printer 2 +.br +print3|My Printer 3 +.br +print4|My Printer 4 +.br +print5|My Printer 5

+ +where the | separates aliases of a printer. The fact that the second +alias has a space in it gives a hint to Samba that it's a comment.

+ +NOTE: Under AIX the default printcap name is "/etc/qconfig". Samba +will assume the file is in AIX "qconfig" format if the string +"/qconfig" appears in the printcap filename.

+ +.B Default: + printcap name = /etc/printcap

+ +.B Example: + printcap name = /etc/myprintcap

+ + +

printer (S)

+A synonym for this parameter is 'printer name'.

+ +This parameter specifies the name of the printer to which print jobs spooled +through a printable service will be sent.

+ +If specified in the [global] section, the printer name given will be used +for any printable service that does not have its own printer name specified.

+ +.B Default: + none (but may be 'lp' on many systems)

+ +.B Example: + printer name = laserwriter

+ + +

printer driver (S)

+This option allows you to control the string that clients receive when +they ask the server for the printer driver associated with a +printer. If you are using Windows95 or WindowsNT then you can use this +to automate the setup of printers on your system.

+ +You need to set this parameter to the exact string (case sensitive) +that describes the appropriate printer driver for your system. +If you don't know the exact string to use then you should first try +with no "printer driver" option set and the client will give you a +list of printer drivers. The appropriate strings are shown in a +scrollbox after you have chosen the printer manufacturer.

+ +.B Example: + printer driver = HP LaserJet 4L

+ + +

printer name (S)

+See +.B printer.

+ + +

printer driver file (G)

+This parameter tells Samba where the printer driver definition file, +used when serving drivers to Windows 95 clients, is to be found. If +this is not set, the default is :

+ +SAMBA_INSTALL_DIRECTORY/lib/printers.def

+ +This file is created from Windows 95 'msprint.def' files found on the +Windows 95 client system. For more details on setting up serving of +printer drivers to Windows 95 clients, see the documentation file +docs/PRINTER_DRIVER.txt.

+ +.B Default: + None (set in compile).

+ +.B Example: + printer driver file = /usr/local/samba/printers/drivers.def

+ +Related parameters. +.B printer driver location

+ + +

printer driver location (S)

+This parameter tells clients of a particular printer share where +to find the printer driver files for the automatic installation +of drivers for Windows 95 machines. If Samba is set up to serve +printer drivers to Windows 95 machines, this should be set to

+ +\e\eMACHINE\ePRINTER$

+ +Where MACHINE is the NetBIOS name of your Samba server, and PRINTER$ +is a share you set up for serving printer driver files. For more +details on setting this up see the documentation file +docs/PRINTER_DRIVER.txt.

+ +.B Default: + None

+ +.B Example: + printer driver location = \e\eMACHINE\ePRINTER$

+ +Related paramerers. +.B printer driver file

+ + + +

printing (S)

+This parameters controls how printer status information is interpreted +on your system, and also affects the default values for the "print +command", "lpq command" and "lprm command".

+ +Currently six printing styles are supported. They are "printing = +bsd", "printing = sysv", "printing = hpux", "printing = aix", +"printing = qnx" and "printing = plp".

+ +To see what the defaults are for the other print commands when using +these three options use the "testparm" program.

+ +As of version 1.9.18 of Samba this option can be set on a per printer basis

+ + +

protocol (G)

+The value of the parameter (a string) is the highest protocol level that will +be supported by the server.

+ +Possible values are CORE, COREPLUS, LANMAN1, LANMAN2 and NT1. The relative +merits of each are discussed in the README file.

+ +Normally this option should not be set as the automatic negotiation +phase in the SMB protocol takes care of choosing the appropriate protocol.

+ +.B Default: + protocol = NT1

+ +.B Example: + protocol = LANMAN1 + +

public (S)

+A synonym for this parameter is 'guest ok'.

+ +If this parameter is 'yes' for a service, then no password is required +to connect to the service. Privileges will be those of the guest +account.

+ +See the section below on user/password validation for more information about +this option.

+ +.B Default: + public = no

+ +.B Example: + public = yes + +

read list (S)

+This is a list of users that are given read-only access to a +service. If the connecting user is in this list then they will +not be given write access, no matter what the "read only" option +is set to. The list can include group names using the @group syntax.

+ +See also the "write list" option

+ +.B Default: + read list =

+ +.B Example: + read list = mary, @students

+ + +

read only (S)

+See +.B writable +and +.B write ok. +Note that this is an inverted synonym for writable and write ok. + +

read prediction (G)

+This options enables or disables the read prediction code used to +speed up reads from the server. When enabled the server will try to +pre-read data from the last accessed file that was opened read-only +while waiting for packets.

+ +

Default:

+ read prediction = False

+ +

Example:

+ read prediction = True +
+

read raw (G)

+This parameter controls whether or not the server will support raw reads when +transferring data to clients.

+ +If enabled, raw reads allow reads of 65535 bytes in one packet. This +typically provides a major performance benefit.

+ +However, some clients either negotiate the allowable block size incorrectly +or are incapable of supporting larger block sizes, and for these clients you +may need to disable raw reads.

+ +In general this parameter should be viewed as a system tuning tool and left +severely alone. See also +.B write raw.

+ +.B Default: + read raw = yes

+ +.B Example: + read raw = no + +

read size (G)

+ +The option "read size" affects the overlap of disk reads/writes with +network reads/writes. If the amount of data being transferred in +several of the SMB commands (currently SMBwrite, SMBwriteX and +SMBreadbraw) is larger than this value then the server begins writing +the data before it has received the whole packet from the network, or +in the case of SMBreadbraw, it begins writing to the network before +all the data has been read from disk.

+ +This overlapping works best when the speeds of disk and network access +are similar, having very little effect when the speed of one is much +greater than the other.

+ +The default value is 2048, but very little experimentation has been +done yet to determine the optimal value, and it is likely that the best +value will vary greatly between systems anyway. A value over 65536 is +pointless and will cause you to allocate memory unnecessarily.

+ +.B Default: + read size = 2048

+ +.B Example: + read size = 8192

+ + +

remote announce (G)

+ +This option allows you to setup nmbd to periodically announce itself +to arbitrary IP addresses with an arbitrary workgroup name.

+ +This is useful if you want your Samba server to appear in a remote +workgroup for which the normal browse propagation rules don't +work. The remote workgroup can be anywhere that you can send IP +packets to.

+ +For example:

+ + remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF

+ +the above line would cause nmbd to announce itself to the two given IP +addresses using the given workgroup names. If you leave out the +workgroup name then the one given in the "workgroup" option is used +instead.

+ +The IP addresses you choose would normally be the broadcast addresses +of the remote networks, but can also be the IP addresses of known +browse masters if your network config is that stable.

+ +This option replaces similar functionality from the nmbd lmhosts file.

+ + +

remote browse sync (G)

+ +This option allows you to setup nmbd to periodically request synchronisation +of browse lists with the master browser of a samba server that is on a remote +segment. This option will allow you to gain browse lists for multiple +workgroups across routed networks. This is done in a manner that does not work +with any non-samba servers.

+ +This is useful if you want your Samba server and all local clients +to appear in a remote workgroup for which the normal browse propagation +rules don't work. The remote workgroup can be anywhere that you can send IP +packets to.

+ +For example:

+ + remote browse sync = 192.168.2.255 192.168.4.255

+ +the above line would cause nmbd to request the master browser on the +specified subnets or addresses to synchronise their browse lists with +the local server.

+ +The IP addresses you choose would normally be the broadcast addresses +of the remote networks, but can also be the IP addresses of known +browse masters if your network config is that stable. If a machine IP +address is given Samba makes NO attempt to validate that the remote +machine is available, is listening, nor that it is in fact the browse +master on it's segment.

+ + + +

revalidate (S)

+ +This options controls whether Samba will allow a previously validated +username/password pair to be used to attach to a share. Thus if you +connect to \e\eserver\eshare1 then to \e\eserver\eshare2 it won't +automatically allow the client to request connection to the second +share as the same username as the first without a password.

+ +If "revalidate" is True then the client will be denied automatic +access as the same username.

+ +.B Default: + revalidate = False

+ +.B Example: + revalidate = True

+ + +

root (G)

+See +.B root directory. + +

root dir (G)

+See +.B root directory. +
+

root directory (G)

+Synonyms for this parameter are 'root dir' and 'root'.

+ +The server will chroot() to this directory on startup. This is not +strictly necessary for secure operation. Even without it the server +will deny access to files not in one of the service entries. It may +also check for, and deny access to, soft links to other parts of the +filesystem, or attempts to use .. in file names to access other +directories (depending on the setting of the "wide links" parameter).

+ +Adding a "root dir" entry other than "/" adds an extra level of security, +but at a price. It absolutely ensures that no access is given to files not +in the sub-tree specified in the "root dir" option, *including* some files +needed for complete operation of the server. To maintain full operability +of the server you will need to mirror some system files into the "root dir" +tree. In particular you will need to mirror /etc/passwd (or a subset of it), +and any binaries or configuration files needed for printing (if required). +The set of files that must be mirrored is operating system dependent.

+ +.B Default: + root directory = /

+ +.B Example: + root directory = /homes/smb + +

root postexec (S)

+ +This is the same as postexec except that the command is run as +root. This is useful for unmounting filesystems (such as cdroms) after +a connection is closed.

+ + +

root preexec (S)

+ +This is the same as preexec except that the command is run as +root. This is useful for mounting filesystems (such as cdroms) before +a connection is finalised.

+ + +

security (G)

+This option affects how clients respond to Samba.

+ +The option sets the "security mode bit" in replies to protocol negotiations +to turn share level security on or off. Clients decide based on this bit +whether (and how) to transfer user and password information to the server.

+ +The default is "security=SHARE", mainly because that was the only +option at one stage.

+ +The alternatives are "security = user" or "security = server".

+ +If your PCs use usernames that are the same as their usernames on the +UNIX machine then you will want to use "security = user". If you +mostly use usernames that don't exist on the UNIX box then use +"security = share".

+ +There is a bug in WfWg that may affect your decision. When in user +level security a WfWg client will totally ignore the password you type +in the "connect drive" dialog box. This makes it very difficult (if +not impossible) to connect to a Samba service as anyone except the +user that you are logged into WfWg as.

+ +If you use "security = server" then Samba will try to validate the +username/password by passing it to another SMB server, such as an NT +box. If this fails it will revert to "security = USER".

+ +See the "password server" option for more details.

+ +.B Default: + security = SHARE

+ +.B Example: + security = USER + +

server string (G)

+This controls what string will show up in the printer comment box in +print manager and next to the IPC connection in "net view". It can be +any string that you wish to show to your users.

+ +It also sets what will appear in browse lists next to the machine name.

+ +A %v will be replaced with the Samba version number.

+ +A %h will be replaced with the hostname.

+ +.B Default: + server string = Samba %v

+ +.B Example: + server string = University of GNUs Samba Server

+ + +

set directory (S)

+If 'set directory = no', then users of the service may not use the setdir +command to change directory.

+ +The setdir command is only implemented in the Digital Pathworks client. See the +Pathworks documentation for details.

+ +.B Default: + set directory = no

+ +.B Example: + set directory = yes

+ + +

shared file entries (G)

+This parameter has been removed (as of Samba 1.9.18 and above). The new +System V shared memory code prohibits the user from allocating the +share hash bucket size directly.

+ + +

shared mem size (G)

+This parameter is only useful when Samba has been compiled with FAST_SHARE_MODES. +It specifies the size of the shared memory (in bytes) to use between smbd +processes. You should never change this parameter unless you have studied +the source and know what you are doing. This parameter defaults to 1024 +multiplied by the setting of the maximum number of open files in the +file local.h in the Samba source code. MAX_OPEN_FILES is normally set +to 100, so this parameter defaults to 102400 bytes.

+ +.B Default + shared mem size = 102400

+ + +

smb passwd file (G)

+This option sets the path to the encrypted smbpasswd file. This is a *VERY +DANGEROUS OPTION* if the smb.conf is user writable. By default the path +to the smbpasswd file is compiled into Samba.

+ + +

smbrun (G)

+This sets the full path to the smbrun binary. This defaults to the +value in the Makefile.

+ +You must get this path right for many services to work correctly.

+ +.B Default: +taken from Makefile

+ +.B Example: + smbrun = /usr/local/samba/bin/smbrun

+ + +

share modes (S)

+ +This enables or disables the honouring of the "share modes" during a +file open. These modes are used by clients to gain exclusive read or +write access to a file.

+ +These open modes are not directly supported by UNIX, so they are +simulated using lock files in the "lock directory". The "lock +directory" specified in smb.conf must be readable by all users.

+ +The share modes that are enabled by this option are DENY_DOS, +DENY_ALL, DENY_READ, DENY_WRITE, DENY_NONE and DENY_FCB.

+ +Enabling this option gives full share compatibility but may cost a bit +of processing time on the UNIX server. They are enabled by default.

+ +.B Default: + share modes = yes

+ +.B Example: + share modes = no

+ + +

short preserve case (S)

+ +This controls if new short filenames are created with the case that +the client passes, or if they are forced to be the "default" case.

+ +.B Default: + short preserve case = no

+ +See the section on "NAME MANGLING" for a fuller discussion.

+ + +

socket address (G)

+ +This option allows you to control what address Samba will listen for +connections on. This is used to support multiple virtual interfaces on +the one server, each with a different configuration.

+ +By default samba will accept connections on any address.

+ +.B Example: + socket address = 192.168.2.20

+ + +

socket options (G)

+This option (which can also be invoked with the -O command line +option) allows you to set socket options to be used when talking with +the client.

+ +Socket options are controls on the networking layer of the operating +systems which allow the connection to be tuned.

+ +This option will typically be used to tune your Samba server for +optimal performance for your local network. There is no way that Samba +can know what the optimal parameters are for your net, so you must +experiment and choose them yourself. I strongly suggest you read the +appropriate documentation for your operating system first (perhaps +"man setsockopt" will help).

+ +You may find that on some systems Samba will say "Unknown socket +option" when you supply an option. This means you either mis-typed it +or you need to add an include file to includes.h for your OS. If the +latter is the case please send the patch to me +(samba-bugs@samba.anu.edu.au).

+ +Any of the supported socket options may be combined in any way you +like, as long as your OS allows it.

+ +This is the list of socket options currently settable using this +option:

+ + SO_KEEPALIVE

+ + SO_REUSEADDR

+ + SO_BROADCAST

+ + TCP_NODELAY

+ + IPTOS_LOWDELAY

+ + IPTOS_THROUGHPUT

+ + SO_SNDBUF *

+ + SO_RCVBUF *

+ + SO_SNDLOWAT *

+ + SO_RCVLOWAT *

+ +Those marked with a * take an integer argument. The others can +optionally take a 1 or 0 argument to enable or disable the option, by +default they will be enabled if you don't specify 1 or 0.

+ +To specify an argument use the syntax SOME_OPTION=VALUE for example +SO_SNDBUF=8192. Note that you must not have any spaces before or after +the = sign.

+ +If you are on a local network then a sensible option might be

+ +socket options = IPTOS_LOWDELAY

+ +If you have an almost unloaded local network and you don't mind a lot +of extra CPU usage in the server then you could try

+ +socket options = IPTOS_LOWDELAY TCP_NODELAY

+ +If you are on a wide area network then perhaps try setting +IPTOS_THROUGHPUT.

+ +Note that several of the options may cause your Samba server to fail +completely. Use these options with caution!

+ +.B Default: + no socket options

+ +.B Example: + socket options = IPTOS_LOWDELAY

+ +

+ + + +

status (G)

+This enables or disables logging of connections to a status file that +.B smbstatus +can read.

+ +With this disabled +.B smbstatus +won't be able to tell you what +connections are active.

+ +.B Default: + status = yes

+ +.B Example: + status = no

+ + +

strict locking (S)

+This is a boolean that controls the handling of file locking in the +server. When this is set to yes the server will check every read and +write access for file locks, and deny access if locks exist. This can +be slow on some systems.

+ +When strict locking is "no" the server does file lock checks only when +the client explicitly asks for them.

+ +Well behaved clients always ask for lock checks when it is important, +so in the vast majority of cases "strict locking = no" is preferable.

+ +.B Default: + strict locking = no

+ +.B Example: + strict locking = yes

+ + +

strip dot (G)

+This is a boolean that controls whether to strip trailing dots off +UNIX filenames. This helps with some CDROMs that have filenames ending in a +single dot.

+ +.B Default: + strip dot = no

+ +.B Example: + strip dot = yes

+ + +

syslog (G)

+This parameter maps how Samba debug messages are logged onto the +system syslog logging levels. Samba debug level zero maps onto +syslog LOG_ERR, debug level one maps onto LOG_WARNING, debug +level two maps to LOG_NOTICE, debug level three maps onto LOG_INFO. +The paramter sets the threshold for doing the mapping, all Samba +debug messages above this threashold are mapped to syslog LOG_DEBUG +messages.

+ +.B Default:

+ + syslog = 1

+ + +

syslog only (G)

+If this parameter is set then Samba debug messages are logged into +the system syslog only, and not to the debug log files.

+ +.B Default: + syslog only = no

+ + +

sync always (S)

+ +This is a boolean parameter that controls whether writes will always +be written to stable storage before the write call returns. If this is +false then the server will be guided by the client's request in each +write call (clients can set a bit indicating that a particular write +should be synchronous). If this is true then every write will be +followed by a fsync() call to ensure the data is written to disk.

+ +.B Default: + sync always = no

+ +.B Example: + sync always = yes

+ + +

time offset (G)

+This parameter is a setting in minutes to add to the normal GMT to +local time conversion. This is useful if you are serving a lot of PCs +that have incorrect daylight saving time handling.

+ +.B Default: + time offset = 0

+ +.B Example: + time offset = 60

+ + +

time server (G)

+This parameter determines if nmbd advertises itself as a time server +to Windows clients. The default is False.

+ +.B Default: + time server = False

+ +.B Example: + time server = True

+ + +

unix realname (G)

+This boolean parameter when set causes samba to supply the real name field +from the unix password file to the client. This is useful for setting up +mail clients and WWW browsers on systems used by more than one person.

+ +.B Default: + unix realname = no

+ +.B Example: + unix realname = yes

+ + +

user (S)

+See +.B username. + +

username (S)

+A synonym for this parameter is 'user'.

+ +Multiple users may be specified in a comma-delimited list, in which case the +supplied password will be tested against each username in turn (left to right).

+ +The username= line is needed only when the PC is unable to supply its own +username. This is the case for the coreplus protocol or where your +users have different WfWg usernames to UNIX usernames. In both these +cases you may also be better using the \e\eserver\eshare%user syntax +instead.

+ +The username= line is not a great solution in many cases as it means Samba +will try to validate the supplied password against each of the +usernames in the username= line in turn. This is slow and a bad idea for +lots of users in case of duplicate passwords. You may get timeouts or +security breaches using this parameter unwisely.

+ +Samba relies on the underlying UNIX security. This parameter does not +restrict who can login, it just offers hints to the Samba server as to +what usernames might correspond to the supplied password. Users can +login as whoever they please and they will be able to do no more +damage than if they started a telnet session. The daemon runs as the +user that they log in as, so they cannot do anything that user cannot +do.

+ +To restrict a service to a particular set of users you can use the +"valid users=" line.

+ +If any of the usernames begin with a @ then the name will be looked up +in the groups file and will expand to a list of all users in the group +of that name. Note that searching though a groups file can take quite +some time, and some clients may time out during the search.

+ +See the section below on username/password validation for more information +on how this parameter determines access to the services.

+ +.B Default: + The guest account if a guest service, else the name of the service.

+ +.B Examples: + username = fred + username = fred, mary, jack, jane, @users, @pcgroup

+ + +

username level (G)

+ +This option helps Samba to try and 'guess' at the real UNIX username, +as many DOS clients send an all-uppercase username. By default Samba +tries all lowercase, followed by the username with the first letter +capitalized, and fails if the username is not found on the UNIX machine.

+ +If this parameter is set to non-zero the behaviour changes. This +parameter is a number that specifies the number of uppercase combinations +to try whilst trying to determine the UNIX user name. The higher the number +the more combinations will be tried, but the slower the discovery +of usernames will be. Use this parameter when you have strange +usernames on your UNIX machine, such as 'AstrangeUser'.

+ +.B Default: + username level = 0

+ +.B Example: + username level = 5

+ + +

username map (G)

+ +This option allows you to to specify a file containing a mapping of +usernames from the clients to the server. This can be used for several +purposes. The most common is to map usernames that users use on DOS or +Windows machines to those that the UNIX box uses. The other is to map +multiple users to a single username so that they can more easily share +files.

+ +The map file is parsed line by line. Each line should contain a single +UNIX username on the left then a '=' followed by a list of usernames +on the right. The list of usernames on the right may contain names of +the form @group in which case they will match any UNIX username in +that group. The special client name '*' is a wildcard and matches any +name.

+ +The file is processed on each line by taking the supplied username and +comparing it with each username on the right hand side of the '=' +signs. If the supplied name matches any of the names on the right +hand side then it is replaced with the name on the left. Processing +then continues with the next line.

+ +If any line begins with a '#' or a ';' then it is ignored

+ +If any line begins with an ! then the processing will stop after that +line if a mapping was done by the line. Otherwise mapping continues +with every line being processed. Using ! is most useful when you have +a wildcard mapping line later in the file.

+ +For example to map from the name "admin" or "administrator" to the UNIX +name "root" you would use

+ + root = admin administrator

+ +Or to map anyone in the UNIX group "system" to the UNIX name "sys" you +would use

+ + sys = @system

+ +You can have as many mappings as you like in a username map file.

+ +You can map Windows usernames that have spaces in them by using double +quotes around the name. For example:

+ + tridge = "Andrew Tridgell"

+ +would map the windows username "Andrew Tridgell" to the unix username +tridge.

+ +The following example would map mary and fred to the unix user sys, +and map the rest to guest. Note the use of the ! to tell Samba to stop +processing if it gets a match on that line.

+ + !sys = mary fred + guest = *

+ + +Note that the remapping is applied to all occurrences of +usernames. Thus if you connect to "\e\eserver\efred" and "fred" is +remapped to "mary" then you will actually be connecting to +"\e\eserver\emary" and will need to supply a password suitable for +"mary" not "fred". The only exception to this is the username passed +to the "password server" (if you have one). The password server will +receive whatever username the client supplies without modification.

+ +Also note that no reverse mapping is done. The main effect this has is +with printing. Users who have been mapped may have trouble deleting +print jobs as PrintManager under WfWg will think they don't own the +print job.

+ +.B Default + no username map

+ +.B Example + username map = /usr/local/samba/lib/users.map

+ + +

valid chars (S)

+ +The option allows you to specify additional characters that should be +considered valid by the server in filenames. This is particularly +useful for national character sets, such as adding u-umlaut or a-ring.

+ +The option takes a list of characters in either integer or character +form with spaces between them. If you give two characters with a colon +between them then it will be taken as an lowercase:uppercase pair.

+ +If you have an editor capable of entering the characters into the +config file then it is probably easiest to use this method. Otherwise +you can specify the characters in octal, decimal or hexadecimal form +using the usual C notation.

+ +For example to add the single character 'Z' to the charset (which is a +pointless thing to do as it's already there) you could do one of the +following

+ +valid chars = Z +valid chars = z:Z +valid chars = 0132:0172

+ +The last two examples above actually add two characters, and alter +the uppercase and lowercase mappings appropriately.

+ +Note that you MUST specify this parameter after the "client code page" +parameter if you have both set. If "client code page" is set after +the "valid chars" parameter the "valid chars" settings will be +overwritten.

+ +See also the "client code page" parameter.

+ +.B Default +.br + Samba defaults to using a reasonable set of valid characters +.br + for english systems

+ +.B Example + valid chars = 0345:0305 0366:0326 0344:0304

+ +The above example allows filenames to have the swedish characters in +them.

+ +NOTE: It is actually quite difficult to correctly produce a "valid +chars" line for a particular system. To automate the process +tino@augsburg.net has written a package called "validchars" which will +automatically produce a complete "valid chars" line for a given client +system. Look in the examples subdirectory for this package.

+ + +

valid users (S)

+This is a list of users that should be allowed to login to this +service. A name starting with @ is interpreted as a UNIX group.

+ +If this is empty (the default) then any user can login. If a username +is in both this list and the "invalid users" list then access is +denied for that user.

+ +The current servicename is substituted for %S. This is useful in the +[homes] section.

+ +See also "invalid users"

+ +.B Default + No valid users list. (anyone can login)

+ +.B Example + valid users = greg, @pcusers

+ + + +

veto files(S)

+This is a list of files and directories that are neither visible nor +accessible. Each entry in the list must be separated by a "/", which +allows spaces to be included in the entry. '*' and '?' can be used to +specify multiple files or directories as in DOS wildcards.

+ +Each entry must be a unix path, not a DOS path and must not include the +unix directory separator "/".

+ +Note that the case sensitivity option is applicable in vetoing files.

+ +One feature of the veto files parameter that it is important to be +aware of, is that if a directory contains nothing but files that +match the veto files parameter (which means that Windows/DOS clients +cannot ever see them) is deleted, the veto files within that directory +*are automatically deleted* along with it, if the user has UNIX permissions +to do so. + +Setting this parameter will affect the performance of Samba, as +it will be forced to check all files and directories for a match +as they are scanned.

+ +See also "hide files" and "case sensitive"

+ +.B Default + No files or directories are vetoed.

+ +.B Examples + Example 1. + Veto any files containing the word Security, + any ending in .tmp, and any directory containing the + word root.

+ + veto files = /*Security*/*.tmp/*root*/

+ + Example 2. + Veto the Apple specific files that a NetAtalk server + creates.

+ + veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/

+ + +

veto oplock files (S)

+This parameter is only valid when the 'oplocks' parameter is turned on +for a share. It allows the Samba administrator to selectively turn off +the granting of oplocks on selected files that match a wildcarded list, +similar to the wildcarded list used in the 'veto files' parameter.

+ +.B Default + No files are vetoed for oplock grants.

+ +.B Examples +You might want to do this on files that you know will be heavily +contended for by clients. A good example of this is in the NetBench +SMB benchmark program, which causes heavy client contention for files +ending in .SEM. To cause Samba not to grant oplocks on these files +you would use the line (either in the [global] section or in the section +for the particular NetBench share :

+ + veto oplock files = /*.SEM/

+ + +

volume (S)

+This allows you to override the volume label returned for a +share. Useful for CDROMs with installation programs that insist on a +particular volume label.

+ +The default is the name of the share

+ + +

wide links (S)

+This parameter controls whether or not links in the UNIX file system may be +followed by the server. Links that point to areas within the directory tree +exported by the server are always allowed; this parameter controls access +only to areas that are outside the directory tree being exported.

+ +.B Default: + wide links = yes

+ +.B Example: + wide links = no

+ + +

wins proxy (G)

+ +This is a boolean that controls if nmbd will respond to broadcast name +queries on behalf of other hosts. You may need to set this to no for +some older clients.

+ +.B Default: + wins proxy = no + +

wins server (G)

+ +This specifies the DNS name (or IP address) of the WINS server that Samba +should register with. If you have a WINS server on your network then you +should set this to the WINS servers name.

+ +You should point this at your WINS server if you have a multi-subnetted +network. +.B Default: + wins server =

+ + +

wins support (G)

+ +This boolean controls if the nmbd process in Samba will act as a WINS server. +You should not set this to true unless you have a multi-subnetted network and +you wish a particular nmbd to be your WINS server. Note that you +should *NEVER* set this to true on more than one machine in your +network.

+ +.B Default: + wins support = no

+ + +

workgroup (G)

+ +This controls what workgroup your server will appear to be in when +queried by clients.

+ +.B Default: + set in the Makefile

+ +.B Example: + workgroup = MYGROUP

+ + +

writable (S)

+A synonym for this parameter is 'write ok'. An inverted synonym is 'read only'.

+ +If this parameter is 'no', then users of a service may not create or modify +files in the service's directory.

+ +Note that a printable service ('printable = yes') will ALWAYS allow +writing to the directory (user privileges permitting), but only via +spooling operations.

+ +.B Default: + writable = no

+ +.B Examples: + read only = no + writable = yes + write ok = yes + +

write list (S)

+This is a list of users that are given read-write access to a +service. If the connecting user is in this list then they will be +given write access, no matter what the "read only" option is set +to. The list can include group names using the @group syntax.

+ +Note that if a user is in both the read list and the write list then +they will be given write access.

+ +See also the "read list" option

+ +.B Default: + write list =

+ +.B Example: + write list = admin, root, @staff

+ + +

write ok (S)

+See +.B writable +and +.B read only.

+ + +

write raw (G)

+This parameter controls whether or not the server will support raw writes when +transferring data from clients.

+ +.B Default: + write raw = yes

+ +.B Example: + write raw = no

+ + + + + -- cgit