Samba draait op Unix-, Bsd- en Linux-gebaseerde servers en is in staat om file- en/of printerservices aan Windows-clients te bieden via het cifs-protocol. Eerdere versies van Samba doen hun werk voornamelijk als lid van een Active Directory-domein, echter voor versie 4 heeft het ontwikkelteam zijn pijlen gericht op de functie van domeincontroller. Deze nieuwe functie brengt natuurlijk ook nieuwe mogelijkheden met zich mee zoals het beheren van computer- en gebruikeraccounts, een nieuwe scripting interface voor Python en het gebruik van ldap-databases als backend. Na een serie technology previews en de eerste alpha-uitgave in september 2007, hebben de ontwikkelaars de tweede alphaversie van Samba 4 uitgebracht met de volgende aankondiging:
What's new in Samba 4 alpha2
Samba 4 is the ambitious next version of the Samba suite that is being developed in parallel to the stable 3.0 series. The main emphasis in this branch is support for the Active Directory logon protocols used by Windows 2000 and above.
Samba 4 is currently not yet in a state where it is usable in production environments. Note the WARNINGS below, and the STATUS file, which aims to document what should and should not work.
Samba4 alpha2 follows on from our first alpha release, made in September, and the Technology Preview series we have offered for some time now.
Samba4 alpha2 is not a final Samba release. That is more a reference to Samba4's lack of the features we expect you will need than a statement of code quality, but clearly it hasn't seen a broad deployment yet. If you were to upgrade Samba3 (or indeed Windows) to Samba4, you would find many things work, but that other key features you may have relied on simply are not there yet.
For example, while Samba 3.0 is an excellent member of a Active Directory domain, Samba4 is happier as a domain controller: (This is where we have done most of the research and development).
While Samba4 is subjected to an awesome battery of tests on an automated basis, and we have found Samba4 to be very stable in it's behaviour, we have to recommend against upgrading production servers from Samba 3 to Samba 4 at this stage. If you are upgrading an experimental server, or looking to develop and test Samba, you should backup all configuration and data.
Samba4 supports the server-side of the Active Directory logon environment used by Windows 2000 and later, so we can do full domain join and domain logon operations with these clients.
Our Domain Controller (DC) implementation includes our own built-in LDAP server and Kerberos Key Distribution Center (KDC) as well as the Samba3-like logon services provided over CIFS. We correctly generate the infamous Kerberos PAC, and include it with the Kerberos tickets we issue.
The new VFS features in Samba 4 adapts the filesystem on the server to match the Windows client semantics, allowing Samba 4 to better match windows behaviour and application expectations. This includes file annotation information (in streams) and NT ACLs in particular. The VFS is backed with an extensive automated test suite.
A new scripting interface has been added to Samba 4, allowing Python programs to interface to Samba's internals.
The Samba 4 architecture is based around an LDAP-like database that can use a range of modular backends. One of the backends supports standards compliant LDAP servers (including OpenLDAP), and we are working on modules to map between AD-like behaviours and this backend. We are aiming for Samba 4 to be powerful frontend to large directories.
CHANGES SINCE Alpha 1
In the time since Samba4 Alpha1 was released in September 2007, Samba has continued to evolve, but you may particularly notice these areas:
These are just some of the highlights of the work done in the past few months. More details can be found in our SVN history.
- MMC Support: The Active Directory Users and Computers console now handles group membership correctly.
- member/memberOf: These and other linked attributes are now kept in sync
- subtree renames: Renaming a subtree of LDAP objects is now possible, with all linked attributes being kept consistent.
- Python Bindings: Bindings for a future move to Python as the internal scripting language have been created.
- Shared library use: In support of projects such as OpenChange, which depend on Samba4, more of Samba4 is built as shared libraries.
Those familiar with Samba 3 can find a list of user-visible changes since that release series in the NEWS file.
- Domain member support is in it's infancy, and is not comparable to the support found in Samba3.
- There is no printing support in the current release.
- The Samba4 port of the CTDB clustering support is not yet complete
- Clock Synchronisation is critical. Many 'wrong password' errors are actually due to Kerberos objecting to a clock skew between client and server.
A short guide to setting up Samba 4 can be found in the howto.txt file in root of the tarball, and in the wiki here.
Development and Feedback
Bugs can be filed at https://bugzilla.samba.org/ but please be aware that many features are simply not expected to work at this stage.
The Samba Wiki at http://wiki.samba.org should detail some of these development plans.
Development and general discussion about Samba 4 happens mainly on the #samba-technical IRC channel (on irc.freenode.net) and the samba-technical mailing list (see http://lists.samba.org/ for details).