1 Contributor: Luke Kenneth Casson Leighton (samba-bugs@samba.anu.edu.au)
2 Copyright (C) 1997 Luke Kenneth Casson Leighton
3 Created: October 20, 1997
4 Updated: October 20, 1997
6 Subject: NT Domain Logons
7 ===========================================================================
9 As of 1.9.18alpha1, Samba supports logins for NT 4.0 Workstations, without
10 the need, use or intervention of NT 4.0 Server. This document describes
11 how to set this up. Over the continued development of the 1.9.18alpha
12 series, this process (and therefore this document) should become simpler.
14 The support is still experimental, so should be used at your own risk.
16 NT is not as robust as you might have been led to believe: during the
17 development of the Domain Logon Support, one person reported having to
18 reinstall NT from scratch: their workstation had become totally unuseable.
20 This *has* been reported to the NTBUGTRAQ@LISTSERV.NTBUGTRAQ.COM digest.
23 Domain Logons using 1.9.18alpha1
24 ================================
26 1) compile samba with -DNTDOMAIN
28 2) carry out the following unix commands:
32 chmod 666 /tmp/netlogon
35 3) set up samba with encrypted passwords: see ENCRYPTION.txt (probably out
36 of date: you no longer need the DES libraries, but other than that,
37 ENCRYPTION.txt is current).
39 4) for each workstation, add a line to smbpasswd with a username of MACHINE$
40 and a password of "machine". this process will be automated in further
43 5) if using NT server to log in, run the User Manager for Domains, and
44 add the capability to "Log in Locally" to the policies.
46 6) set up the following parameters in smb.conf
48 ; substitute your workgroup here
51 ; a description of domain sids can be found elsewhere.
52 domain sid = S-1-5-21-123-456-789-123
54 ; tells workstations to use SAMBA as its Primary Domain Controller.
57 7) make sure samba is running before the next step is carried out. if
58 this is your first time, just for fun you might like to switch the
59 debug log level to about 10. the NT pipes produces some very pretty
60 output when decoding requests and generating responses, which would
61 be particularly useful to see in tcpdump at some point.
63 8) In the NT Network Settings, change the domain to SAMBA. Do
64 not attempt to create an account using the other part of the dialog:
65 it will fail at present.
67 You should get a wonderful message saying "Welcome to the SAMBA Domain."
69 If you don't, then please first increase your debug log levels and also
70 get a tcpdump (or preferably NetMonitor) trace and examine it carefully.
71 You should see a NETLOGON, a SAMLOGON on UDP port 138. If you don't,
72 then you probably don't have "domain logons = yes" or there is some other
73 problem in resolving the NetBIOS name SAMBA<1c>.
75 On port 139, you should see a LSA_OPEN_POLICY, two LSA_QUERY_INFOs (one
76 for a domain SID of S-1-3... and another for S-1-5) and then an LSA_CLOSE
77 or two. If when you get a connection to the SMB pipe NETLOGON, if /netlogon
78 access is refused, then you probably haven't granted the correct access
79 permissions on the /tmp/netlogon file. Likewise for the srvsvc file.
81 You may see a pipe connection to a wksta service being refused: this
82 is acceptable, we have found. You may also see a "Net Server Get Info"
83 being issued on the srvsvc pipe.
85 Assuming you got the Welcome message, go through the obligatory reboot...
87 9) When pressing Ctrl-Alt-Delete, the NT login box should have three entries.
88 If there is a delay of about twenty seconds between pressing Ctrl-Alt-Delete
89 and the appearance of this login dialog, then there might be a problem:
90 at this stage the workstation is issuing an LSA_ENUMTRUSTEDDOMAIN request
92 The domain box should have two entries: the hostname and the SAMBA domain.
93 Any local accounts are under the hostname domain, from which you will be
94 able to shut down the machine etc. At present, we do not specify that
95 the NT user logging in is a member of any groups, so will have no
96 priveleges, including the ability to shut down the machine.
98 Select the SAMBA domain, and type in a valid username and password for
99 which there is a valid entry in the samba server's smbpasswd LM/NT OWF
102 You should see an LSA_REQ_CHAL, followed by LSA_AUTH2, LSA_NET_SRV_PWSET,
103 and LSA_SAM_LOGON. The SAM Logon will be particularly large (the response
104 can be approximately 600 bytes) as it contains user info.
106 Also, there will probably be a "Net Server Get Info" and a "Net Share Enum"
107 amongst this lot. If the SAM Logon is successful, the dialog should
108 disappear, and a standard SMB connection established to download the
109 profile specified in the SAM Logon (if it was).
111 At this point, you _may_ encounter difficulties in creating a remote
112 profile, and the login may terminate (generating an LSA_SAM_LOGOFF). If
113 this occurs, then either find an existing profile on the samba server and
114 copy it into the location specified by the "logon path" smb.conf parameter
115 for the user logging in, or log in on the local machine, and use the
116 System | Profiles control panel to make a copy of the _local_ profile onto
119 10) Play around. Look at the Samba Server: see if it can be found in the
120 browse lists. Check that it is accessible; run some applications.
121 Generally stress things. Laugh a lot. Logout of the NT machine
122 (generating an LSA_SAM_LOGOFF) and log back in again. Try logging in
123 two users simultaneously. Try logging the same user in twice.
124 Make Samba fall over, and then send bug reports to us, with NTDOM: at
125 the start of the subject line, as "samba-bugs@samba.anu.edu.au".
127 Your reports, testing, patches and criticism will help us get this right.