get rid of CFLAGS from LDSHFLAGS and WINBIND_NSS_LDSHFLAGS and instead
[Samba.git] / docs / htmldocs / smbd.8.html
blob5b71bd7196010306ec355c2d191b1b3dbfed19ab
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>smbd</title><link rel="stylesheet" href="samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.60.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="smbd.8"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>smbd &#8212; server to provide SMB/CIFS services to clients</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">smbd</tt> [-D] [-F] [-S] [-i] [-h] [-V] [-b] [-d &lt;debug level&gt;] [-l &lt;log directory&gt;] [-p &lt;port number&gt;] [-O &lt;socket option&gt;] [-s &lt;configuration file&gt;]</p></div></div><div class="refsect1" lang="en"><h2>DESCRIPTION</h2><p>This program is part of the <a href="Samba.7.html"><span class="citerefentry"><span class="refentrytitle">Samba</span>(7)</span></a> suite.</p><p><b class="command">smbd</b> is the server daemon that
2 provides filesharing and printing services to Windows clients.
3 The server provides filespace and printer services to
4 clients using the SMB (or CIFS) protocol. This is compatible
5 with the LanManager protocol, and can service LanManager
6 clients. These include MSCLIENT 3.0 for DOS, Windows for
7 Workgroups, Windows 95/98/ME, Windows NT, Windows 2000,
8 OS/2, DAVE for Macintosh, and smbfs for Linux.</p><p>An extensive description of the services that the
9 server can provide is given in the man page for the
10 configuration file controlling the attributes of those
11 services (see <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a>. This man page will not describe the
12 services, but will concentrate on the administrative aspects
13 of running the server.</p><p>Please note that there are significant security
14 implications to running this server, and the <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a> manual page should be regarded as mandatory reading before
15 proceeding with installation.</p><p>A session is created whenever a client requests one.
16 Each client gets a copy of the server for each session. This
17 copy then services all connections made by the client during
18 that session. When all connections from its client are closed,
19 the copy of the server for that client terminates.</p><p>The configuration file, and any files that it includes,
20 are automatically reloaded every minute, if they change. You
21 can force a reload by sending a SIGHUP to the server. Reloading
22 the configuration file will not affect connections to any service
23 that is already established. Either the user will have to
24 disconnect from the service, or <b class="command">smbd</b> killed and restarted.</p></div><div class="refsect1" lang="en"><h2>OPTIONS</h2><div class="variablelist"><dl><dt><span class="term">-D</span></dt><dd><p>If specified, this parameter causes
25 the server to operate as a daemon. That is, it detaches
26 itself and runs in the background, fielding requests
27 on the appropriate port. Operating the server as a
28 daemon is the recommended way of running <b class="command">smbd</b> for
29 servers that provide more than casual use file and
30 print services. This switch is assumed if <b class="command">smbd
31 </b> is executed on the command line of a shell.
32 </p></dd><dt><span class="term">-F</span></dt><dd><p>If specified, this parameter causes
33 the main <b class="command">smbd</b> process to not daemonize,
34 i.e. double-fork and disassociate with the terminal.
35 Child processes are still created as normal to service
36 each connection request, but the main process does not
37 exit. This operation mode is suitable for running
38 <b class="command">smbd</b> under process supervisors such
39 as <b class="command">supervise</b> and <b class="command">svscan</b>
40 from Daniel J. Bernstein's <b class="command">daemontools</b>
41 package, or the AIX process monitor.
42 </p></dd><dt><span class="term">-S</span></dt><dd><p>If specified, this parameter causes
43 <b class="command">smbd</b> to log to standard output rather
44 than a file.</p></dd><dt><span class="term">-i</span></dt><dd><p>If this parameter is specified it causes the
45 server to run &quot;interactively&quot;, not as a daemon, even if the
46 server is executed on the command line of a shell. Setting this
47 parameter negates the implicit deamon mode when run from the
48 command line. <b class="command">smbd</b> also logs to standard
49 output, as if the <b class="command">-S</b> parameter had been
50 given.
51 </p></dd><dt><span class="term">-V</span></dt><dd><p>Prints the version number for
52 <b class="command">smbd</b>.</p></dd><dt><span class="term">-s &lt;configuration file&gt;</span></dt><dd><p>The file specified contains the
53 configuration details required by the server. The
54 information in this file includes server-specific
55 information such as what printcap file to use, as well
56 as descriptions of all the services that the server is
57 to provide. See <a href="smb.conf.5.html" target="_top"><tt class="filename">
58 smb.conf(5)</tt></a> for more information.
59 The default configuration file name is determined at
60 compile time.</p></dd><dt><span class="term">-d|--debug=debuglevel</span></dt><dd><p><i class="replaceable"><tt>debuglevel</tt></i> is an integer
61 from 0 to 10. The default value if this parameter is
62 not specified is zero.</p><p>The higher this value, the more detail will be
63 logged to the log files about the activities of the
64 server. At level 0, only critical errors and serious
65 warnings will be logged. Level 1 is a reasonable level for
66 day to day running - it generates a small amount of
67 information about operations carried out.</p><p>Levels above 1 will generate considerable
68 amounts of log data, and should only be used when
69 investigating a problem. Levels above 3 are designed for
70 use only by developers and generate HUGE amounts of log
71 data, most of which is extremely cryptic.</p><p>Note that specifying this parameter here will
72 override the <a href="smb.conf.5.html#loglevel" target="_top">log
73 level</a> parameter in the <a href="smb.conf.5.html" target="_top">
74 <tt class="filename">smb.conf(5)</tt></a> file.</p></dd><dt><span class="term">-l|--logfile=logbasename</span></dt><dd><p>File name for log/debug files. The extension
75 <tt class="constant">&quot;.client&quot;</tt> will be appended. The log file is
76 never removed by the client.
77 </p></dd><dt><span class="term">-h|--help</span></dt><dd><p>Print a summary of command line options.
78 </p></dd><dt><span class="term">-b</span></dt><dd><p>Prints information about how
79 Samba was built.</p></dd><dt><span class="term">-l &lt;log directory&gt;</span></dt><dd><p>If specified,
80 <i class="replaceable"><tt>log directory</tt></i>
81 specifies a log directory into which the &quot;log.smbd&quot; log
82 file will be created for informational and debug
83 messages from the running server. The log
84 file generated is never removed by the server although
85 its size may be controlled by the <a href="smb.conf.5.html#maxlogsize" target="_top"><i class="parameter"><tt>max log size</tt></i></a>
86 option in the <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a> file. <span class="emphasis"><em>Beware:</em></span>
87 If the directory specified does not exist, <b class="command">smbd</b>
88 will log to the default debug log location defined at compile time.
89 </p><p>The default log directory is specified at
90 compile time.</p></dd><dt><span class="term">-p &lt;port number&gt;</span></dt><dd><p><i class="replaceable"><tt>port number</tt></i> is a positive integer
91 value. The default value if this parameter is not
92 specified is 139.</p><p>This number is the port number that will be
93 used when making connections to the server from client
94 software. The standard (well-known) port number for the
95 SMB over TCP is 139, hence the default. If you wish to
96 run the server as an ordinary user rather than
97 as root, most systems will require you to use a port
98 number greater than 1024 - ask your system administrator
99 for help if you are in this situation.</p><p>In order for the server to be useful by most
100 clients, should you configure it on a port other
101 than 139, you will require port redirection services
102 on port 139, details of which are outlined in rfc1002.txt
103 section 4.3.5.</p><p>This parameter is not normally specified except
104 in the above situation.</p></dd></dl></div></div><div class="refsect1" lang="en"><h2>FILES</h2><div class="variablelist"><dl><dt><span class="term"><tt class="filename">/etc/inetd.conf</tt></span></dt><dd><p>If the server is to be run by the
105 <b class="command">inetd</b> meta-daemon, this file
106 must contain suitable startup information for the
107 meta-daemon. See the <a href="install.html" target="_top">&quot;How to Install and Test SAMBA&quot;</a>
108 document for details.
109 </p></dd><dt><span class="term"><tt class="filename">/etc/rc</tt></span></dt><dd><p>or whatever initialization script your
110 system uses).</p><p>If running the server as a daemon at startup,
111 this file will need to contain an appropriate startup
112 sequence for the server. See the <a href="install.html" target="_top">&quot;How to Install and Test SAMBA&quot;</a>
113 document for details.</p></dd><dt><span class="term"><tt class="filename">/etc/services</tt></span></dt><dd><p>If running the server via the
114 meta-daemon <b class="command">inetd</b>, this file
115 must contain a mapping of service name (e.g., netbios-ssn)
116 to service port (e.g., 139) and protocol type (e.g., tcp).
117 See the <a href="install.html" target="_top">&quot;How to Install and Test SAMBA&quot;</a>
118 document for details.</p></dd><dt><span class="term"><tt class="filename">/usr/local/samba/lib/smb.conf</tt></span></dt><dd><p>This is the default location of the <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a> server configuration file. Other common places that systems
119 install this file are <tt class="filename">/usr/samba/lib/smb.conf</tt>
120 and <tt class="filename">/etc/samba/smb.conf</tt>.</p><p>This file describes all the services the server
121 is to make available to clients. See <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a> for more information.</p></dd></dl></div></div><div class="refsect1" lang="en"><h2>LIMITATIONS</h2><p>On some systems <b class="command">smbd</b> cannot change uid back
122 to root after a setuid() call. Such systems are called
123 trapdoor uid systems. If you have such a system,
124 you will be unable to connect from a client (such as a PC) as
125 two different users at once. Attempts to connect the
126 second user will result in access denied or
127 similar.</p></div><div class="refsect1" lang="en"><h2>ENVIRONMENT VARIABLES</h2><div class="variablelist"><dl><dt><span class="term"><tt class="envar">PRINTER</tt></span></dt><dd><p>If no printer name is specified to
128 printable services, most systems will use the value of
129 this variable (or <tt class="constant">lp</tt> if this variable is
130 not defined) as the name of the printer to use. This
131 is not specific to the server, however.</p></dd></dl></div></div><div class="refsect1" lang="en"><h2>PAM INTERACTION</h2><p>Samba uses PAM for authentication (when presented with a plaintext
132 password), for account checking (is this account disabled?) and for
133 session management. The degree too which samba supports PAM is restricted
134 by the limitations of the SMB protocol and the <a href="smb.conf.5.html#OBEYPAMRESRICTIONS" target="_top"><i class="parameter"><tt>obey
135 pam restricions</tt></i></a> <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a> paramater. When this is set, the following restrictions apply:
136 </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Account Validation</em></span>: All accesses to a
137 samba server are checked
138 against PAM to see if the account is vaild, not disabled and is permitted to
139 login at this time. This also applies to encrypted logins.
140 </p></li><li><p><span class="emphasis"><em>Session Management</em></span>: When not using share
141 level secuirty, users must pass PAM's session checks before access
142 is granted. Note however, that this is bypassed in share level secuirty.
143 Note also that some older pam configuration files may need a line
144 added for session support.
145 </p></li></ul></div></div><div class="refsect1" lang="en"><h2>VERSION</h2><p>This man page is correct for version 3.0 of
146 the Samba suite.</p></div><div class="refsect1" lang="en"><h2>DIAGNOSTICS</h2><p>Most diagnostics issued by the server are logged
147 in a specified log file. The log file name is specified
148 at compile time, but may be overridden on the command line.</p><p>The number and nature of diagnostics available depends
149 on the debug level used by the server. If you have problems, set
150 the debug level to 3 and peruse the log files.</p><p>Most messages are reasonably self-explanatory. Unfortunately,
151 at the time this man page was created, there are too many diagnostics
152 available in the source code to warrant describing each and every
153 diagnostic. At this stage your best bet is still to grep the
154 source code and inspect the conditions that gave rise to the
155 diagnostics you are seeing.</p></div><div class="refsect1" lang="en"><h2>SIGNALS</h2><p>Sending the <b class="command">smbd</b> a SIGHUP will cause it to
156 reload its <tt class="filename">smb.conf</tt> configuration
157 file within a short period of time.</p><p>To shut down a user's <b class="command">smbd</b> process it is recommended
158 that <b class="command">SIGKILL (-9)</b> <span class="emphasis"><em>NOT</em></span>
159 be used, except as a last resort, as this may leave the shared
160 memory area in an inconsistent state. The safe way to terminate
161 an <b class="command">smbd</b> is to send it a SIGTERM (-15) signal and wait for
162 it to die on its own.</p><p>The debug log level of <b class="command">smbd</b> may be raised
163 or lowered using <a href="smbcontrol.1.html"><span class="citerefentry"><span class="refentrytitle">smbcontrol</span>(1)</span></a> program (SIGUSR[1|2] signals are no longer
164 used since Samba 2.2). This is to allow transient problems to be diagnosed,
165 whilst still running at a normally low log level.</p><p>Note that as the signal handlers send a debug write,
166 they are not re-entrant in <b class="command">smbd</b>. This you should wait until
167 <b class="command">smbd</b> is in a state of waiting for an incoming SMB before
168 issuing them. It is possible to make the signal handlers safe
169 by un-blocking the signals before the select call and re-blocking
170 them after, however this would affect performance.</p></div><div class="refsect1" lang="en"><h2>SEE ALSO</h2><p><a href="hosts_access.5.html"><span class="citerefentry"><span class="refentrytitle">hosts_access</span>(5)</span></a>, <a href="inetd.8.html"><span class="citerefentry"><span class="refentrytitle">inetd</span>(8)</span></a>, <a href="nmbd.8.html"><span class="citerefentry"><span class="refentrytitle">nmbd</span>(8)</span></a>, <a href="smb.conf.5.html"><span class="citerefentry"><span class="refentrytitle">smb.conf</span>(5)</span></a>, <a href="smbclient.1.html"><span class="citerefentry"><span class="refentrytitle">smbclient</span>(1)</span></a>, <a href="testparm.1.html"><span class="citerefentry"><span class="refentrytitle">testparm</span>(1)</span></a>, <a href="testprns.1.html"><span class="citerefentry"><span class="refentrytitle">testprns</span>(1)</span></a>, and the
171 Internet RFC's <tt class="filename">rfc1001.txt</tt>, <tt class="filename">rfc1002.txt</tt>.
172 In addition the CIFS (formerly SMB) specification is available
173 as a link from the Web page <a href="http://samba.org/cifs/" target="_top">
174 http://samba.org/cifs/</a>.</p></div><div class="refsect1" lang="en"><h2>AUTHOR</h2><p>The original Samba software and related utilities
175 were created by Andrew Tridgell. Samba is now developed
176 by the Samba Team as an Open Source project similar
177 to the way the Linux kernel is developed.</p><p>The original Samba man pages were written by Karl Auer.
178 The man page sources were converted to YODL format (another
179 excellent piece of Open Source software, available at <a href="ftp://ftp.icce.rug.nl/pub/unix/" target="_top">
180 ftp://ftp.icce.rug.nl/pub/unix/</a>) and updated for the Samba 2.0
181 release by Jeremy Allison. The conversion to DocBook for
182 Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
183 Samba 3.0 was done by Alexander Bokovoy.</p></div></div></body></html>