JHT ===> Documentation header updates only - inserting/mod Updates date.
[kai/samba.git] / docs / textdocs / DOMAIN_CONTROL.txt
1 Initial Release:        August 22, 1996
2 Contributor:            John H Terpstra <samba-bugs@samba.anu.edu.au>
3                         Copyright (C) 1996-1997 - John H Terpstra
4 Updated:                August 25, 1997
5 Status:                 Current - New Content
6
7 Subject:     Windows NT Domain Control & Samba
8 ============================================================================
9
10 ****NOTE:****
11 =============
12 The term "Domain Controller" and those related to it refer to one specific
13 method of authentication that can underly an SMB domain. Domain Controllers
14 prior to Windows NT Server 3.1 were sold by various companies and based on 
15 private extensions to the LAN Manager 2.1 protocol. Windows NT introduced
16 Microsoft-specific ways of distributing the user authentication database.
17 See DOMAIN.txt for examples of how Samba can participate in or create
18 SMB domains based on shared authentication database schemes other than the 
19 Windows NT SAM.
20
21 Microsoft Windows NT Domain Control is an extremely complex protocol.
22 We have received countless requests to implement Domain Control in Samba
23 and have seriously investigated the potential to support this. The Samba
24 Team have now concluded that since Domain Control is a completely
25 undocumented protocol we ought NOT to implement our best guess of this
26 technology. It is a Microsoft business policy NOT to release the information
27 necessary to enable this to be implemented in a dependable manner.
28 ============================================================================
29
30 Windows NT Server can be installed as either a plain file and print server
31 (WORKGROUP workstaion or server) or as a server that participates in Domain
32 Control (DOMAIN member, Primary Domain controller or Backup Domain controller).
33
34 The same is true for OS/2 Warp Server, Digital Pathworks and other similar
35 products, all of which can participate in Domain Control along with Windows NT.
36 However only those servers which have licenced Windows NT code in them can be
37 a primary Domain Controller (eg Windows NT Server, Advanced Server for Unix.)
38
39 To many people these terms can be confusing, so let's try to clear the air.
40
41 Every Windows NT system (workstation or server) has a registry database.
42 The registry contains entries that describe the initialisation information
43 for all services (the equivalent of Unix Daemons) that run within the Windows
44 NT environment. The registry also contains entries that tell application
45 software where to find dynamically loadable libraries that they depend upon.
46 In fact, the registry contains entries that describes everything that anything
47 may need to know to interact with the rest of the system.
48
49 The registry files can be located on any Windows NT machine by opening a
50 command prompt and typing:
51         dir %SystemRoot%\System32\config
52
53 The environment variable %SystemRoot% value can be obtained by typing:
54         echo %SystemRoot%
55
56 The active parts of the registry that you may want to be familiar with are
57 the files called: default, system, software, sam and security.
58
59 In a domain environment, Microsoft Windows NT domain controllers participate
60 in replication of the SAM and SECURITY files so that all controllers within
61 the domain have an exactly identical copy of each.
62
63 The Microsoft Windows NT system is structured within a security model that
64 says that all applications and services must authenticate themselves before
65 they can obtain permission from the security manager to do what they set out
66 to do.
67
68 The Windows NT User database also resides within the registry. This part of
69 the registry contains the user's security identifier, home directory, group
70 memberships, desktop profile, and so on.
71
72 Every Windows NT system (workstation as well as server) will have its own
73 registry. Windows NT Servers that participate in Domain Security control
74 have a database that they share in common - thus they do NOT own an
75 independent full registry database of their own, as do Workstations and
76 plain Servers.
77
78 The User database is called the SAM (Security Access Manager) database and
79 is used for all user authentication as well as for authentication of inter-
80 process authentication (ie: to ensure that the service action a user has
81 requested is permitted within the limits of that user's privileges).
82
83 The Samba team have produced a utility that can dump the Windows NT SAM into 
84 smbpasswd format: see ENCRYPTION.txt for information on smbpasswd and
85 /pub/samba/pwdump on your nearest Samba mirror for the utility. This 
86 facility is useful but cannot be easily used to implement SAM replication
87 to Samba systems.
88
89 Windows for Workgroups, Windows 95, and Windows NT Workstations and Servers
90 can participate in a Domain security system that is controlled by Windows NT
91 servers that have been correctly configured. At most every domain will have
92 ONE Primary Domain Controller (PDC). It is desirable that each domain will
93 have at least one Backup Domain Controller (BDC).
94
95 The PDC and BDCs then participate in replication of the SAM database so that
96 each Domain Controlling participant will have an up to date SAM component
97 within it's registry.
98
99 Samba can NOT at this time function as a Domain Controller for any of these
100 security services, but like all other domain members can interact with the
101 Windows NT security system for all access authentication.
102
103 When Samba is configured with the 'security = server' option and the
104 'password server = Your_Windows_NT_Server_Name' option, then it will
105 redirect all access authentication to that server. This way you can
106 use Windows NT to act as your password server with full support for
107 Microsoft encrypted passwords.
108