Changes
Page history
linkify titles in overview
authored
Feb 27, 2018
by
Andrew Bartlett
Signed-off-by:
Andrew Bartlett
<
abartlet@samba.org
>
Show whitespace changes
Inline
Side-by-side
samba-functionality/overview.md
View page @
ec895bdf
...
...
@@ -9,7 +9,7 @@ clients and servers.
It contains many features, some of which are listed below.
## File Server
##
[
File Server
](https://www.samba.org/samba/docs/current/man-html/smbd.8.html)
Samba is best known as a file server, sharing POSIX file systems to
Microsoft's Windows clients. Samba translates between the NTFS
...
...
@@ -21,7 +21,7 @@ The file server is run from the `smbd` binary.
*
[
source3/smbd
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/smbd
)
### Clustered file server (ctdb)
###
[
Clustered file server (ctdb)
](https://wiki.samba.org/index.php/CTDB_and_Clustered_Samba)
A clustered version of Samba is available using
`ctdb`
to link
multiple Samba servers that share a common file system into the
...
...
@@ -29,7 +29,7 @@ appearance of single SMB file server.
*
[
ctdb
](
https://git.samba.org/?p=samba.git;a=tree;f=ctdb
)
## Print Server
##
[
Print Server
](https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Print_Server)
As well as sharing files, Samba can share printers, by they locally
attached or remote printers connected to the local CUPS server.
...
...
@@ -42,7 +42,7 @@ This can be used to create a central print server.
*
[
source3/rpc_server/spoolss
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/rpc_server/spoolss
)
*
[
source3/printing
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/printing
)
## Active Directory Domain Controller
##
[
Active Directory Domain Controller
](https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller)
Active Directory is often described as a combined LDAP, Kerberos and
DCE/RPC server backed on to a common database
...
...
@@ -84,15 +84,16 @@ day-to-day operation of AD domains.
Other important protocols include the administrative SAMR protocol.
*
[
source4/rpc_server
](
https://git.samba.org/?p=samba.git;a=tree;f=source4/rpc_server
)
*
[
source4/dsdb/repl
](
https://git.samba.org/?p=samba.git;a=tree;f=source4/dsdb/repl
)
### Replication server
### Replication
client and
server
The DRSUAPI server includes the server-side engine for DRS
replication. The client-side is both in
`samba-tool`
and the
`drepl`
server inside the main
`samba`
process.
*
[
source4/rpc_server/drsuapi/getncchanges.c
](
https://git.samba.org/?p=samba.git;a=blob;f=source4/rpc_server/drsuapi/getncchanges.c
)
*
[
source4/dsdb/repl
](
https://git.samba.org/?p=samba.git;a=tree;f=source4/dsdb/repl
)
*
[
source4/dsdb/samdb/ldb_modules/repl_meta_data.c
](
https://git.samba.org/?p=samba.git;a=blob;f=source4/dsdb/samdb/ldb_modules/repl_meta_data.c
)
### Group Policy server
...
...
@@ -102,7 +103,7 @@ actually a function of the file server and the `[netlogon]` share. It
is critical for security that access to this share only be made over a
SMB signed connection, and clients need to enforce this.
## *Classic* or NT4-like Domain Controller
##
[
*Classic* or NT4-like Domain Controller
](https://wiki.samba.org/index.php/Setting_up_Samba_as_an_NT4_PDC_(Quick_Start))
Samba provides a domain controller using technologies similar to NT4.
This can be backed on to an external LDAP server such as OpenLDAP and
...
...
@@ -125,7 +126,7 @@ This domain is also not entirely NT4-like because Windows clients will
use modern cryptography against such a Samba domain that NT4 never
supported.
## Domain member
##
[
Domain member
](https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member)
A domain member is a server or workstation joined to an AD or NT4
Domain which uses that domain as the source of authentication and
...
...
@@ -144,7 +145,7 @@ so the *machine account* (the object in the domain that represents the
domain member) can be used to make or accept Kerberised network
requests.
### ntlm_auth
###
[
ntlm_auth
](https://www.samba.org/samba/docs/current/man-html/ntlm_auth.1.html)
The
`ntlm_auth`
tool allows for external projects like FreeRadius (for
802.
1x authentication), Squid and Apache (for NTLM over HTTP) to
...
...
@@ -152,7 +153,7 @@ authenticate users against the joined domain.
*
[
source3/utils/ntlm_auth.c
](
https://git.samba.org/?p=samba.git;a=blob;f=source3/utils/ntlm_auth.c
)
### pam_winbindd
###
[
pam_winbindd
](https://www.samba.org/samba/docs/current/man-html/pam_winbind.8.html)
`pam_winbind`
allows local logins to be authenticated against the
joined domain.
...
...
@@ -176,17 +177,25 @@ calling ntlm_auth
*
[
nsswitch
](
https://git.samba.org/?p=samba.git;a=tree;f=nsswitch
)
## Netbios Name server
##
[
Netbios Name server
](https://www.samba.org/samba/docs/current/man-html/nmbd.8.html)
Samba can announce its name and accept name resolution requests via
`NetBIOS`
broadcasts and maintain the database of names in the
`Network Neigbourhood`
(the browse list).
`Network Neigbourhood`
(the browse list). It also supports the
centralised WINS protocol allowing a single server to maintain the
registrations.
Samba has two implementations of these protocols, the one in
`source3`
is the original implementation and includes browsing support, the one
in source4 is a newer implementation and includes multi-master WINS
replication support.
*
[
source3/nmbd
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/nmbd
)
*
[
source4/nbt_server
](
https://git.samba.org/?p=samba.git;a=tree;f=source4/nbt_server
)
## Client
### smbclient
###
[
smbclient
](https://www.samba.org/samba/docs/current/man-html/smbclient.1.html)
The command line
`smbclient`
tool is described as
*ftp like*
in
reference to the early command-like ftp client. It allows
`get`
,
...
...
@@ -194,7 +203,7 @@ reference to the early command-like ftp client. It allows `get`,
*
[
source3/client
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/client
)
### net
###
[
net
](https://www.samba.org/samba/docs/current/man-html/net.8.html)
The command line
`net`
tool provides are more extensive set of
administrative functionality for Samba. The most notable function is
...
...
@@ -204,7 +213,7 @@ The focus of this tool is on aspects of the file server
*
[
source3/utils
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/utils
)
### rpcclient
###
[
rpcclient
](https://www.samba.org/samba/docs/current/man-html/rpcclient.1.html)
The command line
`rpcclient`
tool provides access to some low-level
RPC operations and can be useful during development. It is not
...
...
@@ -212,7 +221,7 @@ normally used for administration.
*
[
source3/rpcclient
](
https://git.samba.org/?p=samba.git;a=tree;f=source3/rpcclient
)
### samba-tool
###
[
samba-tool
](https://www.samba.org/samba/docs/current/man-html/samba-tool.8.html)
The command line
`samba-tool`
tool provides an extensive set of
administrative functionality for Samba. The most notable functions
...
...
@@ -222,7 +231,7 @@ are `samba-tool domain provision` used to create a new AD Domain,
*
[
python/samba/netcmd
](
https://git.samba.org/?p=samba.git;a=tree;f=python/samba/netcmd
)
### libsmbclient
###
[
libsmbclient
](https://www.samba.org/samba/docs/current/man-html/libsmbclient.7.html)
`libsmbclient`
allows client applications like Gnome to browse and
view files on a remote SMB server.
...
...
@@ -238,7 +247,7 @@ available for direct use as well.
## Subprojects
### LDB
###
[
LDB
](https://ldb.samba.org/)
LDB is not just the basis for the AD DC's database
[
sam.ldb
](
../protocols-and-subsystems/sam.ldb
)
in Samba), it is also a
...
...
@@ -249,21 +258,21 @@ memory-mapped database for simplicity of operation.
*
[
lib/ldb
](
https://git.samba.org/?p=samba.git;a=tree;f=lib/ldb
)
### TDB
###
[
TDB
](https://tdb.samba.org/)
TDB was NoSQL before NoSQL was hip: TDB is a transactional key-value
store database with fcntl() locking for concurrent access.
*
[
lib/tdb
](
https://git.samba.org/?p=samba.git;a=tree;f=lib/tdb
)
### Talloc
###
[
Talloc
](https://talloc.samba.org)
`talloc`
is Samba's tree memory allocator and is the primary memory
abstraction in Samba.
*
[
lib/talloc
](
https://git.samba.org/?p=samba.git;a=tree;f=lib/talloc
)
### Tevent
###
[
Tevent
](https://tevent.samba.org)
`tevent`
provides Samba's event loop management.
...
...
@@ -271,14 +280,14 @@ abstraction in Samba.
## Other
### smbstatus
###
[
smbstatus
](https://www.samba.org/samba/docs/current/man-html/smbstatus.1.html)
The command line
`smbstatus`
tool gives information on which files are
open and which locks are held by Samba clients.
*
[
source3/utils/smbstatus.c
](
https://git.samba.org/?p=samba.git;a=blob;f=source3/utils/smbstatus.c
)
### smbcontrol
###
[
smbcontrol
](https://www.samba.org/samba/docs/current/man-html/smbcontrol.1.html)
The command line
`smbcontrol`
tool gives information on and allows
control of the Unix processes that Samba creates.
...
...
...
...