Samba Project Status
Samba4 is a reworking of the Samba 3 implementation, with a goal of providing full AD support for all current Windows clients. Please see the main Samba4 project page for a more complete description of the overall goals.
The intent of this page is to provide an overview of the status of various components, capabilities and features which are a part of the Samba4 project. This overview is more aimed at administrators and people who intend to install and use Samba than it is a technical rundown of features and development milestones. Hopefully, this document will help answer the question, "Is Samba4 at a place where I can put it to use in my environment, and have it actually help me accomplish what I need to do?"
The Samba4 team has currently released Alpha 20 (01 May, 2012). Please see the Samba4 page for a complete list of Alpha releases. It is also possible to download development copies of the Samba4 software directly from the "git" repository. Detailed instructions on how to build and set up a Samba4 server can be found in the Samba4 HOWTO.
For detailed development status and a current list of bugs, please:
- see the Samba Bugzilla tracking site at: https://bugzilla.samba.org/.
- join the #samba-technical IRC channel on irc.freenode.net
- subscribe to the Samba (https://lists.samba.org/mailman/listinfo/samba) or Samba Technical (https://lists.samba.org/mailman/listinfo/samba-technical) mailing lists.
The Samba4 project can be thought of as covering three main functional areas, although there is a fair amount of overlap between these areas, both in terms of function and in the underlying libraries:
- Domain Support (AD functionality): The core functionality in this area is largely feature complete and stable. There are several sites reporting that they have been using Samba4 as their primary production Domain Controller, in some cases for close to two years. ("80/20" rule)
- File Server: This area has been the focus of much of the current development activity, and is one of the primary blockers to going into "Beta" (or GA) status. Due to the rework of the underlying architecture and code, Samba4 has been significantly behind Samba3 functionality for some time. The "s3fs" effort is a way to support the current Samba3 level of functionality in Samba4.
- Tools: There are a wide variety of tools, utilities and scripts that are built to support the creation and administration of a Samba4 based domain. These tools have seen a lot of quick development, reflecting the needs of testing and deployment of a wide range of installations.
The following table is a high level breakdown of capabilities and features included in Samba4, along with some information on the completeness or usability of each capability. Please note that this is not by any means a complete list of capabilities!
Please see the end of the table for a rough description of the columns and their intent.
|Feature/Capability||Overall Status||Dependencies||Notes||Contact||Last Update|
|Domain Trusts||Development||planned changes to winbind; NTLM logins across the trust||Working for DRS replication; NT4 level trusts to a S4 domain working, but not the other way around. In a cross forest trust, Samba server "completely trusts" the relationship -- ie. no SID filtering. NEEDS TESTING. (see also FreeIPA effort)||Charles Tryon||29 May, 2012|
|Domain Logins (Users)||Stable|
|Windows 7 Support||Stable|
|NTVFS||Working||Core Samba4 file server; Supports POSIX backend; Stackable and async; Does not yet support many of the common smbd attributes.||01 May, 2010|
|Internal DNS server||Development||Basic DNS operations working, but does not allow for secure DNS updates yet||01 May, 2012|
|Admin Tools||Development||samba-tool covers most command line functions; GUI administration through standard Windows AD, DNS and other administrative tools.||01 May, 2012|
|s3fs||Test||s3fs is now default in new provisioned databases. Use the --use-s3fs option to provision to change this default. Still working on issues where it fails to correctly set ACLs for group policy objects based on POSIX attributes.||29 May, 2012|
|RODC (Read Only DC)||Development||major gap on RODCs at the moment is that we need to record the attributes that we replicate to the RODC.||29 May, 2012|
- Feature: A short name of the feature or capability, such as an interface or AD feature. There may be some overlap between capabilities, and some sort of simple hierarchy.
- Overall Status: A high level indication of the state the project is in. A single word is sufficient, but it can be a little longer. This list includes (but is not limited to):
- Stable -- the feature may be going through some tweaking, but generally speaking, it's expected to work, at least at a "Alpha" level.
- Testing -- the feature is generally complete, but needs a lot more testing before people can assume it's working.
- Development -- the feature is being worked on, but still has lots of holes.
- Nearing completion -- developers have a clear idea where the feature is going, and have implemented the bulk of it, but it's not really complete.
- In Planning -- developers are actively hacking at a design. They have a good idea of a roadmap, but very little work has been done yet.
- Refactoring -- Maybe this worked before, but there have been serious deficiencies discovered, and developers are in the middle of tearing out the guts... :-(
- Planned -- Recognized as needed, but no one has had time to sit down and begin to lay out a solution.
- Out of Scope -- "In your dreams," right?
- Dependencies: What other projects, interfaces, features, documentation or resources is this feature dependent on or waiting for?
- Notes: This overlaps somewhat with the "Dependencies" section, but should list high level issues which are either holding up progress, or that still prevent the feature from being useful. This may also give known workarounds (e.g., "Fine grained control over shares is not supported by S4 -- use a parallel S3 server instead.")
- Contact Person: This is not an exhaustive list of developers or testers involved. It could be a name or two of key person(s) directing this feature, or point person to ask questions. This could simply be a person who is interested in the feature, and acting to keep this status line up to date.
- Last Update: When was the last time someone updated this feature? This should serve as an indicator as to how current (read: useful) this information is.
Time Line?? Notice that the list does NOT include a column for "When will this be DONE"! ;-)
Bilbo 15:48, 1 May 2012 (UTC)