SMBD(8)                                                                SMBD(8)

       smbd - server to provide SMB/CIFS services to clients

       smbd  [  -D  ]   [  -a  ]  [ -i ]  [ -o ]  [ -P ]  [ -h ]  [ -V ]  [ -d
       <debug level> ]  [ -l <log directory> ]  [ -p <port  number>  ]   [  -O
       <socket option> ]  [ -s <configuration file> ]

       This program is part of the Samba suite.

       smbd  is  the server daemon that provides filesharing and printing ser-
       vices to Windows clients.  The server provides  filespace  and  printer
       services  to clients using the SMB (or CIFS) protocol. This is compati-
       ble with the LanManager protocol, and can service  LanManager  clients.
       These  include  MSCLIENT  3.0  for DOS, Windows for Workgroups, Windows
       95/98/ME, Windows NT, Windows 2000, OS/2, DAVE for Macintosh, and smbfs
       for Linux.

       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 smb.conf(5)
        This  man page will not describe the services, but will concentrate on
       the administrative aspects of running the server.

       Please note that there are significant security implications to running
       this  server,  and the smb.conf(5) manpage should be regarded as manda-
       tory 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 con-
       nections made by the client during that session. When  all  connections
       from its client are closed, the copy of the server for that client ter-

       The configuration file, and any files that it includes,  are  automati-
       cally  reloaded every minute, if they change. You can force a reload by
       sending a SIGHUP to the server. Reloading the configuration  file  will
       not  affect  connections  to  any  service that is already established.
       Either the user will have to  disconnect  from  the  service,  or  smbd
       killed and restarted.

       -D     If  specified,  this parameter causes the server to operate as a
              daemon. That is, it detaches itself and runs in the  background,
              fielding  requests on the appropriate port. Operating the server
              as a daemon is the recommended way of running smbd  for  servers
              that  provide more than casual use file and print services. This
              switch is assumed if smbd is executed on the command line  of  a

       -a     If  this parameter is specified, each new connection will append
              log messages to the log file.  This is the default.

       -i     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.

       -o     If  this parameter is specified, the log files will be overwrit-
              ten when opened. By default, smbd will append entries to the log

       -P     Passive option. Causes smbd not to send any network traffic out.
              Used for debugging by the developers only.

       -h     Prints the help information (usage) for smbd.

       -v     Prints the version number for smbd.

       -d <debug level>
              debuglevel is an integer from 0 to 10. 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 crit-
              ical  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.

              Note that specifying this parameter here will override  the  log
              level file.

       -l <log directory>
              If specified, log directory specifies a log directory into which
              the "log.smbd" log file will be created  for  informational  and
              debug  messages  from the running server. The log file generated
              is never removed by the server although its  size  may  be  con-
              trolled  by  the  max  log size option in the  smb.conf(5) file.
              Beware: If the directory specified does not exist, smbd will log
              to the default debug log location defined at compile time.

              The default log directory is specified at compile time.

       -O <socket options>
              See the socket options parameter in the smb.conf(5)
               file for details.

       -p <port number>
              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  making
              connections  to  the  server  from client software. The standard
              (well-known) port number for the SMB over TCP 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.

              In order for the server to be useful by most clients, should you
              configure  it  on  a  port other than 139, you will require port
              redirection services on port 139, details of which are  outlined
              in rfc1002.txt section 4.3.5.

              This  parameter  is  not  normally specified except in the above

       -s <configuration file>
              The file specified contains the configuration  details  required
              by the server. The information in this file includes server-spe-
              cific information such as what printcap file to use, as well  as
              descriptions  of all the services that the server is to provide.
              See  smb.conf(5) for more information.  The  default  configura-
              tion file name is determined at compile time.

              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 UNIX_INSTALL.html document for details.

              or whatever initialization 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 UNIX_INSTALL.html document for details.

              If  running the server via the meta-daemon inetd, 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
              UNIX_INSTALL.html document for details.

              This is the default location of the smb.conf  server  configura-
              tion  file.  Other  common places that systems install this file
              are /usr/samba/lib/smb.conf and /etc/smb.conf.

              This file describes all the  services  the  server  is  to  make
              available to clients. See  smb.conf(5) for more information.

       On  some  systems  smbd cannot change uid back to root after a setuid()
       call. Such systems are called trapdoor uid 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.

              If no printer name is specified to printable services, most sys-
              tems 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.

       Samba uses PAM for authentication  (when  presented  with  a  plaintext
       password),  for  account  checking  (is this account disabled?) and for
       session  management.  The  degree  too  which  samba  supports  PAM  is
       restricted  by  the  limitations  of  the SMB protocol and the obey pam
       restricions  smb.conf  paramater.  When  this  is  set,  the  following
       restrictions apply:

       o Account  Validation:  All  acccesses  to  a  samba server are checked
         against PAM to see if the account is vaild, not disabled and is  per-
         mitted  to login at this time. This also applies to encrypted logins.

       o Session Management: When not using share level secuirty,  users  must
         pass  PAM's  session  checks  before access is granted. Note however,
         that this is bypassed in share level secuirty.  Note also  that  some
         older  pam configuration files may need a line added for session sup-

       This man page is correct for version 2.2 of the Samba suite.

       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.

       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 over-
       ridden 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.  Unfortunately,  at  the
       time  this  man page was created, there are too many diagnostics avail-
       able in the source code to warrant describing each and  every  diagnos-
       tic.  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  see-

       Sending the smbd a SIGHUP will cause it to reload its smb.conf configu-
       ration file within a short period of time.

       To shut down a user's smbd process it is recommended that SIGKILL  (-9)
       NOT be used, except as a last resort, as this may leave the shared mem-
       ory area in an inconsistent state. The safe way to terminate an smbd is
       to send it a SIGTERM (-15) signal and wait for it to die on its own.

       The  debug  log  level  of  smbd may be raised or lowered using smbcon-
        program (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.

       Note that as the signal handlers send a debug write, they are  not  re-
       entrant in smbd. This you should wait until smbd is in a state of wait-
       ing for an incoming SMB before issuing them. It is possible to make the
       signal  handlers safe by un-blocking the signals before the select call
       and re-blocking them after, however this would affect performance.

       hosts_access(5), inetd(8), nmbd(8) smb.conf(5)
        and the Internet RFC's rfc1001.txt, rfc1002.txt.  In addition the CIFS
       (formerly  SMB)  specification is available as a link from the Web page <URL:>.

       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.

       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:>)  and  updated  for the Samba 2.0
       release by Jeremy Allison. The conversion to DocBook for Samba 2.2  was
       done by Gerald Carter

                               19 November 2002                        SMBD(8)