mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
c4be5a81c1
Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
457 lines
18 KiB
Plaintext
457 lines
18 KiB
Plaintext
Release Announcements
|
|
=====================
|
|
|
|
This is the first preview release of Samba 4.9. 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.9 will be the next version of the Samba suite.
|
|
|
|
|
|
UPGRADING
|
|
=========
|
|
|
|
|
|
NEW FEATURES/CHANGES
|
|
====================
|
|
|
|
|
|
net ads setspn
|
|
---------------
|
|
|
|
There is a new 'net ads setspn' sub command for managing Windows SPN(s)
|
|
on the AD. This command aims to give the basic functionality that is
|
|
provided on windows by 'setspn.exe' e.g. ability to add, delete and list
|
|
Windows SPN(s) stored in a Windows AD Computer object.
|
|
|
|
The format of the command is:
|
|
|
|
net ads setspn list [machine]
|
|
net ads setspn [add | delete ] SPN [machine]
|
|
|
|
'machine' is the name of the computer account on the AD that is to be managed.
|
|
If 'machine' is not specified the name of the 'client' running the command
|
|
is used instead.
|
|
|
|
The format of a Windows SPN is
|
|
'serviceclass/host:port/servicename' (servicename and port are optional)
|
|
|
|
serviceclass/host is generally sufficient to specify a host based service.
|
|
|
|
net ads keytab changes
|
|
----------------------
|
|
net ads keytab add no longer attempts to convert the passed serviceclass
|
|
(e.g. nfs, html etc.) into a Windows SPN which is added to the Windows AD
|
|
computer object. By default just the keytab file is modified.
|
|
|
|
A new keytab subcommand 'add_update_ads' has been added to preserve the
|
|
legacy behaviour. However the new 'net ads setspn add' subcommand should
|
|
really be used instead.
|
|
|
|
net ads keytab create no longer tries to generate SPN(s) from existing
|
|
entries in a keytab file. If it is required to add Windows SPN(s) then
|
|
'net ads setspn add' should be used instead.
|
|
|
|
Local authorization plugin for MIT Kerberos
|
|
-------------------------------------------
|
|
|
|
This plugin controls the relationship between Kerberos principals and AD
|
|
accounts through winbind. The module receives the Kerberos principal and the
|
|
local account name as inputs and can then check if they match. This can resolve
|
|
issues with canonicalized names returned by Kerberos within AD. If the user
|
|
tries to log in as 'alice', but the samAccountName is set to ALICE (uppercase),
|
|
Kerberos would return ALICE as the username. Kerberos would not be able to map
|
|
'alice' to 'ALICE' in this case and auth would fail. With this plugin account
|
|
names can be correctly mapped. This only applies to GSSAPI authentication,
|
|
not for the getting the initial ticket granting ticket.
|
|
|
|
VFS audit modules
|
|
-----------------
|
|
|
|
The vfs_full_audit module has changed it's default set of monitored successful
|
|
and failed operations from "all" to "none". That helps to prevent potential
|
|
denial of service caused by simple addition of the module to the VFS objects.
|
|
|
|
Also, modules vfs_audit, vfs_ext_audit and vfs_full_audit now accept any valid
|
|
syslog(3) facility, in accordance with the manual page.
|
|
|
|
Database audit support
|
|
----------------------
|
|
|
|
Changes to the Samba AD's sam.ldb database are now logged to Samba's debug log
|
|
under the "dsdb_audit" debug class and "dsdb_json_audit" for JSON formatted log
|
|
entries.
|
|
|
|
Transaction commits and roll backs are now logged to Samba's debug logs under
|
|
the "dsdb_transaction_audit" debug class and "dsdb_transaction_json_audit" for
|
|
JSON formatted log entries.
|
|
|
|
Password change audit support
|
|
-----------------------------
|
|
|
|
Password changes in the AD DC are now logged to Samba's debug logs under the
|
|
"dsdb_password_audit" debug class and "dsdb_password_json_audit" for JSON
|
|
formatted log entries.
|
|
|
|
Group membership change audit support
|
|
-------------------------------------
|
|
|
|
Group membership changes on the AD DC are now logged to
|
|
Samba's debug log under the "dsdb_group_audit" debug class and
|
|
"dsdb_group_json_audit" for JSON formatted log entries.
|
|
|
|
Log Authentication duration
|
|
---------------------------
|
|
|
|
For NTLM and Kerberos KDC authentication, the authentication duration is now
|
|
logged. Note that the duration is only included in the JSON formatted log
|
|
entries.
|
|
|
|
JSON library Jansson required for the AD DC
|
|
-------------------------------------------
|
|
|
|
By default the Jansson JSON library is required for Samba to build.
|
|
It is strictly required for the Samba AD DC, and is optional for
|
|
builds --without-ad-dc by specifying --without-json-audit at configure
|
|
time.
|
|
|
|
New Experimental LMDB LDB backend
|
|
---------------------------------
|
|
|
|
A new experimental LDB backend using LMDB is now available. This allows
|
|
databases larger than 4Gb (Currently the limit is set to 6Gb, but this will be
|
|
increased in a future release). To enable lmdb, provision or join a domain using
|
|
the --backend-store=mdb option.
|
|
|
|
This requires that a version of lmdb greater than 0.9.16 is installed and that
|
|
samba has not been built with the --without-ldb-lmdb option.
|
|
|
|
Please note this is an experimental feature and is not recommended for
|
|
production deployments.
|
|
|
|
Password Settings Objects
|
|
-------------------------
|
|
Support has been added for Password Settings Objects (PSOs). This AD feature is
|
|
also known as Fine-Grained Password Policies (FGPP).
|
|
|
|
PSOs allow AD administrators to override the domain password policy settings
|
|
for specific users, or groups of users. For example, PSOs can force certain
|
|
users to have longer password lengths, or relax the complexity constraints for
|
|
other users, and so on. PSOs can be applied to groups or to individual users.
|
|
When multiple PSOs apply to the same user, essentially the PSO with the best
|
|
precedence takes effect.
|
|
|
|
PSOs can be configured and applied to users/groups using the 'samba-tool domain
|
|
passwordsettings pso' set of commands.
|
|
|
|
Domain backup and restore
|
|
-------------------------
|
|
A new samba-tool command has been added that allows administrators to create a
|
|
backup-file of their domain DB. In the event of a catastrophic failure of the
|
|
domain, this backup-file can be used to restore Samba services.
|
|
|
|
The new 'samba-tool domain backup online' command takes a snapshot of the
|
|
domain DB from a given DC. In the event of a catastrophic DB failure, all DCs
|
|
in the domain should be taken offline, and the backup-file can then be used to
|
|
recreate a fresh new DC, using the 'samba-tool domain backup restore' command.
|
|
Once the backed-up domain DB has been restored on the new DC, other DCs can
|
|
then subsequently be joined to the new DC, in order to repopulate the Samba
|
|
network.
|
|
|
|
Domain rename tool
|
|
------------------
|
|
Basic support has been added for renaming a Samba domain. The rename feature is
|
|
designed for the following cases:
|
|
1). Running a temporary alternate domain, in the event of a catastrophic
|
|
failure of the regular domain. Using a completely different domain name and
|
|
realm means that the original domain and the renamed domain can both run at the
|
|
same time, without interfering with each other. This is an advantage over
|
|
creating a regular 'online' backup - it means the renamed/alternate domain can
|
|
provide core Samba network services, while trouble-shooting the fault on the
|
|
original domain can be done in parallel.
|
|
2). Creating a realistic lab domain or pre-production domain for testing.
|
|
|
|
Note that the renamed tool is currently not intended to support a long-term
|
|
rename of the production domain. Currently renaming the GPOs is not supported
|
|
and would need to be done manually.
|
|
|
|
The domain rename is done in two steps: first, the 'samba-tool domain backup
|
|
rename' command will clone the domain DB, renaming it in the process, and
|
|
producing a backup-file. Then, the 'samba-tool domain backup restore' command
|
|
takes the backup-file and restores the renamed DB to disk on a fresh DC.
|
|
|
|
New samba-tool options for diagnosing DRS replication issues
|
|
------------------------------------------------------------
|
|
|
|
The 'samba-tool drs showrepl' command has two new options controlling
|
|
the output. With --summary, the command says very little when DRS
|
|
replication is working well. With --json, JSON is produced. These
|
|
options are intended for human and machine audiences, respectively.
|
|
|
|
The 'samba-tool visualize uptodateness' visualizes replication lag as
|
|
a heat-map matrix based on the DRS uptodateness vectors. This will
|
|
show you if (but not why) changes are failing to replicate to some DCs.
|
|
|
|
Automatic site coverage and GetDCName improvements
|
|
--------------------------------------------------
|
|
|
|
Samba's AD DC now automatically claims otherwise empty sites based on
|
|
which DC is the nearest in the replication topology.
|
|
|
|
This, combined with efforts to correctly identify the client side in
|
|
the GetDCName Netlogon call will improve service to sites without a
|
|
local DC.
|
|
|
|
Improved samba-tool computer command
|
|
------------------------------------
|
|
|
|
The 'samba-tool computer' command allow manipulation of computer
|
|
accounts including creating a new computer and resetting the password.
|
|
This allows an 'offline join' of a member server or workstation to the
|
|
Samba AD domain.
|
|
|
|
Samba performance tool now operates against Microsoft Windows AD
|
|
----------------------------------------------------------------
|
|
|
|
The Samba AD performance testing tool traffic_reply can now operate
|
|
against a Windows based AD domain. Previously it only operated
|
|
correctly against Samba.
|
|
|
|
DNS entries are now cleaned up during DC demote
|
|
-----------------------------------------------
|
|
|
|
DNS records are now cleaned up as part of the 'samba-tool domain
|
|
demote' including both the default and --remove-other-dead-server
|
|
modes.
|
|
|
|
Additionally DNS records can be automatically cleaned up for a given
|
|
name with the 'samba-tool dns cleanup' command, which aids in cleaning
|
|
up partially removed DCs.
|
|
|
|
samba-tool ntacl sysvolreset is now much faster
|
|
-----------------------------------------------
|
|
|
|
The 'samba-tool ntacl sysvolreset' command, used on the Samba AD DC,
|
|
is now much faster than in previous versions, after an internal
|
|
rework.
|
|
|
|
Samba now tested with CI GitLab
|
|
-------------------------------
|
|
|
|
Samba developers now have pre-commit testing available in GitLab,
|
|
giving reviewers confidence that the submitted patches pass a full CI
|
|
before being submitted to the Samba Team's own autobuild system.
|
|
|
|
Dynamic DNS record scavenging support
|
|
-------------------------------------
|
|
|
|
It is now possible to enable scavenging of DNS Zones to remove DNS
|
|
records that were dynamically created and have not been touched in
|
|
some time.
|
|
|
|
This support should however only be enabled on new zones or new
|
|
installations. Sadly old Samba versions suffer from BUG 12451 and
|
|
mark dynamic DNS records as static and static records as dynamic.
|
|
While a dbcheck rule may be able to find these in the future,
|
|
currently a reliable test has not been devised.
|
|
|
|
Finally, there is not currently a command-line tool to enable this
|
|
feature, currently it should be enabled from the DNS Manager tool from
|
|
Windows. Also the feature needs to have been enabled by setting the smb.conf
|
|
parameter "dns zone scavenging = yes".
|
|
|
|
CTDB changes
|
|
------------
|
|
|
|
There are many changes to CTDB in this release.
|
|
|
|
* Configuration has been completely overhauled
|
|
|
|
- Daemon and tool options are now specified in a new ctdb.conf
|
|
Samba-style configuration file. See ctdb.conf(5) for details.
|
|
|
|
- Event script configuration is no longer specified in the top-level
|
|
configuration file. It can now be specified per event script.
|
|
For example, configuration options for the 50.samba event script
|
|
can be placed alongside the event script in a file called
|
|
50.samba.options. Script options can also be specified in a new
|
|
script.options file. See ctdb-script.options(5) for details.
|
|
|
|
- Options that affect CTDB startup should be configured in the
|
|
distribution-specific configuration file. See ctdb.sysconfig(5)
|
|
for details.
|
|
|
|
- Tunable settings are now loaded from ctdb.tunables. Using
|
|
CTDB_SET_TunableVariable=<value> in the main configuration file is
|
|
no longer supported. See ctdb-tunables(7) for details.
|
|
|
|
A script to convert an old-style configuration to a new one will be
|
|
available for release but is not yet available.
|
|
|
|
* The following configuration variables and corresponding ctdbd
|
|
command-line options have been removed and not replaced with
|
|
counterparts in the new configuration scheme:
|
|
|
|
CTDB_PIDFILE --pidfile
|
|
CTDB_SOCKET --socket
|
|
CTDB_NODES --nlist
|
|
CTDB_PUBLIC_ADDRESSES --public-addresses
|
|
CTDB_EVENT_SCRIPT_DIR --event-script-dir
|
|
CTDB_NOTIFY_SCRIPT --notification-script
|
|
CTDB_PUBLIC_INTERFACE --public-interface
|
|
CTDB_MAX_PERSISTENT_CHECK_ERRORS --max-persistent-check-errors
|
|
|
|
- The compile-time defaults should be used for the first 6 of these.
|
|
- Use a symbolic link from the configuration directory to specify a
|
|
different location for nodes or public_addresses (e.g. in the
|
|
cluster filesystem).
|
|
- Executable notification scripts in the notify.d/ subdirectory of
|
|
the configuration directory are now run by unconditionally.
|
|
- Interfaces for public IP addresses must always be specified in the
|
|
public_addresses file using the currently supported format.
|
|
|
|
Some related items that have been removed are:
|
|
|
|
- The ctdb command's --socket command-line option
|
|
- The ctdb command's CTDB_NODES environment variable
|
|
|
|
When writing tests there are still mechanisms available to change
|
|
the locations of certain directories and files.
|
|
|
|
* Event scripts have moved to the scripts/legacy subdirectory of the
|
|
configuration directory
|
|
|
|
Event scripts must now end with a ".script" suffix.
|
|
|
|
* The following service-related event script options have been
|
|
removed:
|
|
|
|
CTDB_MANAGES_SAMBA
|
|
CTDB_MANAGES_WINBIND
|
|
|
|
CTDB_MANAGES_CLAMD
|
|
CTDB_MANAGES_HTTPD
|
|
CTDB_MANAGES_ISCSI
|
|
CTDB_MANAGES_NFS
|
|
CTDB_MANAGES_VSFTPD
|
|
|
|
CTDB_MANAGED_SERVICES
|
|
|
|
Event scripts for services are now disabled by default. To enable
|
|
an event script and, therefore, manage a service use a command like
|
|
the following:
|
|
|
|
ctdb event script enable legacy 50.samba
|
|
|
|
* Notification scripts have moved to the scripts/notification
|
|
subdirectory of the configuration directory
|
|
|
|
Notification scripts must now end with a ".script" suffix.
|
|
|
|
* Support for setting CTDB_DBDIR=tmpfs has been removed
|
|
|
|
This feature has not been implemented in the new configuration
|
|
system. If this is desired then a tmpfs filesystem should be
|
|
manually mounted on the directory pointed to by the "volatile
|
|
database directory" option. See ctdb.conf(5) for more details.
|
|
|
|
* Support for the NoIPHostOnAllDisabled tunable has been removed
|
|
|
|
If all nodes are unhealthy or disabled then CTDB will not host
|
|
public IP addresses. That is, CTDB now behaves as if
|
|
NoIPHostOnAllDisabled were set to 1.
|
|
|
|
* The onnode command's CTDB_NODES_FILE environment variable has been
|
|
removed
|
|
|
|
The -f option can still be used to specify an alternate node file.
|
|
|
|
* The 10.external event script has been removed
|
|
|
|
* The CTDB_SHUTDOWN_TIMEOUT configuration variable has been removed
|
|
|
|
As with other daemons, if ctdbd does not shut down when requested
|
|
then manual intervention is required. There is no safe way of
|
|
automatically killing ctdbd after a failed shutdown.
|
|
|
|
* CTDB_SUPPRESS_COREFILE and CTDB_MAX_OPEN_FILES configuration
|
|
variable have been removed
|
|
|
|
These should be setup in the systemd unit/system file or, for SYSV
|
|
init, in the distribution-specific configuration file for the ctdb
|
|
service.
|
|
|
|
* CTDB_PARTIALLY_ONLINE_INTERFACES incompatibility no longer enforced
|
|
|
|
11.natgw and 91.lvs will no longer fail if
|
|
CTDB_PARTIALLY_ONLINE_INTERFACES=yes. The incompatibility is,
|
|
however, well documented. This option will be removed in future and
|
|
replaced by sensible behaviour where public IP addresses simply
|
|
switch interfaces or become unavailable when interfaces are down.
|
|
|
|
* Configuration file /etc/ctdb/sysconfig/ctdb is no longer supported
|
|
|
|
|
|
REMOVED FEATURES
|
|
================
|
|
|
|
|
|
|
|
smb.conf changes
|
|
================
|
|
|
|
As the most popular Samba install platforms (Linux and FreeBSD) both
|
|
support extended attributes by default, the parameters "map readonly",
|
|
"store dos attributes" and "ea support" have had their defaults changed
|
|
to allow better Windows fileserver compatibility in a default install.
|
|
|
|
Parameter Name Description Default
|
|
-------------- ----------- -------
|
|
map readonly Default changed no
|
|
store dos attributes Default changed yes
|
|
ea support Default changed yes
|
|
full_audit:success Default changed none
|
|
full_audit:failure Default changed none
|
|
|
|
VFS interface changes
|
|
=====================
|
|
|
|
The VFS ABI interface version has changed to 39. Function changes
|
|
are:
|
|
|
|
SMB_VFS_FSYNC: Removed: Only async versions are used.
|
|
SMB_VFS_READ: Removed: Only PREAD or async versions are used.
|
|
SMB_VFS_WRITE: Removed: Only PWRITE or async versions are used.
|
|
SMB_VFS_CHMOD_ACL: Removed: Only CHMOD is used.
|
|
SMB_VFS_FCHMOD_ACL: Removed: Only FCHMOD is used.
|
|
|
|
Any external VFS modules will need to be updated to match these
|
|
changes in order to work with 4.9.x.
|
|
|
|
KNOWN ISSUES
|
|
============
|
|
|
|
https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.9#Release_blocking_bugs
|
|
|
|
|
|
#######################################
|
|
Reporting bugs & Development Discussion
|
|
#######################################
|
|
|
|
Please discuss this release on the samba-technical mailing list or by
|
|
joining the #samba-technical IRC channel on irc.freenode.net.
|
|
|
|
If you do report problems then please try to send high quality
|
|
feedback. If you don't provide vital information to help us track down
|
|
the problem then you will probably be ignored. All bug reports should
|
|
be filed under the Samba 4.1 and newer product in the project's Bugzilla
|
|
database (https://bugzilla.samba.org/).
|
|
|
|
|
|
======================================================================
|
|
== Our Code, Our Bugs, Our Responsibility.
|
|
== The Samba Team
|
|
======================================================================
|
|
|