An update long overdue. Please edit this further guys.
[samba.git] / WHATSNEW.txt
1                   WHATS NEW IN Samba 3.0.0 beta1
2                            June 7 2003
3                   ==============================
4
5 This is a beta release of Samba 3.0.0. This is a non-production release 
6 intended for testing purposes.  Use at your own risk. 
7
8 The purpose of this beta release is to get wider testing of the major
9 new pieces of code in the current Samba 3.0 development tree. We have
10 officially ceased development on the 2.2.x release of Samba and are
11 concentrating on Samba 3.0. To reduce the time before the final 
12 Samba 3.0 release we need as many people as possible to start testing 
13 these beta releases, and to provide high quality feedback on what 
14 needs fixing.
15
16 Samba 3.0 is feature complete. However there is still some final 
17 work to be done on certain pieces of functionality.  Please refer to 
18 the section on "Known Issues" for more details.
19
20
21 Major new features:
22 -------------------
23
24 1)  Active Directory support. This release is able to join a ADS realm
25     as a member server and authenticate users using LDAP/kerberos.
26
27 2)  Unicode support. Samba will now negotiate UNICODE on the wire and
28     internally there is now a much better infrastructure for multi-byte
29     and UNICODE character sets.
30
31 3)  New authentication system. The internal authentication system has
32     been almost completely rewritten. Most of the changes are internal,
33     but the new auth system is also very configurable.
34
35 4)  New filename mangling system. The filename mangling system has been
36     completely rewritten. An internal database now stores mangling maps
37     persistently. This needs lots of testing.
38
39 5)  New "net" command. A new "net" command has been added. It is
40     somewhat similar to the "net" command in windows. Eventually we 
41     plan to replace a bunch of other utilities (such as smbpasswd) 
42     with subcommands in "net", at the moment only a few things are
43     implemented.
44
45 6)  Samba now negotiates NT-style status32 codes on the wire. This
46     improves error handling a lot.
47
48 7)  Better Windows 2000/XP/2003 printing support including publishing 
49     printer attributes in active directory
50
51 8)  New loadable RPC modules
52
53 9)  New dual-daemon winbindd support (-B) for better performance
54
55 10) Support for migrating from a Windows NT 4.0 domain to a Samba 
56     domain and maintaining user, group and domain SIDs
57
58 11) Support for establishing trust relationships with Windows NT 4.0
59     domain controllers
60   
61 12) Initial support for a distributed Winbind architecture using
62     an LDAP directory for storing SID to uid/gid mappings
63   
64 13) Major updates to the Samba documentation tree.
65
66 Plus lots of other improvements!
67
68
69 Additional Documentation
70 ------------------------
71
72 Please refer to Samba documentation tree (including in the docs/ 
73 subdirectory) for extensive explanations of installing, configuring
74 and maintaining Samba 3.0 servers and clients.  It is advised to 
75 begin with the Samba-HOWTO-Collection for overviews and specific 
76 tasks (the current book is up to approximately 400 pages) and to 
77 refer to the various man pages for information on individual options.
78
79
80 ######################################################################
81 Upgrading from Samba 2.2
82 ########################
83
84 This section is provided to help administrators understand the details
85 involved with upgrading a Samba 2.2 server to Samba 3.0
86
87
88 Building
89 --------
90
91 Many of the options to the GNU autoconf script have been modified 
92 in the 3.0 release.  The most noticeable are
93
94   * removal of --with-tdbsam (is now included by default; see section
95     on passdb backends and authentication for more details)
96     
97   * --with-ldapsam is now on used to provided backward compatible
98     parameters for LDAP enabled Samba 2.2 servers.  Refer to the passdb 
99     backend and authentication section for more details
100   
101   * inclusion of non-standard passdb modules may be enabled using
102     --with-expsam.  This includes an XML backend, a mysql backend,
103     and a NIS backend.
104       
105   * removal of --with-msdfs (is now enabled by default)
106   
107   * removal of --with-ssl (no longer supported)
108   
109   * --with-utmp now defaults to 'yes' on supported systems
110   
111   * --with-sendfile-support is now enabled by default on supported 
112     systems
113   
114     
115 Parameters
116 ----------
117
118 This section contains a brief listing of changes to smb.conf options
119 in the 3.0.0 release.  Please refer to the smb.conf(5) man page for
120 complete descriptions of new or modified parameters.
121
122 Removed Parameters (order alphabetically):
123
124   * admin log
125   * alternate permissions
126   * character set
127   * client codepage
128   * code page directory
129   * coding system
130   * domain admin group
131   * domain guest group
132   * force unknown acl user
133   * nt smb support
134   * post script
135   * printer driver
136   * printer driver file
137   * printer driver location
138   * status
139   * total print jobs
140   * use rhosts
141   * valid chars
142   * vfs options
143
144 New Parameters (new parameters have been grouped by function):
145
146   Remote management
147   -----------------
148   * abort shutdown script
149   * shutdown script
150
151   User and Group Account Management
152   ---------------------------------
153   * add group script
154   * add machine script
155   * add user to group script
156   * algorithmic rid base
157   * delete group script
158   * delete user from group script
159   * passdb backend
160   * set primary group script
161
162   Authentication
163   --------------
164   * auth methods
165   * ads server
166   * realm
167
168   Protocol Options
169   ----------------
170   * client lanman auth
171   * client NTLMv2 auth
172   * client schannel
173   * client signing
174   * client use spnego
175   * disable netbios
176   * ntlm auth
177   * paranoid server security
178   * server schannel
179   * smb ports
180   * use spnego
181
182   File Service
183   ------------
184   * get quota command
185   * hide special files
186   * hide unwriteable files
187   * hostname lookups
188   * kernel change notify
189   * mangle prefix
190   * msdfs proxy
191   * set quota command
192   * use sendfile
193   * vfs objects
194   
195   Printing
196   --------
197   * max reported print jobs
198
199   UNICODE and Character Sets
200   --------------------------
201   * display charset
202   * dos charset
203   * unicode
204   * unix charset
205   
206   SID to uid/gid Mappings
207   -----------------------
208   * idmap backend
209   * idmap gid
210   * idmap only
211   * idmap uid
212
213   LDAP
214   ----
215   * ldap delete dn
216   * ldap group suffix
217   * ldap idmap suffix
218   * ldap machine suffix
219   * ldap passwd sync
220   * ldap trust ids
221   * ldap user suffix
222   
223   General Configuration
224   ---------------------
225   * preload modules
226   * privatedir
227
228 Modified Parameters (changes in behavior):
229
230   * encrypt passwords (enabled by default)
231   * mangling method (set to 'hash2' by default)
232   * passwd chat
233   * passwd program
234   * restrict anonymous (integer value)
235   * security (new 'ads' value)
236   * strict locking (enabled by default)
237   * winbind cache time (increased to 5 minutes)
238   * winbind uid (deprecated in favor of 'idmap uid')
239   * winbind gid (deprecated in favor of 'idmap gid')
240
241
242 Databases
243 ---------
244
245 This section contains brief descriptions of any new databases 
246 introduced in Samba 3.0.  Please remember to backup your existing 
247 ${lock directory}/*tdb before upgrading to Samba 3.0.  Samba will 
248 upgrade databases as they are opened (if necessary), but downgrading 
249 from 3.0 to 2.2 is an unsupported path.
250
251 Name            Description                             Backup?
252 ----            -----------                             -------
253 account_policy  User policy settings                    yes
254 gencache        Generic caching db                      no
255 group_mapping   Mapping table from Windows              yes
256                 groups/SID to unix groups       
257 idmap           new ID map table from SIDS              yes
258                 to UNIX uids/gids.
259 namecache       Name resolution cache entries           no
260 netlogon_unigrp Cache of universal group                no
261                 membership obtained when 
262                 operating as a member of a 
263                 Windows domain
264 printing/*.tdb  Cached output from 'lpq                 no
265                 command' created on a per print 
266                 service basis
267 registry        Read-only samba registry skeleton       no
268                 that provides support for exporting
269                 various db tables via the winreg RPCs
270
271
272 Changes in Behavior
273 -------------------
274
275 The following issues are known changes in behavior between Samba 2.2 and 
276 Samba 3.0 that may affect certain installations of Samba.
277
278   1)  When operating as a member of a Windows domain, Samba 2.2 would 
279       map any users authenticated by the remote DC to the 'guest account'
280       if a uid could not be obtained via the getpwnam() call.  Samba 3.0
281       rejects the connection as NT_STATUS_LOGON_FAILURE.  There is no 
282       current work around to re-establish the 2.2 behavior.
283       
284   2)  When adding machines to a Samba 2.2 controlled domain, the 
285       'add user script' was used to create the UNIX identity of the 
286       machine trust account.  Samba 3.0 introduces a new 'add machine 
287       script' that must be specified for this purpose.  Samba 3.0 will
288       not fall back to using the 'add user script' in the absence of 
289       an 'add machine script'
290   
291
292 ######################################################################
293 Passdb Backends and Authentication
294 ##################################
295
296 There have been a few new changes that Samba administrators should be
297 aware of when moving to Samba 3.0.
298
299   1) encrypted passwords have been enabled by default in order to 
300      inter-operate better with out-of-the-box Windows client 
301      installations.  This does mean that either (a) a samba account
302      must be created for each user, or (b) 'encrypt passwords = no'
303      must be explicitly defined in smb.conf.
304     
305   2) Inclusion of new 'security = ads' option for integration 
306      with an Active Directory domain using the native Windows
307      Kerberos 5 and LDAP protocols.
308
309 Samba 3.0 also includes the possibility of setting up chains
310 of authentication methods (auth methods) and account storage 
311 backends (passdb backend).  Please refer to the smb.conf(5) 
312 man page for details.  While both parameters assume sane default 
313 values, it is likely that you will need to understand what the 
314 values actually mean in order to ensure Samba operates correctly.
315
316 The recommended passdb backends at this time are
317
318   * smbpasswd - 2.2 compatible flat file format
319   * tdbsam - attribute rich database intended as an smbpasswd
320     replacement for stand alone servers
321   * ldapsam - attribute rich account storage and retrieval 
322     backend utilizing an LDAP directory.  
323   * ldapsam_compat - a 2.2 backward compatible LDAP account 
324     backend
325     
326 Certain functions of the smbpasswd(8) tool have been split between the 
327 new smbpasswd(8) utility, the net(8) tool, and the new pdbedit(8) 
328 utility.  See the respective man pages for details.
329     
330      
331 ######################################################################
332 LDAP
333 ####
334
335 This section outlines the new features affecting Samba / LDAP integration.
336
337 New Schema
338 ----------
339   
340 A new object class (sambaSamAccount) has been introduced to replace 
341 the old sambaAccount.  This change aids us in the renaming of attributes 
342 to prevent clashes with attributes from other vendors.  There is a 
343 conversion script (examples/LDAP/convertSambaAccount) to modify and LDIF 
344 file to the new schema.
345   
346 Example:
347   
348         $ ldapsearch .... -b "ou=people,dc=..." > old.ldif
349         $ convertSambaAccount <DOM SID> old.ldif new.ldif
350         
351 The <DOM SID> can be obtained by running 'net getlocalsid <DOMAINNAME>' 
352 on the Samba PDC as root.
353     
354 The old sambaAccount schema may still be used by specifying the 
355 "ldapsam_compat" passdb backend.  However, the sambaAccount and
356 associated attributes have been moved to the historical section of
357 the schema file and must be uncommented before use if needed.
358 The 2.2 object class declaration for a sambaAccount has not changed
359 in the 3.0 samba.schema file. 
360   
361 Other new object classes and their uses include:
362   
363   * sambaDomain - domain information used to allocate rids 
364     for users and groups as necessary.  The attributes are added
365     in 'ldap suffix' directory entry automatically if 
366     an idmap uid/gid range has been set and the 'ldapsam'
367     passdb backend has been selected.
368       
369   * sambaGroupMapping - an object representing the 
370     relationship between a posixGroup and a Windows
371     group/SID.  These entries are stored in the 'ldap 
372     group suffix' and managed by the 'net groupmap' command.
373     
374   * sambaUnixIdPool - created in the 'ldap idmap suffix' entry 
375     automatically and contains the next available 'idmap uid' and 
376     'idmap gid'
377     
378   * sambaIdmapEntry - object storing a mapping between a 
379     SID and a UNIX uid/gid.  These objects are created by the 
380     idmap_ldap module as needed.
381
382     
383 New Suffix for Searching
384 ------------------------
385   
386 The following new smb.conf parameters have been added to aid in directing
387 certain LDAP queries when 'passdb backend = ldapsam://...' has been
388 specified.
389
390   * ldap suffix         - used to search for user and computer accounts
391   * ldap user suffix    - used to store user accounts
392   * ldap machine suffix - used to store machine trust accounts
393   * ldap group suffix   - location of posixGroup/sambaGroupMapping entries
394   * ldap idmap suffix   - location of sambaIdmapEntry objects
395
396 If an 'ldap suffix' is defined, it will be appended to all of the 
397 remaining sub-suffix parameters.  In this case, the order of the suffix
398 listings in smb.conf is important.  Always place the 'ldap suffix' first
399 in the list.  
400
401 Due to a limitation in Samba's smb.conf parsing, you should not surround 
402 the DN's with quotation marks.
403
404
405 IdMap LDAP support
406 ------------------
407
408 Samba 3.0 supports an ldap backend for the idmap subsystem.  The 
409 following options would inform Samba that the idmap table should be
410 stored on the directory server onterose in the "ou=idmap,dc=plainjoe,
411 dc=org" partition.
412
413  [global]
414     ...
415     idmap backend     = ldap:ldap://onterose/
416     ldap idmap suffix = ou=idmap,dc=plainjoe,dc=org
417     idmap uid         = 40000-50000
418     idmap gid         = 40000-50000
419
420 This configuration allows winbind installations on multiple servers to
421 share a uid/gid number space, thus avoiding the interoperability problems
422 with NFS that were present in Samba 2.2.
423     
424
425 ######################################################################
426 Known Issues
427 ############
428
429 * One such limitation that is worth mentioning (and will be corrected 
430   before the actual stable 3.0.0 release is the dead lock problem with
431   running winbindd on a Samba PDC in order to allocate uids and gids for 
432   users and groups in a trusted domain.  When the Samba domain is acting 
433   as the trusted domain to a Windows NT 4.0 domain, there are no known 
434   issues.
435
436 * The smbldap perl scripts for managing user entries in an LDAP 
437   directory have not be updated to function with the Samba 3.0
438   schema changes.  This (or an equivalent solution) work is planned
439   to be completed prior to the stable 3.0.0 release.
440
441 Please refer to https://bugzilla.samba.org/ for a current list of bugs 
442 filed against the Samba 3.0 codebase.
443
444
445 ######################################################################
446 Reporting bugs & Development Discussion
447 #######################################
448
449 Please discuss this release on the samba-technical mailing list or by
450 joining the #samba-technical IRC channel on irc.freenode.net.
451
452 If you do report problems then please try to send high quality
453 feedback. If you don't provide vital information to help us track down
454 the problem then you will probably be ignored.  
455
456 A new bugzilla installation has been established to help support the 
457 Samba 3.0 community of users.  This server, located at 
458 https://bugzilla.samba.org/, will replace the existing jitterbug server 
459 and the old http://bugs.samba.org now points to the new bugzilla server.
460