samba - Man Page

Server to provide AD and SMB/CIFS services to clients

Synopsis

samba [-D|--daemon] [-F|--foreground] [-i|--interactive] [-M|--model=MODEL] [--maximum-runtime=seconds] [-b|--show-build] [--no-process-group] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-V|--version]

Description

This program is part of the samba(7) suite.

samba is the server daemon that provides Active Directory, filesharing and printing services to clients. The server provides filespace and directory services to clients using the SMB (or CIFS) protocol and other related protocols such as DCE/RPC, LDAP and Kerberos.

Clients supported include MSCLIENT 3.0 for DOS, Windows for Workgroups, Windows 95/98/ME, Windows NT, Windows 2000/XP/2003, OS/2, DAVE for Macintosh, and cifsfs 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) manual page should be regarded as mandatory reading before proceeding with installation.

Options

-D|--daemon

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 ports. Operating the server as a daemon is the recommended way of running samba for servers that provide more than casual use file and print services. This switch is assumed if samba is executed on the command line of a shell.

-F|--foreground

If specified, this parameter causes the samba process to not daemonize, i.e. double-fork and disassociate with the terminal.

-i|--interactive

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 daemon mode when run from the command line. samba also logs to standard output, as if the -S parameter had been given.

-M|--model

This parameter can be used to specify the "process model" samba should use. This determines how concurrent clients are handled. Available process models include:

  • single

    All Samba services run in a single process. This is not recommended for production configurations.

  • standard

    A process is created for each Samba service, and for those services that support it (currently only LDAP and NETLOGON) a new processes is started for each new client connection.

    Historically, this was the 'standard' way Samba behaved up until v4.10. Note that this model can be resource intensive if you have a large number of client connections.

  • prefork

    The default. A process is started for each Samba service, and a fixed number of worker processes are started for those services that support it (currently LDAP, NETLOGON, and KDC). The client connections are then shared amongst the worker processes. Requests for services not supporting prefork are handled by a single process for that service.

    The number of prefork worker processes started is controlled by the smb.conf(5) parameter prefork children, which defaults to 4.

--maximum-runtime=seconds

Set maximum runtime of the server process till autotermination in seconds.

-b|--show-build

Print information about how Samba was built.

-d|--debuglevel=DEBUGLEVEL, --debug-stdout

level is an integer from 0 to 10. The default value if this parameter is not specified is 0.

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.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file. This will redirect debug output to STDOUT. By default server daemons are logging to a log file.

--configfile=CONFIGFILE

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 /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

--option=<name>=<value>

Set the smb.conf(5) option "<name>" to value "<value>" from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole --option=name=value into quotes.

-l|--log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc...). The log file is never removed by the client.

--leak-report

Enable talloc leak reporting on exit.

--leak-report-full

Enable full talloc leak reporting on exit.

-V|--version

Prints the program version number.

-?|--help

Print a summary of command line options.

--usage

Display brief usage message.

Files

/etc/rc

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.

/etc/services

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

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

This is the default location of the smb.conf(5) server configuration file. Other common places that systems install this file are /usr/samba/lib/smb.conf and /etc/samba/smb.conf.

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

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 the time this man page was created, 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.

Version

This man page is part of version 4.21.1 of the Samba suite.

See Also

hosts_access(5) smb.conf(5), smbclient(8), samba-tool(8), smbd(8), nmbd(8), winbindd(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 https://www.samba.org/cifs/.

Author

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.

Referenced By

samba(7), samba_downgrade_db(8), smb.conf(5), vfs_btrfs(8), vfs_ceph(8), vfs_ceph_new(8), vfs_ceph_snapshots(8), vfs_glusterfs(8), vfs_glusterfs_fuse(8), vfs_shell_snap(8), vfs_snapper(8).

10/25/2024 Samba 4.21.1 System Administration tools