From af60ba31e124e87473aaa2822997f989dd52f876 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 11 Nov 1998 01:23:43 +0000 Subject: First version of HTML docs generated from YODL source. Jeremy. (This used to be commit 8f5f0bffc6af97e1f382cb3baa03ccecb0f151c4) --- docs/htmldocs/smbd.8.html | 376 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 376 insertions(+) create mode 100644 docs/htmldocs/smbd.8.html (limited to 'docs/htmldocs/smbd.8.html') diff --git a/docs/htmldocs/smbd.8.html b/docs/htmldocs/smbd.8.html new file mode 100644 index 0000000000..819fc39445 --- /dev/null +++ b/docs/htmldocs/smbd.8.html @@ -0,0 +1,376 @@ + + + + + +smbd + + + + + +
+ +

smbd

+

Samba

+

23 Oct 1998

+ + + + +


+

NAME

+ smbd - server to provide SMB/CIFS services to clients +


+

SYNOPSIS

+ +


smbd [-D] [-a] [-o] [-d debuglevel] [-l log file] [-p port number] [-O socket options] [-s configuration file] [-i scope] [-P] [-h] +


+

DESCRIPTION

+ +


This program is part of the Samba suite. +


smbd is the server daemon that provides filesharing services to +Windows clients. The server provides filespace and printer services to +clients using the SMB (or CIFS) protocol. This is compatible with the +LanManager protocol, and can service LanManager clients. These +include MSCLIENT 3.0 for DOS, Windows for Workgroups, Windows 95, +Windows NT, 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 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 during that session. When all +connections from its client are are closed, the copy of the server for +that client terminates. +


The configuration file, and any files that it includes, are +automatically 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. +


+

OPTIONS

+ +


+


+

FILES

+ +


/etc/inetd.conf +


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


/etc/rc +


(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. +


/etc/services +


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


/usr/local/samba/lib/smb.conf +


This is the default location of the smb.conf server configuration +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. +


+

LIMITATIONS

+ +


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


+

ENVIRONMENT VARIABLES

+ +


PRINTER +


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


+

INSTALLATION

+ +


The location of the server and its support files is a matter 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 readable 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 old versions (pre-kernel 2.0) of 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 +operation of the server and is not recommended. A sample configuration +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: +


+


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. +For serious use as file server it is recommended that smbd be run +as a daemon. +


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


+

RUNNING THE SERVER AS A DAEMON

+ +


To run the server as a daemon from the command line, simply put the +-D option on the command line. There is no need to place an +ampersand at the end of the command line - the -D option causes +the server to detach itself from the tty anyway. +


Any user can run the server as a daemon (execute permissions +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 modify the system startup +files. Wherever appropriate (for example, in /etc/rc), insert the +following line, substituting 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 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.) +


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


+

RUNNING THE SERVER ON REQUEST

+ +


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 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 NetBIOS name server nmbd at +the same time as smbd. To do this refer to the man page for +nmbd (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 inetd (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
+
+
+
+ +


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


+

TESTING THE INSTALLATION

+ +


If running the server as a daemon, execute it before proceeding. 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 recommend using +the smbclient program (see smbclient (1)) and also going through +the steps outlined in the file DIAGNOSIS.txt in the docs/ +directory of your Samba installation. +


+

VERSION

+ +


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


+

DIAGNOSTICS

+ +


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 +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. Unfortunately, at time +of creation of this man page there are too many diagnostics available +in the source code 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. +


+

SIGNALS

+ +


Sending the smbd a SIGHUP will cause it to re-load its smb.conf +configuration file within a short period of time. +


To shut down a users smbd process it is recommended that SIGKILL (-9) +NOT be used, except as a last resort, as this may leave the shared +memory area in an inconsistant 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 +by sending it a SIGUSR1 (kill -USR1 <smbd-pid>) and lowered by +sending it a SIGUSR2 (kill -USR2 <smbd-pid>). 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 +waiting 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. +


+

SEE ALSO

+ +


hosts_access (5), inetd (8), nmbd (8), +smb.conf (5), smbclient +(1), testparm (1), +testprns (1), 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 : +http://samba.anu.edu.au/cifs/. +


+

AUTHOR

+ +


The original Samba software and related utilities were created by +Andrew Tridgell (samba-bugs@samba.anu.edu.au). 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) and updated for the Samba2.0 release by Jeremy +Allison, samba-bugs@samba.anu.edu.au. +


See samba (7) to find out how to get a full list of contributors +and details on how to submit bug reports, comments etc. + + -- cgit