trying to get HEAD building again. If you want the code
[abartlet/samba.git/.git] / docs / htmldocs / smbd.8.html
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>