<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry id="nmbd">

<refmeta>
	<refentrytitle>nmbd</refentrytitle>
	<manvolnum>8</manvolnum>
</refmeta>


<refnamediv>
	<refname>nmbd</refname>
	<refpurpose>NetBIOS name server to provide NetBIOS 
	over IP naming services to clients</refpurpose>
</refnamediv>

<refsynopsisdiv>
	<cmdsynopsis>
		<command>nmbd</command>
		<arg choice="opt">-D</arg>
		<arg choice="opt">-a</arg>
		<arg choice="opt">-i</arg>
		<arg choice="opt">-o</arg>
		<arg choice="opt">-P</arg>
		<arg choice="opt">-h</arg>
		<arg choice="opt">-V</arg>
		<arg choice="opt">-d &lt;debug level&gt;</arg>
		<arg choice="opt">-H &lt;lmhosts file&gt;</arg>
		<arg choice="opt">-l &lt;log directory&gt;</arg>
		<arg choice="opt">-n &lt;primary netbios name&gt;</arg>
		<arg choice="opt">-p &lt;port number&gt;</arg>
		<arg choice="opt">-s &lt;configuration file&gt;</arg>
	</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
	<title>DESCRIPTION</title>
	<para>This program is part of the Samba suite.</para>

	<para><command>nmbd</command> is a server that understands 
	and can reply to NetBIOS over IP name service requests, like 
	those produced by SMB/CIFS clients such as Windows 95/98/ME, 
	Windows NT, Windows 2000, and LanManager clients. It also
	participates in the browsing protocols which make up the 
	Windows "Network Neighborhood" view.</para>

	<para>SMB/CIFS clients, when they start up, may wish to 
	locate an SMB/CIFS server. That is, they wish to know what 
	IP number a specified host is using.</para>

	<para>Amongst other services, <command>nmbd</command> will 
	listen for such requests, and if its own NetBIOS name is 
	specified it will respond with the IP number of the host it 
	is running on.  Its "own NetBIOS name" is by
	default the primary DNS name of the host it is running on, 
	but this can be overridden with the <emphasis>-n</emphasis> 
	option (see OPTIONS below). Thus <command>nmbd</command> will 
	reply to broadcast queries for its own name(s). Additional
	names for <command>nmbd</command> to respond on can be set 
	via parameters in the <ulink url="smb.conf.5.html"><filename>
	smb.conf(5)</filename></ulink> configuration file.</para>

	<para><command>nmbd</command> can also be used as a WINS 
	(Windows Internet Name Server) server. What this basically means 
	is that it will act as a WINS database server, creating a 
	database from name registration requests that it receives and 
	replying to queries from clients for these names.</para>

	<para>In addition, <command>nmbd</command> can act as a WINS 
	proxy, relaying broadcast queries from clients that do 
	not understand how to talk the WINS protocol to a WIN 
	server.</para>
</refsect1>

<refsect1>
	<title>OPTIONS</title>

	<variablelist>
		<varlistentry>
		<term>-D</term>
		<listitem><para>If specified, this parameter causes 
		<command>nmbd</command> to operate as a daemon. That is, 
		it detaches itself and runs in the background, fielding 
		requests on the appropriate port. By default, <command>nmbd</command> 
		will operate as a daemon if launched from a command shell. 
		nmbd can also be operated from the <command>inetd</command> 
		meta-daemon, although this is not recommended.
		</para></listitem>
		</varlistentry>

		<varlistentry>
		<term>-a</term>
		<listitem><para>If this parameter is specified, each new 
		connection will append log messages to the log file.  
		This is the default.</para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>-i</term>
		<listitem><para>If this parameter is specified it causes the
		server to run "interactively", not as a daemon, even if the
		server is executed on the command line of a shell. Setting this
		parameter negates the implicit deamon mode when run from the
		command line.
		</para></listitem>
		</varlistentry>

		<varlistentry>
		<term>-o</term>
		<listitem><para>If this parameter is specified, the 
		log files will be overwritten when opened.  By default, 
		<command>smbd</command> will append entries to the log 
		files.</para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>-h</term>
		<listitem><para>Prints the help information (usage) 
		for <command>nmbd</command>.</para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>-H &lt;filename&gt;</term>
		<listitem><para>NetBIOS lmhosts file.  The lmhosts 
		file is a list of NetBIOS names to IP addresses that 
		is loaded by the nmbd server and used via the name 
		resolution mechanism <ulink url="smb.conf.5.html#nameresolveorder">
		name resolve order</ulink> described in <ulink 
		url="smb.conf.5.html"> <filename>smb.conf(5)</filename></ulink>
		to resolve any NetBIOS name queries needed by the server. Note 
		that the contents of this file are <emphasis>NOT</emphasis> 
		used by <command>nmbd</command> to answer any name queries. 
		Adding a line to this file affects name NetBIOS resolution 
		from this host <emphasis>ONLY</emphasis>.</para>

		<para>The default path to this file is compiled into 
		Samba as part of the build process. Common defaults 
		are <filename>/usr/local/samba/lib/lmhosts</filename>,
		<filename>/usr/samba/lib/lmhosts</filename> or
		<filename>/etc/lmhosts</filename>. See the <ulink url="lmhosts.5.html">
		<filename>lmhosts(5)</filename></ulink> man page for details on the 
		contents of this file.</para></listitem>
		</varlistentry>

		<varlistentry>
		<term>-V</term>
		<listitem><para>Prints the version number for 
		<command>nmbd</command>.</para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>-d &lt;debug level&gt;</term>
		<listitem><para>debuglevel is an integer 
		from 0 to 10.  The default value if this parameter is 
		not specified is zero.</para>
		
		<para>The higher this value, the more detail will 
		be logged to the log files about the activities of the 
		server. At level 0, only critical errors and serious 
		warnings will be logged. Level 1 is a reasonable level for
		day to day running - it generates a small amount of 
		information about operations carried out.</para>

		<para>Levels above 1 will generate considerable amounts 
		of log data, and should only be used when investigating 
 		a problem. Levels above 3 are designed for use only by developers 
		and generate HUGE amounts of log data, most of which is extremely 
		cryptic.</para>

		<para>Note that specifying this parameter here will override 
		the <ulink url="smb.conf.5.html#loglevel">log level</ulink> 
		parameter in the <ulink url="smb.conf.5.html"><filename>
		smb.conf</filename></ulink> file.</para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>-l &lt;log directory&gt;</term>
		<listitem><para>The -l parameter specifies a directory 
		into which the "log.nmbd" log file will be created
		for operational data from the running
		<command>nmbd</command> server. The default log directory is compiled into Samba
		as part of the build process. Common defaults are <filename>
		/usr/local/samba/var/log.nmb</filename>, <filename>
		/usr/samba/var/log.nmb</filename> or
		<filename>/var/log/log.nmb</filename>.  <emphasis>Beware:</emphasis>
                If the directory specified does not exist, <command>nmbd</command>
                will log to the default debug log location defined at compile time.
		</para></listitem>
		</varlistentry>
		
		
		<varlistentry>
		<term>-n &lt;primary NetBIOS name&gt;</term>
		<listitem><para>This option allows you to override
		the NetBIOS name that Samba uses for itself. This is identical 
		to setting the <ulink url="smb.conf.5.html#netbiosname">
		NetBIOS name</ulink> parameter in the <ulink url="smb.conf.5.html">	
		<filename>smb.conf</filename></ulink> file.  However, a command
		line setting will take precedence over settings in 
		<filename>smb.conf</filename>.</para></listitem>
		</varlistentry>


		<varlistentry>
		<term>-p &lt;UDP port number&gt;</term>
		<listitem><para>UDP port number is a positive integer value.
		This option changes the default UDP port number (normally 137)
		that <command>nmbd</command> responds to name queries on. Don't
		use this option unless you are an expert, in which case you
		won't need help!</para></listitem>
		</varlistentry>

		<varlistentry>
		<term>-s &lt;configuration file&gt;</term>
		<listitem><para>The default configuration file name
		is set at build time, typically as <filename>
		/usr/local/samba/lib/smb.conf</filename>, but
		this may be changed when Samba is autoconfigured.</para>

		<para>The file specified contains the configuration details
		required by the server. See <ulink url="smb.conf.5.html">
		<filename>smb.conf(5)</filename></ulink> for more information.
		</para></listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>FILES</title>

	<variablelist>
		<varlistentry>
		<term><filename>/etc/inetd.conf</filename></term>
		<listitem><para>If the server is to be run by the
		<command>inetd</command> meta-daemon, this file
		must contain suitable startup information for the
		meta-daemon. See the <ulink
		url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink> document
		for details.
		</para></listitem>
		</varlistentry>

		<varlistentry>
		<term><filename>/etc/rc</filename></term>
		<listitem><para>or whatever initialization script your
		system uses).</para>

		<para>If running the server as a daemon at startup,
		this file will need to contain an appropriate startup
		sequence for the server. See the <ulink
		url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink> document
		for details.</para></listitem>
		</varlistentry>

		<varlistentry>
		<term><filename>/etc/services</filename></term>
		<listitem><para>If running the server via the
		meta-daemon <command>inetd</command>, this file
		must contain a mapping of service name (e.g., netbios-ssn)
		to service port (e.g., 139) and protocol type (e.g., tcp).
		See the <ulink url="UNIX_INSTALL.html">UNIX_INSTALL.html</ulink>
		document for details.</para></listitem>
		</varlistentry>

		<varlistentry>
		<term><filename>/usr/local/samba/lib/smb.conf</filename></term>
		<listitem><para>This is the default location of the
		<ulink url="smb.conf.5.html"><filename>smb.conf</filename></ulink>
		server configuration file. Other common places that systems
		install this file are <filename>/usr/samba/lib/smb.conf</filename>
		and <filename>/etc/smb.conf</filename>.</para>

		<para>When run as a WINS server (see the
		<ulink url="smb.conf.5.html#WINSSUPPORT">wins support</ulink>
		parameter in the <filename>smb.conf(5)</filename> man page),
		<command>nmbd</command>
		will store the WINS database in the file <filename>wins.dat</filename>
		in the <filename>var/locks</filename> directory configured under
		wherever Samba was configured to install itself.</para>

		<para>If <command>nmbd</command> is acting as a <emphasis>
		browse master</emphasis> (see the <ulink
		url="smb.conf.5.html#LOCALMASTER">local master</ulink>
		parameter in the <filename>smb.conf(5)</filename> man page,
		<command>nmbd</command>
		will store the browsing database in the file <filename>browse.dat
		</filename> in the <filename>var/locks</filename> directory
		configured under wherever Samba was configured to install itself.
		</para></listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>SIGNALS</title>

	<para>To shut down an <command>nmbd</command> process it is recommended
	that SIGKILL (-9) <emphasis>NOT</emphasis> be used, except as a last
	resort, as this may leave the name database in an inconsistent state.
	The correct way to terminate <command>nmbd</command> is to send it
	a SIGTERM (-15) signal and wait for it to die on its own.</para>

	<para><command>nmbd</command> will accept SIGHUP, which will cause
	it to dump out its namelists into the file <filename>namelist.debug
	</filename> in the <filename>/usr/local/samba/var/locks</filename>
	directory (or the <filename>var/locks</filename> directory configured
	under wherever Samba was configured to install itself). This will also
	cause <command>nmbd</command> to dump out its server database in
	the <filename>log.nmb</filename> file.</para>

	<para>The debug log level of nmbd may be raised or lowered using
	<ulink url="smbcontrol.1.html"><command>smbcontrol(1)</command>
	</ulink> (SIGUSR[1|2] signals are no longer used in Samba 2.2). This is
	to allow transient problems to be diagnosed, whilst still running
	at a normally low log level.</para>
</refsect1>

<refsect1>
        <title>TROUBLESHOOTING</title>

        <para>
        One of the common causes of difficulty when installing Samba and SWAT
        is the existsnece of some type of firewall or port filtering software
        on the Samba server.  Make sure that the appropriate ports
        outlined in this man page are available on the server and are not currently
        being blocked by some type of security software such as iptables or
        "port sentry".  For more troubleshooting information, refer to the additional
        documentation included in the Samba distribution.
        </para>
</refsect1>



<refsect1>
	<title>VERSION</title>

	<para>This man page is correct for version 2.2 of 
	the Samba suite.</para>
</refsect1>

<refsect1>
	<title>SEE ALSO</title>
	<para><command>inetd(8)</command>, <ulink
	url="smbd.8.html"><command>smbd(8)</command></ulink>, 
	<ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename>
	</ulink>, <ulink url="smbclient.1.html"><command>smbclient(1)
	</command></ulink>, <ulink url="testparm.1.html"><command>
	testparm(1)</command></ulink>, <ulink url="testprns.1.html">
	<command>testprns(1)</command></ulink>, and the Internet RFC's
	<filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>. 
	In addition the CIFS (formerly SMB) specification is available 
	as a link from the Web page <ulink url="http://samba.org/cifs/"> 
	http://samba.org/cifs/</ulink>.</para>
</refsect1>

<refsect1>
	<title>AUTHOR</title>
	
	<para>The original Samba software and related utilities 
	were created by Andrew Tridgell. Samba is now developed
	by the Samba Team as an Open Source project similar 
	to the way the Linux kernel is developed.</para>
	
	<para>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
	<ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
	ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
	release by Jeremy Allison.  The conversion to DocBook for 
	Samba 2.2 was done by Gerald Carter</para>
</refsect1>

</refentry>
