1 This file aims to document the major changes since the latest released version
2 of Samba, 3.0. Samba 4.0 contains rewrites of several subsystems
3 and uses a different internal format for most data. Since this
4 file is an initial draft, please update missing items.
6 One of the main goals of Samba 4 was Active Directory Domain Controller
7 support. This means Samba now implements several protocols that are required
8 by AD such as Kerberos and DNS.
10 An (experimental) upgrade script that performs a one-way upgrade
11 from Samba 3 is available in source/setup/upgrade.
13 Removal of nmbd and introduction of process models
14 ==================================================
15 smbd now implements several network protocols other than just CIFS and
16 DCE/RPC. nmbd's functionality has been merged into smbd. smbd supports
17 various 'process models' that specify how concurrent connections are
18 handled (when to fork, use threads, etc).
22 Samba now stores most of its persistent data in a LDAP-like database
23 called LDB (see ldb(7) for more info).
27 Unlike previous versions, Samba4 does not provide a web interface at this time.
31 Samba4 ships with an integrated KDC (Kerberos Key Distribution
32 Center). Backed directly onto our main internal database, and
33 integrated with custom code to handle the PAC, Samba4's KDC is an
34 integral part of our support for AD logon protocols.
38 Like the situation with the KDC, Samba4 ships with it's own LDAP
39 server, included to provide simple, built-in LDAP services in an AD
40 (rather than distinctly standards) matching manner. The database is
41 LDB, and it shares that in common with the rest of Samba.
43 Changed configuration options
44 =============================
45 Several configuration options have been removed in Samba4 while others have
46 been introduced. This section contains a summary of changes to smb.conf and
47 where these settings moved. Configuration options that have disappeared may be
48 re-added later when the functionality that uses them gets reimplemented in
51 The 'security' parameter has been split up. It is now only used to choose
52 between the 'user' and 'share' security levels (the latter is not supported
53 in Samba 4 yet). The other values of this option and the 'domain master' and
54 'domain logons' parameters have been merged into a 'server role' parameter
55 that can be either 'domain controller', 'member server' or 'standalone'. Note that
56 member server support does not work yet.
58 The following parameters have been removed:
59 - passdb backend: accounts are now stored in a LDB-based SAM database
65 - allow trusted domains
69 - algorithmic rid base
79 - check password script
99 - acl check permissions
101 - acl map full control
106 - force security mode
109 - force directory mode
110 - directory security mask
111 - force directory security mode
112 - force unknown acl user
113 - inherit permissions
122 - use kerberos keytab
128 - debug hires timestamp
131 - allocation roundup size
140 - defer sharing violations
152 - change notify timeout
156 - kernel change notify
169 - max reported print jobs
171 - printcap cache time
186 - queueresume command
189 - deleteprinter command
190 - show add printer wizard
201 - short preserve case
206 - hide unwriteable files
214 - max stat cache size
216 - store dos attributes
217 - machine password timeout
222 - delete group script
223 - add user to group script
224 - delete user from group script
225 - set primary group script
228 - abort shutdown script
229 - username map script
251 - oplock break wait time
252 - oplock contention limit
261 - ldap machine suffix
264 - ldap replication sleep
271 - change share command
272 - delete share command
289 - log nt token command
308 - dos filetime resolution
309 - fake directory create times
316 - enable rid algorithm
317 - passdb expand explicit
328 - winbind enum groups
329 - winbind use default domain
330 - winbind trusted domains only
331 - winbind nested groups
332 - winbind max idle children
335 The following parameters have been added:
337 Make Samba fake it is running on a bigendian machine when using DCE/RPC.
338 Useful for debugging.
342 + case insensitive filesystem (S)
343 Set to true if this share is located on a case-insensitive filesystem.
344 This disables looking for a filename by trying all possible combinations of
345 uppercase/lowercase characters and thus speeds up operations when a
346 file cannot be found.
351 Path to data used by provisioning script.
353 Default: Set at compile-time
356 Directory to use for UNIX sockets used by the 'ncalrpc' DCE/RPC transport.
358 Default: Set at compile-time
361 Backend to the NT VFS to use (more than one can be specified). Available
365 Maps POSIX FS semantics to NT semantics
368 Very simple backend (original testing backend).
371 Sets up user credentials based on POSIX gid/uid.
374 Proxies a remote CIFS FS. Mainly useful for testing.
377 Filter module that saves data useful to the nbench benchmark suite.
380 Allows using SMB for inter process communication. Only used for
384 Allows printing over SMB. This is LANMAN-style printing (?), not
385 the be confused with the spoolss DCE/RPC interface used by later
388 Default: unixuid default
393 + dcerpc endpoint servers
394 What DCE/RPC servers to start.
396 Default: epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup
399 Services Samba should provide.
401 Default: smb rpc nbt wrepl ldap cldap web kdc
404 Spoolss (printer) DCE/RPC server database. This should be a LDB URL.
406 Default: set at compile-time
408 + wins config database
409 WINS configuration database location. This should be a LDB URL.
411 Default: set at compile-time
414 WINS database location. This should be a LDB URL.
416 Default: set at compile-time
418 + client use spnego principal
419 Tells the client to use the Kerberos service principal specified by the
420 server during the security protocol negotation rather than
421 looking up the principal itself (cifs/hostname).
426 TCP/IP Port used by the NetBIOS over TCP/IP (NBT) implementation.
431 UDP/IP port used by the NetBIOS over TCP/IP (NBT) implementation.
436 UDP/IP port used by the CLDAP protocol.
441 IP port used by the kerberos KDC.
446 IP port used by the kerberos password change protocol.
451 TCP/IP port SWAT should listen on.
456 Enable TLS support for SWAT
461 Path to TLS key file (PEM format) to be used by SWAT. If no
462 path is specified, Samba will create a key.
467 Path to TLS certificate file (PEM format) to be used by SWAT. If no
468 path is specified, Samba will create a certificate.
473 Path to CA authority file Samba will use to sign TLS keys it generates. If
474 no path is specified, Samba will create a self-signed CA certificate.
479 Path to TLS certificate revocation lists file.
486 Default: set at compile-time
489 Indicate the CIFS server is able to do large reads/writes.
494 Enable/disable unicode support in the protocol.