fix type
[tprouty/samba.git] / WHATSNEW.txt
1                   WHATS NEW IN Samba 3.0.0 beta3
2                            July 16 2003
3                   ==============================
4
5 This is the third beta release of Samba 3.0.0. This is a 
6 non-production release intended for testing purposes.  Use 
7 at your own risk. 
8
9 The purpose of this beta release is to get wider testing of the major
10 new pieces of code in the current Samba 3.0 development tree. We have
11 officially ceased development on the 2.2.x release of Samba and are
12 concentrating on Samba 3.0. To reduce the time before the final 
13 Samba 3.0 release we need as many people as possible to start testing 
14 these beta releases, and to provide high quality feedback on what 
15 needs fixing.
16
17 Samba 3.0 is feature complete. However there is still some final 
18 work to be done on certain pieces of functionality.  Please refer to 
19 the section on "Known Issues" for more details.
20
21
22 Major new features:
23 -------------------
24
25 1)  Active Directory support.  Samba 3.0 is now able to  
26     to join a ADS realm as a member server and authenticate 
27     users using LDAP/Kerberos.
28
29 2)  Unicode support. Samba will now negotiate UNICODE on the wire and
30     internally there is now a much better infrastructure for multi-byte
31     and UNICODE character sets.
32
33 3)  New authentication system. The internal authentication system has
34     been almost completely rewritten. Most of the changes are internal,
35     but the new auth system is also very configurable.
36
37 4)  New filename mangling system. The filename mangling system has been
38     completely rewritten. An internal database now stores mangling maps
39     persistently. This needs lots of testing.
40
41 5)  A new "net" command has been added. It is somewhat similar to 
42     the "net" command in windows. Eventually we plan to replace 
43     numerous other utilities (such as smbpasswd) with subcommands 
44     in "net".
45
46 6)  Samba now negotiates NT-style status32 codes on the wire. This
47     improves error handling a lot.
48
49 7)  Better Windows 2000/XP/2003 printing support including publishing 
50     printer attributes in active directory.
51
52 8)  New loadable RPC modules.
53
54 9)  New dual-daemon winbindd support for better performance.
55
56 10) Support for migrating from a Windows NT 4.0 domain to a Samba 
57     domain and maintaining user, group and domain SIDs.
58
59 11) Support for establishing trust relationships with Windows NT 4.0
60     domain controllers.
61   
62 12) Initial support for a distributed Winbind architecture using
63     an LDAP directory for storing SID to uid/gid mappings.
64   
65 13) Major updates to the Samba documentation tree.
66
67 Plus lots of other improvements!
68
69
70 Additional Documentation
71 ------------------------
72
73 Please refer to Samba documentation tree (including in the docs/ 
74 subdirectory) for extensive explanations of installing, configuring
75 and maintaining Samba 3.0 servers and clients.  It is advised to 
76 begin with the Samba-HOWTO-Collection for overviews and specific 
77 tasks (the current book is up to approximately 400 pages) and to 
78 refer to the various man pages for information on individual options.
79
80 ######################################################################
81 Changes since 3.0beta2
82 ######################
83
84 Please refer to the CVS log for the SAMBA_3_0 branch for complete 
85 details
86
87 1)  Added fix for Japanese case names in statcache code; 
88     these can change size on upper casing.
89 2)  Correct issues with iconv detection in configure script
90     (support needed to find iconv libraries on FreeBSD).
91 3)  Fix bug that caused a WINS server to be marked as dead
92     incorrectly (bug #190).
93 4)  Removing additional deadlocks conditions that prevented 
94     winbindd from running on a Samba PDC (used for trust 
95     relationships).
96 5)  Add support for searching for Active Directory for 
97     published printers (net ads printer search).
98 6)  Separate UNIX username from DOMAIN\username in pipe 
99     credentials.
100 7)  Auth modules now support returning NT_STATUS_NOT_IMPLEMENTED
101     for cases that they cannot handle.
102 8)  Flush winbindd connection cache when the machine trust account
103     password is changed while a connection is open (bug #200).
104 9)  Add support for 'OSVersion' server printer data string
105     (corrects problem with uploading printer drivers from 
106     WinXP clients).
107 10) Numerous memory leak fixes.
108 11) LDAP fixes ("passdb backend = ldapsam" & "idmap backend = ldap"):
109     - Store domain SID in LDAP directory.
110     - store idmap information in existing entries (use sambaSID=... 
111       if adding a new entry).
112 12) Fix incorrect usage of primary group SID when looking up user 
113     groups (bug #109).
114 13) Remove idmap_XX_to_XX calls from smbd.  Move back to the the
115     winbind_XXX and local_XXX calls used in 2.2.
116 14) All uid/gid allocation must involve winbindd now (we do not 
117     attempt to map unknown SIDs to a UNIX identify).
118 15) Add 'winbind trusted domains only' parameter to force a domain
119     member.  The server to use matching users names from /etc/passwd 
120     for its domain   (needed for domain member of a Samba domain).
121 16) Rename 'idmap only' to 'enable rid algorithm' for better clarity 
122     (defaults to "yes").
123 17) Add support for multi-byte statcache code (bug #185)
124 18) Fix open mode race condition.
125 19) Implement winbindd local account management functions.  Refer to
126     the "Winbind Changes" section for details.
127 20) Move RID allocation functions into idmap backend.
128 21) Fix parsing error that prevented publishing printers from a 
129     Samba server in an AD domain.
130 22) Revive NTLMSSP support for named pipes.
131 23) More SCHANNEL fixes.
132 24) Correct SMB signing with NTLMSSP.
133 25) Fix coherency bug in print handle/printer object caching code
134     that could cause XP clients to infinitely loop while updating 
135     their local printer cache.
136 26) Make winbindd use its dual-daemon mode by default (use -Y to 
137     start as a single process).
138 27) Add support to nmbd and winbindd for 'smbcontrol <pid> 
139     reload-config'.
140 28) Correct problem with smbtar when dealing with files > 8Gb 
141     (bug #102).
142
143
144
145 Changes since 3.0beta1
146 ######################
147
148 1)  Rework our smb signing code again, this factors out some of 
149     the common MAC calculation code, and now supports multiple 
150     outstanding packets (bug #40).
151 2)  Enforce 'client plaintext auth', 'client lanman auth' and 'client
152     ntlmv2 auth'.
153 3)  Correct timestamp problem on 64-bit machines (bug #140).
154 4)  Add extra debugging statements to winbindd for tracking down
155     failures.
156 5)  Fix bug when aliased 'winbind uid/gid' parameters are used.
157     ('winbind uid/gid' are now replaced with 'idmap uid/gid').
158 6)  Added an auth flag that indicates if we should be allowed 
159     to fall back to NTLMSSP for SASL if krb5 fails.
160 7)  Fixed the bug that forced us not to use the winbindd cache when 
161     we have a primary ADS domain and a secondary (trusted) NT4 
162     domain. 
163 8)  Use lp_realm() to find the default realm for 'net ads password'.
164 9)  Removed editreg from standard build until it is portable..
165 10) Fix domain membership for servers not running winbindd.
166 11) Correct race condition in determining the high water mark
167     in the idmap backend (bug #181).
168 12) Set the user's primary unix group from usrmgr.exe (partial 
169     fix for bug #45).
170 13) Show comments when doing 'net group -l' (bug #3).
171 14) Add trivial extension to 'net' to dump current local idmap
172     and restore mappings as well.
173 15) Modify 'net rpc vampire' to add new and existing users to
174     both the idmap and the SAM.  This code needs further testing.
175 16) Fix crash bug in ADS searches.
176 17) Build libnss_wins.so as part of nsswitch target (bug #160).
177 18) Make net rpc vampire return an error if the sam sync RPC 
178     returns an error.
179 19) Fail to join an NT 4 domain as a BDC if a workstation account
180     using our name exists.
181 20) Fix various memory leaks in server and client code
182 21) Remove the short option to --set-auth-user for wbinfo (-A) to 
183     prevent confusion with the -a option (bug #158).
184 22) Added new 'map acl inherit' parameter.
185 23) Removed unused 'privileges' code from group mapping database.
186 24) Don't segfault on empty passdb backend list (bug #136).
187 25) Fixed acl sorting algorithm for Windows 2000 clients.
188 26) Replace universal group cache with netsamlogon_cache 
189     from APPLIANCE_HEAD branch.
190 27) Fix autoconf detection issues surrounding --with-ads=yes
191     but no Krb5 header files installed (bug #152).
192 28) Add LDAP lookup for domain sequence number in case we are 
193     joined using NT4 protocols to a native mode AD domain.
194 29) Fix backend method selection for trusted NT 4 (or 2k 
195     mixed mode) domains. 
196 30) Fixed bug that caused us to enumerate domain local groups
197     from native mode AD domains other than our own.
198 31) Correct group enumeration for viewing in the Windows 
199     security tab (bug #110).
200 32) Consolidate the DC location code.
201 33) Moved 'ads server' functionality into 'password server' for
202     backwards compatibility.
203 34) Fix winbindd_idmap tdb upgrades from a 2.2 installation.
204     ( if you installed beta1, be sure to 
205       'mv idmap.tdb winbindd_idmap.tdb' ).
206 35) Fix pdb_ldap segfaults, and wrong default values for 
207     ldapsam_compat.
208 36) Enable negative connection cache for winbindd's ADS backend 
209     functions.
210 37) Enable address caching for active directory DC's so we don't 
211     have to hit DNS so much.
212 38) Fix bug in idmap code that caused mapping to randomly be 
213     redefined.
214 39) Add tdb locking code to prevent race condition when adding a 
215     new mapping to idmap.
216 40) Fix 'map to guest = bad user' when acting as a PDC supporting 
217     trust relationships.
218 41) Prevent deadlock issues when running winbindd on a Samba PDC 
219     to handle allocating uids & gids for trusted users and groups
220 42) added LOCALE patch from Steve Langasek (bug #122).
221 43) Add the 'guest' passdb backend automatically to the end of 
222     the 'passdb backend' list if 'guest account' has a valid 
223     username.
224 44) Remove samstrict_dc auth method.  Rework 'samstrict' to only 
225     handle our local names (or domain name if we are a PDC).  
226     Move existing permissive 'sam' method to 'sam_ignoredomain' 
227     and make 'samstrict' the new default 'sam' auth method.
228 45) Match Windows NT4/2k behavior when authenticating a user with
229     and unknown domain (default to our domain if we are a DC or 
230     domain member; default to our local name if we are a 
231     standalone server).
232 46) Fix Get_Pwnam() to always fall back to lookup 'user' if the 
233     'DOMAIN\user' lookup fails.  This matches 2.2. behavior.
234 47) Fix the trustdom_cache code to update the list of trusted 
235     domains when operating as a domain member and not using 
236     winbindd.
237 48) Remove 'nisplussam' passdb backend since it has suffered for 
238     too long without a maintainer.
239     
240
241
242
243 ######################################################################
244 Upgrading from a previous Samba 3.0 beta
245 ########################################
246
247 Beginning with Samba 3.0.0beta3, the RID allocation functions
248 have been moved into winbindd.  Previously these were handled
249 by each passdb backend.  This means that winbindd must be running
250 to automatically allocate RIDs for users and/or groups.  Otherwise,
251 smbd will use the 2.2 algorithm for generating new RIDs.
252
253 If you are using 'passdb backend = tdbsam' with a previous Samba 
254 3.0 beta release (or possibly alpha), it may be necessary to 
255 move the RID_COUNTER entry from /usr/local/samba/private/passdb.tdb
256 to winbindd_idmap.tdb.  To do this:
257
258 1)  Ensure that winbindd_idmap.tdb exists (launch winbindd at least 
259     once)
260 2)  build tdbtool by executing 'make tdbtool' in the source/tdb/ 
261     directory
262 3)  run: (note that 'tdb>' is the tool's prompt for input)
263
264        root# ./tdbtool /usr/local/samba/private/passdb.tdb
265        tdb> show RID_COUNTER
266        key 12 bytes
267        RID_COUNTER
268        data 4 bytes
269        [000] 0A 52 00 00                                       .R.
270
271        tdb> move RID_COUNTER /usr/local/samba/var/locks/winbindd_idmap.tdb
272        ....
273        record moved
274
275 If you are using 'passdb backend = ldapsam', it will be necessary to 
276 store idmap entries in the LDAP directory as well (i.e. idmap backend 
277 = ldap).  Refer to the 'net idmap' command for more information on 
278 migrating SID<->UNIX id mappings from one backend to another.
279
280 If the RID_COUNTER record does not exist, then these instructions are
281 unneccessary and the new RID_COUNTER record will be correctly generated
282 if needed.  
283
284
285
286 ########################
287 Upgrading from Samba 2.2
288 ########################
289
290 This section is provided to help administrators understand the details
291 involved with upgrading a Samba 2.2 server to Samba 3.0.
292
293
294 Building
295 --------
296
297 Many of the options to the GNU autoconf script have been modified 
298 in the 3.0 release.  The most noticeable are:
299
300   * removal of --with-tdbsam (is now included by default; see section
301     on passdb backends and authentication for more details)
302     
303   * --with-ldapsam is now on used to provided backward compatible
304     parameters for LDAP enabled Samba 2.2 servers.  Refer to the passdb 
305     backend and authentication section for more details
306   
307   * inclusion of non-standard passdb modules may be enabled using
308     --with-expsam.  This includes an XML backend and a mysql backend.
309       
310   * removal of --with-msdfs (is now enabled by default)
311   
312   * removal of --with-ssl (no longer supported)
313   
314   * --with-utmp now defaults to 'yes' on supported systems
315   
316   * --with-sendfile-support is now enabled by default on supported 
317     systems
318   
319     
320 Parameters
321 ----------
322
323 This section contains a brief listing of changes to smb.conf options
324 in the 3.0.0 release.  Please refer to the smb.conf(5) man page for
325 complete descriptions of new or modified parameters.
326
327 Removed Parameters (order alphabetically):
328
329   * admin log
330   * alternate permissions
331   * character set
332   * client codepage
333   * code page directory
334   * coding system
335   * domain admin group
336   * domain guest group
337   * force unknown acl user
338   * nt smb support
339   * post script
340   * printer driver
341   * printer driver file
342   * printer driver location
343   * status
344   * total print jobs
345   * use rhosts
346   * valid chars
347   * vfs options
348
349 New Parameters (new parameters have been grouped by function):
350
351   Remote management
352   -----------------
353   * abort shutdown script
354   * shutdown script
355
356   User and Group Account Management
357   ---------------------------------
358   * add group script
359   * add machine script
360   * add user to group script
361   * algorithmic rid base
362   * delete group script
363   * delete user from group script
364   * passdb backend
365   * set primary group script
366
367   Authentication
368   --------------
369   * auth methods
370   * realm
371
372   Protocol Options
373   ----------------
374   * client lanman auth
375   * client NTLMv2 auth
376   * client schannel
377   * client signing
378   * client use spnego
379   * disable netbios
380   * ntlm auth
381   * paranoid server security
382   * server schannel
383   * smb ports
384   * use spnego
385
386   File Service
387   ------------
388   * get quota command
389   * hide special files
390   * hide unwriteable files
391   * hostname lookups
392   * kernel change notify
393   * mangle prefix
394   * map acl inherit
395   * msdfs proxy
396   * set quota command
397   * use sendfile
398   * vfs objects
399   
400   Printing
401   --------
402   * max reported print jobs
403
404   UNICODE and Character Sets
405   --------------------------
406   * display charset
407   * dos charset
408   * unicode
409   * unix charset
410   
411   SID to uid/gid Mappings
412   -----------------------
413   * idmap backend
414   * idmap gid
415   * idmap uid
416   * winbind enable local accounts
417   * winbind trusted domains only
418   * template primary group
419   * enable rid algorithm
420
421   LDAP
422   ----
423   * ldap delete dn
424   * ldap group suffix
425   * ldap idmap suffix
426   * ldap machine suffix
427   * ldap passwd sync
428   * ldap trust ids
429   * ldap user suffix
430   
431   General Configuration
432   ---------------------
433   * preload modules
434   * privatedir
435
436 Modified Parameters (changes in behavior):
437
438   * encrypt passwords (enabled by default)
439   * mangling method (set to 'hash2' by default)
440   * passwd chat
441   * passwd program
442   * restrict anonymous (integer value)
443   * security (new 'ads' value)
444   * strict locking (enabled by default)
445   * winbind cache time (increased to 5 minutes)
446   * winbind uid (deprecated in favor of 'idmap uid')
447   * winbind gid (deprecated in favor of 'idmap gid')
448
449
450 Databases
451 ---------
452
453 This section contains brief descriptions of any new databases 
454 introduced in Samba 3.0.  Please remember to backup your existing 
455 ${lock directory}/*tdb before upgrading to Samba 3.0.  Samba will 
456 upgrade databases as they are opened (if necessary), but downgrading 
457 from 3.0 to 2.2 is an unsupported path.
458
459 Name                    Description                             Backup?
460 ----                    -----------                             -------
461 account_policy          User policy settings                    yes
462 gencache                Generic caching db                      no
463 group_mapping           Mapping table from Windows              yes
464                         groups/SID to unix groups       
465 winbindd_idmap          ID map table from SIDS to UNIX          yes
466                         uids/gids.
467 namecache               Name resolution cache entries           no
468 netsamlogon_cache       Cache of NET_USER_INFO_3 structure      no
469                         returned as part of a successful
470                         net_sam_logon request 
471 printing/*.tdb          Cached output from 'lpq                 no
472                         command' created on a per print 
473                         service basis
474 registry                Read-only samba registry skeleton       no
475                         that provides support for exporting
476                         various db tables via the winreg RPCs
477
478
479 Changes in Behavior
480 -------------------
481
482 The following issues are known changes in behavior between Samba 2.2 and 
483 Samba 3.0 that may affect certain installations of Samba.
484
485   1)  When operating as a member of a Windows domain, Samba 2.2 would 
486       map any users authenticated by the remote DC to the 'guest account'
487       if a uid could not be obtained via the getpwnam() call.  Samba 3.0
488       rejects the connection as NT_STATUS_LOGON_FAILURE.  There is no 
489       current work around to re-establish the 2.2 behavior.
490       
491   2)  When adding machines to a Samba 2.2 controlled domain, the 
492       'add user script' was used to create the UNIX identity of the 
493       machine trust account.  Samba 3.0 introduces a new 'add machine 
494       script' that must be specified for this purpose.  Samba 3.0 will
495       not fall back to using the 'add user script' in the absence of 
496       an 'add machine script'
497   
498
499 ######################################################################
500 Passdb Backends and Authentication
501 ##################################
502
503 There have been a few new changes that Samba administrators should be
504 aware of when moving to Samba 3.0.
505
506   1) encrypted passwords have been enabled by default in order to 
507      inter-operate better with out-of-the-box Windows client 
508      installations.  This does mean that either (a) a samba account
509      must be created for each user, or (b) 'encrypt passwords = no'
510      must be explicitly defined in smb.conf.
511     
512   2) Inclusion of new 'security = ads' option for integration 
513      with an Active Directory domain using the native Windows
514      Kerberos 5 and LDAP protocols.
515
516 Samba 3.0 also includes the possibility of setting up chains
517 of authentication methods (auth methods) and account storage 
518 backends (passdb backend).  Please refer to the smb.conf(5) 
519 man page for details.  While both parameters assume sane default 
520 values, it is likely that you will need to understand what the 
521 values actually mean in order to ensure Samba operates correctly.
522
523 The recommended passdb backends at this time are
524
525   * smbpasswd - 2.2 compatible flat file format
526   * tdbsam - attribute rich database intended as an smbpasswd
527     replacement for stand alone servers
528   * ldapsam - attribute rich account storage and retrieval 
529     backend utilizing an LDAP directory.  
530   * ldapsam_compat - a 2.2 backward compatible LDAP account 
531     backend
532     
533 Certain functions of the smbpasswd(8) tool have been split between the 
534 new smbpasswd(8) utility, the net(8) tool, and the new pdbedit(8) 
535 utility.  See the respective man pages for details.
536     
537      
538 ######################################################################
539 LDAP
540 ####
541
542 This section outlines the new features affecting Samba / LDAP 
543 integration.
544
545 New Schema
546 ----------
547   
548 A new object class (sambaSamAccount) has been introduced to replace 
549 the old sambaAccount.  This change aids us in the renaming of attributes 
550 to prevent clashes with attributes from other vendors.  There is a 
551 conversion script (examples/LDAP/convertSambaAccount) to modify and LDIF 
552 file to the new schema.
553   
554 Example:
555   
556         $ ldapsearch .... -b "ou=people,dc=..." > old.ldif
557         $ convertSambaAccount <DOM SID> old.ldif new.ldif
558         
559 The <DOM SID> can be obtained by running 'net getlocalsid <DOMAINNAME>' 
560 on the Samba PDC as root.
561     
562 The old sambaAccount schema may still be used by specifying the 
563 "ldapsam_compat" passdb backend.  However, the sambaAccount and
564 associated attributes have been moved to the historical section of
565 the schema file and must be uncommented before use if needed.
566 The 2.2 object class declaration for a sambaAccount has not changed
567 in the 3.0 samba.schema file. 
568   
569 Other new object classes and their uses include:
570   
571   * sambaDomain - domain information used to allocate rids 
572     for users and groups as necessary.  The attributes are added
573     in 'ldap suffix' directory entry automatically if 
574     an idmap uid/gid range has been set and the 'ldapsam'
575     passdb backend has been selected.
576       
577   * sambaGroupMapping - an object representing the 
578     relationship between a posixGroup and a Windows
579     group/SID.  These entries are stored in the 'ldap 
580     group suffix' and managed by the 'net groupmap' command.
581     
582   * sambaUnixIdPool - created in the 'ldap idmap suffix' entry 
583     automatically and contains the next available 'idmap uid' and 
584     'idmap gid'
585     
586   * sambaIdmapEntry - object storing a mapping between a 
587     SID and a UNIX uid/gid.  These objects are created by the 
588     idmap_ldap module as needed.
589
590   * sambaSidEntry - object representing a SID alone, as a Structural
591     class on which to build the sambaIdmapEntry.
592
593     
594 New Suffix for Searching
595 ------------------------
596   
597 The following new smb.conf parameters have been added to aid in directing
598 certain LDAP queries when 'passdb backend = ldapsam://...' has been
599 specified.
600
601   * ldap suffix         - used to search for user and computer accounts
602   * ldap user suffix    - used to store user accounts
603   * ldap machine suffix - used to store machine trust accounts
604   * ldap group suffix   - location of posixGroup/sambaGroupMapping entries
605   * ldap idmap suffix   - location of sambaIdmapEntry objects
606
607 If an 'ldap suffix' is defined, it will be appended to all of the 
608 remaining sub-suffix parameters.  In this case, the order of the suffix
609 listings in smb.conf is important.  Always place the 'ldap suffix' first
610 in the list.  
611
612 Due to a limitation in Samba's smb.conf parsing, you should not surround 
613 the DN's with quotation marks.
614
615
616 IdMap LDAP support
617 ------------------
618
619 Samba 3.0 supports an ldap backend for the idmap subsystem.  The 
620 following options would inform Samba that the idmap table should be
621 stored on the directory server onterose in the "ou=idmap,dc=plainjoe,
622 dc=org" partition.
623
624  [global]
625     ...
626     idmap backend     = ldap:ldap://onterose/
627     ldap idmap suffix = ou=idmap,dc=plainjoe,dc=org
628     idmap uid         = 40000-50000
629     idmap gid         = 40000-50000
630
631 This configuration allows winbind installations on multiple servers to
632 share a uid/gid number space, thus avoiding the interoperability problems
633 with NFS that were present in Samba 2.2.
634     
635
636
637 ######################################################################
638 Trust Relationships and a Samba Domain
639 ######################################
640
641 Samba 3.0.0beta2 is able to utilize winbindd as the means of 
642 allocating uids and gids to trusted users and groups.  More
643 information regarding Samba's support for establishing trust 
644 relationships can be found in the Samba-HOWTO-Collection included
645 in the docs/ directory of this release.
646
647 First create your Samba PDC and ensure that everything is 
648 working correctly before moving on the trusts.
649
650 To establish Samba as the trusting domain (named SAMBA) from a Windows NT
651 4.0 domain named WINDOWS:
652
653   1) create the trust account for SAMBA in "User Manager for Domains"
654   2) connect the trust from the Samba domain using
655      'net rpc trustdom establish GLASS'
656
657 To create a trustlationship with SAMBA as the trusted domain:
658
659   1) create the initial trust account for GLASS using
660      'smbpasswd -a -i GLASS'.  You may need to create a UNIX
661      account for GLASS$ prior to this step (depending on your
662      local configuration).
663   2) connect the trust from a WINDOWS DC using "User Manager
664      for Domains"
665
666 Now join winbindd on the Samba PDC to the SAMBA domain using
667 the normal steps for adding a Samba server to an NT4 domain:
668 (note that smbd & nmbd must be running at this point)
669
670    root# net rpc join -U root
671    Password: <enter root password from smbpasswd file here>
672
673 Start winbindd and test the join with 'wbinfo -t'.
674
675 Now test the trust relationship by connecting to the SAMBA DC
676 (e.g. POGO) as a user from the WINDOWS domain:
677
678    $ smbclient //pogo/netlogon -U Administrator -W WINDOWS
679    Password:
680
681 Now connect to the WINDOWS DC (e.g. CRYSTAL) as a Samba user:
682
683    $ smbclient //crystal/netlogon -U root -W WINDOWS
684    Password:
685
686 ######################################################################
687 Changes in Winbind
688 ##################
689
690 Beginning with Samba3.0.0beta3, winbindd has been given new account
691 manage functionality equivalent to the 'add user script' family of
692 smb.conf parameters.  The idmap design has also been changed to 
693 centralize control of foreign SID lookups and matching to UNIX 
694 uids and gids.
695
696
697 Brief Description of Changes
698 ----------------------------
699
700 1) The sid_to_uid() family of functions (smbd/uid.c) have been 
701    reverted to the 2.2.x design.  This means that when resolving a 
702    SID to a UID or similar mapping:
703
704         a) First consult winbindd
705         b) perform a local lookup only if winbindd fails to
706            return a successful answer
707
708    There are some variations to this, but these two rules generally
709    apply.
710
711 2) All idmap lookups have been moved into winbindd.  This means that
712    a server must run winbindd (and support NSS) in order to achieve
713    any mappings of SID to dynamically allocated UNIX ids.  This was
714    a conscious design choice.
715
716 3) New functions have been added to winbindd to emulate the 'add user 
717    script' family of smbd functions without requiring that external
718    scripts be defined.  This functionality is controlled by the 'winbind 
719    enable local accounts' smb.conf parameter (enabled by default).
720
721    However, this account management functionality is only supported 
722    in a local tdb (winbindd_idmap.tdb).  If these new UNIX accounts 
723    must be shared among multiple Samba servers (such as a PDC and BDCs), 
724    it will be necessary to define your own 'add user script', et. al.
725    programs that place the accounts/groups in some form of directory
726    such as NIS or LDAP.  This requirement was deemed beyond the scope
727    of winbind's account management functions.  Solutions for 
728    distributing UNIX system information have been deployed and tested 
729    for many years.  We saw no need to reinvent the wheel.
730
731 4) A member of a Samba controlled domain running winbindd is now able 
732    to map domain users directly onto existing UNIX accounts while still
733    automatically creating accounts for trusted users and groups.  This
734    behavior is controlled by the 'winbind trusted domains only' smb.conf
735    parameter (disabled by default to provide 2.2.x winbind behavior).
736
737 5) Group mapping support is wrapped in the local_XX_to_XX() functions
738    in smbd/uid.c.  The reason that group mappings are not included
739    in winbindd is because the purpose of Samba's group map is to
740    match any Windows SID with an existing UNIX group.  These UNIX
741    groups can be created by winbindd (see next section), but the
742    SID<->gid mapping is retreived by smbd, not winbindd.
743
744
745 Examples
746 --------
747
748 * security = server running winbindd to allocate accounts on demand
749
750 * Samba PDC running winbindd to handle the automatic creation of UNIX
751   identities for machine trust accounts
752
753 * Automtically creating UNIX user and groups when migrating a Windows NT
754   4.0 PDC to a Samba PDC.  Winbindd must be running when executing
755   'net rpc vampire' for this to work.
756
757    
758 ######################################################################
759 Known Issues
760 ############
761
762 * The smbldap perl scripts for managing user entries in an LDAP
763   directory have not be updated to function with the Samba 3.0
764   schema changes.  This (or an equivalent solution) work is planned
765   to be completed prior to the stable 3.0.0 release.
766
767 Please refer to https://bugzilla.samba.org/ for a current list of bugs 
768 filed against the Samba 3.0 codebase.
769
770
771 ######################################################################
772 Reporting bugs & Development Discussion
773 #######################################
774
775 Please discuss this release on the samba-technical mailing list or by
776 joining the #samba-technical IRC channel on irc.freenode.net.
777
778 If you do report problems then please try to send high quality
779 feedback. If you don't provide vital information to help us track down
780 the problem then you will probably be ignored.  
781
782 A new bugzilla installation has been established to help support the 
783 Samba 3.0 community of users.  This server, located at 
784 https://bugzilla.samba.org/, will replace the existing jitterbug server 
785 and the old http://bugs.samba.org now points to the new bugzilla server.
786