Samba 4.2 Features added/changed: Difference between revisions
(Samba 4.2.0-RC2) |
|||
Line 1: | Line 1: | ||
== Samba 4.2.0- |
== Samba 4.2.0-RC2 == |
||
:Release Notes for Samba 4.2.0- |
:Release Notes for Samba 4.2.0-RC2 |
||
:October |
:October 15, 2014 |
||
===This is the first release candidate of Samba 4.2.=== |
===This is the first release candidate of Samba 4.2.=== |
||
Line 13: | Line 13: | ||
Read the "Winbindd/Netlogon improvements" section (below) carefully! |
Read the "Winbindd/Netlogon improvements" section (below) carefully! |
||
⚫ | |||
⚫ | |||
====Transparent File Compression==== |
====Transparent File Compression==== |
||
Line 22: | Line 22: | ||
====Previous File Versions with Snapper==== |
====Previous File Versions with Snapper==== |
||
The newly added Snapper VFS module exposes snapshots managed by Snapper for use by Samba. This provides the ability for remote |
The newly added Snapper VFS module exposes snapshots managed by Snapper for use by Samba. This provides the ability for remote clients to access shadow-copies via Windows Explorer using the "previous versions" dialog. |
||
clients to access shadow-copies via Windows Explorer using the "previous versions" dialog. |
|||
====Winbindd/Netlogon improvements==== |
====Winbindd/Netlogon improvements==== |
||
The whole concept of maintaining the netlogon secure channel to (other) domain controllers was rewritten in order to maintain |
The whole concept of maintaining the netlogon secure channel to (other) domain controllers was rewritten in order to maintain global state in a netlogon_creds_cli.tdb. This is the proper fix for a large number of bugs: |
||
global state in a netlogon_creds_cli.tdb. This is the proper fix for a large number of bugs: |
|||
https://bugzilla.samba.org/show_bug.cgi?id=10860 |
|||
https://bugzilla.samba.org/show_bug.cgi?id=6563 |
|||
https://bugzilla.samba.org/show_bug.cgi?id=7944 |
|||
https://bugzilla.samba.org/show_bug.cgi?id=7945 |
|||
https://bugzilla.samba.org/show_bug.cgi?id=7568 |
|||
https://bugzilla.samba.org/show_bug.cgi?id=8599 |
|||
In addition a strong session key is now required by default, which means that communication to older servers or clients might be rejected by default. |
In addition a strong session key is now required by default, which means that communication to older servers or clients might be rejected by default. |
||
*For the client side we have the following new options: |
*For the client side we have the following new options: |
||
::"require strong key" (yes by default), "reject md5 servers" (no by default). E.g. for Samba 3.0.37 you need "require strong key = no" and |
::"require strong key" (yes by default), "reject md5 servers" (no by default). E.g. for Samba 3.0.37 you need "require strong key = no" and |
||
for NT4 DCs you need "require strong key = no" and "client NTLMv2 auth = no", |
|||
*On the server side (as domain controller) we have the following new options: |
*On the server side (as domain controller) we have the following new options: |
||
::"allow nt4 crypto" (no by default), "reject md5 client" (no by default). E.g. in order to allow Samba < 3.0.27 or NT4 members to work you need "allow nt4 crypto = yes" |
::"allow nt4 crypto" (no by default), "reject md5 client" (no by default). E.g. in order to allow Samba < 3.0.27 or NT4 members to work you need "allow nt4 crypto = yes" |
||
Line 55: | Line 54: | ||
This allows more code to be shared, more options to be honoured, and paves the way for support for trusted domains in the AD DC. |
This allows more code to be shared, more options to be honoured, and paves the way for support for trusted domains in the AD DC. |
||
If required the old internal winbind can be activated by setting 'server services = +winbind -winbindd'. Upgrading users with a server |
If required the old internal winbind can be activated by setting 'server services = +winbind -winbindd'. Upgrading users with a server services parameter specified should ensure they change 'winbind' to 'winbindd' to obtain the new functionality. |
||
services parameter specified should ensure they change 'winbind' to 'winbindd' to obtain the new functionality. |
|||
The 'samba' binary still manages the starting of this service, there is no need to start the winbindd binary manually. |
The 'samba' binary still manages the starting of this service, there is no need to start the winbindd binary manually. |
||
Line 62: | Line 60: | ||
====Winbind now requires secured connections==== |
====Winbind now requires secured connections==== |
||
To improve protection against |
To improve protection against rogue domain controllers we now require that when we connect to an AD DC in our forest, that the connection be signed using SMB Signing. Set 'client signing = off' in the smb.conf to disable. |
||
signed using SMB Signing. Set 'client signing = off' in the smb.conf to disable. |
|||
Also and DCE/RPC pipes must be sealed, set 'require strong key = false' and 'winbind sealed pipes = false' to disable. |
Also and DCE/RPC pipes must be sealed, set 'require strong key = false' and 'winbind sealed pipes = false' to disable. |
||
Line 72: | Line 69: | ||
====Larger IO sizes for SMB2/3 by default==== |
====Larger IO sizes for SMB2/3 by default==== |
||
The default values for "smb2 max read", "smb2 max write" and "smb2 max trans" have been changed to 8388608 (8MiB) in order to match the default of |
The default values for "smb2 max read", "smb2 max write" and "smb2 max trans" have been changed to 8388608 (8MiB) in order to match the default of Windows 2012R2. |
||
Windows 2012R2. |
|||
====Improved DCERPC man in the middle detection==== |
====Improved DCERPC man in the middle detection==== |
||
The DCERPC header signing has been implemented in addition to the dcerpc_sec_verification_trailer |
The DCERPC header signing has been implemented in addition to the dcerpc_sec_verification_trailer protection. |
||
protection. |
|||
====Overhauled "net idmap" command==== |
====Overhauled "net idmap" command==== |
||
The command line interface of the "net idmap" command has been made systematic, and subcommands for reading and writing the autorid idmap |
The command line interface of the "net idmap" command has been made systematic, and subcommands for reading and writing the autorid idmap database have been added. Note that the writing commands should be used with great care. See the net(8) manual page for details. |
||
database have been added. Note that the writing commands should be used with great care. See the net(8) manual page for details. |
|||
====tdb improvements==== |
====tdb improvements==== |
||
The tdb library, our core mechanism to store Samba-specific data on disk and share it between processes, has been improved to support process shared robust |
The tdb library, our core mechanism to store Samba-specific data on disk and share it between processes, has been improved to support process shared robust mutexes on Linux. These mutexes are available on Linux and Solaris and significantly reduce the overhead involved with tdb. To enable mutexes for tdb, set |
||
mutexes on Linux. These mutexes are available on Linux and Solaris and significantly reduce the overhead involved with tdb. To enable mutexes for |
|||
tdb, set |
|||
dbwrap_tdb_mutexes:* = yes |
dbwrap_tdb_mutexes:* = yes |
||
Line 99: | Line 91: | ||
====Messaging improvements==== |
====Messaging improvements==== |
||
Our internal messaging subsystem, used for example for things like oplock break messages between smbds or setting a process debug level dynamically, has |
Our internal messaging subsystem, used for example for things like oplock break messages between smbds or setting a process debug level dynamically, has been rewritten to use unix domain datagram messages. |
||
been rewritten to use unix domain datagram messages. |
|||
====Clustering support==== |
====Clustering support==== |
||
⚫ | |||
⚫ | |||
⚫ | |||
versions as existed previously. |
|||
⚫ | |||
file server against the in-tree ctdb. Building clustered samba with previous versions of CTDB is no longer supported. |
|||
CTDB is built separately from the ctdb/ sub-directory. To build CTDB, use the following steps: |
CTDB is built separately from the ctdb/ sub-directory. To build CTDB, use the following steps: |
||
Line 118: | Line 106: | ||
# make install |
# make install |
||
====Samba Registry Editor==== |
|||
The utitlity to browse the samba registry has been overhauled by our Google Summer of Code student Chris Davis. Now samba-regedit has a Midnight-Commander-like theme and UI experience. You can browse keys and edit the diffent value types. For a data value type a hexeditor has been implemented. |
|||
⚫ | |||
====Bad Password Lockout in the AD DC==== |
|||
Samba's AD DC now implements bad password lockout (on a per-DC basis). |
|||
That is, incorrect password attempts are tracked, and accounts locked out if too many bad passwords are submitted. There is also a grace period of 60 minutes on the previous password when used for NTLM authentication (matching Windows 2003 SP1: https://support2.microsoft.com/kb/906305). |
|||
The relevant settings can be seen using 'samba-tool domain passwordsettings show' (the new settings being highlighted): |
|||
Password informations for domain 'DC=samba,DC=example,DC=com' |
|||
Password complexity: on |
|||
Store plaintext passwords: off |
|||
Password history length: 24 |
|||
Minimum password length: 7 |
|||
Minimum password age (days): 1 |
|||
Maximum password age (days): 42 |
|||
* Account lockout duration (mins): 30 * |
|||
* Account lockout threshold (attempts): 0 * |
|||
* Reset account lockout after (mins): 30 * |
|||
These values can be set using 'samba-tool domain passwordsettings set'. |
|||
====Correct defaults in the smb.conf manpages==== |
|||
The default values for smb.conf parameters are now correctly specified in the smb.conf manpage, even when they refer to build-time specified |
|||
paths. Provided Samba is built on a system with the right tools (xsltproc in particular) required to generate our man pages, then these will be built with the exact same embedded paths as used by the configuration parser at runtime. Additionally, the default values read from the smb.conf manpage are checked by our test suite to match the values seen in testparm and used by the running binaries. |
|||
====Consistent behaviour between samba-tool testparm and testparm==== |
|||
With the exception of the registry backend, which remains only available in the file server, the behaviour of the smb.conf parser and the tools 'samba-tool testparm' and 'testparm' is now consistent, particularly with regard to default values. Except with regard to registry shares, it is no longer needed to use one tool on the AD DC, and another on the file server. |
|||
====VFS WORM module==== |
|||
A VFS module for basic WORM (Write once read many) support has been added. It allows an additional layer on top of a Samba share, that provides a basic set of WORM functionality on the client side, to control the writeability of files and folders. |
|||
As the module is simply an additional layer, share access and permissions work like expected - only WORM functionality is added on top. Removing the module from the share configuration, removes this layer again. The filesystem ACLs are not affected in any way from the module and treated as usual. |
|||
The module does not provide complete WORM functions, like some archiving products do! It is not audit-proof, because the WORM function is only available on the client side, when accessing a share through SMB! If the same folder is shared by other services like NFS, the access only depents on the underlaying filesystem ACLs. Equally if you access the content directly on the server. |
|||
For additional information, see |
|||
* [[VFS/vfs_worm]] |
|||
===Changes=== |
|||
⚫ | |||
Parameter Name Description Default |
Parameter Name Description Default |
||
-------------- ----------- ------- |
|||
allow nt4 crypto New no |
allow nt4 crypto New no |
||
neutralize nt4 emulation New no |
neutralize nt4 emulation New no |
||
Line 133: | Line 168: | ||
winbind expand groups Changed default 0 |
winbind expand groups Changed default 0 |
||
⚫ | |||
====CHANGES SINCE 4.2.0rc1==== |
|||
* Jeremy Allison <jra@samba.org> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10848 BUG #10848]: s3: smb2cli: query info return length check was reversed. |
|||
* Björn Baumbach <bb@sernet.de> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10862 BUG #10862]: build: Do not install 'texpect' binary anymore. |
|||
* Chris Davis <cd.rattan@gmail.com> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10859 BUG #10859]: Improve samba-regedit. |
|||
* Jakub Hrozek <jakub.hrozek@gmail.com> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10861 BUG #10861]: Fix build of socket_wrapper on systems without SO_PROTOCOL. |
|||
* Volker Lendecke <vl@samba.org> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10860 BUG #10860]: registry: Don't leave dangling transactions. |
|||
* Stefan Metzmacher <metze@samba.org> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10866 BUG #10866]: libcli/smb: Fix smb2cli_validate_negotiate_info with min=PROTOCOL_NT1 max=PROTOCOL_SMB2_02. |
|||
* Christof Schmitt <cs@samba.org> |
|||
::[https://bugzilla.samba.org/show_bug.cgi?id=10837 BUG #10837]: idmap_rfc2307: Fix a crash after connection problem to DC. |
|||
⚫ | |||
https://download.samba.org/pub/samba/rc/WHATSNEW-4.2. |
https://download.samba.org/pub/samba/rc/WHATSNEW-4.2.0rc2.txt |
Revision as of 11:32, 15 October 2014
Samba 4.2.0-RC2
- Release Notes for Samba 4.2.0-RC2
- October 15, 2014
This is the first release candidate of Samba 4.2.
This is *not* intended for production environments and is designed for testing purposes only. Please report any defects via the Samba bug reporting system at https://bugzilla.samba.org/.
Samba 4.2 will be the next version of the Samba suite.
UPGRADING
Read the "Winbindd/Netlogon improvements" section (below) carefully!
NEW FEATURES
Transparent File Compression
Samba 4.2.0 adds support for the manipulation of file and folder compression flags on the Btrfs filesystem. With the Btrfs Samba VFS module enabled, SMB2+ compression flags can be set remotely from the Windows Explorer File->Properties->Advanced dialog. Files flagged for compression are transparently compressed and uncompressed when accessed or modified.
Previous File Versions with Snapper
The newly added Snapper VFS module exposes snapshots managed by Snapper for use by Samba. This provides the ability for remote clients to access shadow-copies via Windows Explorer using the "previous versions" dialog.
Winbindd/Netlogon improvements
The whole concept of maintaining the netlogon secure channel to (other) domain controllers was rewritten in order to maintain global state in a netlogon_creds_cli.tdb. This is the proper fix for a large number of bugs:
https://bugzilla.samba.org/show_bug.cgi?id=10860 https://bugzilla.samba.org/show_bug.cgi?id=6563 https://bugzilla.samba.org/show_bug.cgi?id=7944 https://bugzilla.samba.org/show_bug.cgi?id=7945 https://bugzilla.samba.org/show_bug.cgi?id=7568 https://bugzilla.samba.org/show_bug.cgi?id=8599
In addition a strong session key is now required by default, which means that communication to older servers or clients might be rejected by default.
- For the client side we have the following new options:
- "require strong key" (yes by default), "reject md5 servers" (no by default). E.g. for Samba 3.0.37 you need "require strong key = no" and
for NT4 DCs you need "require strong key = no" and "client NTLMv2 auth = no",
- On the server side (as domain controller) we have the following new options:
- "allow nt4 crypto" (no by default), "reject md5 client" (no by default). E.g. in order to allow Samba < 3.0.27 or NT4 members to work you need "allow nt4 crypto = yes"
- winbindd does not list group memberships for display purposes (e.g. getent group <domain\<group>) anymore by default.
- The new default is "winbind expand groups = 0" now, the reason for this is the same as for "winbind enum users = no" and "winbind enum groups = no". Providing this information is not always reliably possible, e.g. if there are trusted domains.
Please consult the smb.conf manpage for more details on these new options.
Winbindd use on the Samba AD DC
Winbindd is now used on the Samba AD DC by default, replacing the partial rewrite used for winbind operations in Samba 4.0 and 4.1.
This allows more code to be shared, more options to be honoured, and paves the way for support for trusted domains in the AD DC.
If required the old internal winbind can be activated by setting 'server services = +winbind -winbindd'. Upgrading users with a server services parameter specified should ensure they change 'winbind' to 'winbindd' to obtain the new functionality.
The 'samba' binary still manages the starting of this service, there is no need to start the winbindd binary manually.
Winbind now requires secured connections
To improve protection against rogue domain controllers we now require that when we connect to an AD DC in our forest, that the connection be signed using SMB Signing. Set 'client signing = off' in the smb.conf to disable.
Also and DCE/RPC pipes must be sealed, set 'require strong key = false' and 'winbind sealed pipes = false' to disable.
Finally, the default for 'client ldap sasl wrapping' has been set to 'sign', to ensure the integrity of LDAP connections. Set 'client ldap sasl wrapping = plain' to disable.
Larger IO sizes for SMB2/3 by default
The default values for "smb2 max read", "smb2 max write" and "smb2 max trans" have been changed to 8388608 (8MiB) in order to match the default of Windows 2012R2.
Improved DCERPC man in the middle detection
The DCERPC header signing has been implemented in addition to the dcerpc_sec_verification_trailer protection.
Overhauled "net idmap" command
The command line interface of the "net idmap" command has been made systematic, and subcommands for reading and writing the autorid idmap database have been added. Note that the writing commands should be used with great care. See the net(8) manual page for details.
tdb improvements
The tdb library, our core mechanism to store Samba-specific data on disk and share it between processes, has been improved to support process shared robust mutexes on Linux. These mutexes are available on Linux and Solaris and significantly reduce the overhead involved with tdb. To enable mutexes for tdb, set
dbwrap_tdb_mutexes:* = yes
in the [global] section of your smb.conf.
Tdb file space management has also been made more efficient. This will lead to smaller and less fragmented databases.
Messaging improvements
Our internal messaging subsystem, used for example for things like oplock break messages between smbds or setting a process debug level dynamically, has been rewritten to use unix domain datagram messages.
Clustering support
Samba's file server clustering component CTDB is now integrated in the Samba tree. This avoids the confusion of compatibility of Samba and CTDB versions as existed previously.
To build the Samba file server with cluster support, use the configure command line option --with-cluster-support. This will build clustered file server against the in-tree ctdb. Building clustered samba with previous versions of CTDB is no longer supported.
CTDB is built separately from the ctdb/ sub-directory. To build CTDB, use the following steps:
$ cd ctdb $ ./configure $ make # make install
Samba Registry Editor
The utitlity to browse the samba registry has been overhauled by our Google Summer of Code student Chris Davis. Now samba-regedit has a Midnight-Commander-like theme and UI experience. You can browse keys and edit the diffent value types. For a data value type a hexeditor has been implemented.
Bad Password Lockout in the AD DC
Samba's AD DC now implements bad password lockout (on a per-DC basis).
That is, incorrect password attempts are tracked, and accounts locked out if too many bad passwords are submitted. There is also a grace period of 60 minutes on the previous password when used for NTLM authentication (matching Windows 2003 SP1: https://support2.microsoft.com/kb/906305).
The relevant settings can be seen using 'samba-tool domain passwordsettings show' (the new settings being highlighted):
Password informations for domain 'DC=samba,DC=example,DC=com'
Password complexity: on Store plaintext passwords: off Password history length: 24 Minimum password length: 7 Minimum password age (days): 1 Maximum password age (days): 42 * Account lockout duration (mins): 30 * * Account lockout threshold (attempts): 0 * * Reset account lockout after (mins): 30 *
These values can be set using 'samba-tool domain passwordsettings set'.
Correct defaults in the smb.conf manpages
The default values for smb.conf parameters are now correctly specified in the smb.conf manpage, even when they refer to build-time specified paths. Provided Samba is built on a system with the right tools (xsltproc in particular) required to generate our man pages, then these will be built with the exact same embedded paths as used by the configuration parser at runtime. Additionally, the default values read from the smb.conf manpage are checked by our test suite to match the values seen in testparm and used by the running binaries.
Consistent behaviour between samba-tool testparm and testparm
With the exception of the registry backend, which remains only available in the file server, the behaviour of the smb.conf parser and the tools 'samba-tool testparm' and 'testparm' is now consistent, particularly with regard to default values. Except with regard to registry shares, it is no longer needed to use one tool on the AD DC, and another on the file server.
VFS WORM module
A VFS module for basic WORM (Write once read many) support has been added. It allows an additional layer on top of a Samba share, that provides a basic set of WORM functionality on the client side, to control the writeability of files and folders.
As the module is simply an additional layer, share access and permissions work like expected - only WORM functionality is added on top. Removing the module from the share configuration, removes this layer again. The filesystem ACLs are not affected in any way from the module and treated as usual.
The module does not provide complete WORM functions, like some archiving products do! It is not audit-proof, because the WORM function is only available on the client side, when accessing a share through SMB! If the same folder is shared by other services like NFS, the access only depents on the underlaying filesystem ACLs. Equally if you access the content directly on the server.
For additional information, see
Changes
smb.conf changes
Parameter Name Description Default allow nt4 crypto New no neutralize nt4 emulation New no reject md5 client New no reject md5 servers New no require strong key New yes smb2 max read Changed default 8388608 smb2 max write Changed default 8388608 smb2 max trans Changed default 8388608 winbind expand groups Changed default 0
CHANGES SINCE 4.2.0rc1
- Jeremy Allison <jra@samba.org>
- BUG #10848: s3: smb2cli: query info return length check was reversed.
- Björn Baumbach <bb@sernet.de>
- BUG #10862: build: Do not install 'texpect' binary anymore.
- Chris Davis <cd.rattan@gmail.com>
- BUG #10859: Improve samba-regedit.
- Jakub Hrozek <jakub.hrozek@gmail.com>
- BUG #10861: Fix build of socket_wrapper on systems without SO_PROTOCOL.
- Volker Lendecke <vl@samba.org>
- BUG #10860: registry: Don't leave dangling transactions.
- Stefan Metzmacher <metze@samba.org>
- BUG #10866: libcli/smb: Fix smb2cli_validate_negotiate_info with min=PROTOCOL_NT1 max=PROTOCOL_SMB2_02.
- Christof Schmitt <cs@samba.org>
- BUG #10837: idmap_rfc2307: Fix a crash after connection problem to DC.
KNOWN ISSUES
https://download.samba.org/pub/samba/rc/WHATSNEW-4.2.0rc2.txt