And finally IDMAP in 3_0
[Samba/bb.git] / docs / htmldocs / samba-pdc.html
blob93bbc727d4bc7311412f7dffb161b6cde7746093
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >How to Configure Samba as a NT4 Primary Domain Controller</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
9 "><LINK
10 REL="HOME"
11 TITLE="SAMBA Project Documentation"
12 HREF="samba-howto-collection.html"><LINK
13 REL="UP"
14 TITLE="Type of installation"
15 HREF="type.html"><LINK
16 REL="PREVIOUS"
17 TITLE="User and Share security level (for servers not in a domain)"
18 HREF="securitylevels.html"><LINK
19 REL="NEXT"
20 TITLE="How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain"
21 HREF="samba-bdc.html"></HEAD
22 ><BODY
23 CLASS="CHAPTER"
24 BGCOLOR="#FFFFFF"
25 TEXT="#000000"
26 LINK="#0000FF"
27 VLINK="#840084"
28 ALINK="#0000FF"
29 ><DIV
30 CLASS="NAVHEADER"
31 ><TABLE
32 SUMMARY="Header navigation table"
33 WIDTH="100%"
34 BORDER="0"
35 CELLPADDING="0"
36 CELLSPACING="0"
37 ><TR
38 ><TH
39 COLSPAN="3"
40 ALIGN="center"
41 >SAMBA Project Documentation</TH
42 ></TR
43 ><TR
44 ><TD
45 WIDTH="10%"
46 ALIGN="left"
47 VALIGN="bottom"
48 ><A
49 HREF="securitylevels.html"
50 ACCESSKEY="P"
51 >Prev</A
52 ></TD
53 ><TD
54 WIDTH="80%"
55 ALIGN="center"
56 VALIGN="bottom"
57 ></TD
58 ><TD
59 WIDTH="10%"
60 ALIGN="right"
61 VALIGN="bottom"
62 ><A
63 HREF="samba-bdc.html"
64 ACCESSKEY="N"
65 >Next</A
66 ></TD
67 ></TR
68 ></TABLE
69 ><HR
70 ALIGN="LEFT"
71 WIDTH="100%"></DIV
72 ><DIV
73 CLASS="CHAPTER"
74 ><H1
75 ><A
76 NAME="SAMBA-PDC">Chapter 6. How to Configure Samba as a NT4 Primary Domain Controller</H1
77 ><DIV
78 CLASS="SECT1"
79 ><H1
80 CLASS="SECT1"
81 ><A
82 NAME="AEN575">6.1. Prerequisite Reading</H1
83 ><P
84 >Before you continue reading in this chapter, please make sure
85 that you are comfortable with configuring basic files services
86 in smb.conf and how to enable and administer password
87 encryption in Samba. Theses two topics are covered in the
89 HREF="smb.conf.5.html"
90 TARGET="_top"
91 ><TT
92 CLASS="FILENAME"
93 >smb.conf(5)</TT
94 ></A
96 manpage and the <A
97 HREF="ENCRYPTION.html"
98 TARGET="_top"
99 >Encryption chapter</A
101 of this HOWTO Collection.</P
102 ></DIV
103 ><DIV
104 CLASS="SECT1"
105 ><H1
106 CLASS="SECT1"
108 NAME="AEN581">6.2. Background</H1
109 ><DIV
110 CLASS="NOTE"
112 ></P
113 ><TABLE
114 CLASS="NOTE"
115 WIDTH="100%"
116 BORDER="0"
117 ><TR
118 ><TD
119 WIDTH="25"
120 ALIGN="CENTER"
121 VALIGN="TOP"
122 ><IMG
123 SRC="../images/note.gif"
124 HSPACE="5"
125 ALT="Note"></TD
126 ><TD
127 ALIGN="LEFT"
128 VALIGN="TOP"
130 ><SPAN
131 CLASS="emphasis"
133 CLASS="EMPHASIS"
134 >Author's Note:</I
135 ></SPAN
136 > This document is a combination
137 of David Bannon's "Samba 2.2 PDC HOWTO" and "Samba NT Domain FAQ".
138 Both documents are superseded by this one.</P
139 ></TD
140 ></TR
141 ></TABLE
142 ></DIV
144 >Versions of Samba prior to release 2.2 had marginal capabilities to act
145 as a Windows NT 4.0 Primary Domain Controller
147 (PDC). With Samba 2.2.0, we are proud to announce official support for
148 Windows NT 4.0-style domain logons from Windows NT 4.0 and Windows
149 2000 clients. This article outlines the steps
150 necessary for configuring Samba as a PDC. It is necessary to have a
151 working Samba server prior to implementing the PDC functionality. If
152 you have not followed the steps outlined in <A
153 HREF="UNIX_INSTALL.html"
154 TARGET="_top"
155 > UNIX_INSTALL.html</A
156 >, please make sure
157 that your server is configured correctly before proceeding. Another
158 good resource in the <A
159 HREF="smb.conf.5.html"
160 TARGET="_top"
161 >smb.conf(5) man
162 page</A
163 >. The following functionality should work in 2.2:</P
165 ></P
166 ><UL
167 ><LI
169 > domain logons for Windows NT 4.0/2000 clients.
171 ></LI
172 ><LI
174 > placing a Windows 9x client in user level security
176 ></LI
177 ><LI
179 > retrieving a list of users and groups from a Samba PDC to
180 Windows 9x/NT/2000 clients
182 ></LI
183 ><LI
185 > roving (roaming) user profiles
187 ></LI
188 ><LI
190 > Windows NT 4.0-style system policies
192 ></LI
193 ></UL
195 >The following pieces of functionality are not included in the 2.2 release:</P
197 ></P
198 ><UL
199 ><LI
201 > Windows NT 4 domain trusts
203 ></LI
204 ><LI
206 > SAM replication with Windows NT 4.0 Domain Controllers
207 (i.e. a Samba PDC and a Windows NT BDC or vice versa)
209 ></LI
210 ><LI
212 > Adding users via the User Manager for Domains
214 ></LI
215 ><LI
217 > Acting as a Windows 2000 Domain Controller (i.e. Kerberos and
218 Active Directory)
220 ></LI
221 ></UL
223 >Please note that Windows 9x clients are not true members of a domain
224 for reasons outlined in this article. Therefore the protocol for
225 support Windows 9x-style domain logons is completely different
226 from NT4 domain logons and has been officially supported for some
227 time.</P
229 >Implementing a Samba PDC can basically be divided into 2 broad
230 steps.</P
232 ></P
233 ><OL
234 TYPE="1"
235 ><LI
237 > Configuring the Samba PDC
239 ></LI
240 ><LI
242 > Creating machine trust accounts and joining clients
243 to the domain
245 ></LI
246 ></OL
248 >There are other minor details such as user profiles, system
249 policies, etc... However, these are not necessarily specific
250 to a Samba PDC as much as they are related to Windows NT networking
251 concepts. They will be mentioned only briefly here.</P
252 ></DIV
253 ><DIV
254 CLASS="SECT1"
255 ><H1
256 CLASS="SECT1"
258 NAME="AEN620">6.3. Configuring the Samba Domain Controller</H1
260 >The first step in creating a working Samba PDC is to
261 understand the parameters necessary in smb.conf. I will not
262 attempt to re-explain the parameters here as they are more that
263 adequately covered in <A
264 HREF="smb.conf.5.html"
265 TARGET="_top"
266 > the smb.conf
267 man page</A
268 >. For convenience, the parameters have been
269 linked with the actual smb.conf description.</P
271 >Here is an example <TT
272 CLASS="FILENAME"
273 >smb.conf</TT
274 > for acting as a PDC:</P
276 ><PRE
277 CLASS="PROGRAMLISTING"
278 >[global]
279 ; Basic server settings
281 HREF="smb.conf.5.html#NETBIOSNAME"
282 TARGET="_top"
283 >netbios name</A
284 > = <TT
285 CLASS="REPLACEABLE"
287 >POGO</I
288 ></TT
291 HREF="smb.conf.5.html#WORKGROUP"
292 TARGET="_top"
293 >workgroup</A
294 > = <TT
295 CLASS="REPLACEABLE"
297 >NARNIA</I
298 ></TT
301 ; we should act as the domain and local master browser
303 HREF="smb.conf.5.html#OSLEVEL"
304 TARGET="_top"
305 >os level</A
306 > = 64
308 HREF="smb.conf.5.html#PERFERREDMASTER"
309 TARGET="_top"
310 >preferred master</A
311 > = yes
313 HREF="smb.conf.5.html#DOMAINMASTER"
314 TARGET="_top"
315 >domain master</A
316 > = yes
318 HREF="smb.conf.5.html#LOCALMASTER"
319 TARGET="_top"
320 >local master</A
321 > = yes
323 ; security settings (must user security = user)
325 HREF="smb.conf.5.html#SECURITYEQUALSUSER"
326 TARGET="_top"
327 >security</A
328 > = user
330 ; encrypted passwords are a requirement for a PDC
332 HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
333 TARGET="_top"
334 >encrypt passwords</A
335 > = yes
337 ; support domain logons
339 HREF="smb.conf.5.html#DOMAINLOGONS"
340 TARGET="_top"
341 >domain logons</A
342 > = yes
344 ; where to store user profiles?
346 HREF="smb.conf.5.html#LOGONPATH"
347 TARGET="_top"
348 >logon path</A
349 > = \\%N\profiles\%u
351 ; where is a user's home directory and where should it
352 ; be mounted at?
354 HREF="smb.conf.5.html#LOGONDRIVE"
355 TARGET="_top"
356 >logon drive</A
357 > = H:
359 HREF="smb.conf.5.html#LOGONHOME"
360 TARGET="_top"
361 >logon home</A
362 > = \\homeserver\%u
364 ; specify a generic logon script for all users
365 ; this is a relative **DOS** path to the [netlogon] share
367 HREF="smb.conf.5.html#LOGONSCRIPT"
368 TARGET="_top"
369 >logon script</A
370 > = logon.cmd
372 ; necessary share for domain controller
373 [netlogon]
375 HREF="smb.conf.5.html#PATH"
376 TARGET="_top"
377 >path</A
378 > = /usr/local/samba/lib/netlogon
380 HREF="smb.conf.5.html#READONLY"
381 TARGET="_top"
382 >read only</A
383 > = yes
385 HREF="smb.conf.5.html#WRITELIST"
386 TARGET="_top"
387 >write list</A
388 > = <TT
389 CLASS="REPLACEABLE"
391 >ntadmin</I
392 ></TT
395 ; share for storing user profiles
396 [profiles]
398 HREF="smb.conf.5.html#PATH"
399 TARGET="_top"
400 >path</A
401 > = /export/smb/ntprofile
403 HREF="smb.conf.5.html#READONLY"
404 TARGET="_top"
405 >read only</A
406 > = no
408 HREF="smb.conf.5.html#CREATEMASK"
409 TARGET="_top"
410 >create mask</A
411 > = 0600
413 HREF="smb.conf.5.html#DIRECTORYMASK"
414 TARGET="_top"
415 >directory mask</A
416 > = 0700</PRE
417 ></P
419 >There are a couple of points to emphasize in the above configuration.</P
421 ></P
422 ><UL
423 ><LI
425 > Encrypted passwords must be enabled. For more details on how
426 to do this, refer to <A
427 HREF="ENCRYPTION.html"
428 TARGET="_top"
429 >ENCRYPTION.html</A
432 ></LI
433 ><LI
435 > The server must support domain logons and a
437 CLASS="FILENAME"
438 >[netlogon]</TT
439 > share
441 ></LI
442 ><LI
444 > The server must be the domain master browser in order for Windows
445 client to locate the server as a DC. Please refer to the various
446 Network Browsing documentation included with this distribution for
447 details.
449 ></LI
450 ></UL
452 >As Samba 2.2 does not offer a complete implementation of group mapping
453 between Windows NT groups and Unix groups (this is really quite
454 complicated to explain in a short space), you should refer to the
456 HREF="smb.conf.5.html#DOMAINADMINGROUP"
457 TARGET="_top"
458 >domain admin
459 group</A
460 > smb.conf parameter for information of creating "Domain
461 Admins" style accounts.</P
462 ></DIV
463 ><DIV
464 CLASS="SECT1"
465 ><H1
466 CLASS="SECT1"
468 NAME="AEN663">6.4. Creating Machine Trust Accounts and Joining Clients to the
469 Domain</H1
471 >A machine trust account is a Samba account that is used to
472 authenticate a client machine (rather than a user) to the Samba
473 server. In Windows terminology, this is known as a "Computer
474 Account."</P
476 >The password of a machine trust account acts as the shared secret for
477 secure communication with the Domain Controller. This is a security
478 feature to prevent an unauthorized machine with the same NetBIOS name
479 from joining the domain and gaining access to domain user/group
480 accounts. Windows NT and 2000 clients use machine trust accounts, but
481 Windows 9x clients do not. Hence, a Windows 9x client is never a true
482 member of a domain because it does not possess a machine trust
483 account, and thus has no shared secret with the domain controller.</P
485 >A Windows PDC stores each machine trust account in the Windows
486 Registry. A Samba PDC, however, stores each machine trust account
487 in two parts, as follows:
490 ></P
491 ><UL
492 ><LI
494 >A Samba account, stored in the same location as user
495 LanMan and NT password hashes (currently
497 CLASS="FILENAME"
498 >smbpasswd</TT
499 >). The Samba account
500 possesses and uses only the NT password hash.</P
501 ></LI
502 ><LI
504 >A corresponding Unix account, typically stored in
506 CLASS="FILENAME"
507 >/etc/passwd</TT
508 >. (Future releases will alleviate the need to
509 create <TT
510 CLASS="FILENAME"
511 >/etc/passwd</TT
512 > entries.) </P
513 ></LI
514 ></UL
515 ></P
517 >There are two ways to create machine trust accounts:</P
519 ></P
520 ><UL
521 ><LI
523 > Manual creation. Both the Samba and corresponding
524 Unix account are created by hand.</P
525 ></LI
526 ><LI
528 > "On-the-fly" creation. The Samba machine trust
529 account is automatically created by Samba at the time the client
530 is joined to the domain. (For security, this is the
531 recommended method.) The corresponding Unix account may be
532 created automatically or manually. </P
533 ></LI
534 ></UL
535 ><DIV
536 CLASS="SECT2"
537 ><H2
538 CLASS="SECT2"
540 NAME="AEN682">6.4.1. Manual Creation of Machine Trust Accounts</H2
542 >The first step in manually creating a machine trust account is to
543 manually create the corresponding Unix account in
545 CLASS="FILENAME"
546 >/etc/passwd</TT
547 >. This can be done using
549 CLASS="COMMAND"
550 >vipw</B
551 > or other 'add user' command that is normally
552 used to create new Unix accounts. The following is an example for a
553 Linux based Samba server:</P
555 > <TT
556 CLASS="PROMPT"
557 >root# </TT
559 CLASS="COMMAND"
560 >/usr/sbin/useradd -g 100 -d /dev/null -c <TT
561 CLASS="REPLACEABLE"
563 >"machine
564 nickname"</I
565 ></TT
566 > -s /bin/false <TT
567 CLASS="REPLACEABLE"
569 >machine_name</I
570 ></TT
571 >$ </B
572 ></P
574 ><TT
575 CLASS="PROMPT"
576 >root# </TT
578 CLASS="COMMAND"
579 >passwd -l <TT
580 CLASS="REPLACEABLE"
582 >machine_name</I
583 ></TT
584 >$</B
585 ></P
587 >On *BSD systems, this can be done using the 'chpass' utility:</P
589 ><TT
590 CLASS="PROMPT"
591 >root# </TT
593 CLASS="COMMAND"
594 >chpass -a "<TT
595 CLASS="REPLACEABLE"
597 >machine_name</I
598 ></TT
599 >$:*:101:100::0:0:Workstation <TT
600 CLASS="REPLACEABLE"
602 >machine_name</I
603 ></TT
604 >:/dev/null:/sbin/nologin"</B
605 ></P
607 >The <TT
608 CLASS="FILENAME"
609 >/etc/passwd</TT
610 > entry will list the machine name
611 with a "$" appended, won't have a password, will have a null shell and no
612 home directory. For example a machine named 'doppy' would have an
614 CLASS="FILENAME"
615 >/etc/passwd</TT
616 > entry like this:</P
618 ><PRE
619 CLASS="PROGRAMLISTING"
620 >doppy$:x:505:501:<TT
621 CLASS="REPLACEABLE"
623 >machine_nickname</I
624 ></TT
625 >:/dev/null:/bin/false</PRE
626 ></P
628 >Above, <TT
629 CLASS="REPLACEABLE"
631 >machine_nickname</I
632 ></TT
633 > can be any
634 descriptive name for the client, i.e., BasementComputer.
636 CLASS="REPLACEABLE"
638 >machine_name</I
639 ></TT
640 > absolutely must be the NetBIOS
641 name of the client to be joined to the domain. The "$" must be
642 appended to the NetBIOS name of the client or Samba will not recognize
643 this as a machine trust account.</P
645 >Now that the corresponding Unix account has been created, the next step is to create
646 the Samba account for the client containing the well-known initial
647 machine trust account password. This can be done using the <A
648 HREF="smbpasswd.8.html"
649 TARGET="_top"
651 CLASS="COMMAND"
652 >smbpasswd(8)</B
653 ></A
654 > command
655 as shown here:</P
657 ><TT
658 CLASS="PROMPT"
659 >root# </TT
661 CLASS="COMMAND"
662 >smbpasswd -a -m <TT
663 CLASS="REPLACEABLE"
665 >machine_name</I
666 ></TT
667 ></B
668 ></P
670 >where <TT
671 CLASS="REPLACEABLE"
673 >machine_name</I
674 ></TT
675 > is the machine's NetBIOS
676 name. The RID of the new machine account is generated from the UID of
677 the corresponding Unix account.</P
678 ><DIV
679 CLASS="WARNING"
681 ></P
682 ><TABLE
683 CLASS="WARNING"
684 WIDTH="100%"
685 BORDER="0"
686 ><TR
687 ><TD
688 WIDTH="25"
689 ALIGN="CENTER"
690 VALIGN="TOP"
691 ><IMG
692 SRC="../images/warning.gif"
693 HSPACE="5"
694 ALT="Warning"></TD
695 ><TH
696 ALIGN="LEFT"
697 VALIGN="CENTER"
699 >Join the client to the domain immediately</B
700 ></TH
701 ></TR
702 ><TR
703 ><TD
704 >&nbsp;</TD
705 ><TD
706 ALIGN="LEFT"
707 VALIGN="TOP"
709 > Manually creating a machine trust account using this method is the
710 equivalent of creating a machine trust account on a Windows NT PDC using
711 the "Server Manager". From the time at which the account is created
712 to the time which the client joins the domain and changes the password,
713 your domain is vulnerable to an intruder joining your domain using a
714 a machine with the same NetBIOS name. A PDC inherently trusts
715 members of the domain and will serve out a large degree of user
716 information to such clients. You have been warned!
718 ></TD
719 ></TR
720 ></TABLE
721 ></DIV
722 ></DIV
723 ><DIV
724 CLASS="SECT2"
725 ><H2
726 CLASS="SECT2"
728 NAME="AEN723">6.4.2. "On-the-Fly" Creation of Machine Trust Accounts</H2
730 >The second (and recommended) way of creating machine trust accounts is
731 simply to allow the Samba server to create them as needed when the client
732 is joined to the domain. </P
734 >Since each Samba machine trust account requires a corresponding
735 Unix account, a method for automatically creating the
736 Unix account is usually supplied; this requires configuration of the
738 HREF="smb.conf.5.html#ADDUSERSCRIPT"
739 TARGET="_top"
740 >add user script</A
742 option in <TT
743 CLASS="FILENAME"
744 >smb.conf</TT
745 >. This
746 method is not required, however; corresponding Unix accounts may also
747 be created manually.</P
749 >Below is an example for a RedHat 6.2 Linux system.</P
751 ><PRE
752 CLASS="PROGRAMLISTING"
753 >[global]
754 # &#60;...remainder of parameters...&#62;
755 add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u </PRE
756 ></P
757 ></DIV
758 ><DIV
759 CLASS="SECT2"
760 ><H2
761 CLASS="SECT2"
763 NAME="AEN732">6.4.3. Joining the Client to the Domain</H2
765 >The procedure for joining a client to the domain varies with the
766 version of Windows.</P
768 ></P
769 ><UL
770 ><LI
772 ><SPAN
773 CLASS="emphasis"
775 CLASS="EMPHASIS"
776 >Windows 2000</I
777 ></SPAN
778 ></P
780 > When the user elects to join the client to a domain, Windows prompts for
781 an account and password that is privileged to join the domain. A
782 Samba administrative account (i.e., a Samba account that has root
783 privileges on the Samba server) must be entered here; the
784 operation will fail if an ordinary user account is given.
785 The password for this account should be
786 set to a different password than the associated
788 CLASS="FILENAME"
789 >/etc/passwd</TT
790 > entry, for security
791 reasons. </P
793 >The session key of the Samba administrative account acts as an
794 encryption key for setting the password of the machine trust
795 account. The machine trust account will be created on-the-fly, or
796 updated if it already exists.</P
797 ></LI
798 ><LI
800 ><SPAN
801 CLASS="emphasis"
803 CLASS="EMPHASIS"
804 >Windows NT</I
805 ></SPAN
806 ></P
808 > If the machine trust account was created manually, on the
809 Identification Changes menu enter the domain name, but do not
810 check the box "Create a Computer Account in the Domain." In this case,
811 the existing machine trust account is used to join the machine to
812 the domain.</P
814 > If the machine trust account is to be created
815 on-the-fly, on the Identification Changes menu enter the domain
816 name, and check the box "Create a Computer Account in the Domain." In
817 this case, joining the domain proceeds as above for Windows 2000
818 (i.e., you must supply a Samba administrative account when
819 prompted).</P
820 ></LI
821 ></UL
822 ></DIV
823 ></DIV
824 ><DIV
825 CLASS="SECT1"
826 ><H1
827 CLASS="SECT1"
829 NAME="AEN747">6.5. Common Problems and Errors</H1
831 ></P
833 ></P
834 ><UL
835 ><LI
837 > <SPAN
838 CLASS="emphasis"
840 CLASS="EMPHASIS"
841 >I cannot include a '$' in a machine name.</I
842 ></SPAN
846 > A 'machine name' in (typically) <TT
847 CLASS="FILENAME"
848 >/etc/passwd</TT
850 of the machine name with a '$' appended. FreeBSD (and other BSD
851 systems?) won't create a user with a '$' in their name.
854 > The problem is only in the program used to make the entry, once
855 made, it works perfectly. So create a user without the '$' and
856 use <B
857 CLASS="COMMAND"
858 >vipw</B
859 > to edit the entry, adding the '$'. Or create
860 the whole entry with vipw if you like, make sure you use a
861 unique User ID !
863 ></LI
864 ><LI
866 > <SPAN
867 CLASS="emphasis"
869 CLASS="EMPHASIS"
870 >I get told "You already have a connection to the Domain...."
871 or "Cannot join domain, the credentials supplied conflict with an
872 existing set.." when creating a machine trust account.</I
873 ></SPAN
877 > This happens if you try to create a machine trust account from the
878 machine itself and already have a connection (e.g. mapped drive)
879 to a share (or IPC$) on the Samba PDC. The following command
880 will remove all network drive connections:
883 > <TT
884 CLASS="PROMPT"
885 >C:\WINNT\&#62;</TT
886 > <B
887 CLASS="COMMAND"
888 >net use * /d</B
892 > Further, if the machine is a already a 'member of a workgroup' that
893 is the same name as the domain you are joining (bad idea) you will
894 get this message. Change the workgroup name to something else, it
895 does not matter what, reboot, and try again.
897 ></LI
898 ><LI
900 > <SPAN
901 CLASS="emphasis"
903 CLASS="EMPHASIS"
904 >The system can not log you on (C000019B)....</I
905 ></SPAN
909 >I joined the domain successfully but after upgrading
910 to a newer version of the Samba code I get the message, "The system
911 can not log you on (C000019B), Please try a gain or consult your
912 system administrator" when attempting to logon.
915 > This occurs when the domain SID stored in
917 CLASS="FILENAME"
918 >private/WORKGROUP.SID</TT
919 > is
920 changed. For example, you remove the file and <B
921 CLASS="COMMAND"
922 >smbd</B
923 > automatically
924 creates a new one. Or you are swapping back and forth between
925 versions 2.0.7, TNG and the HEAD branch code (not recommended). The
926 only way to correct the problem is to restore the original domain
927 SID or remove the domain client from the domain and rejoin.
929 ></LI
930 ><LI
932 > <SPAN
933 CLASS="emphasis"
935 CLASS="EMPHASIS"
936 >The machine trust account for this computer either does not
937 exist or is not accessible.</I
938 ></SPAN
942 > When I try to join the domain I get the message "The machine account
943 for this computer either does not exist or is not accessible". What's
944 wrong?
947 > This problem is caused by the PDC not having a suitable machine trust account.
948 If you are using the <TT
949 CLASS="PARAMETER"
951 >add user script</I
952 ></TT
953 > method to create
954 accounts then this would indicate that it has not worked. Ensure the domain
955 admin user system is working.
958 > Alternatively if you are creating account entries manually then they
959 have not been created correctly. Make sure that you have the entry
960 correct for the machine trust account in smbpasswd file on the Samba PDC.
961 If you added the account using an editor rather than using the smbpasswd
962 utility, make sure that the account name is the machine NetBIOS name
963 with a '$' appended to it ( i.e. computer_name$ ). There must be an entry
964 in both /etc/passwd and the smbpasswd file. Some people have reported
965 that inconsistent subnet masks between the Samba server and the NT
966 client have caused this problem. Make sure that these are consistent
967 for both client and server.
969 ></LI
970 ><LI
972 > <SPAN
973 CLASS="emphasis"
975 CLASS="EMPHASIS"
976 >When I attempt to login to a Samba Domain from a NT4/W2K workstation,
977 I get a message about my account being disabled.</I
978 ></SPAN
982 > This problem is caused by a PAM related bug in Samba 2.2.0. This bug is
983 fixed in 2.2.1. Other symptoms could be unaccessible shares on
984 NT/W2K member servers in the domain or the following error in your smbd.log:
985 passdb/pampass.c:pam_account(268) PAM: UNKNOWN ERROR for User: %user%
988 > At first be ensure to enable the useraccounts with <B
989 CLASS="COMMAND"
990 >smbpasswd -e
991 %user%</B
992 >, this is normally done, when you create an account.
995 > In order to work around this problem in 2.2.0, configure the
997 CLASS="PARAMETER"
999 >account</I
1000 ></TT
1001 > control flag in
1003 CLASS="FILENAME"
1004 >/etc/pam.d/samba</TT
1005 > file as follows:
1008 ><PRE
1009 CLASS="PROGRAMLISTING"
1010 > account required pam_permit.so
1011 </PRE
1012 ></P
1014 > If you want to remain backward compatibility to samba 2.0.x use
1016 CLASS="FILENAME"
1017 >pam_permit.so</TT
1018 >, it's also possible to use
1020 CLASS="FILENAME"
1021 >pam_pwdb.so</TT
1022 >. There are some bugs if you try to
1023 use <TT
1024 CLASS="FILENAME"
1025 >pam_unix.so</TT
1026 >, if you need this, be ensure to use
1027 the most recent version of this file.
1029 ></LI
1030 ></UL
1031 ></DIV
1032 ><DIV
1033 CLASS="SECT1"
1034 ><H1
1035 CLASS="SECT1"
1037 NAME="AEN795">6.6. System Policies and Profiles</H1
1039 >Much of the information necessary to implement System Policies and
1040 Roving User Profiles in a Samba domain is the same as that for
1041 implementing these same items in a Windows NT 4.0 domain.
1042 You should read the white paper <A
1043 HREF="http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp"
1044 TARGET="_top"
1045 >Implementing
1046 Profiles and Policies in Windows NT 4.0</A
1047 > available from Microsoft.</P
1049 >Here are some additional details:</P
1051 ></P
1052 ><UL
1053 ><LI
1055 > <SPAN
1056 CLASS="emphasis"
1058 CLASS="EMPHASIS"
1059 >What about Windows NT Policy Editor?</I
1060 ></SPAN
1064 > To create or edit <TT
1065 CLASS="FILENAME"
1066 >ntconfig.pol</TT
1067 > you must use
1068 the NT Server Policy Editor, <B
1069 CLASS="COMMAND"
1070 >poledit.exe</B
1071 > which
1072 is included with NT Server but <SPAN
1073 CLASS="emphasis"
1075 CLASS="EMPHASIS"
1076 >not NT Workstation</I
1077 ></SPAN
1079 There is a Policy Editor on a NTws
1080 but it is not suitable for creating <SPAN
1081 CLASS="emphasis"
1083 CLASS="EMPHASIS"
1084 >Domain Policies</I
1085 ></SPAN
1087 Further, although the Windows 95
1088 Policy Editor can be installed on an NT Workstation/Server, it will not
1089 work with NT policies because the registry key that are set by the policy templates.
1090 However, the files from the NT Server will run happily enough on an NTws.
1091 You need <TT
1092 CLASS="FILENAME"
1093 >poledit.exe, common.adm</TT
1094 > and <TT
1095 CLASS="FILENAME"
1096 >winnt.adm</TT
1097 >. It is convenient
1098 to put the two *.adm files in <TT
1099 CLASS="FILENAME"
1100 >c:\winnt\inf</TT
1101 > which is where
1102 the binary will look for them unless told otherwise. Note also that that
1103 directory is 'hidden'.
1106 > The Windows NT policy editor is also included with the Service Pack 3 (and
1107 later) for Windows NT 4.0. Extract the files using <B
1108 CLASS="COMMAND"
1109 >servicepackname /x</B
1111 i.e. that's <B
1112 CLASS="COMMAND"
1113 >Nt4sp6ai.exe /x</B
1114 > for service pack 6a. The policy editor,
1116 CLASS="COMMAND"
1117 >poledit.exe</B
1118 > and the associated template files (*.adm) should
1119 be extracted as well. It is also possible to downloaded the policy template
1120 files for Office97 and get a copy of the policy editor. Another possible
1121 location is with the Zero Administration Kit available for download from Microsoft.
1123 ></LI
1124 ><LI
1126 > <SPAN
1127 CLASS="emphasis"
1129 CLASS="EMPHASIS"
1130 >Can Win95 do Policies?</I
1131 ></SPAN
1135 > Install the group policy handler for Win9x to pick up group
1136 policies. Look on the Win98 CD in <TT
1137 CLASS="FILENAME"
1138 >\tools\reskit\netadmin\poledit</TT
1140 Install group policies on a Win9x client by double-clicking
1142 CLASS="FILENAME"
1143 >grouppol.inf</TT
1144 >. Log off and on again a couple of
1145 times and see if Win98 picks up group policies. Unfortunately this needs
1146 to be done on every Win9x machine that uses group policies....
1149 > If group policies don't work one reports suggests getting the updated
1150 (read: working) grouppol.dll for Windows 9x. The group list is grabbed
1151 from /etc/group.
1153 ></LI
1154 ><LI
1156 > <SPAN
1157 CLASS="emphasis"
1159 CLASS="EMPHASIS"
1160 >How do I get 'User Manager' and 'Server Manager'</I
1161 ></SPAN
1165 > Since I don't need to buy an NT Server CD now, how do I get
1166 the 'User Manager for Domains', the 'Server Manager'?
1169 > Microsoft distributes a version of these tools called nexus for
1170 installation on Windows 95 systems. The tools set includes
1173 ></P
1174 ><UL
1175 ><LI
1177 >Server Manager</P
1178 ></LI
1179 ><LI
1181 >User Manager for Domains</P
1182 ></LI
1183 ><LI
1185 >Event Viewer</P
1186 ></LI
1187 ></UL
1189 > Click here to download the archived file <A
1190 HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE"
1191 TARGET="_top"
1192 >ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE</A
1196 > The Windows NT 4.0 version of the 'User Manager for
1197 Domains' and 'Server Manager' are available from Microsoft via ftp
1198 from <A
1199 HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE"
1200 TARGET="_top"
1201 >ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE</A
1204 ></LI
1205 ></UL
1206 ></DIV
1207 ><DIV
1208 CLASS="SECT1"
1209 ><H1
1210 CLASS="SECT1"
1212 NAME="AEN839">6.7. What other help can I get?</H1
1214 >There are many sources of information available in the form
1215 of mailing lists, RFC's and documentation. The docs that come
1216 with the samba distribution contain very good explanations of
1217 general SMB topics such as browsing.</P
1219 ></P
1220 ><UL
1221 ><LI
1223 > <SPAN
1224 CLASS="emphasis"
1226 CLASS="EMPHASIS"
1227 >What are some diagnostics tools I can use to debug the domain logon
1228 process and where can I find them?</I
1229 ></SPAN
1233 > One of the best diagnostic tools for debugging problems is Samba itself.
1234 You can use the -d option for both smbd and nmbd to specify what
1235 'debug level' at which to run. See the man pages on smbd, nmbd and
1236 smb.conf for more information on debugging options. The debug
1237 level can range from 1 (the default) to 10 (100 for debugging passwords).
1240 > Another helpful method of debugging is to compile samba using the
1242 CLASS="COMMAND"
1243 >gcc -g </B
1244 > flag. This will include debug
1245 information in the binaries and allow you to attach gdb to the
1246 running smbd / nmbd process. In order to attach gdb to an smbd
1247 process for an NT workstation, first get the workstation to make the
1248 connection. Pressing ctrl-alt-delete and going down to the domain box
1249 is sufficient (at least, on the first time you join the domain) to
1250 generate a 'LsaEnumTrustedDomains'. Thereafter, the workstation
1251 maintains an open connection, and therefore there will be an smbd
1252 process running (assuming that you haven't set a really short smbd
1253 idle timeout) So, in between pressing ctrl alt delete, and actually
1254 typing in your password, you can gdb attach and continue.
1257 > Some useful samba commands worth investigating:
1260 ></P
1261 ><UL
1262 ><LI
1264 >testparam | more</P
1265 ></LI
1266 ><LI
1268 >smbclient -L //{netbios name of server}</P
1269 ></LI
1270 ></UL
1272 > An SMB enabled version of tcpdump is available from
1274 HREF="http://www.tcpdump.org/"
1275 TARGET="_top"
1276 >http://www.tcpdup.org/</A
1278 Ethereal, another good packet sniffer for Unix and Win32
1279 hosts, can be downloaded from <A
1280 HREF="http://www.ethereal.com/"
1281 TARGET="_top"
1282 >http://www.ethereal.com</A
1286 > For tracing things on the Microsoft Windows NT, Network Monitor
1287 (aka. netmon) is available on the Microsoft Developer Network CD's,
1288 the Windows NT Server install CD and the SMS CD's. The version of
1289 netmon that ships with SMS allows for dumping packets between any two
1290 computers (i.e. placing the network interface in promiscuous mode).
1291 The version on the NT Server install CD will only allow monitoring
1292 of network traffic directed to the local NT box and broadcasts on the
1293 local subnet. Be aware that Ethereal can read and write netmon
1294 formatted files.
1296 ></LI
1297 ><LI
1299 > <SPAN
1300 CLASS="emphasis"
1302 CLASS="EMPHASIS"
1303 >How do I install 'Network Monitor' on an NT Workstation
1304 or a Windows 9x box?</I
1305 ></SPAN
1309 > Installing netmon on an NT workstation requires a couple
1310 of steps. The following are for installing Netmon V4.00.349, which comes
1311 with Microsoft Windows NT Server 4.0, on Microsoft Windows NT
1312 Workstation 4.0. The process should be similar for other version of
1313 Windows NT / Netmon. You will need both the Microsoft Windows
1314 NT Server 4.0 Install CD and the Workstation 4.0 Install CD.
1317 > Initially you will need to install 'Network Monitor Tools and Agent'
1318 on the NT Server. To do this
1321 ></P
1322 ><UL
1323 ><LI
1325 >Goto Start - Settings - Control Panel -
1326 Network - Services - Add </P
1327 ></LI
1328 ><LI
1330 >Select the 'Network Monitor Tools and Agent' and
1331 click on 'OK'.</P
1332 ></LI
1333 ><LI
1335 >Click 'OK' on the Network Control Panel.
1337 ></LI
1338 ><LI
1340 >Insert the Windows NT Server 4.0 install CD
1341 when prompted.</P
1342 ></LI
1343 ></UL
1345 > At this point the Netmon files should exist in
1347 CLASS="FILENAME"
1348 >%SYSTEMROOT%\System32\netmon\*.*</TT
1350 Two subdirectories exist as well, <TT
1351 CLASS="FILENAME"
1352 >parsers\</TT
1354 which contains the necessary DLL's for parsing the netmon packet
1355 dump, and <TT
1356 CLASS="FILENAME"
1357 >captures\</TT
1361 > In order to install the Netmon tools on an NT Workstation, you will
1362 first need to install the 'Network Monitor Agent' from the Workstation
1363 install CD.
1366 ></P
1367 ><UL
1368 ><LI
1370 >Goto Start - Settings - Control Panel -
1371 Network - Services - Add</P
1372 ></LI
1373 ><LI
1375 >Select the 'Network Monitor Agent' and click
1376 on 'OK'.</P
1377 ></LI
1378 ><LI
1380 >Click 'OK' on the Network Control Panel.
1382 ></LI
1383 ><LI
1385 >Insert the Windows NT Workstation 4.0 install
1386 CD when prompted.</P
1387 ></LI
1388 ></UL
1390 > Now copy the files from the NT Server in %SYSTEMROOT%\System32\netmon\*.*
1391 to %SYSTEMROOT%\System32\netmon\*.* on the Workstation and set
1392 permissions as you deem appropriate for your site. You will need
1393 administrative rights on the NT box to run netmon.
1396 > To install Netmon on a Windows 9x box install the network monitor agent
1397 from the Windows 9x CD (\admin\nettools\netmon). There is a readme
1398 file located with the netmon driver files on the CD if you need
1399 information on how to do this. Copy the files from a working
1400 Netmon installation.
1402 ></LI
1403 ><LI
1405 > The following is a list if helpful URLs and other links:
1408 ></P
1409 ><UL
1410 ><LI
1412 >Home of Samba site <A
1413 HREF="http://samba.org"
1414 TARGET="_top"
1415 > http://samba.org</A
1416 >. We have a mirror near you !</P
1417 ></LI
1418 ><LI
1420 > The <SPAN
1421 CLASS="emphasis"
1423 CLASS="EMPHASIS"
1424 >Development</I
1425 ></SPAN
1426 > document
1427 on the Samba mirrors might mention your problem. If so,
1428 it might mean that the developers are working on it.</P
1429 ></LI
1430 ><LI
1432 >See how Scott Merrill simulates a BDC behavior at
1434 HREF="http://www.skippy.net/linux/smb-howto.html"
1435 TARGET="_top"
1436 > http://www.skippy.net/linux/smb-howto.html</A
1437 >. </P
1438 ></LI
1439 ><LI
1441 >Although 2.0.7 has almost had its day as a PDC, David Bannon will
1442 keep the 2.0.7 PDC pages at <A
1443 HREF="http://bioserve.latrobe.edu.au/samba"
1444 TARGET="_top"
1445 > http://bioserve.latrobe.edu.au/samba</A
1446 > going for a while yet.</P
1447 ></LI
1448 ><LI
1450 >Misc links to CIFS information
1452 HREF="http://samba.org/cifs/"
1453 TARGET="_top"
1454 >http://samba.org/cifs/</A
1455 ></P
1456 ></LI
1457 ><LI
1459 >NT Domains for Unix <A
1460 HREF="http://mailhost.cb1.com/~lkcl/ntdom/"
1461 TARGET="_top"
1462 > http://mailhost.cb1.com/~lkcl/ntdom/</A
1463 ></P
1464 ></LI
1465 ><LI
1467 >FTP site for older SMB specs:
1469 HREF="ftp://ftp.microsoft.com/developr/drg/CIFS/"
1470 TARGET="_top"
1471 > ftp://ftp.microsoft.com/developr/drg/CIFS/</A
1472 ></P
1473 ></LI
1474 ></UL
1475 ></LI
1476 ></UL
1478 ></P
1479 ><UL
1480 ><LI
1482 > <SPAN
1483 CLASS="emphasis"
1485 CLASS="EMPHASIS"
1486 >How do I get help from the mailing lists?</I
1487 ></SPAN
1491 > There are a number of Samba related mailing lists. Go to <A
1492 HREF="http://samba.org"
1493 TARGET="_top"
1494 >http://samba.org</A
1495 >, click on your nearest mirror
1496 and then click on <B
1497 CLASS="COMMAND"
1498 >Support</B
1499 > and then click on <B
1500 CLASS="COMMAND"
1501 > Samba related mailing lists</B
1505 > For questions relating to Samba TNG go to
1507 HREF="http://www.samba-tng.org/"
1508 TARGET="_top"
1509 >http://www.samba-tng.org/</A
1511 It has been requested that you don't post questions about Samba-TNG to the
1512 main stream Samba lists.</P
1514 > If you post a message to one of the lists please observe the following guide lines :
1517 ></P
1518 ><UL
1519 ><LI
1521 > Always remember that the developers are volunteers, they are
1522 not paid and they never guarantee to produce a particular feature at
1523 a particular time. Any time lines are 'best guess' and nothing more.
1525 ></LI
1526 ><LI
1528 > Always mention what version of samba you are using and what
1529 operating system its running under. You should probably list the
1530 relevant sections of your smb.conf file, at least the options
1531 in [global] that affect PDC support.</P
1532 ></LI
1533 ><LI
1535 >In addition to the version, if you obtained Samba via
1536 CVS mention the date when you last checked it out.</P
1537 ></LI
1538 ><LI
1540 > Try and make your question clear and brief, lots of long,
1541 convoluted questions get deleted before they are completely read !
1542 Don't post html encoded messages (if you can select colour or font
1543 size its html).</P
1544 ></LI
1545 ><LI
1547 > If you run one of those nifty 'I'm on holidays' things when
1548 you are away, make sure its configured to not answer mailing lists.
1550 ></LI
1551 ><LI
1553 > Don't cross post. Work out which is the best list to post to
1554 and see what happens, i.e. don't post to both samba-ntdom and samba-technical.
1555 Many people active on the lists subscribe to more
1556 than one list and get annoyed to see the same message two or more times.
1557 Often someone will see a message and thinking it would be better dealt
1558 with on another, will forward it on for you.</P
1559 ></LI
1560 ><LI
1562 >You might include <SPAN
1563 CLASS="emphasis"
1565 CLASS="EMPHASIS"
1566 >partial</I
1567 ></SPAN
1569 log files written at a debug level set to as much as 20.
1570 Please don't send the entire log but enough to give the context of the
1571 error messages.</P
1572 ></LI
1573 ><LI
1575 >(Possibly) If you have a complete netmon trace ( from the opening of
1576 the pipe to the error ) you can send the *.CAP file as well.</P
1577 ></LI
1578 ><LI
1580 >Please think carefully before attaching a document to an email.
1581 Consider pasting the relevant parts into the body of the message. The samba
1582 mailing lists go to a huge number of people, do they all need a copy of your
1583 smb.conf in their attach directory?</P
1584 ></LI
1585 ></UL
1586 ></LI
1587 ><LI
1589 > <SPAN
1590 CLASS="emphasis"
1592 CLASS="EMPHASIS"
1593 >How do I get off the mailing lists?</I
1594 ></SPAN
1598 >To have your name removed from a samba mailing list, go to the
1599 same place you went to to get on it. Go to <A
1600 HREF="http://lists.samba.org/"
1601 TARGET="_top"
1602 >http://lists.samba.org</A
1604 click on your nearest mirror and then click on <B
1605 CLASS="COMMAND"
1606 >Support</B
1607 > and
1608 then click on <B
1609 CLASS="COMMAND"
1610 > Samba related mailing lists</B
1611 >. Or perhaps see
1613 HREF="http://lists.samba.org/mailman/roster/samba-ntdom"
1614 TARGET="_top"
1615 >here</A
1619 > Please don't post messages to the list asking to be removed, you will just
1620 be referred to the above address (unless that process failed in some way...)
1622 ></LI
1623 ></UL
1624 ></DIV
1625 ><DIV
1626 CLASS="SECT1"
1627 ><H1
1628 CLASS="SECT1"
1630 NAME="AEN953">6.8. Domain Control for Windows 9x/ME</H1
1631 ><DIV
1632 CLASS="NOTE"
1634 ></P
1635 ><TABLE
1636 CLASS="NOTE"
1637 WIDTH="100%"
1638 BORDER="0"
1639 ><TR
1640 ><TD
1641 WIDTH="25"
1642 ALIGN="CENTER"
1643 VALIGN="TOP"
1644 ><IMG
1645 SRC="../images/note.gif"
1646 HSPACE="5"
1647 ALT="Note"></TD
1648 ><TD
1649 ALIGN="LEFT"
1650 VALIGN="TOP"
1652 >The following section contains much of the original
1653 DOMAIN.txt file previously included with Samba. Much of
1654 the material is based on what went into the book <SPAN
1655 CLASS="emphasis"
1657 CLASS="EMPHASIS"
1658 >Special
1659 Edition, Using Samba</I
1660 ></SPAN
1661 >, by Richard Sharpe.</P
1662 ></TD
1663 ></TR
1664 ></TABLE
1665 ></DIV
1667 >A domain and a workgroup are exactly the same thing in terms of network
1668 browsing. The difference is that a distributable authentication
1669 database is associated with a domain, for secure login access to a
1670 network. Also, different access rights can be granted to users if they
1671 successfully authenticate against a domain logon server (NT server and
1672 other systems based on NT server support this, as does at least Samba TNG now).</P
1674 >The SMB client logging on to a domain has an expectation that every other
1675 server in the domain should accept the same authentication information.
1676 Network browsing functionality of domains and workgroups is
1677 identical and is explained in BROWSING.txt. It should be noted, that browsing
1678 is totally orthogonal to logon support.</P
1680 >Issues related to the single-logon network model are discussed in this
1681 section. Samba supports domain logons, network logon scripts, and user
1682 profiles for MS Windows for workgroups and MS Windows 9X/ME clients
1683 which will be the focus of this section.</P
1685 >When an SMB client in a domain wishes to logon it broadcast requests for a
1686 logon server. The first one to reply gets the job, and validates its
1687 password using whatever mechanism the Samba administrator has installed.
1688 It is possible (but very stupid) to create a domain where the user
1689 database is not shared between servers, i.e. they are effectively workgroup
1690 servers advertising themselves as participating in a domain. This
1691 demonstrates how authentication is quite different from but closely
1692 involved with domains.</P
1694 >Using these features you can make your clients verify their logon via
1695 the Samba server; make clients run a batch file when they logon to
1696 the network and download their preferences, desktop and start menu.</P
1698 >Before launching into the configuration instructions, it is
1699 worthwhile lookingat how a Windows 9x/ME client performs a logon:</P
1701 ></P
1702 ><OL
1703 TYPE="1"
1704 ><LI
1706 > The client broadcasts (to the IP broadcast address of the subnet it is in)
1707 a NetLogon request. This is sent to the NetBIOS name DOMAIN&#60;1c&#62; at the
1708 NetBIOS layer. The client chooses the first response it receives, which
1709 contains the NetBIOS name of the logon server to use in the format of
1710 \\SERVER.
1712 ></LI
1713 ><LI
1715 > The client then connects to that server, logs on (does an SMBsessetupX) and
1716 then connects to the IPC$ share (using an SMBtconX).
1718 ></LI
1719 ><LI
1721 > The client then does a NetWkstaUserLogon request, which retrieves the name
1722 of the user's logon script.
1724 ></LI
1725 ><LI
1727 > The client then connects to the NetLogon share and searches for this
1728 and if it is found and can be read, is retrieved and executed by the client.
1729 After this, the client disconnects from the NetLogon share.
1731 ></LI
1732 ><LI
1734 > The client then sends a NetUserGetInfo request to the server, to retrieve
1735 the user's home share, which is used to search for profiles. Since the
1736 response to the NetUserGetInfo request does not contain much more
1737 the user's home share, profiles for Win9X clients MUST reside in the user
1738 home directory.
1740 ></LI
1741 ><LI
1743 > The client then connects to the user's home share and searches for the
1744 user's profile. As it turns out, you can specify the user's home share as
1745 a sharename and path. For example, \\server\fred\.profile.
1746 If the profiles are found, they are implemented.
1748 ></LI
1749 ><LI
1751 > The client then disconnects from the user's home share, and reconnects to
1752 the NetLogon share and looks for CONFIG.POL, the policies file. If this is
1753 found, it is read and implemented.
1755 ></LI
1756 ></OL
1757 ><DIV
1758 CLASS="SECT2"
1759 ><H2
1760 CLASS="SECT2"
1762 NAME="AEN979">6.8.1. Configuration Instructions: Network Logons</H2
1764 >The main difference between a PDC and a Windows 9x logon
1765 server configuration is that</P
1767 ></P
1768 ><UL
1769 ><LI
1771 >Password encryption is not required for a Windows 9x logon server.</P
1772 ></LI
1773 ><LI
1775 >Windows 9x/ME clients do not possess machine trust accounts.</P
1776 ></LI
1777 ></UL
1779 >Therefore, a Samba PDC will also act as a Windows 9x logon
1780 server.</P
1781 ><DIV
1782 CLASS="WARNING"
1784 ></P
1785 ><TABLE
1786 CLASS="WARNING"
1787 WIDTH="100%"
1788 BORDER="0"
1789 ><TR
1790 ><TD
1791 WIDTH="25"
1792 ALIGN="CENTER"
1793 VALIGN="TOP"
1794 ><IMG
1795 SRC="../images/warning.gif"
1796 HSPACE="5"
1797 ALT="Warning"></TD
1798 ><TH
1799 ALIGN="LEFT"
1800 VALIGN="CENTER"
1802 >security mode and master browsers</B
1803 ></TH
1804 ></TR
1805 ><TR
1806 ><TD
1807 >&nbsp;</TD
1808 ><TD
1809 ALIGN="LEFT"
1810 VALIGN="TOP"
1812 >There are a few comments to make in order to tie up some
1813 loose ends. There has been much debate over the issue of whether
1814 or not it is ok to configure Samba as a Domain Controller in security
1815 modes other than <TT
1816 CLASS="CONSTANT"
1817 >USER</TT
1818 >. The only security mode
1819 which will not work due to technical reasons is <TT
1820 CLASS="CONSTANT"
1821 >SHARE</TT
1823 mode security. <TT
1824 CLASS="CONSTANT"
1825 >DOMAIN</TT
1826 > and <TT
1827 CLASS="CONSTANT"
1828 >SERVER</TT
1830 mode security is really just a variation on SMB user level security.</P
1832 >Actually, this issue is also closely tied to the debate on whether
1833 or not Samba must be the domain master browser for its workgroup
1834 when operating as a DC. While it may technically be possible
1835 to configure a server as such (after all, browsing and domain logons
1836 are two distinctly different functions), it is not a good idea to
1837 so. You should remember that the DC must register the DOMAIN#1b NetBIOS
1838 name. This is the name used by Windows clients to locate the DC.
1839 Windows clients do not distinguish between the DC and the DMB.
1840 For this reason, it is very wise to configure the Samba DC as the DMB.</P
1842 >Now back to the issue of configuring a Samba DC to use a mode other
1843 than "security = user". If a Samba host is configured to use
1844 another SMB server or DC in order to validate user connection
1845 requests, then it is a fact that some other machine on the network
1846 (the "password server") knows more about user than the Samba host.
1847 99% of the time, this other host is a domain controller. Now
1848 in order to operate in domain mode security, the "workgroup" parameter
1849 must be set to the name of the Windows NT domain (which already
1850 has a domain controller, right?)</P
1852 >Therefore configuring a Samba box as a DC for a domain that
1853 already by definition has a PDC is asking for trouble.
1854 Therefore, you should always configure the Samba DC to be the DMB
1855 for its domain.</P
1856 ></TD
1857 ></TR
1858 ></TABLE
1859 ></DIV
1860 ></DIV
1861 ><DIV
1862 CLASS="SECT2"
1863 ><H2
1864 CLASS="SECT2"
1866 NAME="AEN998">6.8.2. Configuration Instructions: Setting up Roaming User Profiles</H2
1867 ><DIV
1868 CLASS="WARNING"
1870 ></P
1871 ><TABLE
1872 CLASS="WARNING"
1873 WIDTH="100%"
1874 BORDER="0"
1875 ><TR
1876 ><TD
1877 WIDTH="25"
1878 ALIGN="CENTER"
1879 VALIGN="TOP"
1880 ><IMG
1881 SRC="../images/warning.gif"
1882 HSPACE="5"
1883 ALT="Warning"></TD
1884 ><TD
1885 ALIGN="LEFT"
1886 VALIGN="TOP"
1888 ><SPAN
1889 CLASS="emphasis"
1891 CLASS="EMPHASIS"
1892 >NOTE!</I
1893 ></SPAN
1894 > Roaming profiles support is different
1895 for Win9X and WinNT.</P
1896 ></TD
1897 ></TR
1898 ></TABLE
1899 ></DIV
1901 >Before discussing how to configure roaming profiles, it is useful to see how
1902 Win9X and WinNT clients implement these features.</P
1904 >Win9X clients send a NetUserGetInfo request to the server to get the user's
1905 profiles location. However, the response does not have room for a separate
1906 profiles location field, only the user's home share. This means that Win9X
1907 profiles are restricted to being in the user's home directory.</P
1909 >WinNT clients send a NetSAMLogon RPC request, which contains many fields,
1910 including a separate field for the location of the user's profiles.
1911 This means that support for profiles is different for Win9X and WinNT.</P
1912 ><DIV
1913 CLASS="SECT3"
1914 ><H3
1915 CLASS="SECT3"
1917 NAME="AEN1006">6.8.2.1. Windows NT Configuration</H3
1919 >To support WinNT clients, in the [global] section of smb.conf set the
1920 following (for example):</P
1922 ><PRE
1923 CLASS="PROGRAMLISTING"
1924 >logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath</PRE
1925 ></P
1927 >The default for this option is \\%N\%U\profile, namely
1928 \\sambaserver\username\profile. The \\N%\%U service is created
1929 automatically by the [homes] service.
1930 If you are using a samba server for the profiles, you _must_ make the
1931 share specified in the logon path browseable. </P
1932 ><DIV
1933 CLASS="NOTE"
1935 ></P
1936 ><TABLE
1937 CLASS="NOTE"
1938 WIDTH="100%"
1939 BORDER="0"
1940 ><TR
1941 ><TD
1942 WIDTH="25"
1943 ALIGN="CENTER"
1944 VALIGN="TOP"
1945 ><IMG
1946 SRC="../images/note.gif"
1947 HSPACE="5"
1948 ALT="Note"></TD
1949 ><TD
1950 ALIGN="LEFT"
1951 VALIGN="TOP"
1953 >[lkcl 26aug96 - we have discovered a problem where Windows clients can
1954 maintain a connection to the [homes] share in between logins. The
1955 [homes] share must NOT therefore be used in a profile path.]</P
1956 ></TD
1957 ></TR
1958 ></TABLE
1959 ></DIV
1960 ></DIV
1961 ><DIV
1962 CLASS="SECT3"
1963 ><H3
1964 CLASS="SECT3"
1966 NAME="AEN1014">6.8.2.2. Windows 9X Configuration</H3
1968 >To support Win9X clients, you must use the "logon home" parameter. Samba has
1969 now been fixed so that "net use/home" now works as well, and it, too, relies
1970 on the "logon home" parameter.</P
1972 >By using the logon home parameter, you are restricted to putting Win9X
1973 profiles in the user's home directory. But wait! There is a trick you
1974 can use. If you set the following in the [global] section of your
1975 smb.conf file:</P
1977 ><PRE
1978 CLASS="PROGRAMLISTING"
1979 >logon home = \\%L\%U\.profiles</PRE
1980 ></P
1982 >then your Win9X clients will dutifully put their clients in a subdirectory
1983 of your home directory called .profiles (thus making them hidden).</P
1985 >Not only that, but 'net use/home' will also work, because of a feature in
1986 Win9X. It removes any directory stuff off the end of the home directory area
1987 and only uses the server and share portion. That is, it looks like you
1988 specified \\%L\%U for "logon home".</P
1989 ></DIV
1990 ><DIV
1991 CLASS="SECT3"
1992 ><H3
1993 CLASS="SECT3"
1995 NAME="AEN1022">6.8.2.3. Win9X and WinNT Configuration</H3
1997 >You can support profiles for both Win9X and WinNT clients by setting both the
1998 "logon home" and "logon path" parameters. For example:</P
2000 ><PRE
2001 CLASS="PROGRAMLISTING"
2002 >logon home = \\%L\%U\.profiles
2003 logon path = \\%L\profiles\%U</PRE
2004 ></P
2005 ><DIV
2006 CLASS="NOTE"
2008 ></P
2009 ><TABLE
2010 CLASS="NOTE"
2011 WIDTH="100%"
2012 BORDER="0"
2013 ><TR
2014 ><TD
2015 WIDTH="25"
2016 ALIGN="CENTER"
2017 VALIGN="TOP"
2018 ><IMG
2019 SRC="../images/note.gif"
2020 HSPACE="5"
2021 ALT="Note"></TD
2022 ><TD
2023 ALIGN="LEFT"
2024 VALIGN="TOP"
2026 >I have not checked what 'net use /home' does on NT when "logon home" is
2027 set as above.</P
2028 ></TD
2029 ></TR
2030 ></TABLE
2031 ></DIV
2032 ></DIV
2033 ><DIV
2034 CLASS="SECT3"
2035 ><H3
2036 CLASS="SECT3"
2038 NAME="AEN1029">6.8.2.4. Windows 9X Profile Setup</H3
2040 >When a user first logs in on Windows 9X, the file user.DAT is created,
2041 as are folders "Start Menu", "Desktop", "Programs" and "Nethood".
2042 These directories and their contents will be merged with the local
2043 versions stored in c:\windows\profiles\username on subsequent logins,
2044 taking the most recent from each. You will need to use the [global]
2045 options "preserve case = yes", "short preserve case = yes" and
2046 "case sensitive = no" in order to maintain capital letters in shortcuts
2047 in any of the profile folders.</P
2049 >The user.DAT file contains all the user's preferences. If you wish to
2050 enforce a set of preferences, rename their user.DAT file to user.MAN,
2051 and deny them write access to this file.</P
2053 ></P
2054 ><OL
2055 TYPE="1"
2056 ><LI
2058 > On the Windows 95 machine, go to Control Panel | Passwords and
2059 select the User Profiles tab. Select the required level of
2060 roaming preferences. Press OK, but do _not_ allow the computer
2061 to reboot.
2063 ></LI
2064 ><LI
2066 > On the Windows 95 machine, go to Control Panel | Network |
2067 Client for Microsoft Networks | Preferences. Select 'Log on to
2068 NT Domain'. Then, ensure that the Primary Logon is 'Client for
2069 Microsoft Networks'. Press OK, and this time allow the computer
2070 to reboot.
2072 ></LI
2073 ></OL
2075 >Under Windows 95, Profiles are downloaded from the Primary Logon.
2076 If you have the Primary Logon as 'Client for Novell Networks', then
2077 the profiles and logon script will be downloaded from your Novell
2078 Server. If you have the Primary Logon as 'Windows Logon', then the
2079 profiles will be loaded from the local machine - a bit against the
2080 concept of roaming profiles, if you ask me.</P
2082 >You will now find that the Microsoft Networks Login box contains
2083 [user, password, domain] instead of just [user, password]. Type in
2084 the samba server's domain name (or any other domain known to exist,
2085 but bear in mind that the user will be authenticated against this
2086 domain and profiles downloaded from it, if that domain logon server
2087 supports it), user name and user's password.</P
2089 >Once the user has been successfully validated, the Windows 95 machine
2090 will inform you that 'The user has not logged on before' and asks you
2091 if you wish to save the user's preferences? Select 'yes'.</P
2093 >Once the Windows 95 client comes up with the desktop, you should be able
2094 to examine the contents of the directory specified in the "logon path"
2095 on the samba server and verify that the "Desktop", "Start Menu",
2096 "Programs" and "Nethood" folders have been created.</P
2098 >These folders will be cached locally on the client, and updated when
2099 the user logs off (if you haven't made them read-only by then :-).
2100 You will find that if the user creates further folders or short-cuts,
2101 that the client will merge the profile contents downloaded with the
2102 contents of the profile directory already on the local client, taking
2103 the newest folders and short-cuts from each set.</P
2105 >If you have made the folders / files read-only on the samba server,
2106 then you will get errors from the w95 machine on logon and logout, as
2107 it attempts to merge the local and the remote profile. Basically, if
2108 you have any errors reported by the w95 machine, check the Unix file
2109 permissions and ownership rights on the profile directory contents,
2110 on the samba server.</P
2112 >If you have problems creating user profiles, you can reset the user's
2113 local desktop cache, as shown below. When this user then next logs in,
2114 they will be told that they are logging in "for the first time".</P
2116 ></P
2117 ><OL
2118 TYPE="1"
2119 ><LI
2121 > instead of logging in under the [user, password, domain] dialog,
2122 press escape.
2124 ></LI
2125 ><LI
2127 > run the regedit.exe program, and look in:
2130 > HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
2133 > you will find an entry, for each user, of ProfilePath. Note the
2134 contents of this key (likely to be c:\windows\profiles\username),
2135 then delete the key ProfilePath for the required user.
2138 > [Exit the registry editor].
2140 ></LI
2141 ><LI
2143 > <SPAN
2144 CLASS="emphasis"
2146 CLASS="EMPHASIS"
2147 >WARNING</I
2148 ></SPAN
2149 > - before deleting the contents of the
2150 directory listed in
2151 the ProfilePath (this is likely to be c:\windows\profiles\username),
2152 ask them if they have any important files stored on their desktop
2153 or in their start menu. delete the contents of the directory
2154 ProfilePath (making a backup if any of the files are needed).
2157 > This will have the effect of removing the local (read-only hidden
2158 system file) user.DAT in their profile directory, as well as the
2159 local "desktop", "nethood", "start menu" and "programs" folders.
2161 ></LI
2162 ><LI
2164 > search for the user's .PWL password-caching file in the c:\windows
2165 directory, and delete it.
2167 ></LI
2168 ><LI
2170 > log off the windows 95 client.
2172 ></LI
2173 ><LI
2175 > check the contents of the profile path (see "logon path" described
2176 above), and delete the user.DAT or user.MAN file for the user,
2177 making a backup if required.
2179 ></LI
2180 ></OL
2182 >If all else fails, increase samba's debug log levels to between 3 and 10,
2183 and / or run a packet trace program such as tcpdump or netmon.exe, and
2184 look for any error reports.</P
2186 >If you have access to an NT server, then first set up roaming profiles
2187 and / or netlogons on the NT server. Make a packet trace, or examine
2188 the example packet traces provided with NT server, and see what the
2189 differences are with the equivalent samba trace.</P
2190 ></DIV
2191 ><DIV
2192 CLASS="SECT3"
2193 ><H3
2194 CLASS="SECT3"
2196 NAME="AEN1065">6.8.2.5. Windows NT Workstation 4.0</H3
2198 >When a user first logs in to a Windows NT Workstation, the profile
2199 NTuser.DAT is created. The profile location can be now specified
2200 through the "logon path" parameter. </P
2201 ><DIV
2202 CLASS="NOTE"
2204 ></P
2205 ><TABLE
2206 CLASS="NOTE"
2207 WIDTH="100%"
2208 BORDER="0"
2209 ><TR
2210 ><TD
2211 WIDTH="25"
2212 ALIGN="CENTER"
2213 VALIGN="TOP"
2214 ><IMG
2215 SRC="../images/note.gif"
2216 HSPACE="5"
2217 ALT="Note"></TD
2218 ><TD
2219 ALIGN="LEFT"
2220 VALIGN="TOP"
2222 >[lkcl 10aug97 - i tried setting the path to
2223 \\samba-server\homes\profile, and discovered that this fails because
2224 a background process maintains the connection to the [homes] share
2225 which does _not_ close down in between user logins. you have to
2226 have \\samba-server\%L\profile, where user is the username created
2227 from the [homes] share].</P
2228 ></TD
2229 ></TR
2230 ></TABLE
2231 ></DIV
2233 >There is a parameter that is now available for use with NT Profiles:
2234 "logon drive". This should be set to "h:" or any other drive, and
2235 should be used in conjunction with the new "logon home" parameter.</P
2237 >The entry for the NT 4.0 profile is a _directory_ not a file. The NT
2238 help on profiles mentions that a directory is also created with a .PDS
2239 extension. The user, while logging in, must have write permission to
2240 create the full profile path (and the folder with the .PDS extension)
2241 [lkcl 10aug97 - i found that the creation of the .PDS directory failed,
2242 and had to create these manually for each user, with a shell script.
2243 also, i presume, but have not tested, that the full profile path must
2244 be browseable just as it is for w95, due to the manner in which they
2245 attempt to create the full profile path: test existence of each path
2246 component; create path component].</P
2248 >In the profile directory, NT creates more folders than 95. It creates
2249 "Application Data" and others, as well as "Desktop", "Nethood",
2250 "Start Menu" and "Programs". The profile itself is stored in a file
2251 NTuser.DAT. Nothing appears to be stored in the .PDS directory, and
2252 its purpose is currently unknown.</P
2254 >You can use the System Control Panel to copy a local profile onto
2255 a samba server (see NT Help on profiles: it is also capable of firing
2256 up the correct location in the System Control Panel for you). The
2257 NT Help file also mentions that renaming NTuser.DAT to NTuser.MAN
2258 turns a profile into a mandatory one.</P
2259 ><DIV
2260 CLASS="NOTE"
2262 ></P
2263 ><TABLE
2264 CLASS="NOTE"
2265 WIDTH="100%"
2266 BORDER="0"
2267 ><TR
2268 ><TD
2269 WIDTH="25"
2270 ALIGN="CENTER"
2271 VALIGN="TOP"
2272 ><IMG
2273 SRC="../images/note.gif"
2274 HSPACE="5"
2275 ALT="Note"></TD
2276 ><TD
2277 ALIGN="LEFT"
2278 VALIGN="TOP"
2280 >[lkcl 10aug97 - i notice that NT Workstation tells me that it is
2281 downloading a profile from a slow link. whether this is actually the
2282 case, or whether there is some configuration issue, as yet unknown,
2283 that makes NT Workstation _think_ that the link is a slow one is a
2284 matter to be resolved].</P
2286 >[lkcl 20aug97 - after samba digest correspondence, one user found, and
2287 another confirmed, that profiles cannot be loaded from a samba server
2288 unless "security = user" and "encrypt passwords = yes" (see the file
2289 ENCRYPTION.txt) or "security = server" and "password server = ip.address.
2290 of.yourNTserver" are used. Either of these options will allow the NT
2291 workstation to access the samba server using LAN manager encrypted
2292 passwords, without the user intervention normally required by NT
2293 workstation for clear-text passwords].</P
2295 >[lkcl 25aug97 - more comments received about NT profiles: the case of
2296 the profile _matters_. the file _must_ be called NTuser.DAT or, for
2297 a mandatory profile, NTuser.MAN].</P
2298 ></TD
2299 ></TR
2300 ></TABLE
2301 ></DIV
2302 ></DIV
2303 ><DIV
2304 CLASS="SECT3"
2305 ><H3
2306 CLASS="SECT3"
2308 NAME="AEN1078">6.8.2.6. Windows NT Server</H3
2310 >There is nothing to stop you specifying any path that you like for the
2311 location of users' profiles. Therefore, you could specify that the
2312 profile be stored on a samba server, or any other SMB server, as long as
2313 that SMB server supports encrypted passwords.</P
2314 ></DIV
2315 ><DIV
2316 CLASS="SECT3"
2317 ><H3
2318 CLASS="SECT3"
2320 NAME="AEN1081">6.8.2.7. Sharing Profiles between W95 and NT Workstation 4.0</H3
2321 ><DIV
2322 CLASS="WARNING"
2324 ></P
2325 ><TABLE
2326 CLASS="WARNING"
2327 WIDTH="100%"
2328 BORDER="0"
2329 ><TR
2330 ><TD
2331 WIDTH="25"
2332 ALIGN="CENTER"
2333 VALIGN="TOP"
2334 ><IMG
2335 SRC="../images/warning.gif"
2336 HSPACE="5"
2337 ALT="Warning"></TD
2338 ><TH
2339 ALIGN="LEFT"
2340 VALIGN="CENTER"
2342 >Potentially outdated or incorrect material follows</B
2343 ></TH
2344 ></TR
2345 ><TR
2346 ><TD
2347 >&nbsp;</TD
2348 ><TD
2349 ALIGN="LEFT"
2350 VALIGN="TOP"
2352 >I think this is all bogus, but have not deleted it. (Richard Sharpe)</P
2353 ></TD
2354 ></TR
2355 ></TABLE
2356 ></DIV
2358 >The default logon path is \\%N\%U. NT Workstation will attempt to create
2359 a directory "\\samba-server\username.PDS" if you specify the logon path
2360 as "\\samba-server\username" with the NT User Manager. Therefore, you
2361 will need to specify (for example) "\\samba-server\username\profile".
2362 NT 4.0 will attempt to create "\\samba-server\username\profile.PDS", which
2363 is more likely to succeed.</P
2365 >If you then want to share the same Start Menu / Desktop with W95, you will
2366 need to specify "logon path = \\samba-server\username\profile" [lkcl 10aug97
2367 this has its drawbacks: i created a shortcut to telnet.exe, which attempts
2368 to run from the c:\winnt\system32 directory. this directory is obviously
2369 unlikely to exist on a Win95-only host].</P
2371 >&#13;If you have this set up correctly, you will find separate user.DAT and
2372 NTuser.DAT files in the same profile directory.</P
2373 ><DIV
2374 CLASS="NOTE"
2376 ></P
2377 ><TABLE
2378 CLASS="NOTE"
2379 WIDTH="100%"
2380 BORDER="0"
2381 ><TR
2382 ><TD
2383 WIDTH="25"
2384 ALIGN="CENTER"
2385 VALIGN="TOP"
2386 ><IMG
2387 SRC="../images/note.gif"
2388 HSPACE="5"
2389 ALT="Note"></TD
2390 ><TD
2391 ALIGN="LEFT"
2392 VALIGN="TOP"
2394 >[lkcl 25aug97 - there are some issues to resolve with downloading of
2395 NT profiles, probably to do with time/date stamps. i have found that
2396 NTuser.DAT is never updated on the workstation after the first time that
2397 it is copied to the local workstation profile directory. this is in
2398 contrast to w95, where it _does_ transfer / update profiles correctly].</P
2399 ></TD
2400 ></TR
2401 ></TABLE
2402 ></DIV
2403 ></DIV
2404 ></DIV
2405 ></DIV
2406 ><DIV
2407 CLASS="SECT1"
2408 ><H1
2409 CLASS="SECT1"
2411 NAME="AEN1091">6.9. DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</H1
2412 ><DIV
2413 CLASS="WARNING"
2415 ></P
2416 ><TABLE
2417 CLASS="WARNING"
2418 WIDTH="100%"
2419 BORDER="0"
2420 ><TR
2421 ><TD
2422 WIDTH="25"
2423 ALIGN="CENTER"
2424 VALIGN="TOP"
2425 ><IMG
2426 SRC="../images/warning.gif"
2427 HSPACE="5"
2428 ALT="Warning"></TD
2429 ><TH
2430 ALIGN="LEFT"
2431 VALIGN="CENTER"
2433 >Possibly Outdated Material</B
2434 ></TH
2435 ></TR
2436 ><TR
2437 ><TD
2438 >&nbsp;</TD
2439 ><TD
2440 ALIGN="LEFT"
2441 VALIGN="TOP"
2443 > This appendix was originally authored by John H Terpstra of
2444 the Samba Team and is included here for posterity.
2446 ></TD
2447 ></TR
2448 ></TABLE
2449 ></DIV
2451 ><SPAN
2452 CLASS="emphasis"
2454 CLASS="EMPHASIS"
2455 >NOTE :</I
2456 ></SPAN
2458 The term "Domain Controller" and those related to it refer to one specific
2459 method of authentication that can underly an SMB domain. Domain Controllers
2460 prior to Windows NT Server 3.1 were sold by various companies and based on
2461 private extensions to the LAN Manager 2.1 protocol. Windows NT introduced
2462 Microsoft-specific ways of distributing the user authentication database.
2463 See DOMAIN.txt for examples of how Samba can participate in or create
2464 SMB domains based on shared authentication database schemes other than the
2465 Windows NT SAM.</P
2467 >Windows NT Server can be installed as either a plain file and print server
2468 (WORKGROUP workstation or server) or as a server that participates in Domain
2469 Control (DOMAIN member, Primary Domain controller or Backup Domain controller).
2470 The same is true for OS/2 Warp Server, Digital Pathworks and other similar
2471 products, all of which can participate in Domain Control along with Windows NT.</P
2473 >To many people these terms can be confusing, so let's try to clear the air.</P
2475 >Every Windows NT system (workstation or server) has a registry database.
2476 The registry contains entries that describe the initialization information
2477 for all services (the equivalent of Unix Daemons) that run within the Windows
2478 NT environment. The registry also contains entries that tell application
2479 software where to find dynamically loadable libraries that they depend upon.
2480 In fact, the registry contains entries that describes everything that anything
2481 may need to know to interact with the rest of the system.</P
2483 >The registry files can be located on any Windows NT machine by opening a
2484 command prompt and typing:</P
2486 ><TT
2487 CLASS="PROMPT"
2488 >C:\WINNT\&#62;</TT
2489 > dir %SystemRoot%\System32\config</P
2491 >The environment variable %SystemRoot% value can be obtained by typing:</P
2493 ><TT
2494 CLASS="PROMPT"
2495 >C:\WINNT&#62;</TT
2496 >echo %SystemRoot%</P
2498 >The active parts of the registry that you may want to be familiar with are
2499 the files called: default, system, software, sam and security.</P
2501 >In a domain environment, Microsoft Windows NT domain controllers participate
2502 in replication of the SAM and SECURITY files so that all controllers within
2503 the domain have an exactly identical copy of each.</P
2505 >The Microsoft Windows NT system is structured within a security model that
2506 says that all applications and services must authenticate themselves before
2507 they can obtain permission from the security manager to do what they set out
2508 to do.</P
2510 >The Windows NT User database also resides within the registry. This part of
2511 the registry contains the user's security identifier, home directory, group
2512 memberships, desktop profile, and so on.</P
2514 >Every Windows NT system (workstation as well as server) will have its own
2515 registry. Windows NT Servers that participate in Domain Security control
2516 have a database that they share in common - thus they do NOT own an
2517 independent full registry database of their own, as do Workstations and
2518 plain Servers.</P
2520 >The User database is called the SAM (Security Access Manager) database and
2521 is used for all user authentication as well as for authentication of inter-
2522 process authentication (i.e. to ensure that the service action a user has
2523 requested is permitted within the limits of that user's privileges).</P
2525 >The Samba team have produced a utility that can dump the Windows NT SAM into
2526 smbpasswd format: see ENCRYPTION.txt for information on smbpasswd and
2527 /pub/samba/pwdump on your nearest Samba mirror for the utility. This
2528 facility is useful but cannot be easily used to implement SAM replication
2529 to Samba systems.</P
2531 >Windows for Workgroups, Windows 95, and Windows NT Workstations and Servers
2532 can participate in a Domain security system that is controlled by Windows NT
2533 servers that have been correctly configured. Almost every domain will have
2534 ONE Primary Domain Controller (PDC). It is desirable that each domain will
2535 have at least one Backup Domain Controller (BDC).</P
2537 >The PDC and BDCs then participate in replication of the SAM database so that
2538 each Domain Controlling participant will have an up to date SAM component
2539 within its registry.</P
2540 ></DIV
2541 ></DIV
2542 ><DIV
2543 CLASS="NAVFOOTER"
2544 ><HR
2545 ALIGN="LEFT"
2546 WIDTH="100%"><TABLE
2547 SUMMARY="Footer navigation table"
2548 WIDTH="100%"
2549 BORDER="0"
2550 CELLPADDING="0"
2551 CELLSPACING="0"
2552 ><TR
2553 ><TD
2554 WIDTH="33%"
2555 ALIGN="left"
2556 VALIGN="top"
2558 HREF="securitylevels.html"
2559 ACCESSKEY="P"
2560 >Prev</A
2561 ></TD
2562 ><TD
2563 WIDTH="34%"
2564 ALIGN="center"
2565 VALIGN="top"
2567 HREF="samba-howto-collection.html"
2568 ACCESSKEY="H"
2569 >Home</A
2570 ></TD
2571 ><TD
2572 WIDTH="33%"
2573 ALIGN="right"
2574 VALIGN="top"
2576 HREF="samba-bdc.html"
2577 ACCESSKEY="N"
2578 >Next</A
2579 ></TD
2580 ></TR
2581 ><TR
2582 ><TD
2583 WIDTH="33%"
2584 ALIGN="left"
2585 VALIGN="top"
2586 >User and Share security level (for servers not in a domain)</TD
2587 ><TD
2588 WIDTH="34%"
2589 ALIGN="center"
2590 VALIGN="top"
2592 HREF="type.html"
2593 ACCESSKEY="U"
2594 >Up</A
2595 ></TD
2596 ><TD
2597 WIDTH="33%"
2598 ALIGN="right"
2599 VALIGN="top"
2600 >How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain</TD
2601 ></TR
2602 ></TABLE
2603 ></DIV
2604 ></BODY
2605 ></HTML