


SMBD(8)							  SMBD(8)


[1mNAME[0m
       smbd - provide SMB (aka LanManager) services to clients

[1mSYNOPSIS[0m
       [1msmbd[0m  [ [1m-D[0m ] [ [1m-a[0m ] [ [1m-d[0m [4mdebuglevel[0m ] [ [1m-l[0m [4mlog[0m [4mfile[0m ] [ [1m-p[0m
       [4mport[0m [4mnumber[0m ] [ [1m-O[0m [4msocket[0m [4moptions[0m  ]  [	[1m-s[0m  [4mconfiguration[0m
       [4mfile[0m ]

[1mDESCRIPTION[0m
       This program is part of the Samba suite.

       [1msmbd[0m  is	 a server that can provide most SMB services. The
       server provides filespace and printer services to  clients
       using  the  SMB protocol. This is compatible with the Lan-
       Manager protocol, and can service LanManager clients.

       An extensive description of the services that  the  server
       can provide is given in the man page for the configuration
       file controlling the attributes	of  those  services  (see
       [1msmb.conf[0m(5)).   This  man  page will not describe the ser-
       vices, but will concentrate on the administrative  aspects
       of running the server.

       Please  note  that there are significant security implica-
       tions to running this server, and  [1msmb.conf[0m(5)  should  be
       regarded	 as  mandatory	reading	 before	 proceeding  with
       installation.

       A session is created whenever a client requests one.  Each
       client  gets  a	copy of the server for each session. This
       copy then services all connections made by the client dur-
       ing that session. When all connections from its client are
       are closed, the copy of the server for that client  termi-
       nates.

       The  configuration  file	 is  automatically reloaded if it
       changes. You can force a reload by sending a SIGHUP to the
       server.

[1mOPTIONS[0m
       [1m-D[0m

	  If specified, this parameter causes the server to oper-
	  ate as a daemon. That is, it detaches itself	and  runs
	  in the background, fielding requests on the appropriate
	  port.

	  By default, the server will NOT operate as a daemon.

       [1m-a[0m

	  If this parameter is specified, the log files	 will  be
	  overwritten  with  each new connection. By default, the
	  log files will be appended to.



smbd			       smbd				1





SMBD(8)							  SMBD(8)


       [1m-d[0m [4mdebuglevel[0m

	  debuglevel is an integer from 0 to 5.

	  The default value if this parameter is not specified is
	  zero.

	  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.

	  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.

       [1m-l[0m [4mlog[0m [4mfile[0m

	  If specified, [4mlogfile[0m specifies a  base  filename  into
	  which	 operational data from the running server will be
	  logged.

	  The default base name is specified at compile time.

	  The base name is  used  to  generate	actual	log  file
	  names.  For  example,	 if the name specified was "log",
	  the following files would be used for log data:

	     log.debug (containing debugging information)

	     log.in (containing inbound transaction data)

	     log.out (containing outbound transaction data)

	  The log  files  generated  are  never	 removed  by  the
	  server.

       [1m-O[0m [4msocket[0m [4moptions[0m

	  See  the  socket  options  section  of  [1msmb.conf[0m(5) for
	  details

       [1m-p[0m [4mport[0m [4mnumber[0m

	  port number is a positive integer value.

	  The default value if this parameter is not specified is
	  139.

	  This	number	is the port number that will be used when



smbd			       smbd				2





SMBD(8)							  SMBD(8)


	  making connections to the server from client	software.
	  The standard (well-known) port number for the server is
	  139, hence the default. If you wish to run  the  server
	  as  an  ordinary user rather than as root, most systems
	  will require you to use a port number greater than 1024
	  -  ask your system administrator for help if you are in
	  this situation.

	  This parameter is not normally specified except in  the
	  above situation.

       [1m-s[0m [4mconfiguration[0m [4mfile[0m

	  The  default	configuration  file name is determined at
	  compile time.

	  The file specified contains the  configuration  details
	  required  by	the server.  The information in this file
	  includes  server-specific  information  such	as   what
	  printcap  file  to  use, as well as descriptions of all
	  the  services	 that  the  server  is	to  provide.  See
	  [1msmb.conf[0m(5) for more information.

[1mFILES[0m
       [1m/etc/inetd.conf[0m

	  If  the  server  is to be run by the inetd meta-daemon,
	  this file must contain suitable startup information for
	  the  meta-daemon. See the section "INSTALLATION" below.

       [1m/etc/rc[0m

	  (or whatever initialisation script your system uses)

	  If running the server as a daemon at startup, this file
	  will	need  to  contain an appropriate startup sequence
	  for the server. See the section "INSTALLATION" below.

       [1m/etc/services[0m

	  If running the server via the meta-daemon  inetd,  this
	  file	must contain a mapping of service name (eg., net-
	  bios-ssn)  to service port (eg., 139) and protocol type
	  (eg., tcp). See the section "INSTALLATION" below.

       [1m/usr/local/samba/lib/smb.conf[0m

	  This	file  describes all the services the server is to
	  make available to clients.  See  [1msmb.conf[0m(5)	for  more
	  information.

[1mLIMITATIONS[0m
       On  some systems [1msmbd[0m cannot change uid back to root after
       a setuid() call.	 Such systems are called  "trapdoor"  uid



smbd			       smbd				3





SMBD(8)							  SMBD(8)


       systems.	 If you have such a system, you will be unable to
       connect from a client (such as  a  PC)  as  two	different
       users  at  once.	 Attempts to connect the second user will
       result in "access denied" or similar.

[1mENVIRONMENT[0m [1mVARIABLES[0m
       [1mPRINTER[0m

	  If no printer name is specified to printable	services,
	  most	systems	 will  use the value of this variable (or
	  "lp" if this variable is not defined) as  the	 name  of
	  the printer to use. This is not specific to the server,
	  however.

[1mINSTALLATION[0m
       The location of the server and its support files is a mat-
       ter  for	 individual  system administrators. The following
       are thus suggestions only.

       It is recommended that the server  software  be	installed
       under the /usr/local/samba hierarchy, in a directory read-
       able by all, writeable only by root.  The  server  program
       itself  should  be executable by all, as users may wish to
       run the server themselves (in which case it will of course
       run  with  their	 privileges).	The  server should NOT be
       setuid. On some systems it may be worthwhile to make  smbd
       setgid to an empty group. This is because some systems may
       have a security hole where daemon processes that become	a
       user  can  be attached to with a debugger. Making the smbd
       file setgid to an empty group may prevent this  hole  from
       being  exploited. This security hole and the suggested fix
       has only been confirmed on Linux	 at  the  time	this  was
       written.	 It  is	 possible  that	 this hole only exists in
       Linux, as testing on other systems has thus far shown them
       to be immune.

       The server log files should be put in a directory readable
       and writable only by root, as the log  files  may  contain
       sensitive information.

       The  configuration  file	 should	 be placed in a directory
       readable and writable only by root, as  the  configuration
       file  controls  security	 for  the services offered by the
       server. The configuration file can be made readable by all
       if  desired,  but this is not necessary for correct opera-
       tion of the server and is not recommended. A  sample  con-
       figuration  file	 "smb.conf.sample"  is	supplied with the
       source to the server - this may be renamed  to  "smb.conf"
       and modified to suit your needs.

       The remaining notes will assume the following:

	  [1msmbd[0m	   (the	    server    program)	  installed    in
	  /usr/local/samba/bin



smbd			       smbd				4





SMBD(8)							  SMBD(8)


	  smb.conf  (the   configuration   file)   installed   in
	  /usr/local/samba/lib

	  log files stored in /var/adm/smblogs

       The  server  may	 be run either as a daemon by users or at
       startup, or it may be run from a meta-daemon such as inetd
       upon  request.  If run as a daemon, the server will always
       be ready, so starting sessions will be faster. If run from
       a meta-daemon some memory will be saved and utilities such
       as the tcpd TCP-wrapper may be used for extra security.

       When you've decided, continue  with  either  "RUNNING  THE
       SERVER AS A DAEMON" or "RUNNING THE SERVER ON REQUEST".

[1mRUNNING[0m [1mTHE[0m [1mSERVER[0m [1mAS[0m [1mA[0m [1mDAEMON[0m
       To  run the server as a daemon from the command line, sim-
       ply put the [1m-D[0m option on the command  line.  There  is  no
       need  to place an ampersand at the end of the command line
       - the [1m-D[0m option causes the server to  detach  itself  from
       the tty anyway.

       Any  user  can run the server as a daemon (execute permis-
       sions permitting, of course). This is useful  for  testing
       purposes, and may even be useful as a temporary substitute
       for something like ftp. When run this  way,  however,  the
       server  will  only have the privileges of the user who ran
       it.

       To ensure that the server is run as a daemon whenever  the
       machine	is started, and to ensure that it runs as root so
       that it can serve multiple clients, you will need to  mod-
       ify  the	 system	 startup files. Wherever appropriate (for
       example, in /etc/rc), insert the following  line,  substi-
       tuting  port number, log file location, configuration file
       location and debug level as desired:

	  /usr/local/samba/bin/smbd -D -l /var/adm/smblogs/log -s
	  /usr/local/samba/lib/smb.conf

       (The  above should appear in your initialisation script as
       a single line.  Depending on  your  terminal  characteris-
       tics,  it may not appear that way in this man page. If the
       above appears as more than one line, please treat any new-
       lines  or indentation as a single space or TAB character.)

       If the options used at compile time  are	 appropriate  for
       your system, all parameters except the desired debug level
       and [1m-D[0m may be omitted. See the section "OPTIONS" above.

[1mRUNNING[0m [1mTHE[0m [1mSERVER[0m [1mON[0m [1mREQUEST[0m
       If your system uses a meta-daemon such as inetd,	 you  can
       arrange to have the smbd server started whenever a process
       attempts to connect to it. This requires	 several  changes



smbd			       smbd				5





SMBD(8)							  SMBD(8)


       to  the	startup	 files	on  the	 host machine. If you are
       experimenting as an ordinary user rather than as root, you
       will  need  the assistance of your system administrator to
       modify the system files.

       You will probably want to set up the name server	 [1mnmbd[0m  at
       the same time as [1msmbd[0m - refer to the man page [1mnmbd[0m(8).

       First,  ensure  that  a	port  is  configured  in the file
       /etc/services. The well-known port 139 should be	 used  if
       possible, though any port may be used.

       Ensure  that  a	line  similar  to  the	following  is  in
       /etc/services:

	  netbios-ssn	 139/tcp

       Note for NIS/YP users - you may need to	rebuild	 the  NIS
       service	maps  rather  than alter your local /etc/services
       file.

       Next, put a suitable line in the file /etc/inetd.conf  (in
       the  unlikely event that you are using a meta-daemon other
       than inetd, you are on your own). Note that the first item
       in  this	 line  matches the service name in /etc/services.
       Substitute appropriate values for your system in this line
       (see [1minetd[0m(8)):

	  netbios-ssn stream tcp nowait root
	  /usr/local/samba/bin/smbd -d1 -l/var/adm/smblogs/log
	  -s/usr/local/samba/lib/smb.conf

       (The  above  should  appear in /etc/inetd.conf as a single
       line. Depending on your terminal characteristics,  it  may
       not  appear  that  way  in  this	 man  page.  If the above
       appears as more than one line, please treat  any	 newlines
       or indentation as a single space or TAB character.)

       Note  that there is no need to specify a port number here,
       even if you are using a non-standard port number.

       Lastly, edit the configuration file  to	provide	 suitable
       services. To start with, the following two services should
       be all you need:

	  [homes]
	      writable = yes

	  [printers]
	      writable = no
	      printable = yes
	      path = /tmp
	      public = yes




smbd			       smbd				6





SMBD(8)							  SMBD(8)


       This will allow you to connect to your home directory  and
       print  to  any  printer supported by the host (user privi-
       leges permitting).

[1mTESTING[0m [1mTHE[0m [1mINSTALLATION[0m
       If running the server as a daemon, execute it before  pro-
       ceeding. If using a meta-daemon, either restart the system
       or kill and restart  the	 meta-daemon.  Some  versions  of
       inetd  will  reread  their  configuration  tables  if they
       receive a HUP signal.

       If your machine's name is "fred" and your name is  "mary",
       you   should  now  be  able  to	connect	 to  the  service
       "\\fred\mary".

       To properly test and experiment with the server, we recom-
       mend using the smbclient program (see [1msmbclient[0m(1)).

[1mVERSION[0m
       This  man  page	is (mostly) correct for version 1.9.00 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.

[1mSEE[0m [1mALSO[0m
       [1mhosts_access[0m(5),	  [1minetd[0m(8),  [1mnmbd[0m(8),  [1msmb.conf[0m(5),  [1msmb-[0m
       [1mclient[0m(1), [1mtestparm[0m(1), [1mtestprns[0m(1)

[1mDIAGNOSTICS[0m
       [This section under construction]

       Most diagnostics issued by the  server  are  logged  in	a
       specified log file. The log file name is specified at com-
       pile time, but may be overridden on the command line.

       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.	 Unfortu-
       nately,	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.

[1mBUGS[0m
       None known.

[1mCREDITS[0m
       The  original  Samba  software  and related utilities were



smbd			       smbd				7





SMBD(8)							  SMBD(8)


       created by Andrew Tridgell  (samba-bugs@samba.anu.edu.au).
       Andrew  is also the Keeper of the Source for this project.


       See [1msmb.conf[0m(5)	for  a	full  list  of	contributors  and
       details on how to submit bug reports, comments etc.



















































smbd			       smbd				8


