-mailto(samba-bugs@samba.anu.edu.au)
+mailto(samba-bugs@samba.org)
-manpage(smb.conf)(5)(23 Oct 1998)(Samba)(SAMBA)
+manpage(smb.conf htmlcommand((5)))(5)(23 Oct 1998)(Samba)(SAMBA)
label(NAME)
manpagename(smb.conf)(The configuration file for the Samba suite)
There are three special sections, link(bf([global]))(global),
link(bf([homes]))(homes) and link(bf([printers]))(printers), which are
-described under link(bf('special sections'))(specialsections). The
+described under link(bf('special sections'))(SPECIALSECTIONS). The
following notes apply to ordinary section descriptions.
A share consists of a directory to which access is being given plus
passwords and not usernames, you may specify a list of usernames to
check against the password using the link(bf("user="))(user) option in
the share definition. For modern clients such as Windows 95/98 and
-Windows NT, this should not be neccessary.
+Windows NT, this should not be necessary.
Note that the access rights granted by the server are masked by the
access rights granted to the specified or guest UNIX user by the host
[foo]
path = /home/bar
- writable = true
+ writeable = true
)
Parameters in this section apply to the server as a whole, or are
defaults for sections which do not specifically define certain
-items. See the notes under link(bf('Parameters'))(Parameters) for more
+items. See the notes under link(bf('PARAMETERS'))(PARAMETERS) for more
information.
label(homes)
verb(
[homes]
- writable = yes
+ writeable = yes
)
An important point is that if guest access is specified in the [homes]
Note that the [printers] service MUST be printable - if you specify
otherwise, the server will refuse to load the configuration file.
-Typically the path specified would be that of a world-writable spool
+Typically the path specified would be that of a world-writeable spool
directory with the sticky bit set on it. A typical [printers] entry
would look like this:
verb(
[printers]
path = /usr/spool/public
- writable = no
+ writeable = no
guest ok = yes
printable = yes
)
Each alias should be an acceptable printer name for your printing
subsystem. In the link(bf([global]))(global) section, specify the new
-file as your printcap. The server will then only recognise names
+file as your printcap. The server will then only recognize names
found in your pseudo-printcap, which of course can contain whatever
aliases you like. The same technique could be used simply to limit
access to a subset of your local printers.
defined on the system you may be able to use link(bf("printcap name =
lpstat"))(printcapname) to automatically obtain a list of
printers. See the link(bf("printcap name"))(printcapname) option for
-more detils.
+more details.
enddit()
Parameters define the specific attributes of sections.
Some parameters are specific to the link(bf([global]))(global) section
-(eg., link(bf(security))(security)). Some parameters are usable in
-all sections (eg., link(bf(create mode))(createmode)). All others are
+(e.g., link(bf(security))(security)). Some parameters are usable in
+all sections (e.g., link(bf(create mode))(createmode)). All others are
permissible only in normal sections. For the purposes of the following
descriptions the link(bf([homes]))(homes) and
link(bf([printers]))(printers) sections will be considered normal.
indicates that a parameter can be specified in a service specific
section. Note that all tt('S') parameters can also be specified in the
link(bf([global]))(global) section - in which case they will define
-the default behaviour for all services.
+the default behavior for all services.
Parameters are arranged here in alphabetical order - this may not
create best bedfellows, but at least you can find them! Where there
label(percenta)
it() bf(%a) = the architecture of the remote
-machine. Only some are recognised, and those may not be 100%
-reliable. It currently recognises Samba, WfWg, WinNT and
+machine. Only some are recognized, and those may not be 100%
+reliable. It currently recognizes Samba, WfWg, WinNT and
Win95. Anything else will be known as "UNKNOWN". If it gets it wrong
-then sending a level 3 log to email(samba-bugs@samba.anu.edu.au)
+then sending a level 3 log to email(samba-bugs@samba.org)
should allow it to be fixed.
label(percentI)
By default, Samba 2.0 has the same semantics as a Windows NT
server, in that it is case insensitive but case preserving.
+label(NOTEABOUTUSERNAMEPASSWORDVALIDATION)
+manpagesection(NOTE ABOUT USERNAME/PASSWORD VALIDATION)
+
+There are a number of ways in which a user can connect to a
+service. The server follows the following steps in determining if it
+will allow a connection to a specified service. If all the steps fail
+then the connection request is rejected. If one of the steps pass then
+the following steps are not checked.
+
+If the service is marked link(bf("guest only = yes"))(guestonly) then
+steps 1 to 5 are skipped.
+
+starteit()
+
+eit() Step 1: If the client has passed a username/password pair and
+that username/password pair is validated by the UNIX system's password
+programs then the connection is made as that username. Note that this
+includes the tt(\\server\service%username) method of passing a
+username.
+
+eit() Step 2: If the client has previously registered a username with
+the system and now supplies a correct password for that username then
+the connection is allowed.
+
+eit() Step 3: The client's netbios name and any previously used user
+names are checked against the supplied password, if they match then
+the connection is allowed as the corresponding user.
+
+eit() Step 4: If the client has previously validated a
+username/password pair with the server and the client has passed the
+validation token then that username is used. This step is skipped if
+link(bf("revalidate = yes"))(revalidate) for this service.
+
+eit() Step 5: If a link(bf("user = "))(user) field is given in the
+smb.conf file for the service and the client has supplied a password,
+and that password matches (according to the UNIX system's password
+checking) with one of the usernames from the link(bf(user=))(user)
+field then the connection is made as the username in the
+link(bf("user="))(user) line. If one of the username in the
+link(bf(user=))(user) list begins with a tt('@') then that name
+expands to a list of names in the group of the same name.
+
+eit() Step 6: If the service is a guest service then a connection is
+made as the username given in the link(bf("guest account
+="))(guestaccount) for the service, irrespective of the supplied
+password.
+
+endeit()
+
label(COMPLETELISTOFGLOBALPARAMETERS)
manpagesection(COMPLETE LIST OF GLOBAL PARAMETERS)
it() link(bf(dfree command))(dfreecommand)
-it() link(bf(dns proxy))(dns proxy)
+it() link(bf(dns proxy))(dnsproxy)
it() link(bf(domain admin group))(domainadmingroup)
it() link(bf(domain controller))(domaincontroller)
+it() link(bf(domain group map))(domaingroupmap)
+
it() link(bf(domain groups))(domaingroups)
it() link(bf(domain guest group))(domainguestgroup)
it() link(bf(load printers))(loadprinters)
+it() link(bf(local group map))(localgroupmap)
+
it() link(bf(local master))(localmaster)
it() link(bf(lock dir))(lockdir)
it() link(bf(netbios name))(netbiosname)
-it() link(bf(networkstation user login))(networkstationuserlogin)
-
-it() link(bf(NIS homedir))(NIShomedir)
+it() link(bf(nis homedir))(nishomedir)
it() link(bf(nt pipe support))(ntpipesupport)
it() link(bf(map system))(mapsystem)
+it() link(bf(map to guest))(maptoguest)
+
it() link(bf(max connections))(maxconnections)
it() link(bf(min print space))(minprintspace)
it() link(bf(volume))(volume)
-it() link(bf(wide links))(wide links)
+it() link(bf(wide links))(widelinks)
it() link(bf(writable))(writable)
-it() link(bf(write list))(write list)
+it() link(bf(write list))(writelist)
-it() link(bf(write ok))(write ok)
+it() link(bf(write ok))(writeok)
it() link(bf(writeable))(writeable)
file permissions.
bf(Default:) nl()
- no admin users
+tt( no admin users)
bf(Example:) nl()
- admin users = jason
+tt( admin users = jason)
label(allow hosts)
dit(bf(allow hosts (S)))
host access to see if it does what you expect.
bf(Default:)
- none (i.e., all hosts permitted access)
+tt( none (i.e., all hosts permitted access))
bf(Example:)
- allow hosts = 150.203.5. localhost myhost.mynet.edu.au
+tt( allow hosts = 150.203.5. localhost myhost.mynet.edu.au)
label(alternatepermissions)
dit(bf(alternate permissions (S)))
This specifies what type of server url(bf(nmbd))(nmbd.8.html) will
announce itself as, to a network neighborhood browse list. 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
+"WfW" meaning 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.
bf(Default:)
- announce as = NT
+tt( announce as = NT)
bf(Example)
- announce as = Win95
+tt( announce as = Win95)
label(announceversion)
dit(bf(announce version (G)))
to be a downlevel server.
bf(Default:)
- announce version = 4.2
+tt( announce version = 4.2)
bf(Example:)
- announce version = 2.0
+tt( announce version = 2.0)
label(autoservices)
then the link(bf("load printers"))(loadprinters) option is easier.
bf(Default:)
- no auto services
+tt( no auto services)
bf(Example:)
- auto services = fred lp colorlp
+tt( auto services = fred lp colorlp)
label(available)
dit(bf(available (S)))
are logged.
bf(Default:)
- available = yes
+tt( available = yes)
bf(Example:)
- available = no
+tt( available = no)
label(bindinterfacesonly)
dit(bf(bind interfaces only (G)))
For name service it causes url(bf(nmbd))(nmbd.8.html) to bind to ports
137 and 138 on the interfaces listed in the
-link(bf('interfaces'))(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 bf("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
+link(bf('interfaces'))(interfaces)
+parameter. url(bf(nmbd))(nmbd.8.html) 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
+url(bf(nmbd))(nmbd.8.html) will service name requests on all of these
+sockets. If bf("bind interfaces only") is set then
+url(bf(nmbd))(nmbd.8.html) 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
link(bf('interfaces'))(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 link(bf('interfaces'))(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.
+are received on the other sockets it allows url(bf(nmbd))(nmbd.8.html)
+to refuse to serve names to machines that send packets that arrive
+through any interfaces not listed in the
+link(bf("interfaces"))(interfaces) list. IP Source address spoofing
+does defeat this simple check, however so it must not be used
+seriously as a security feature for url(bf(nmbd))(nmbd.8.html).
+
+For file service it causes url(bf(smbd))(smbd.8.html) to bind only to
+the interface list given in the link(bf('interfaces'))(interfaces)
+parameter. This restricts the networks that url(bf(smbd))(smbd.8.html)
+will serve to packets coming in those interfaces. Note that you
+should not use this parameter for machines that are serving PPP or
+other intermittent or non-broadcast network interfaces as it will not
+cope with non-permanent interfaces.
In addition, to change a users SMB password, the
url(bf(smbpasswd))(smbpasswd.8.html) by default connects to the
of the local host.
bf(Default:)
- bind interfaces only = False
+tt( bind interfaces only = False)
bf(Example:)
- bind interfaces only = True
+tt( bind interfaces only = True)
label(blockinglocks)
dit(bf(blocking locks (S)))
This parameter can be set per share.
bf(Default:)
- blocking locks = True
+tt( blocking locks = True)
bf(Example:)
- blocking locks = False
+tt( blocking locks = False)
label(browsable)
-dit(bf(broweable (S)))
-
-This controls whether this share is seen in the list of available
-shares in a net view and in the browse list.
-
- bf(Default:)
- browsable = Yes
+dit(bf(browsable (S)))
- bf(Example:)
- browsable = No
+Synonym for link(bf(browseable))(browseable).
label(browselist)
dit(bf(browse list(G)))
should never need to change this.
bf(Default:)
- browse list = Yes
+tt( browse list = Yes)
label(browseable)
dit(bf(browseable))
-Synonym for link(bf(browsable))(browsable).
+This controls whether this share is seen in the list of available
+shares in a net view and in the browse list.
+
+ bf(Default:)
+tt( browseable = Yes)
+
+ bf(Example:)
+tt( browseable = No)
label(casesensitive)
dit(bf(case sensitive (G)))
bf(change notify timeout) is specified in units of seconds.
bf(Default:)
- change notify timeout = 60
+tt( change notify timeout = 60)
bf(Example:)
- change notify timeout = 300
+tt( change notify timeout = 300)
Would change the scan time to every 5 minutes.
parameter is not set, meaning no filename translation is done.
bf(Default:)
- character set =
+tt( character set = <empty string>)
bf(Example:)
- character set = ISO8859-1
+tt( character set = ISO8859-1)
label(clientcodepage)
dit(bf(client code page (G)))
to map lower to upper case characters to provide the case insensitivity
of filenames that Windows clients expect.
-Samba currenly ships with the following code page files :
+Samba currently ships with the following code page files :
startit()
See also : link(bf("valid chars"))(validchars)
bf(Default:)
- client code page = 850
+tt( client code page = 850)
bf(Example:)
- client code page = 936
+tt( client code page = 936)
label(codingsystem)
dit(bf(codingsystem (G)))
startit()
-it() bf(SJIS)) Shift-JIS. Does no conversion of the incoming filename.
+it() bf(SJIS) Shift-JIS. Does no conversion of the incoming filename.
-it() bf(JIS8, J8BB, J8BH, J8@B, J8@J, J8@H )) Convert from incoming
+it() bf(JIS8, J8BB, J8BH, J8@B, J8@J, J8@H ) Convert from incoming
Shift-JIS to eight bit JIS code with different shift-in, shift out
codes.
-it() bf(JIS7, J7BB, J7BH, J7@B, J7@J, J7@H )) Convert from incoming
+it() bf(JIS7, J7BB, J7BH, J7@B, J7@J, J7@H ) Convert from incoming
Shift-JIS to seven bit JIS code with different shift-in, shift out
codes.
-it() bf(JUNET, JUBB, JUBH, JU@B, JU@J, JU@H )) Convert from incoming
+it() bf(JUNET, JUBB, JUBH, JU@B, JU@J, JU@H ) Convert from incoming
Shift-JIS to JUNET code with different shift-in, shift out codes.
it() bf(EUC) Convert an incoming Shift-JIS character to EUC code.
it() bf(HEX) Convert an incoming Shift-JIS character to a 3 byte hex
-representation, ie. tt(:AB).
+representation, i.e. tt(:AB).
it() bf(CAP) Convert an incoming Shift-JIS character to the 3 byte hex
-representation used by the Columbia Appletalk Program (CAP),
-ie. tt(:AB). This is used for compatibility between Samba and CAP.
+representation used by the Columbia AppleTalk Program (CAP),
+i.e. tt(:AB). This is used for compatibility between Samba and CAP.
endit()
name then see the server string command.
bf(Default:)
- No comment string
+tt( No comment string)
bf(Example:)
- comment = Fred's Files
+tt( comment = Fred's Files)
label(configfile)
dit(bf(config file (G)))
in the configuration file than the service doing the copying.
bf(Default:)
- none
+tt( none)
bf(Example:)
- copy = otherservice
+tt( copy = otherservice)
-label(createmode)
+label(createmask)
dit(bf(create mask (S)))
A synonym for this parameter is link(bf('create mode'))(createmode).
-When a file is created, the neccessary permissions are calculated
+When a file is created, the necessary 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
mode bits on created directories.
bf(Default:)
- create mask = 0744
+tt( create mask = 0744)
bf(Example:)
- create mask = 0775
+tt( create mask = 0775)
label(createmode)
dit(bf(create mode (S)))
performed.
bf(Default:)
- deadtime = 0
+tt( deadtime = 0)
bf(Example:)
- deadtime = 15
+tt( deadtime = 15)
-label(debug timestamp (G))
+label(debugtimestamp)
+dit(bf(debug timestamp (G)))
Samba2.0 debug log messages are timestamped by default. If you are
running at a high link(bf("debug level"))(debuglevel) these timestamps
off.
bf(Default:)
- debug timestamp = Yes
+tt( debug timestamp = Yes)
bf(Example:)
- debug timestamp = No
+tt( debug timestamp = No)
label(debuglevel)
dit(bf(debug level (G)))
or level zero if none was specified.
bf(Example:)
- debug level = 3
+tt( debug level = 3)
label(default)
dit(bf(default (G)))
semantics prevent deletion of a read only file.
bf(Default:)
- delete readonly = No
+tt( delete readonly = No)
bf(Example:)
- delete readonly = Yes
+tt( delete readonly = Yes)
label(deletevetofiles)
dit(bf(delete veto files (S)))
delete any files and directories within the vetoed directory. This can
be useful for integration with file serving systems such as bf(NetAtalk),
which create meta-files within directories you might normally veto
-DOS/Windows users from seeing (eg. tt(.AppleDouble))
+DOS/Windows users from seeing (e.g. tt(.AppleDouble))
Setting tt('delete veto files = True') allows these directories to be
transparently deleted when the parent directory is deleted (so long
See also the link(bf(veto files))(vetofiles) parameter.
bf(Default:)
- delete veto files = False
+tt( delete veto files = False)
bf(Example:)
- delete veto files = True
+tt( delete veto files = True)
label(denyhosts)
dit(bf(deny hosts (S)))
conflict, the link(bf('allow'))(allowhosts) list takes precedence.
bf(Default:)
- none (i.e., no hosts specifically excluded)
+tt( none (i.e., no hosts specifically excluded))
bf(Example:)
- deny hosts = 150.203.4. badhost.mynet.edu.au
+tt( deny hosts = 150.203.4. badhost.mynet.edu.au)
label(dfreecommand)
dit(bf(dfree command (G)))
is 1024 bytes.
Note: Your script should em(NOT) be setuid or setgid and should be
-owned by (and writable only by) root!
+owned by (and writeable only by) root!
bf(Default:)
- By default internal routines for determining the disk capacity
-and remaining space will be used.
+tt( By default internal routines for determining the disk capacity
+and remaining space will be used.)
bf(Example:)
- dfree command = /usr/local/samba/bin/dfree
+tt( dfree command = /usr/local/samba/bin/dfree)
Where the script dfree (which must be made executable) could be:
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
+When a directory is created, the necessary 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
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
+parameter. This parameter is set to 000 by default (i.e. no extra mode
bits are added).
See the link(bf("force directory mode"))(forcedirectorymode) parameter
mode bits on created files.
bf(Default:)
- directory mask = 0755
+tt( directory mask = 0755)
bf(Example:)
- directory mask = 0775
+tt( directory mask = 0775)
label(directorymode)
dit(bf(directory mode (S)))
See also the parameter link(bf(wins support))(winssupport).
bf(Default:)
- dns proxy = yes
+tt( dns proxy = yes)
label(domainadmingroup)
bf(domain admin group (G))
This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
-Samba NT Domain Controller Code. It may be removed in a later release.
+Samba NT Domain Controller Code. It has been removed as of November 98.
To work with the latest code builds that may have more support for
-Samba NT Domain Controller functionality please subscibe to the
+Samba NT Domain Controller functionality please subscribe to the
mailing list bf(Samba-ntdom) available by sending email to
-email(listproc@samba.anu.edu.au)
+email(listproc@samba.org)
label(domainadminusers)
-dit(bf(domain admin users)
+dit(bf(domain admin users (G)))
This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
-Samba NT Domain Controller Code. It may be removed in a later release.
+Samba NT Domain Controller Code. It has been removed as of November 98.
To work with the latest code builds that may have more support for
-Samba NT Domain Controller functionality please subscibe to the
+Samba NT Domain Controller functionality please subscribe to the
mailing list bf(Samba-ntdom) available by sending email to
-email(listproc@samba.anu.edu.au)
+email(listproc@samba.org)
label(domain controller)
dit(bf(domain controller (G)))
the Samba source and should be removed from all current smb.conf
files. It is left behind for compatibility reasons.
+label(domaingroupmap)
+dit(bf(domain group map (G)))
+
+This option allows you to specify a file containing unique mappings
+of individual NT Domain Group names (in any domain) to UNIX group
+names. This allows NT domain groups to be presented correctly to
+NT users, despite the lack of native support for the NT Security model
+(based on VAX/VMS) in UNIX. The reader is advised to become familiar
+with the NT Domain system and its administration.
+
+This option is used in conjunction with link(bf('local group map'))(localgroupmap)
+and link(bf('username map'))(usernamemap). The use of these three
+options is trivial and often unnecessary in the case where Samba is
+not expected to interact with any other SAM databases (whether local
+workstations or Domain Controllers).
+
+
+The map file is parsed line by line. If any line begins with a tt('#')
+or a tt(';') then it is ignored. Each line should contain a single UNIX
+group name on the left then an NT Domain Group name on the right.
+The line can be either of the form:
+
+tt( UNIXgroupname \\DOMAIN_NAME\\DomainGroupName )
+
+or:
+
+tt( UNIXgroupname DomainGroupName )
+
+In the case where Samba is either an bf(EXPERIMENTAL) Domain Controller
+or it is a member of a domain using link(bf("security = domain"))(security),
+the latter format can be used: the default Domain name is the Samba Server's
+Domain name, specified by link(bf("workgroup = MYGROUP"))(workgroup).
+
+Any UNIX groups that are em(NOT) specified in this map file are assumed
+to be Domain Groups.
+
+In this case, when Samba is an bf(EXPERIMENTAL) Domain Controller, Samba
+will present em(ALL) such unspecified UNIX groups as its own NT Domain
+Groups, with the same name.
+
+In the case where Samba is member of a domain using
+link(bf("security = domain"))(security), Samba will check the UNIX name with
+its Domain Controller (see link(bf("password server"))(passwordserver))
+as if it was an NT Domain Group. If the UNIX group is not an NT Group,
+such unspecified (unmapped) UNIX groups which also are not NT Domain
+Groups are treated as Local Groups in the Samba Server's local SAM database.
+NT Administrators will recognise these as Workstation Local Groups,
+which are managed by running bf(USRMGR.EXE) and selecting a remote
+Domain named "\\WORKSTATION_NAME", or by running bf(MUSRMGR.EXE) on
+a local Workstation.
+
+Note that adding an entry to map an arbitrary NT group in an arbitrary
+Domain to an arbitrary UNIX group requires the following: that the UNIX
+group exists on the UNIX server; that the NT Domain Group exists in the
+specified NT Domain; that the UNIX Server knows about the specified Domain;
+that all the UNIX users (who are expecting to access the Samba
+Server as the correct NT user and with the correct NT group permissions)
+in the UNIX group be mapped to the correct NT Domain users in the specified
+NT Domain using link(bf('username map'))(usernamemap).
+
+
label(domaingroups)
dit(bf(domain groups (G)))
This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
-Samba NT Domain Controller Code. It may be removed in a later release.
+Samba NT Domain Controller Code. It has been removed as of November 98.
To work with the latest code builds that may have more support for
-Samba NT Domain Controller functionality please subscibe to the
+Samba NT Domain Controller functionality please subscribe to the
mailing list bf(Samba-ntdom) available by sending email to
-email(listproc@samba.anu.edu.au)
+email(listproc@samba.org)
label(domainguestgroup)
dit(bf(domain guest group (G)))
This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
-Samba NT Domain Controller Code. It may be removed in a later release.
+Samba NT Domain Controller Code. It has been removed as of November 98.
To work with the latest code builds that may have more support for
-Samba NT Domain Controller functionality please subscibe to the
+Samba NT Domain Controller functionality please subscribe to the
mailing list bf(Samba-ntdom) available by sending email to
-email(listproc@samba.anu.edu.au)
+email(listproc@samba.org)
label(domainguestusers)
dit(bf(domain guest users (G)))
This is an bf(EXPERIMENTAL) parameter that is part of the unfinished
-Samba NT Domain Controller Code. It may be removed in a later release.
+Samba NT Domain Controller Code. It has been removed as of November 98.
To work with the latest code builds that may have more support for
-Samba NT Domain Controller functionality please subscibe to the
+Samba NT Domain Controller functionality please subscribe to the
mailing list bf(Samba-ntdom) available by sending email to
-email(listproc@samba.anu.edu.au)
+email(listproc@samba.org)
label(domainlogons)
dit(bf(domain logons (G)))
Note that Win95/98 Domain logons are em(NOT) the same as Windows
NT Domain logons. NT Domain logons require a Primary Domain Controller
-(PDC) for the Domain. It is inteded that in a future release Samba
+(PDC) for the Domain. It is intended that in a future release Samba
will be able to provide this functionality for Windows NT clients
also.
bf(Default:)
- domain logons = no
+tt( domain logons = no)
label(domainmaster)
dit(bf(domain master (G)))
Tell url(bf(nmbd))(nmbd.8.html) to enable WAN-wide browse list
-collation.Setting this option causes url(bf(nmbd))(nmbd.8.html) to
+collation. Setting this option causes url(bf(nmbd))(nmbd.8.html) to
claim a special domain specific NetBIOS name that identifies it as a
domain master browser for its given
link(bf(workgroup))(workgroup). Local master browsers in the same
Note that Windows NT Primary Domain Controllers expect to be able to
claim this link(bf(workgroup))(workgroup) specific special NetBIOS
name that identifies them as domain master browsers for that
-link(bf(workgroup))(workgroup) by default (ie. there is no way to
+link(bf(workgroup))(workgroup) by default (i.e. there is no way to
prevent a Windows NT PDC from attempting to do this). This means that
if this parameter is set and url(bf(nmbd))(nmbd.8.html) claims the
special name for a link(bf(workgroup))(workgroup) before a Windows NT
and may fail.
bf(Default:)
- domain master = no
+tt( domain master = no)
label(dont descend)
dit(bf(dont descend (S)))
-There are certain directories on some systems (eg., the tt(/proc) tree
+There are certain directories on some systems (e.g., the tt(/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
just tt("/proc"). Experimentation is the best policy :-)
bf(Default:)
- none (i.e., all directories are OK to descend)
+tt( none (i.e., all directories are OK to descend))
bf(Example:)
- dont descend = /proc,/dev
+tt( dont descend = /proc,/dev)
label(dosfiletimeresolution)
dit(bf(dos filetime resolution (S)))
-Under the DOS and Windows FAT filesystem, the finest granulatity on
+Under the DOS and Windows FAT filesystem, the finest granularity 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
happy.
bf(Default:)
- dos filetime resolution = False
+tt( dos filetime resolution = False)
bf(Example:)
- dos filetime resolution = True
+tt( dos filetime resolution = True)
label(dos filetimes)
dit(bf(dos filetimes (S)))
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
+to True allows DOS semantics and smbd will change the file timestamp as
DOS requires.
bf(Default:)
- dos filetimes = False
+tt( dos filetimes = False)
bf(Example:)
- dos filetimes = True
+tt( dos filetimes = True)
label(encryptpasswords)
dit(bf(encrypt passwords (G)))
url(bf(smbpasswd (5)))(smbpasswd.5.html) file (see the
url(bf(smbpasswd (8)))(smbpasswd.8.html) program for information on
how to set up and maintain this file), or set the
-link(bf(security=))(security) parameter to either em("server") or
-em("domain") which causes url(bf(smbd))(smbd.8.html) to authenticate
-against another server.
+link(bf(security=))(security) parameter to either
+link(bf("server"))(securityequalserver) or
+link(bf("domain"))(securityequaldomain) which causes
+url(bf(smbd))(smbd.8.html) to authenticate against another server.
label(exec)
dit(bf(exec (S)))
This is a synonym for link(bf(preexec))(preexec).
-
label(fake directory create times)
dit(bf(fake directory create times (S)))
expected.
bf(Default:)
- fake directory create times = False
+tt( fake directory create times = False)
bf(Example:)
- fake directory create times = True
+tt( fake directory create times = True)
label(fakeoplocks)
dit(bf(fake oplocks (S)))
always grant oplock requests no matter how many clients are using the
file.
-It is generally much better to use the real link(bf(oplock))(oplock)
+It is generally much better to use the real link(bf(oplocks))(oplocks)
support rather than this parameter.
If you enable this option on all read-only shares or shares that you
particular share. Setting this parameter to em("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 tt(/etc/pasword) in their home directory for
+adding a symbolic link to tt(/etc/passwd) in their home directory for
instance. However it will slow filename lookups down slightly.
-This option is enabled (ie. url(bf(smbd))(smbd.8.html) will follow
+This option is enabled (i.e. url(bf(smbd))(smbd.8.html) will follow
symbolic links) by default.
label(forcecreatemode)
This parameter specifies a set of UNIX mode bit permissions that will
em(*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
+created. The default for this parameter is (in octal) 000. The modes
in this parameter are bitwise 'OR'ed onto the file mode after the mask
-set in the link(bf("create mask"))(createmark) parameter is applied.
+set in the link(bf("create mask"))(createmask) parameter is applied.
See also the parameter link(bf("create mask"))(createmask) for details
on masking mode bits on created files.
bf(Default:)
- force create mode = 000
+tt( force create mode = 000)
bf(Example:)
- force create mode = 0755
+tt( 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
This parameter specifies a set of UNIX mode bit permissions that will
em(*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
+being created. The default for this parameter is (in octal) 0000 which
will not add any extra permission bits to a created directory. This
operation is done after the mode mask in the parameter
link(bf("directory mask"))(directorymask) is applied.
details on masking mode bits on created directories.
bf(Default:)
- force directory mode = 000
+tt( force directory mode = 000)
bf(Example:)
- force directory mode = 0755
+tt( force directory mode = 0755)
would force all created directories to have read and execute
permissions set for 'group' and 'other' as well as the
files.
bf(Default:)
- no forced group
+tt( no forced group)
bf(Example:)
- force group = agroup
+tt( force group = agroup)
label(forceuser)
dit(bf(force user (S)))
This can be very useful.
bf(Default:)
- no forced user
+tt( no forced user)
bf(Example:)
- force user = auser
+tt( force user = auser)
label(fstype)
dit(bf(fstype (S)))
"FAT" if required.
bf(Default:)
- fstype = NTFS
+tt( fstype = NTFS)
bf(Example:)
- fstype = Samba
+tt( fstype = Samba)
label(getwdcache)
dit(bf(getwd cache (G)))
-This is a tuning option. When this is enabled a cacheing algorithm
+This is a tuning option. When this is enabled a caching algorithm
will be used to reduce the time taken for getwd() calls. This can have
a significant impact on performance, especially when the
link(bf(widelinks))(widelinks) parameter is set to False.
bf(Default:)
- getwd cache = No
+tt( getwd cache = No)
bf(Example:)
- getwd cache = Yes
+tt( getwd cache = Yes)
label(group)
dit(bf(group (S)))
bf(lpr (1)) or bf(lp (1)).
bf(Default:)
- specified at compile time, usually "nobody"
+tt( specified at compile time, usually "nobody")
bf(Example:)
- guest account = ftp
+tt( guest account = ftp)
label(guestok)
dit(bf(guest ok (S)))
information about this option.
bf(Default:)
- guest ok = no
+tt( guest ok = no)
bf(Example:)
- guest ok = yes
+tt( guest ok = yes)
label(guestonly)
dit(bf(guest only (S)))
information about this option.
bf(Default:)
- guest only = no
+tt( guest only = no)
bf(Example:)
- guest only = yes
+tt( guest only = yes)
label(hidedotfiles)
dit(bf(hide dot files (S)))
a dot appear as hidden files.
bf(Default:)
- hide dot files = yes
+tt( hide dot files = yes)
bf(Example:)
- hide dot files = no
+tt( hide dot files = no)
label(hidefiles)
spaces to be included in the entry. tt('*') and tt('?') 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 tt('/').
+Each entry must be a Unix path, not a DOS path and must not include the
+Unix directory separator tt('/').
Note that the case sensitivity option is applicable in hiding files.
files"))(vetofiles) and link(bf("case sensitive"))(casesensitive).
bf(Default)
+verb(
No files or directories are hidden by this option (dot files are
hidden by default because of the "hide dot files" option).
+)
bf(Example)
tt( hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/)
logons))(domainlogons).
bf(Default:)
- homedir map = auto.home
+tt( homedir map = auto.home)
bf(Example:)
- homedir map = amd.homedir
+tt( homedir map = amd.homedir)
label(hostsallow)
dit(bf(hosts allow (S)))
kids. And only if you em(really) trust them :-).
bf(Default)
- No host equivalences
+tt( No host equivalences)
bf(Example)
- hosts equiv = /etc/hosts.equiv
+tt( hosts equiv = /etc/hosts.equiv)
label(include)
dit(bf(include (G)))
See also link(bf("valid users"))(validusers).
bf(Default:)
- No invalid users
+tt( No invalid users)
bf(Example:)
tt( invalid users = root fred admin @wheel)
if you strike difficulties.
bf(Default:)
- keep alive = 0
+tt( keep alive = 0)
bf(Example:)
- keep alive = 60
+tt( keep alive = 60)
label(kerneloplocks)
dit(bf(kernel oplocks (G)))
-For UNIXs that support kernel based oplocks (currently only IRIX but
-hopefully also Linux and FreeBSD soon) this parameter allows the use
-of them to be turned on or off.
+For UNIXs that support kernel based link(bf(oplocks))(oplocks)
+(currently only IRIX but hopefully also Linux and FreeBSD soon) this
+parameter allows the use of them to be turned on or off.
-Kernel oplocks support allows Samba oplocks to be broken whenever a
-local UNIX process or NFS operation accesses a file that
-url(bf(smbd))(smbd.8.html) has oplocked. This allows complete data
-consistancy between SMB/CIFS, NFS and local file access (and is a
+Kernel oplocks support allows Samba link(bf(oplocks))(oplocks) to be
+broken whenever a local UNIX process or NFS operation accesses a file
+that url(bf(smbd))(smbd.8.html) has oplocked. This allows complete
+data consistency between SMB/CIFS, NFS and local file access (and is a
em(very) cool feature :-).
This parameter defaults to em("On") on systems that have the support,
searched for.
bf(Default:)
- empty string.
+tt( empty string.)
label(ldapport)
dit(bf(ldap port (G)))
the LDAP server on.
bf(Default:)
- ldap port = 389.
+tt( ldap port = 389.)
label(ldaproot)
dit(bf(ldap root (G)))
See also link(bf(ldap root passwd))(ldaprootpasswd).
bf(Default:)
- empty string (no user defined)
+tt( empty string (no user defined))
label(ldaprootpasswd)
dit(bf(ldap root passwd (G)))
See also link(bf(ldap root))(ldaproot).
bf(Default:)
- empty string.
+tt( empty string.)
label(ldapserver)
dit(bf(ldap server (G)))
for SMB/CIFS authentication purposes.
bf(Default:)
- ldap server = localhost
+tt( ldap server = localhost)
label(ldapsuffix)
dit(bf(ldap suffix (G)))
for an entry in the LDAP password database.
bf(Default:)
- empty string.
+tt( empty string.)
label(lmannounce)
dit(bf(lm announce (G)))
See also link(bf("lm interval"))(lminterval).
bf(Default:)
- lm announce = auto
+tt( lm announce = auto)
bf(Example:)
- lm announce = true
+tt( lm announce = true)
label(lminterval)
dit(bf(lm interval (G)))
See also link(bf("lm announce"))(lmannounce).
bf(Default:)
- lm interval = 60
+tt( lm interval = 60)
bf(Example:)
- lm interval = 120
+tt( lm interval = 120)
label(loadprinters)
dit(bf(load printers (G)))
link(bf("printers"))(printers) section for more details.
bf(Default:)
- load printers = yes
+tt( load printers = yes)
+
+ bf(Example:)
+tt( load printers = no)
+
+label(localgroupmap)
+dit(bf(local group map (G)))
+
+This option allows you to specify a file containing unique mappings
+of individual NT Local Group names (in any domain) to UNIX group
+names. This allows NT Local groups (aliases) to be presented correctly to
+NT users, despite the lack of native support for the NT Security model
+(based on VAX/VMS) in UNIX. The reader is advised to become familiar
+with the NT Domain system and its administration.
+
+This option is used in conjunction with link(bf('domain group map'))(domaingroupmap)
+and link(bf('username map'))(usernamemap). The use of these three
+options is trivial and often unnecessary in the case where Samba
+is not expected to interact with any other SAM databases (whether local
+workstations or Domain Controllers).
+
+
+The map file is parsed line by line. If any line begins with a tt('#')
+or a tt(';') then it is ignored. Each line should contain a single UNIX
+group name on the left then an NT Local Group name on the right.
+The line can be either of the form:
+
+tt( UNIXgroupname \\DOMAIN_NAME\\LocalGroupName )
+
+or:
+
+tt( UNIXgroupname LocalGroupName )
+
+In the case where Samba is either an bf(EXPERIMENTAL) Domain Controller
+or it is a member of a domain using link(bf("security = domain"))(security),
+the latter format can be used: the default Domain name is the Samba Server's
+Domain name, specified by link(bf("workgroup = MYGROUP"))(workgroup).
+
+Any UNIX groups that are em(NOT) specified in this map file are treated
+as Local Groups depending on the role of the Samba Server.
+
+When Samba is an bf(EXPERIMENTAL) Domain Controller, Samba
+will present em(ALL) unspecified UNIX groups as its own NT Domain
+Groups, with the same name, and em(NOT) as Local Groups.
+
+In the case where Samba is member of a domain using
+link(bf("security = domain"))(security), Samba will check the UNIX name with
+its Domain Controller (see link(bf("password server"))(passwordserver))
+as if it was an NT Domain Group. If the UNIX group is not an NT Group,
+such unspecified (unmapped) UNIX groups which also are not NT Domain
+Groups are treated as Local Groups in the Samba Server's local SAM database.
+NT Administrators will recognise these as Workstation Local Groups,
+which are managed by running bf(USRMGR.EXE) and selecting a remote
+Domain named "\\WORKSTATION_NAME", or by running bf(MUSRMGR.EXE) on
+a local Workstation.
+
+Note that adding an entry to map an arbitrary NT group in an arbitrary
+Domain to an arbitrary UNIX group requires the following: that the UNIX
+group exists on the UNIX server; that the NT Local Group exists in the
+specified NT Domain; that the UNIX Server knows about the specified Domain;
+that all the UNIX users (who are expecting to access the Samba
+Server as the correct NT user and with the correct NT group permissions)
+in the UNIX group be mapped to the correct NT Domain users in the specified
+NT Domain using link(bf('username map'))(usernamemap).
- bg(Example:)
- load printers = no
label(localmaster)
dit(bf(local master (G)))
em(never) to become a local master browser.
bf(Default:)
- local master = yes
+tt( local master = yes)
+
+label(lock dir)
+dit(bf(lock dir (G)))
+
+Synonym for link(bf("lock directory"))(lockdirectory).
label(lockdirectory)
dit(bf(lock directory (G)))
connections"))(maxconnections) option.
bf(Default:)
- lock directory = /tmp/samba
+tt( lock directory = /tmp/samba)
bf(Example:)
- lock directory = /usr/local/samba/var/locks
+tt( lock directory = /usr/local/samba/var/locks)
label(locking)
dit(bf(locking (S)))
never need to set this parameter.
bf(Default:)
- locking = yes
+tt( locking = yes)
bf(Example:)
- locking = no
+tt( locking = no)
label(logfile)
dit(bf(log file (G)))
link(bf(logon server))(domainlogons).
bf(Example:)
- logon drive = h:
+tt( logon drive = h:)
label(logonhome)
dit(bf(logon home (G)))
time, in order that the Windows 95/98 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
+Thereafter, the directories and any of the contents can, if required, be
+made read-only. It is not advisable that the USER.DAT file be made
read-only - rename it to USER.MAN to achieve the desired effect (a
em(MAN)datory 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 setting this parameter to tt(\\%N\HOMES\profile_path) will cause
+(i.e. setting this parameter to tt(\\%N\HOMES\profile_path) will cause
problems).
This option takes the standard substitutions, allowing you to have
The contents of the batch file is entirely your choice. A suggested
command would be to add tt(NET TIME \\SERVER /SET /YES), to force every
-machine to synchronise clocks with the same time server. Another use
+machine to synchronize clocks with the same time server. Another use
would be to add tt(NET USE U: \\SERVER\UTILS) for commonly used
utilities, or tt(NET USE Q: \\SERVER\ISO9001_QA) for example.
less than 10 seconds old. A large value may be advisable if your
bf(lpq) command is very slow.
-A value of 0 will disable cacheing completely.
+A value of 0 will disable caching completely.
See also the link(bf("printing"))(printing) parameter.
bf(Default:)
- lpq cache time = 10
+tt( lpq cache time = 10)
bf(Example:)
- lpq cache time = 30
+tt( lpq cache time = 30)
label(lpqcommand)
dit(bf(lpq command (S)))
See also the link(bf("printing"))(printing) parameter.
bf(Default:)
- depends on the setting of link(bf("printing ="))(printing)
+tt( depends on the setting of printing =)
bf(Example:)
tt( lpq command = /usr/bin/lpq %p)
See also the link(bf("printing"))(printing) parameter.
-.B Default:
- depends on the setting of "printing ="
+ bf(Default:)
+tt( depends on the setting of "printing =")
bf(Example 1:)
tt( lprm command = /usr/bin/lprm -P%p %j)
dit(bf(machine password timeout (G)))
If a Samba server is a member of an Windows NT Domain (see the
-link(bf("security=domain"))(security)) parameter) then periodically a
-running url(bf(smbd))(smbd.8.html) process will try and change the
-bf(MACHINE ACCOUNT PASWORD) stored in the file called
+link(bf("security=domain"))(securityequaldomain)) parameter) then
+periodically a running url(bf(smbd))(smbd.8.html) process will try and
+change the bf(MACHINE ACCOUNT PASWORD) stored in the file called
tt(<Domain>.<Machine>.mac) where tt(<Domain>) is the name of the
-Domain we are a member of and tt<Machine> is the primary
+Domain we are a member of and tt(<Machine>) is the primary
link(bf("NetBIOS name"))(netbiosname) of the machine
-url(bf(smbd))(smbd.8.html) is running on. This parameter specifies
-how often this password will be changed, in seconds. The default
-is one week (expressed in seconds), the same as a Windows NT
-Domain member server.
+url(bf(smbd))(smbd.8.html) is running on. This parameter specifies how
+often this password will be changed, in seconds. The default is one
+week (expressed in seconds), the same as a Windows NT Domain member
+server.
See also url(bf(smbpasswd (8)))(smbpasswd.8.html), and the
-link(bf("security=domain"))(security)) parameter.
+link(bf("security=domain"))(securityequaldomain)) parameter.
bf(Default:)
- machine password timeout = 604800
+tt( machine password timeout = 604800)
label(magicoutput)
dit(bf(magic output (S)))
is undefined.
bf(Default:)
- magic output = <magic script name>.out
+tt( magic output = <magic script name>.out)
bf(Example:)
- magic output = myfile.txt
+tt( magic output = myfile.txt)
label(magicscript)
dit(bf(magic script (S)))
Magic scripts are em(EXPERIMENTAL) and should em(NOT) be relied upon.
bf(Default:)
- None. Magic scripts disabled.
+tt( None. Magic scripts disabled.)
bf(Example:)
- magic script = user.csh
+tt( magic script = user.csh)
label(manglecase)
dit(bf(mangle case (S)))
label(mangledmap)
dit(bf(mangled map (S)))
-This is for those who want to directly map UNIX file names which are
-not representable on Windows/DOS. The mangling of names is not always
+This is for those who want to directly map UNIX file names which can
+not be represented on Windows/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 tt(".html") for HTML files, whereas under
tt( mangled map = (*.html *.htm))
One very useful case is to remove the annoying tt(";1") off the ends
-of filenames on some CDROMS (only visible under some UNIXes). To do
+of filenames on some CDROMS (only visible under some UNIXs). To do
this use a map of (*;1 *).
bf(default:)
- no mangled map
+tt( no mangled map)
bf(Example:)
tt( mangled map = (*;1 *))
change between sessions.
bf(Default:)
- mangled names = yes
+tt( mangled names = yes)
bf(Example:)
- mangled names = no
+tt( mangled names = no)
label(manglingchar)
dit(bf(mangling char (S)))
whatever you prefer.
bf(Default:)
- mangling char = ~
+tt( mangling char = ~)
bf(Example:)
- mangling char = ^
+tt( mangling char = ^)
label(mangledstack)
dit(bf(mangled stack (G)))
be prepared for some surprises!
bf(Default:)
- mangled stack = 50
+tt( mangled stack = 50)
bf(Example:)
- mangled stack = 100
+tt( mangled stack = 100)
label(maparchive)
dit(bf(map archive (S)))
Note that this requires the link(bf("create mask"))(createmask)
parameter to be set such that owner execute bit is not masked out
-(ie. it must include 100). See the parameter link(bf("create
+(i.e. it must include 100). See the parameter link(bf("create
mask"))(createmask) for details.
bf(Default:)
- map archive = yes
+tt( map archive = yes)
bf(Example:)
- map archive = no
+tt( map archive = no)
label(maphidden)
dit(bf(map hidden (S)))
UNIX world execute bit.
Note that this requires the link(bf("create mask"))(createmask) to be
-set such that the world execute bit is not masked out (ie. it must
+set such that the world execute bit is not masked out (i.e. it must
include 001). See the parameter link(bf("create mask"))(createmask)
for details.
bf(Default:)
- map hidden = no
+tt( map hidden = no)
bf(Example:)
- map hidden = yes
+tt( map hidden = yes)
label(mapsystem)
dit(bf(map system (S)))
UNIX group execute bit.
Note that this requires the link(bf("create mask"))(createmask) to be
-set such that the group execute bit is not masked out (ie. it must
+set such that the group execute bit is not masked out (i.e. it must
include 010). See the parameter link(bf("create mask"))(createmask)
for details.
bf(Default:)
- map system = no
+tt( map system = no)
bf(Example:)
- map system = yes
+tt( map system = yes)
+
+label(maptoguest)
+dit(bf(map to guest (G)))
+
+This parameter is only useful in link(bf(security))(security) modes
+other than link(bf("security=share"))(securityequalshare) - i.e. user,
+server, and domain.
+
+This parameter can take three different values, which tell
+url(bf(smbd))(smbd.8.html) what to do with user login requests that
+don't match a valid UNIX user in some way.
+
+The three settings are :
+
+startit()
+
+it() bf("Never") - Means user login requests with an invalid password
+are rejected. This is the default.
+
+it() bf("Bad User") - Means user logins with an invalid password are
+rejected, unless the username does not exist, in which case it is
+treated as a guest login and mapped into the link(bf("guest
+account"))(guestaccount).
+
+it() bf("Bad Password") - Means user logins with an invalid
+password are treated as a guest login and mapped into the
+link(bf("guest account"))(guestaccount). Note that this can
+cause problems as it means that any user incorrectly typing their
+password will be silently logged on a bf("guest") - and
+will not know the reason they cannot access files they think
+they should - there will have been no message given to them
+that they got their password wrong. Helpdesk services will
+em(*hate*) you if you set the bf("map to guest") parameter
+this way :-).
+
+endit()
+
+Note that this parameter is needed to set up bf("Guest") share
+services when using link(bf(security))(security) modes other than
+share. This is because in these modes the name of the resource being
+requested is em(*not*) sent to the server until after the server has
+successfully authenticated the client so the server cannot make
+authentication decisions at the correct time (connection to the
+share) for bf("Guest") shares.
+
+For people familiar with the older Samba releases, this parameter
+maps to the old compile-time setting of the GUEST_SESSSETUP value
+in local.h.
+
+ bf(Default:)
+tt( map to guest = Never)
+ bf(Example):
+tt( map to guest = Bad User)
label(maxconnections)
dit(bf(max connections (S)))
directory"))(lockdirectory) option.
bf(Default:)
- max connections = 0
+tt( max connections = 0)
bf(Example:)
- max connections = 10
+tt( max connections = 10)
label(maxdisksize)
dit(bf(max disk size (G)))
A bf("max disk size") of 0 means no limit.
bf(Default:)
- max disk size = 0
+tt( max disk size = 0)
bf(Example:)
- max disk size = 1000
+tt( max disk size = 1000)
label(maxlogsize)
dit(bf(max log size (G)))
A size of 0 means no limit.
bf(Default:)
- max log size = 5000
+tt( max log size = 5000)
bf(Example:)
- max log size = 1000
+tt( max log size = 1000)
label(maxmux)
dit(bf(max mux (G)))
never need to set this parameter.
bf(Default:)
- max mux = 50
+tt( max mux = 50)
label(maxopenfiles)
dit(bf(maxopenfiles (G)))
This parameter limits the maximum number of open files that one
url(bf(smbd))(smbd.8.html) file serving process may have open for
a client at any one time. The default for this parameter is set
-very high (10,000) as Samba uses only one bit per un-opened file.
+very high (10,000) as Samba uses only one bit per unopened file.
The limit of the number of open files is usually set by the
UNIX per-process file descriptor limit rather than this parameter
so you should never need to touch this parameter.
bf(Default:)
- max open files = 10000
+tt( max open files = 10000)
label(maxpacket)
dit(bf(max packet (G)))
change this parameter. The default is 3 days.
bf(Default:)
- max ttl = 259200
+tt( max ttl = 259200)
label(maxwinsttl)
dit(bf(max wins ttl (G)))
See also the link(bf("min wins ttl"))(minwinsttl) parameter.
bf(Default:)
- max wins ttl = 518400
+tt( max wins ttl = 518400)
label(maxxmit)
dit(bf(max xmit (G)))
below 2048 is likely to cause problems.
bf(Default:)
- max xmit = 65535
+tt( max xmit = 65535)
bf(Example:)
- max xmit = 8192
+tt( max xmit = 8192)
label(messagecommand)
dit(bf(message command (G)))
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:
+An example is:
tt( message command = csh -c 'xedit %s;rm %s' &)
startit()
-it() %s = the filename containing the message
+it() tt("%s") = the filename containing the message.
-it() %t = the destination that the message was sent to (probably the server
-name)
+it() tt("%t") = the destination that the message was sent to (probably the server
+name).
-it() %f = who the message is from
+it() tt("%f") = who the message is from.
endit()
If you want to silently delete it then try:
- tt("message command = rm %s").
-
-For the really adventurous, try something like this:
-
-tt(message command = csh -c 'csh < %s |& /usr/local/samba/bin/smbclient -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 :-)
+tt("message command = rm %s").
bf(Default:)
- no message command
+tt( no message command)
bf(Example:)
tt( message command = csh -c 'xedit %s;rm %s' &)
See also the link(bf(printing))(printing) parameter.
bf(Default:)
- min print space = 0
+tt( min print space = 0)
bf(Example:)
- min print space = 2000
+tt( min print space = 2000)
label(minwinsttl)
dit(bf(min wins ttl (G)))
parameter. The default is 6 hours (21600 seconds).
bf(Default:)
- min wins ttl = 21600
+tt( min wins ttl = 21600)
label(nameresolveorder)
endit()
bf(Default:)
- name resolve order = lmhosts host wins bcast
+tt( name resolve order = lmhosts host wins bcast)
bf(Example:)
- name resolve order = lmhosts bcast host
+tt( name resolve order = lmhosts bcast host)
This will cause the local lmhosts file to be examined first, followed
by a broadcast attempt, followed by a normal system hostname lookup.
See also link(bf("netbios name"))(netbiosname).
bf(Default:)
- empty string (no additional names)
+tt( empty string (no additional names))
bf(Example:)
- netbios aliases = TEST TEST1 TEST2
+tt( netbios aliases = TEST TEST1 TEST2)
label(netbiosname)
dit(bf(netbios name (G)))
See also link(bf("netbios aliases"))(netbiosaliases).
bf(Default:)
- Machine DNS name.
+tt( Machine DNS name.)
bf(Example:)
- netbios name = MYNAME
+tt( netbios name = MYNAME)
label(nishomedir)
dit(bf(nis homedir (G)))
link(bf(logon server))(domainlogons).
bf(Default:)
- nis homedir = false
+tt( nis homedir = false)
bf(Example:)
- nis homedir = true
+tt( nis homedir = true)
label(ntpipesupport)
dit(bf(nt pipe support (G)))
-This boolean parameter controlls whether url(bf(smbd))(smbd.8.html)
+This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
will allow Windows NT clients to connect to the NT SMB specific
tt(IPC$) pipes. This is a developer debugging option and can be left
alone.
bf(Default:)
- nt pipe support = yes
+tt( nt pipe support = yes)
label(ntsmbsupport)
dit(bf(nt smb support (G)))
-This boolean parameter controlls whether url(bf(smbd))(smbd.8.html)
+This boolean parameter controls whether url(bf(smbd))(smbd.8.html)
will negotiate NT specific SMB support with Windows NT
clients. Although this is a developer debugging option and should be
left alone, benchmarking has discovered that Windows NT clients give
problems with NT SMB support.
bf(Default:)
- nt support = yes
+tt( nt support = yes)
label(nullpasswords)
dit(bf(null passwords (G)))
See also url(bf(smbpasswd (5)))(smbpasswd.5.html).
bf(Default:)
- null passwords = no
+tt( null passwords = no)
bf(Example:)
- null passwords = yes
+tt( null passwords = yes)
label(olelockingcompatibility)
dit(bf(ole locking compatibility (G)))
correctly.
bf(Default:)
- ole locking compatibility = yes
+tt( ole locking compatibility = yes)
bf(Example:)
- ole locking compatibility = no
+tt( ole locking compatibility = no)
label(onlyguest)
dit(bf(only guest (S)))
See also the link(bf(user))(user) parameter.
bf(Default:)
- only user = False
+tt( only user = False)
bf(Example:)
- only user = True
+tt( only user = True)
label(oplocks)
dit(bf(oplocks (S)))
This boolean option tells smbd whether to issue oplocks (opportunistic
locks) to file open requests on this share. The oplock code can
-dramatically (approx 30% or more) improve the speed of access to files
-on Samba servers. It allows the clients to agressively cache files
+dramatically (approx. 30% or more) improve the speed of access to files
+on Samba servers. It allows the clients to aggressively 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. On some systems oplocks are recognised
-by the underlying operating system. This allows data synchronisation between
+See the 'veto oplock files' parameter. On some systems oplocks are recognized
+by the underlying operating system. This allows data synchronization between
all access to oplocked files, whether it be via Samba or NFS or a local
UNIX process. See the link(bf(kernel oplocks))(kerneloplocks) parameter
for details.
bf(Default:)
- oplocks = True
+tt( oplocks = True)
bf(Example:)
- oplocks = False
+tt( oplocks = False)
label(oslevel)
dit(bf(os level (G)))
docs/ directory for details.
bf(Default:)
- os level = 0
+tt( os level = 0)
bf(Example:)
tt( os level = 65 ; This will win against any NT Server)
old bf(smb.conf) files.
label(panicaction)
-dit(bf(panic action (G))
+dit(bf(panic action (G)))
This is a Samba developer option that allows a system command to be
called when either url(bf(smbd))(smbd.8.html) or
url(bf(nmbd))(nmbd.8.html) crashes. This is usually used to draw
-attention to the fact that a problem occured.
+attention to the fact that a problem occurred.
bf(Default:)
- panic action = <empty string>
+tt( panic action = <empty string>)
label(passwdchat)
dit(bf(passwd chat (G)))
program"))(passwdprogram).
bf(Example:)
- passwd chat debug = True
+tt( passwd chat debug = True)
bf(Default:)
- passwd chat debug = False
+tt( passwd chat debug = False)
label(passwdprogram)
dit(bf(passwd program (G)))
The name of a program that can be used to set UNIX user passwords.
Any occurrences of link(bf(%u))(percentu) will be replaced with the
-user name. The user name is checked for existance before calling the
+user name. The user name is checked for existence before calling the
password changing program.
Also note that many passwd programs insist in em("reasonable")
em(Note) that if the link(bf("unix password sync"))(unixpasswordsync)
parameter is set to tt("True") then this program is called em(*AS
ROOT*) before the SMB password in the
-url(bf(smbpassswd))(smbpasswd.5.html) file is changed. If this UNIX
+url(bf(smbpasswd))(smbpasswd.5.html) file is changed. If this UNIX
password change fails, then url(bf(smbd))(smbd.8.html) will fail to
change the SMB password also (this is by design).
as is and the password in all-lower case.
bf(Default:)
- password level = 0
+tt( password level = 0)
bf(Example:)
- password level = 4
+tt( password level = 4)
label(passwordserver)
dit(bf(password server (G)))
If the link(bf("security"))(security) parameter is set to
bf("domain"), then the list of machines in this option must be a list
of Primary or Backup Domain controllers for the
-link(bf(Domain))(workgroup), as the Samba server is cryptographically
-in that domain, and will use crpytographically authenticated RPC calls
+link(bf(Domain))(workgroup), as the Samba server is cryptographicly
+in that domain, and will use cryptographicly authenticated RPC calls
to authenticate the user logging on. The advantage of using
-link(bf("security=domain"))(security) is that if you list several
-hosts in the bf("password server") option then
+link(bf("security=domain"))(securityequaldomain) is that if you list
+several hosts in the bf("password server") option then
url(bf(smbd))(smbd.8.html) will try each in turn till it finds one
that responds. This is useful in case your primary server goes down.
If the link(bf("security"))(security) parameter is set to
-bf("server"), then there are different restrictions that
-link(bf("security=domain"))(security) doesn't suffer from:
+link(bf("server"))(securityequalserver), then there are different
+restrictions that link(bf("security=domain"))(securityequaldomain)
+doesn't suffer from:
startit()
-it() You may list several password servers in the bf("password server"
+it() You may list several password servers in the bf("password server")
parameter, however if an url(bf(smbd))(smbd.8.html) makes a connection
to a password server, and then the password server fails, no more
users will be able to be authenticated from this
url(bf(smbd))(smbd.8.html). This is a restriction of the SMB/CIFS
-protocol when in link(bf("security=server"))(security) mode and cannot
-be fixed.
+protocol when in link(bf("security=server"))(securityequalserver) mode
+and cannot be fixed in Samba.
-it() If you are using a WindowsNT server as your password server then
+it() If you are using a Windows NT server as your password server then
you will have to ensure that your users are able to login from the
-Samba server, as when in link(bf("security=server"))(security) mode
-the network logon will appear to come from there rather than from the
-users workstation.
+Samba server, as when in
+link(bf("security=server"))(securityequalserver) mode the network
+logon will appear to come from there rather than from the users
+workstation.
endit()
-See also the link(bf("security") parameter.
+See also the link(bf("security"))(security) parameter.
bf(Default:)
- password server = <empty string>
+tt( password server = <empty string>)
bf(Example:)
- password server = NT-PDC, NT-BDC1, NT-BDC2
+tt( password server = NT-PDC, NT-BDC1, NT-BDC2)
label(path)
dit(bf(path (S)))
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
+readonly and the path should be world-writeable 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.
one was specified.
bf(Default:)
- none
+tt( none)
bf(Example:)
- path = /home/fred
+tt( path = /home/fred)
label(postexec)
dit(bf(postexec (S)))
See also link(bf(preexec))(preexec).
bf(Default:)
- none (no command executed)
+tt( none (no command executed))
bf(Example:)
tt( postexec = echo "%u disconnected from %S from %m (%I)" >> /tmp/log)
printer.
bf(Default:)
- postscript = False
+tt( postscript = False)
bf(Example:)
- postscript = True
+tt( postscript = True)
label(preexec)
dit(bf(preexec (S)))
See also link(bf(postexec))(postexec).
bf(Default:)
- none (no command executed)
+tt( none (no command executed))
bf(Example:)
tt( preexec = echo \"%u connected to %S from %m (%I)\" >> /tmp/log)
See also link(bf(os level))(oslevel).
bf(Default:)
- preferred master = no
+tt( preferred master = no)
+
+ bf(Example:)
+tt( preferred master = yes)
label(preferedmaster)
dit(bf(prefered master (G)))
client passes, or if they are forced to be the tt("default") case.
bf(Default:)
- preserve case = yes
+tt( preserve case = yes)
See the section on link(bf("NAME MANGLING"))(NAMEMANGLING) for a
fuller discussion.
submitted, if no printer name is supplied the tt("%p") will be
silently removed from the printer command.
-If specified in the link(bf("[global]")(global) section, the print
+If specified in the link(bf("[global]"))(global) section, the print
command given will be used for any printable service that does not
have its own print command specified.
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 tt("nobody")
+Note that printing may fail on some UNIXs from the tt("nobody")
account. If this happens then create an alternative guest account that
can print and set the link(bf("guest account"))(guestaccount) in the
-link(bf("[global]")(global) section.
+link(bf("[global]"))(global) section.
-You can form quite complex print commands by realising that they are
+You can form quite complex print commands by realizing 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 tt(';') is the usual
separator for command in shell scripts.
access to the resource.
bf(Default:)
- printable = no
+tt( printable = no)
bf(Example:)
- printable = yes
+tt( printable = yes)
label(printcap)
dit(bf(printcap (G)))
in the docs/ directory, PRINTER_DRIVER.txt.
bf(Default:)
- None (set in compile).
+tt( None (set in compile).)
bf(Example:)
tt( printer driver file = /usr/local/samba/printers/drivers.def)
directory, PRINTER_DRIVER.txt.
bf(Default:)
- None
+tt( None)
bf(Example:)
tt( printer driver location = \\MACHINE\PRINTER$)
protocol.
bf(Default:)
- protocol = NT1
+tt( protocol = NT1)
bf(Example:)
- protocol = LANMAN1
+tt( protocol = LANMAN1)
label(public)
dit(bf(public (S)))
command as the PATH may not be available to the server.
bf(Default:)
- depends on the setting of "printing ="
+tt( depends on the setting of "printing =")
bf(Example:)
tt( queuepause command = disable %p)
This parameter specifies the command to be executed on the server host
in order to resume the printerqueue. It is the command to undo the
-behaviour that is caused by the previous parameter
+behavior that is caused by the previous parameter
(link(bf("queuepause command))(queuepausecommand)).
This command should be a program or script which takes a printer name
command as the PATH may not be available to the server.
bf(Default:)
- depends on the setting of "printing ="
+tt( depends on the setting of "printing =")
bf(Example:)
tt( queuepause command = enable %p)
dit(bf(read only (S)))
Note that this is an inverted synonym for
-link(bf("writable"))(writable) and link(bf("write ok"))(writeok).
+link(bf("writeable"))(writeable) and link(bf("write ok"))(writeok).
-See also link(bf("writable"))(writable) and link(bf("write
+See also link(bf("writeable"))(writeable) and link(bf("write
ok"))(writeok).
label(readprediction)
while waiting for packets.
bf(Default:)
- read prediction = False
+tt( read prediction = False)
label(readraw)
dit(bf(read raw (G)))
severely alone. See also link(bf("write raw"))(writeraw).
bf(Default:)
- read raw = yes
+tt( read raw = yes)
label(readsize)
dit(bf(read size (G)))
unnecessarily.
bf(Default:)
- read size = 2048
+tt( read size = 2048)
bf(Example:)
- read size = 8192
+tt( read size = 8192)
label(remoteannounce)
dit(bf(remote announce (G)))
See the documentation file BROWSING.txt in the docs/ directory.
bf(Default:)
- remote announce = <empty string>
+tt( remote announce = <empty string>)
bf(Example:)
tt( remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF)
dit(bf(remote browse sync (G)))
This option allows you to setup url(bf(nmbd))(nmbd.8.html) to
-periodically request synchronisation of browse lists with the master
+periodically request synchronization 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
tt( remote browse sync = 192.168.2.255 192.168.4.255)
the above line would cause url(bf(nmbd))(nmbd.8.html) to request the
-master browser on the specified subnets or addresses to synchronise
+master browser on the specified subnets or addresses to synchronize
their browse lists with the local server.
The IP addresses you choose would normally be the broadcast addresses
master on it's segment.
bf(Default:)
- remote browse sync = <empty string>
+tt( remote browse sync = <empty string>)
bf(Example:)
tt( remote browse sync = 192.168.2.255 192.168.4.255)
dit(bf(revalidate (S)))
Note that this option only works with
-link(bf("security=share"))(security) and will be ignored if this is
-not the case.
+link(bf("security=share"))(securityequalshare) and will be ignored if
+this is not the case.
This option controls whether Samba will allow a previously validated
username/password pair to be used to attach to a share. Thus if you
automatic access as the same username.
bf(Default:)
- revalidate = False
+tt( revalidate = False)
bf(Example:)
- revalidate = True
+tt( revalidate = True)
label(root)
dit(bf(root (G)))
label(rootdirectory)
dit(bf(root directory (G)))
-The server will tt("chroot()") (ie. Change it's root directory) to
+The server will tt("chroot()") (i.e. Change it's root directory) 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,
This is the same as the link(bf("preexec"))(preexec) parameter except
that the command is run as root. This is useful for mounting
-filesystems (such as cdroms) before a connection is finalised.
+filesystems (such as cdroms) before a connection is finalized.
See also link(bf("preexec"))(preexec).
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 bf("security=user"), as this is the most common setting
-needed when talking to Windows 98 and Windows NT4.0 SP3.
+The default is link("security=user")(securityequaluser), as this is
+the most common setting needed when talking to Windows 98 and Windows
+NT.
-The alternatives are bf("security = share") or bf("security = server") or
-bf("security=domain").
+The alternatives are link(bf("security = share"))(securityequalshare),
+link(bf("security = server"))(securityequalserver) or
+link(bf("security=domain"))(securityequaldomain).
em(*****NOTE THAT THIS DEFAULT IS DIFFERENT IN SAMBA2.0 THAN FOR
PREVIOUS VERSIONS OF SAMBA *******).
-In previous versions of Samba the default was "security=share") mainly
-because that was the only option at one stage.
+In previous versions of Samba the default was
+link(bf("security=share"))(securityequalshare) mainly because that was
+the only option at one stage.
-There is a bug in WfWg that has relevence to this setting. When in
+There is a bug in WfWg that has relevance to this setting. When in
user or server 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
mostly use usernames that don't exist on the UNIX box then use
bf("security = share").
+You should also use link(bf(security=share))(securityequalshare) if
+you want to mainly setup shares without a password (guest
+shares). This is commonly used for a shared printer server. It is more
+difficult to setup guest shares with
+link(bf(security=user))(securityequaluser), see the link(bf("map to
+guest"))(maptoguest)parameter for details.
+
+It is possible to use url(bf(smbd))(smbd.8.html) in a em("hybrid
+mode") where it is offers both user and share level security under
+different link(bf(NetBIOS aliases))(netbiosaliases). See the
+link(bf(NetBIOS aliases))(netbiosaliases) and the
+link(bf(include))(include) parameters for more information.
+
The different settings will now be explained.
startdit()
+label(securityequalshare)
dit(bf("security=share")) When clients connect to a share level
security server then need not log onto the server with a valid
username and password before attempting to connect to a shared
-resource. Instead, the clients send authentication information on a
-per-share basis, at the time they attempt to connect to that
-share.
+resource (although modern clients such as Windows 95/98 and Windows NT
+will send a logon request with a username but no password when talking
+to a bf(security=share) server). Instead, the clients send
+authentication information (passwords) on a per-share basis, at the
+time they attempt to connect to that share.
Note that url(bf(smbd))(smbd.8.html) em(*ALWAYS*) uses a valid UNIX
user to act on behalf of the client, even in bf("security=share")
-level security. There are no tt("anonymous") users.
+level security.
As clients are not required to send a username to the server
in share level security, url(bf(smbd))(smbd.8.html) uses several
techniques to determine the correct UNIX user to use on behalf
-of the client.
+of the client.
+
+A list of possible UNIX usernames to match with the given
+client password is constructed using the following methods :
startit()
-it() Parameters such as link(bf("user"))(user) and link(bf("guest
-only"))(guestonly), if set, will determine the UNIX user to use.
+it() If the link(bf("guest only"))(guestonly) parameter is set, then
+all the other stages are missed and only the link(bf("guest
+account"))(guestaccount) username is checked.
it() Is a username is sent with the share connection request, then
-this is used as the UNIX username (see also link(bf("username
-map"))(usernamemap).
+this username (after mapping - see link(bf("username
+map"))(usernamemap)), is added as a potential username.
+
+it() If the client did a previous em("logon") request (the
+SessionSetup SMB call) then the username sent in this SMB
+will be added as a potential username.
-it() If a username is not sent to the server, then
-url(bf(smbd))(smbd.8.html) will try the NetBIOS name of the client as
-a potential UNIX username.
+it() The name of the service the client requested is added
+as a potential username.
-it() If no username can be determined then if the share is marked as
-available to the link(bf("guest account"))(guestaccount), then this
-guest user will be used.
+it() The NetBIOS name of the client is added to the list as a
+potential username.
+
+it() Any users on the link(bf("user"))(user) list are added
+as potential usernames.
endit()
-Note that it can be confusing in share-level security as to which UNIX
-username will eventually be used in granting access.
+If the link(bf("guest only"))(guestonly) parameter is not set, then
+this list is then tried with the supplied password. The first user for
+whom the password matches will be used as the UNIX user.
+
+If the link(bf("guest only"))(guestonly) parameter is set, or no
+username can be determined then if the share is marked as available to
+the link(bf("guest account"))(guestaccount), then this guest user will
+be used, otherwise access is denied.
-Note also that share-level security cannot support link(bf("encrypted
-passwords"))(encryptpasswords).
+Note that it can be em(*very*) confusing in share-level security as to
+which UNIX username will eventually be used in granting access.
+See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
+VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
+
+label(securityequaluser)
dit(bf("security=user"))
This is the default security setting in Samba2.0. With user-level
connection, but only after the user has been successfully
authenticated.
+em(Note) that the name of the resource being requested is
+em(*not*) sent to the server until after the server has successfully
+authenticated the client. This is why guest shares don't work in user
+level security without allowing the server to automatically map unknown
+users into the link(bf("guest account"))(guestaccount). See the
+link(bf("map to guest"))(maptoguest) parameter for details on
+doing this.
+
+See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
+VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
+
+label(securityequalserver)
dit(bf("security=server"))
In this mode Samba will try to validate the username/password by
to check users against. See the documentation file in the docs/
directory ENCRYPTION.txt for details on how to set this up.
+em(Note) that from the clients point of view bf("security=server") is
+the same as link(bf("security=user"))(securityequaluser). It only
+affects how the server deals with the authentication, it does not in
+any way affect what the client sees.
+
+em(Note) that the name of the resource being requested is
+em(*not*) sent to the server until after the server has successfully
+authenticated the client. This is why guest shares don't work in server
+level security without allowing the server to automatically map unknown
+users into the link(bf("guest account"))(guestaccount). See the
+link(bf("map to guest"))(maptoguest) parameter for details on
+doing this.
+
+See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
+VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
+
See also the link(bf("password server"))(passwordserver) parameter.
and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
+label(securityequaldomain)
dit(bf("security=domain"))
This mode will only work correctly if
account on the Domain Controller to allow Samba to have a valid
UNIX account to map file access to.
+em(Note) that from the clients point of view bf("security=domain") is
+the same as link(bf("security=user"))(securityequaluser). It only
+affects how the server deals with the authentication, it does not in
+any way affect what the client sees.
+
+em(Note) that the name of the resource being requested is
+em(*not*) sent to the server until after the server has successfully
+authenticated the client. This is why guest shares don't work in domain
+level security without allowing the server to automatically map unknown
+users into the link(bf("guest account"))(guestaccount). See the
+link(bf("map to guest"))(maptoguest) parameter for details on
+doing this.
+
+e,(BUG:) There is currently a bug in the implementation of
+bf("security=domain) with respect to multi-byte character
+set usernames. The communication with a Domain Controller
+must be done in UNICODE and Samba currently does not widen
+multi-byte user names to UNICODE correctly, thus a multi-byte
+username will not be recognized correctly at the Domain Controller.
+This issue will be addressed in a future release.
+
+See also the section link(bf("NOTE ABOUT USERNAME/PASSWORD
+VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION).
+
See also the link(bf("password server"))(passwordserver) parameter.
and the link(bf("encrypted passwords"))(encryptpasswords) parameter.
enddit()
bf(Default:)
- security = USER
+tt( security = USER)
bf(Example:)
- security = DOMAIN
+tt( security = DOMAIN)
label(serverstring)
dit(bf(server string (G)))
client. See the Pathworks documentation for details.
bf(Default:)
- set directory = no
+tt( set directory = no)
bf(Example:)
- set directory = yes
+tt( set directory = yes)
label(sharemodes)
dit(bf(share modes (S)))
-This enables or disables the honouring of the tt("share modes") during a
+This enables or disables the honoring of the tt("share modes") during a
file open. These modes are used by clients to gain exclusive read or
write access to a file.
applications will break if you do so.
bf(Default:)
- share modes = yes
+tt( share modes = yes)
label(sharedmemsize)
dit(bf(shared mem size (G)))
See the section on link(bf(NAME MANGLING))(NAMEMANGLING).
bf(Default:)
- short preserve case = yes
+tt( short preserve case = yes)
label(smbpasswdfile)
dit(bf(smb passwd file (G)))
the path to the smbpasswd file is compiled into Samba.
bf(Default:)
- smb passwd file= <compiled default>
+tt( smb passwd file= <compiled default>)
bf(Example:)
- smb passwd file = /usr/samba/private/smbpasswd
+tt( smb passwd file = /usr/samba/private/smbpasswd)
label(smbrun)
dit(bf(smbrun (G)))
is installed correctly.
bf(Default:)
- smbrun=<compiled default>
+tt( smbrun=<compiled default>)
bf(Example:)
- smbrun = /usr/local/samba/bin/smbrun
+tt( smbrun = /usr/local/samba/bin/smbrun)
label(socketaddress)
dit(bf(socket address (G)))
By default samba will accept connections on any address.
bf(Example:)
- socket address = 192.168.2.20
+tt( socket address = 192.168.2.20)
label(socketoptions)
dit(bf(socket options (G)))
bf("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
-email(samba-bugs@samba.anu.edu.au).
+option" when you supply an option. This means you either incorrectly
+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
+email(samba-bugs@samba.org).
Any of the supported socket options may be combined in any way you
like, as long as your OS allows it.
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
+tt(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
+tt(socket options = IPTOS_LOWDELAY)
If you have a local network then you could try:
-socket options = IPTOS_LOWDELAY TCP_NODELAY
+tt(socket options = IPTOS_LOWDELAY TCP_NODELAY)
If you are on a wide area network then perhaps try setting
IPTOS_THROUGHPUT.
completely. Use these options with caution!
bf(Default:)
- socket options = TCP_NODELAY
+tt( socket options = TCP_NODELAY)
+
+ bf(Example:)
+tt( socket options = IPTOS_LOWDELAY)
+
+label(ssl)
+dit(bf(ssl (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This variable enables or disables the entire SSL mode. If it is set to
+"no", the SSL enabled samba behaves exactly like the non-SSL samba. If
+set to "yes", it depends on the variables link(bf("ssl
+hosts"))(sslhosts) and link(bf("ssl hosts resign"))(sslhostsresign)
+whether an SSL connection will be required.
+
+ bf(Default:)
+tt( ssl=no)
+ bf(Example:)
+tt( ssl=yes)
+
+label(sslCAcertDir)
+dit(bf(ssl CA certDir (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This variable defines where to look up the Certification
+Authorities. The given directory should contain one file for each CA
+that samba will trust. The file name must be the hash value over the
+"Distinguished Name" of the CA. How this directory is set up is
+explained later in this document. All files within the directory that
+don't fit into this naming scheme are ignored. You don't need this
+variable if you don't verify client certificates.
+
+ bf(Default:)
+tt( ssl CA certDir = /usr/local/ssl/certs)
+
+label(sslCAcertFile)
+dit(bf(ssl CA certFile (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This variable is a second way to define the trusted CAs. The
+certificates of the trusted CAs are collected in one big file and this
+variable points to the file. You will probably only use one of the two
+ways to define your CAs. The first choice is preferable if you have
+many CAs or want to be flexible, the second is preferable if you only
+have one CA and want to keep things simple (you won't need to create
+the hashed file names). You don't need this variable if you don't
+verify client certificates.
+
+ bf(Default:)
+tt( ssl CA certFile = /usr/local/ssl/certs/trustedCAs.pem)
+
+label(sslciphers)
+dit(bf(ssl ciphers (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This variable defines the ciphers that should be offered during SSL
+negotiation. You should not set this variable unless you know what you
+are doing.
+
+label(sslclientcert)
+dit(bf(ssl client cert (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+The certificate in this file is used by
+url(bf(smbclient))(smbclient.1.html) if it exists. It's needed if the
+server requires a client certificate.
+
+ bf(Default:)
+tt( ssl client cert = /usr/local/ssl/certs/smbclient.pem)
+
+label(sslclientkey)
+dit(bf(ssl client key (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This is the private key for url(bf(smbclient))(smbclient.1.html). It's
+only needed if the client should have a certificate.
+
+ bf(Default:)
+tt( ssl client key = /usr/local/ssl/private/smbclient.pem)
+
+label(sslcompatibility)
+dit(bf(ssl compatibility (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This variable defines whether SSLeay should be configured for bug
+compatibility with other SSL implementations. This is probably not
+desirable because currently no clients with SSL implementations other
+than SSLeay exist.
+
+ bf(Default:)
+tt( ssl compatibility = no)
+
+label(sslhosts)
+dit(bf(ssl hosts (G)))
+
+See link(bf("ssl hosts resign"))(sslhostsresign).
+
+label(sslhostsresign)
+dit(bf(ssl hosts resign (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+These two variables define whether samba will go into SSL mode or
+not. If none of them is defined, samba will allow only SSL
+connections. If the link(bf("ssl hosts"))(sslhosts) variable lists
+hosts (by IP-address, IP-address range, net group or name), only these
+hosts will be forced into SSL mode. If the bf("ssl hosts resign")
+variable lists hosts, only these hosts will NOT be forced into SSL
+mode. The syntax for these two variables is the same as for the
+link(bf("hosts allow"))(hostsallow) and link(bf("hosts
+deny"))(hostsdeny) pair of variables, only that the subject of the
+decision is different: It's not the access right but whether SSL is
+used or not. See the link(bf("allow hosts"))(allowhosts) parameter for
+details. The example below requires SSL connections from all hosts
+outside the local net (which is 192.168.*.*).
+
+ bf(Default:)
+tt( ssl hosts = <empty string>)
+tt( ssl hosts resign = <empty string>)
bf(Example:)
- socket options = IPTOS_LOWDELAY
+tt( ssl hosts resign = 192.168.)
+
+label(sslrequireclientcert)
+dit(bf(ssl require clientcert (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+If this variable is set to tt("yes"), the server will not tolerate
+connections from clients that don't have a valid certificate. The
+directory/file given in link(bf("ssl CA certDir"))(sslCAcertDir) and
+link(bf("ssl CA certFile"))(sslCAcertFile) will be used to look up the
+CAs that issued the client's certificate. If the certificate can't be
+verified positively, the connection will be terminated. If this
+variable is set to tt("no"), clients don't need certificates. Contrary
+to web applications you really em(*should*) require client
+certificates. In the web environment the client's data is sensitive
+(credit card numbers) and the server must prove to be trustworthy. In
+a file server environment the server's data will be sensitive and the
+clients must prove to be trustworthy.
+
+ bf(Default:)
+tt( ssl require clientcert = no)
+
+label(sslrequireservercert)
+dit(bf(ssl require servercert (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+If this variable is set to tt("yes"), the
+url(bf(smbclient))(smbclient.1.html) will request a certificate from
+the server. Same as link(bf("ssl require
+clientcert"))(sslrequireclientcert) for the server.
+
+ bf(Default:)
+tt( ssl require servercert = no)
+label(sslservercert)
+dit(bf(ssl server cert (G)))
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This is the file containing the server's certificate. The server _must_
+have a certificate. The file may also contain the server's private key.
+See later for how certificates and private keys are created.
+
+ bf(Default:)
+tt( ssl server cert = <empty string>)
+
+label(sslserverkey)
+dit(bf(ssl server key (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This file contains the private key of the server. If this variable is
+not defined, the key is looked up in the certificate file (it may be
+appended to the certificate). The server em(*must*) have a private key
+and the certificate em(*must*) match this private key.
+
+ bf(Default:)
+tt( ssl server key = <empty string>)
+
+label(sslversion)
+dit(bf(ssl version (G)))
+
+This variable is part of SSL-enabled Samba. This is only available if
+the SSL libraries have been compiled on your system and the configure
+option tt("--with-ssl") was given at configure time.
+
+em(Note) that for export control reasons this code is em(**NOT**)
+enabled by default in any current binary version of Samba.
+
+This enumeration variable defines the versions of the SSL protocol
+that will be used. tt("ssl2or3") allows dynamic negotiation of SSL v2
+or v3, tt("ssl2") results in SSL v2, tt("ssl3") results in SSL v3 and
+"tls1" results in TLS v1. TLS (Transport Layer Security) is the
+(proposed?) new standard for SSL.
+
+ bf(Default:)
+tt( ssl version = "ssl2or3")
+
+label(statcache)
+dit(bf(stat cache (G)))
+
+This parameter determines if url(bf(smbd))(smbd.8.html) will use a
+cache in order to speed up case insensitive name mappings. You should
+never need to change this parameter.
+
+ bf(Default:)
+tt( stat cache = yes)
+
+label(statcachesize)
+dit(bf(stat cache size (G)))
+
+This parameter determines the number of entries in the link(bf(stat
+cache))(statcache). You should never need to change this parameter.
+
+ bf(Default:)
+tt( stat cache size = 50)
+
+label(status)
+dit(bf(status (G)))
-.SS status (G)
This enables or disables logging of connections to a status file that
-.B smbstatus
-can read.
+url(bf(smbstatus))(smbstatus.1.html) can read.
-With this disabled
-.B smbstatus
-won't be able to tell you what
-connections are active.
+With this disabled url(bf(smbstatus))(smbstatus.1.html) won't be able
+to tell you what connections are active. You should never need to
+change this parameter.
-.B Default:
+ bf(Default:)
status = yes
-.B Example:
- status = no
+label(strictlocking)
+dit(bf(strict locking (S)))
-.SS 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
+server. When this is set to tt("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.
+When strict locking is tt("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.
+so in the vast majority of cases bf("strict locking = no") is
+preferable.
-.B Default:
- strict locking = no
-
-.B Example:
- strict locking = yes
-
-.SS strict sync (S)
-Many Windows applications (including the Windows 98 explorer
-shell) seem to confuse flushing buffer contents to disk with
-doing a sync to disk. Under UNIX, a sync call forces the process
-to be suspended until the kernel has ensured that all outstanding
-data in kernel disk buffers has been safely stored onto stable
-storate. This is very slow and should only be done rarely. Setting
-this parameter to "no" (the default) means that smbd ignores the
-Windows applications requests for a sync call. There is only a
-possibility of losing data if the operating system itself that
-Samba is running on crashes, so there is little danger in this
-default setting. In addition, this fixes many performace problems
-that people have reported with the new Windows98 explorer shell
-file copies.
-
-See also the "sync always" parameter.
-
-.B Default:
- strict sync = no
+ bf(Default:)
+tt( strict locking = no)
-.B Example:
- strict sync = yes
+ bf(Example:)
+tt( strict locking = yes)
+label(strictsync)
+dit(bf(strict sync (S)))
-.SS 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.
+Many Windows applications (including the Windows 98 explorer shell)
+seem to confuse flushing buffer contents to disk with doing a sync to
+disk. Under UNIX, a sync call forces the process to be suspended until
+the kernel has ensured that all outstanding data in kernel disk
+buffers has been safely stored onto stable storage. This is very slow
+and should only be done rarely. Setting this parameter to "no" (the
+default) means that smbd ignores the Windows applications requests for
+a sync call. There is only a possibility of losing data if the
+operating system itself that Samba is running on crashes, so there is
+little danger in this default setting. In addition, this fixes many
+performance problems that people have reported with the new Windows98
+explorer shell file copies.
-.B Default:
- strip dot = no
+See also the link(bf("sync always"))(syncalways) parameter.
-.B Example:
- strip dot = yes
+ bf(Default:)
+tt( strict sync = no)
-.SS 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.
+ bf(Example:)
+tt( strict sync = yes)
-.B Default:
+label(stripdot)
+dit(bf(strip dot (G)))
- syslog = 1
+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.
-.SS 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.
+ bf(Default:)
+tt( strip dot = no)
-.B Default:
- syslog only = no
+ bf(Example:)
+tt( strip dot = yes)
-.SS sync always (S)
+label(syncalways)
+dit(bf(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
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.
-Note that the "strict sync" parameter must be set to "yes" in
-order for this parameter to have any affect.
+Note that the link(bf("strict sync"))(strictsync) parameter must be
+set to tt("yes") in order for this parameter to have any affect.
+
+See also the link(bf("strict sync"))(strictsync) parameter.
+
+ bf(Default:)
+tt( sync always = no)
+
+ bf(Example:)
+tt( sync always = yes)
+
+label(syslog)
+dit(bf(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 parameter
+sets the threshold for doing the mapping, all Samba debug messages
+above this threshold are mapped to syslog LOG_DEBUG messages.
+
+ bf(Default:)
+tt( syslog = 1)
-See also the "strict sync" parameter.
+label(syslogonly)
+dit(bf(syslog only (G)))
-.B Default:
- sync always = no
+If this parameter is set then Samba debug messages are logged into the
+system syslog only, and not to the debug log files.
+
+ bf(Default:)
+tt( syslog only = no)
-.B Example:
- sync always = yes
+label(timeoffset)
+dit(bf(time offset (G)))
-.SS 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
+ bf(Default:)
+tt( time offset = 0)
+
+ bf(Example:)
+tt( time offset = 60)
+
+label(timeserver)
+
+dit(bf(time server (G)))
+
+This parameter determines if url(bf(nmbd))(nmbd.8.html) advertises
+itself as a time server to Windows clients. The default is False.
+
+ bf(Default:)
+tt( time server = False)
+
+ bf(Example:)
+tt( time server = True)
+
+label(timestamplogs)
+dit(bf(timestamp logs (G)))
+
+Samba2.0 will a timestamps to all log entries by default. This
+can be distracting if you are attempting to debug a problem. This
+parameter allows the timestamping to be turned off.
-.B Example:
- time offset = 60
+ bf(Default:)
+tt( timestamp logs = True)
+
+ bf(Example:)
+tt( timestamp logs = False)
-.SS time server (G)
-This parameter determines if nmbd advertises itself as a time server
-to Windows clients. The default is False.
+label(unixpasswordsync)
+dit(bf(unix password sync (G)))
-.B Default:
- time server = False
+This boolean parameter controls whether Samba attempts to synchronize
+the UNIX password with the SMB password when the encrypted SMB
+password in the smbpasswd file is changed. If this is set to true the
+program specified in the link(bf("passwd program"))(passwdprogram)
+parameter is called em(*AS ROOT*) - to allow the new UNIX password to be
+set without access to the old UNIX password (as the SMB password has
+change code has no access to the old password cleartext, only the
+new). By default this is set to tt("false").
-.B Example:
- time server = True
+See also link(bf("passwd program"))(passwdprogram), link(bf("passwd
+chat"))(passwdchat).
-.SS unix password sync (G)
-This boolean parameter controlls whether Samba attempts to synchronise
-the UNIX password with the SMB password when the encrypted SMB password
-in the smbpasswd file is changed. If this is set to true the 'passwd program'
-program is called *AS ROOT* - to allow the new UNIX password to be set
-without access to the old UNIX password (as the SMB password has change
-code has no access to the old password cleartext, only the new). By
-default this is set to false.
+ bf(Default:)
+tt( unix password sync = False)
-See also 'passwd program', 'passwd chat'
+ bf(Example:)
+tt( unix password sync = True)
-.B Default:
- unix password sync = False
+label(unixrealname)
+dit(bf(unix realname (G)))
-.B Example:
- unix password sync = True
+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.
-.SS 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.
+ bf(Default:)
+tt( unix realname = no)
-.B Default:
- unix realname = no
+ bf(Example:)
+tt( unix realname = yes)
-.B Example:
- unix realname = yes
+label(updateencrypted)
+dit(bf(update encrypted (G)))
-.SS update encrypted (G)
This boolean parameter allows a user logging on with a plaintext
password to have their encrypted (hashed) password in the smbpasswd
-file to be updated automatically as they log on. This option allows
-a site to migrate from plaintext password authentication (users
+file to be updated automatically as they log on. This option allows a
+site to migrate from plaintext password authentication (users
authenticate with plaintext password over the wire, and are checked
against a UNIX account database) to encrypted password authentication
(the SMB challenge/response authentication mechanism) without forcing
-all users to re-enter their passwords via smbpasswd at the time the change
-is made. This is a convenience option to allow the change over to
-encrypted passwords to be made over a longer period. Once all users
+all users to re-enter their passwords via smbpasswd at the time the
+change is made. This is a convenience option to allow the change over
+to encrypted passwords to be made over a longer period. Once all users
have encrypted representations of their passwords in the smbpasswd
-file this parameter should be set to "off".
+file this parameter should be set to tt("off").
-In order for this parameter to work correctly the "encrypt passwords"
-must be set to "no" when this parameter is set to "yes".
+In order for this parameter to work correctly the link(bf("encrypt
+passwords"))(encryptpasswords) parameter must be set to tt("no") when
+this parameter is set to tt("yes").
Note that even when this parameter is set a user authenticating to
smbd must still enter a valid password in order to connect correctly,
and to update their hashed (smbpasswd) passwords.
-.B Default:
- update encrypted = no
+ bf(Default:)
+tt( update encrypted = no)
+
+ bf(Example:)
+tt( update encrypted = yes)
+
+label(userhosts)
+dit(bf(use rhosts (G)))
+
+If this global parameter is a true, it specifies that the UNIX users
+tt(".rhosts") file in their home directory will be read to find the
+names of hosts and users who will be allowed access without specifying
+a password.
+
+NOTE: The use of bf(use rhosts) 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
+bf(use rhosts) option be only used if you really know what you are
+doing.
-.B Example:
- update encrypted = yes
+ bf(Default:)
+tt( use rhosts = no)
+
+ bf(Example:)
+tt( use rhosts = yes)
-.SS user (S)
-See
-.B username.
-.SS username (S)
-A synonym for this parameter is 'user'.
+label(user)
+dit(bf(user (S)))
-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).
+Synonym for link(bf("username"))(username).
-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.
+label(users)
+dit(bf(users (S)))
-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.
+Synonym for link(bf("username"))(username).
+
+label(username)
+dit(bf(username (S)))
+
+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 bf(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 tt(\\server\share%user)
+syntax instead.
+
+The bf(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
do.
To restrict a service to a particular set of users you can use the
-"valid users=" line.
+link(bf("valid users="))(validusers) parameter.
-If any of the usernames begin with a @ then the name will be looked up
-first in the yp netgroups list (if Samba is compiled with netgroup support),
-followed by a lookup in the UNIX groups database and will expand to a list of
-all users in the group of that name.
+If any of the usernames begin with a tt('@') then the name will be
+looked up first in the yp netgroups list (if Samba is compiled with
+netgroup support), followed by a lookup in the UNIX groups database
+and will expand to a list of all users in the group of that name.
-If any of the usernames begin with a + then the name will be looked up only
-in the UNIX groups database and will expand to a list of all users in the
-group of that name.
+If any of the usernames begin with a tt('+') then the name will be
+looked up only in the UNIX groups database and will expand to a list
+of all users in the group of that name.
-If any of the usernames begin with a & then the name will be looked up only
-in the yp netgroups database (if Samba is compiled with netgroup support) and
-will expand to a list of all users in the netgroup group of that name.
+If any of the usernames begin with a tt('&') then the name will be
+looked up only in the yp netgroups database (if Samba is compiled with
+netgroup support) and will expand to a list of all users in the
+netgroup group of that name.
-Note that searching though a groups database can take quite
-some time, and some clients may time out during the search.
+Note that searching though a groups database 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.
+See the section link(bf("NOTE ABOUT USERNAME/PASSWORD
+VALIDATION"))(NOTEABOUTUSERNAMEPASSWORDVALIDATION) 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.
+ bf(Default:)
+tt( The guest account if a guest service, else the name of the service.)
-.B Examples:
+ bf(Examples:)
+verb(
username = fred
username = fred, mary, jack, jane, @users, @pcgroup
+)
-.SS username level (G)
+label(usernamelevel)
+dit(bf(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.
+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'.
+If this parameter is set to non-zero the behavior 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 tt("AstrangeUser").
-.B Default:
- username level = 0
+ bf(Default:)
+tt( username level = 0)
-.B Example:
- username level = 5
+ bf(Example:)
+tt( username level = 5)
-.SS username map (G)
+label(usernamemap)
+dit(bf(username map (G)))
-This option allows you to to specify a file containing a mapping of
+This option allows you 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
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. Each line of the map file may be up to 1023 characters long.
+UNIX username on the left then a tt('=') 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 tt('*') is a wildcard
+and matches any name. Each line of the map file may be up to 1023
+characters long.
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.
+comparing it with each username on the right hand side of the tt('=')
+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 tt('#') or a tt(';') then it is ignored
-If any line begins with a '#' or a ';' then it is ignored
+If any line begins with an tt('!') 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 tt('!') is most
+useful when you have a wildcard mapping line later in the file.
-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 tt("admin") or tt("administrator") to
+the UNIX name tt("root") you would use:
-For example to map from the name "admin" or "administrator" to the UNIX
-name "root" you would use
- root = admin administrator
+tt( root = admin administrator)
-Or to map anyone in the UNIX group "system" to the UNIX name "sys" you
-would use
+Or to map anyone in the UNIX group tt("system") to the UNIX name
+tt("sys") you would use:
- sys = @system
+tt( sys = @system)
You can have as many mappings as you like in a username map file.
-If Samba has been compiled with the -DNETGROUP compile option
-then the netgroup database is checked before the /etc/group
-database for matching groups.
+If your system supports the NIS NETGROUP option then the netgroup
+database is checked before the tt(/etc/group) database for matching
+groups.
You can map Windows usernames that have spaces in them by using double
quotes around the name. For example:
- tridge = "Andrew Tridgell"
+tt( tridge = "Andrew Tridgell")
-would map the windows username "Andrew Tridgell" to the unix username
-tridge.
+would map the windows username tt("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.
+and map the rest to guest. Note the use of the tt('!') to tell Samba
+to stop processing if it gets a match on that line.
+verb(
!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.
+usernames. Thus if you connect to tt("\\server\fred") and tt("fred")
+is remapped to tt("mary") then you will actually be connecting to
+tt("\\server\mary") and will need to supply a password suitable for
+tt("mary") not tt("fred"). The only exception to this is the username
+passed to the link(bf("password server"))(passwordserver) (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
+ bf(Default:)
+tt( no username map)
-.B Example
- username map = /usr/local/samba/lib/users.map
+ bf(Example:)
+tt( username map = /usr/local/samba/lib/users.map)
-.SS valid chars (S)
+label(validchars)
+dit(bf(valid chars (S)))
The option allows you to specify additional characters that should be
considered valid by the server in filenames. This is particularly
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
+For example to add the single character tt('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
+verb(
+ 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.
+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
+Note that you MUST specify this parameter after the link(bf("client
+code page"))(clientcodepage) parameter if you have both set. If
+link(bf("client code page"))(clientcodepage) is set after the
+bf("valid chars") parameter the bf("valid chars") settings will be
overwritten.
-See also the "client code page" parameter.
+See also the link(bf("client code page"))(clientcodepage) parameter.
-.B Default
-.br
+ bf(Default:)
+verb(
Samba defaults to using a reasonable set of valid characters
-.br
- for english systems
+ for English systems
+)
-.B Example
- valid chars = 0345:0305 0366:0326 0344:0304
+ bf(Example)
+tt( valid chars = 0345:0305 0366:0326 0344:0304)
+
+The above example allows filenames to have the Swedish characters in
+them.
-The above example allows filenames to have the swedish characters in
-them.
+NOTE: It is actually quite difficult to correctly produce a bf("valid
+chars") line for a particular system. To automate the process
+email(tino@augsburg.net) has written a package called bf("validchars")
+which will automatically produce a complete bf("valid chars") line for
+a given client system. Look in the examples/validchars/ subdirectory
+of your Samba source code distribution for this package.
-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.
+label(validusers)
+dit(bf(valid users (S)))
-.SS 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.
+service. Names starting with tt('@'), tt('+') and tt('&') are
+interpreted using the same rules as described in the link(bf("invalid
+users"))(invalidusers) parameter.
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.
+is in both this list and the link(bf("invalid users"))(invalidusers)
+list then access is denied for that user.
-The current servicename is substituted for %S. This is useful in the
-[homes] section.
+The current servicename is substituted for
+link(bf("%S"))(percentS). This is useful in the
+link(bf([homes]))(homes) section.
-See also "invalid users"
+See also link(bf("invalid users"))(invalidusers).
-.B Default
- No valid users list. (anyone can login)
+ bf(Default:)
+tt( No valid users list. (anyone can login))
-.B Example
- valid users = greg, @pcusers
+ bf(Example:)
+tt( valid users = greg, @pcusers)
+label(vetofiles)
+dit(bf(veto files(S)))
-.SS 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.
+accessible. Each entry in the list must be separated by a tt('/'),
+which allows spaces to be included in the entry. tt('*') and tt('?')
+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 "/".
+Each entry must be a unix path, not a DOS path and must em(*not*) include the
+unix directory separator tt('/').
-Note that the case sensitivity option is applicable in vetoing files.
+Note that the link(bf("case sensitive"))(casesensitive) 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
+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.
+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 link(bf("hide files"))(hidefiles) and link(bf("case
+sensitive"))(casesensitive).
-See also "hide files" and "case sensitive"
+ bf(Default:)
+tt( No files or directories are vetoed.)
-.B Default
- No files or directories are vetoed.
+ bf(Examples:)
-.B Examples
Example 1.
+
+verb(
+
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.
+
+verb(
Veto the Apple specific files that a NetAtalk server
creates.
veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
+)
-.SS 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.
+label(vetooplockfiles)
+dit(bf(veto oplock files (S)))
-.B Default
- No files are vetoed for oplock grants.
+This parameter is only valid when the link(bf("oplocks"))(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
+link(bf("veto files"))(vetofiles) parameter.
+
+ bf(Default:)
+tt( No files are vetoed for oplock grants.)
+
+ bf(Examples:)
-.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 :
+ending in tt(".SEM"). To cause Samba not to grant oplocks on these
+files you would use the line (either in the link(bf([global]))(global)
+section or in the section for the particular NetBench share :
+
+tt( veto oplock files = /*.SEM/)
- veto oplock files = /*.SEM/
+label(volume)
+dit(bf(volume (S)))
-.SS 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
+The default is the name of the share.
+
+label(widelinks)
+dit(bf(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.
+
+ bf(Default:)
+tt( wide links = yes)
-.SS 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.
+ bf(Example:)
+tt( wide links = no)
-.B Default:
- wide links = yes
+label(winsproxy)
+dit(bf(wins proxy (G)))
-.B Example:
- wide links = no
+This is a boolean that controls if url(bf(nmbd))(nmbd.8.html) will
+respond to broadcast name queries on behalf of other hosts. You may
+need to set this to tt("yes") for some older clients.
-.SS wins proxy (G)
+ bf(Default:)
+tt( wins proxy = no)
-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.
+label(winsserver)
+dit(bf(wins server (G)))
-.B Default:
- wins proxy = no
-.SS wins server (G)
+This specifies the IP address (or DNS name: IP address for preference)
+of the WINS server that url(bf(nmbd))(nmbd.8.html) should register with.
+If you have a WINS server on your network then you should set this to
+the WINS server's IP.
-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.
-You should point this at your WINS server if you have a multi-subnetted
-network.
-.B Default:
- wins server =
+em(NOTE). You need to set up Samba to point to a WINS server if you
+have multiple subnets and wish cross-subnet browsing to work correctly.
+
+See the documentation file BROWSING.txt in the docs/ directory of your
+Samba source distribution.
-.SS wins support (G)
+ bf(Default:)
+tt( wins server = )
+
+ bf(Example:)
+tt( wins server = 192.9.200.1)
-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
+label(winssupport)
+dit(bf(wins support (G)))
+
+This boolean controls if the url(bf(nmbd))(nmbd.8.html) 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
+url(bf(nmbd))(nmbd.8.html) to be your WINS server. Note that you
+should em(*NEVER*) set this to true on more than one machine in your
network.
-.B Default:
- wins support = no
+ bf(Default:)
+tt( wins support = no)
-.SS workgroup (G)
+label(workgroup)
+dit(bf(workgroup (G)))
This controls what workgroup your server will appear to be in when
-queried by clients.
+queried by clients. Note that this parameter also controls the Domain
+name used with the link(bf("security=domain"))(securityequaldomain)
+setting.
-.B Default:
- set in the Makefile
+ bf(Default:)
+tt( set at compile time to WORKGROUP)
-.B Example:
+ bf(Example:)
workgroup = MYGROUP
-.SS 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.
+label(writable)
+dit(bf(writable (S)))
-Note that a printable service ('printable = yes') will ALWAYS allow
-writing to the directory (user privileges permitting), but only via
-spooling operations.
+Synonym for link(bf("writeable"))(writeable) for people who can't spell :-).
+Pronounced "ritter-bull".
-.B Default:
- writable = no
+label(writelist)
+dit(bf(write list (S)))
-.B Examples:
- read only = no
- writable = yes
- write ok = yes
-.SS 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.
+given write access, no matter what the link(bf("read only"))(readonly)
+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
+See also the link(bf("read list"))(readlist) option.
-.B Default:
- write list =
+ bf(Default:)
+tt( write list = <empty string>)
-.B Example:
- write list = admin, root, @staff
+ bf(Example:)
+tt( write list = admin, root, @staff)
-.SS write ok (S)
-See
-.B writable
-and
-.B read only.
-.SS write raw (G)
-This parameter controls whether or not the server will support raw writes when
-transferring data from clients.
+label(writeok)
+dit(bf(write ok (S)))
-.B Default:
- write raw = yes
+Synonym for link(bf(writeable))(writeable).
-.B Example:
- write raw = no
+label(writeraw)
+dit(bf(write raw (G)))
-.SH NOTE ABOUT USERNAME/PASSWORD VALIDATION
-There are a number of ways in which a user can connect to a
-service. The server follows the following steps in determining if it
-will allow a connection to a specified service. If all the steps fail
-then the connection request is rejected. If one of the steps pass then
-the following steps are not checked.
+This parameter controls whether or not the server will support raw
+writes SMB's when transferring data from clients. You should never
+need to change this parameter.
-If the service is marked "guest only = yes" then steps 1 to 5 are skipped
+ bf(Default:)
+tt( write raw = yes)
-Step 1: If the client has passed a username/password pair and that
-username/password pair is validated by the UNIX system's password
-programs then the connection is made as that username. Note that this
-includes the \e\eserver\eservice%username method of passing a username.
-
-Step 2: If the client has previously registered a username with the
-system and now supplies a correct password for that username then the
-connection is allowed.
-
-Step 3: The client's netbios name and any previously used user names
-are checked against the supplied password, if they match then the
-connection is allowed as the corresponding user.
-
-Step 4: If the client has previously validated a username/password
-pair with the server and the client has passed the validation token
-then that username is used. This step is skipped if "revalidate = yes"
-for this service.
-
-Step 5: If a "user = " field is given in the smb.conf file for the
-service and the client has supplied a password, and that password
-matches (according to the UNIX system's password checking) with one of
-the usernames from the user= field then the connection is made as the
-username in the "user=" line. If one of the username in the user= list
-begins with a @ then that name expands to a list of names in the group
-of the same name.
-
-Step 6: If the service is a guest service then a connection is made as
-the username given in the "guest account =" for the service,
-irrespective of the supplied password.
-.SH WARNINGS
-Although the configuration file permits service names to contain spaces,
-your client software may not. Spaces will be ignored in comparisons anyway,
-so it shouldn't be a problem - but be aware of the possibility.
-
-On a similar note, many clients - especially DOS clients - limit service
-names to eight characters. Smbd has no such limitation, but attempts
-to connect from such clients will fail if they truncate the service names.
-For this reason you should probably keep your service names down to eight
-characters in length.
-
-Use of the [homes] and [printers] special sections make life for an
-administrator easy, but the various combinations of default attributes can be
-tricky. Take extreme care when designing these sections. In particular,
-ensure that the permissions on spool directories are correct.
-.SH VERSION
-This man page is (mostly) correct for version 1.9.18 of the Samba suite, plus some
-of the recent patches to it. These notes will necessarily lag behind
-development of the software, so it is possible that your version of
-the server has extensions or parameter semantics that differ from or are not
-covered by this man page. Please notify these to the address below for
-rectification.
-
-Prior to version 1.5.21 of the Samba suite, the configuration file was
-radically different (more primitive). If you are using a version earlier than
-1.8.05, it is STRONGLY recommended that you upgrade.
-.SH OPTIONS
-Not applicable.
-.SH FILES
-Not applicable.
-.SH ENVIRONMENT VARIABLES
-Not applicable.
-.SH SEE ALSO
-.BR smbd (8),
-.BR smbclient (1),
-.BR nmbd (8),
-.BR testparm (1),
-.BR testprns (1),
-.BR lpq (1),
-.BR hosts_access (5)
-.SH DIAGNOSTICS
-[This section under construction]
-
-Most diagnostics issued by the server are logged in a specified log file. The
-log file name is specified at compile time, but may be overridden on the
-smbd command line (see
-.BR smbd (8)).
-
-The number and nature of diagnostics available depends on the debug level used
-by the server. If you have problems, set the debug level to 3 and peruse the
-log files.
-
-Most messages are reasonably self-explanatory. Unfortunately, at time of
-creation of this man page the source code is still too fluid to warrant
-describing each and every diagnostic. At this stage your best bet is still
-to grep the source code and inspect the conditions that gave rise to the
-diagnostics you are seeing.
-.SH BUGS
-None known.
-
-Please send bug reports, comments and so on to:
-
-.RS 3
-.B samba-bugs@samba.anu.edu.au (Andrew Tridgell)
-
-.RS 3
-or to the mailing list:
-.RE
-
-.B samba@listproc.anu.edu.au
-
-.RE
-You may also like to subscribe to the announcement channel:
-
-.RS 3
-.B samba-announce@listproc.anu.edu.au
-.RE
-
-To subscribe to these lists send a message to
-listproc@listproc.anu.edu.au with a body of "subscribe samba Your
-Name" or "subscribe samba-announce Your Name".
-
-Errors or suggestions for improvements to the Samba man pages should be
-mailed to:
-
-.RS 3
-.B samba-bugs@samba.anu.edu.au (Andrew Tridgell)
-.RE
+label(writeable)
+dit(bf(writeable))
+
+An inverted synonym is link(bf("read only"))(readonly).
+
+If this parameter is tt("no"), then users of a service may not create
+or modify files in the service's directory.
+
+Note that a printable service link(bf(("printable = yes")))(printable)
+will em(*ALWAYS*) allow writing to the directory (user privileges
+permitting), but only via spooling operations.
+
+ bf(Default:)
+tt( writeable = no)
+
+ bf(Examples:)
+verb(
+ read only = no
+ writeable = yes
+ write ok = yes
+)
+label(WARNINGS)
+manpagesection(WARNINGS)
+
+Although the configuration file permits service names to contain
+spaces, your client software may not. Spaces will be ignored in
+comparisons anyway, so it shouldn't be a problem - but be aware of the
+possibility.
+
+On a similar note, many clients - especially DOS clients - limit
+service names to eight characters. url(bf(Smbd))(smbd.8.html) has no
+such limitation, but attempts to connect from such clients will fail
+if they truncate the service names. For this reason you should
+probably keep your service names down to eight characters in length.
+
+Use of the link(bf([homes]))(homes) and link(bf([printers]))(printers)
+special sections make life for an administrator easy, but the various
+combinations of default attributes can be tricky. Take extreme care
+when designing these sections. In particular, ensure that the
+permissions on spool directories are correct.
+
+label(VERSION)
+manpagesection(VERSION)
+
+This man page is correct for version 2.0 of the Samba suite.
+
+label(SEEALSO)
+manpagesection(SEE ALSO)
+
+url(bf(smbd (8)))(smbd.8.html), url(bf(smbclient (1)))(smbclient.1.html),
+url(bf(nmbd (8)))(nmbd.8.html), url(bf(testparm (1)))(testparm.1.html),
+url(bf(testprns (1)))(testprns.1.html), url(bf(Samba))(samba.7.html),
+url(bf(nmblookup (1)))(nmblookup.1.html), url(bf(smbpasswd (5)))(smbpasswd.5.html),
+url(bf(smbpasswd (8)))(smbpasswd.8.html).
+
+label(AUTHOR)
+manpageauthor()
+
+The original Samba software and related utilities were created by
+Andrew Tridgell email(samba-bugs@samba.org). Samba is now developed
+by the Samba Team as an Open Source project similar to the way the
+Linux kernel is developed.
+
+The original Samba man pages were written by Karl Auer. The man page
+sources were converted to YODL format (another excellent piece of Open
+Source software, available at
+url(bf(ftp://ftp.icce.rug.nl/pub/unix/))(ftp://ftp.icce.rug.nl/pub/unix/))
+and updated for the Samba2.0 release by Jeremy Allison.
+email(samba-bugs@samba.org).
+
+See url(bf(samba (7)))(samba.7.html) to find out how to get a full
+list of contributors and details on how to submit bug reports,
+comments etc.