[GLUE] Remove .cvsignore files to sync with SVN r530.
[Samba.git] / docs / htmldocs / Samba-PDC-HOWTO.html
blob58f3989b4f05e90167cbc87a6f2ae61ccd6bcd8a
1 <HTML
2 ><HEAD
3 ><TITLE
4 >How to Configure Samba 2.2 as a Primary Domain Controller</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.57"></HEAD
8 ><BODY
9 CLASS="ARTICLE"
10 BGCOLOR="#FFFFFF"
11 TEXT="#000000"
12 LINK="#0000FF"
13 VLINK="#840084"
14 ALINK="#0000FF"
15 ><DIV
16 CLASS="ARTICLE"
17 ><DIV
18 CLASS="TITLEPAGE"
19 ><H1
20 CLASS="TITLE"
21 ><A
22 NAME="SAMBA-PDC"
23 >How to Configure Samba 2.2 as a Primary Domain Controller</A
24 ></H1
25 ><HR></DIV
26 ><DIV
27 CLASS="SECT1"
28 ><H1
29 CLASS="SECT1"
30 ><A
31 NAME="AEN3"
32 >Prerequisite Reading</A
33 ></H1
34 ><P
35 >Before you continue reading in this chapter, please make sure
36 that you are comfortable with configuring basic files services
37 in smb.conf and how to enable and administer password
38 encryption in Samba. Theses two topics are covered in the
40 HREF="smb.conf.5.html"
41 TARGET="_top"
42 ><TT
43 CLASS="FILENAME"
44 >smb.conf(5)</TT
45 ></A
47 manpage and the <A
48 HREF="ENCRYPTION.html"
49 TARGET="_top"
50 >Encryption chapter</A
52 of this HOWTO Collection.</P
53 ></DIV
54 ><DIV
55 CLASS="SECT1"
56 ><HR><H1
57 CLASS="SECT1"
58 ><A
59 NAME="AEN9"
60 >Background</A
61 ></H1
62 ><DIV
63 CLASS="NOTE"
64 ><BLOCKQUOTE
65 CLASS="NOTE"
66 ><P
67 ><B
68 >Note: </B
69 ><I
70 CLASS="EMPHASIS"
71 >Author's Note:</I
72 > This document is a combination
73 of David Bannon's "Samba 2.2 PDC HOWTO" and "Samba NT Domain FAQ".
74 Both documents are superseded by this one.</P
75 ></BLOCKQUOTE
76 ></DIV
77 ><P
78 >Versions of Samba prior to release 2.2 had marginal capabilities to act
79 as a Windows NT 4.0 Primary Domain Controller
81 (PDC). With Samba 2.2.0, we are proud to announce official support for
82 Windows NT 4.0-style domain logons from Windows NT 4.0 and Windows
83 2000 clients. This article outlines the steps
84 necessary for configuring Samba as a PDC. It is necessary to have a
85 working Samba server prior to implementing the PDC functionality. If
86 you have not followed the steps outlined in <A
87 HREF="UNIX_INSTALL.html"
88 TARGET="_top"
89 > UNIX_INSTALL.html</A
90 >, please make sure
91 that your server is configured correctly before proceeding. Another
92 good resource in the <A
93 HREF="smb.conf.5.html"
94 TARGET="_top"
95 >smb.conf(5) man
96 page</A
97 >. The following functionality should work in 2.2:</P
98 ><P
99 ></P
100 ><UL
101 ><LI
103 > domain logons for Windows NT 4.0/2000 clients.
105 ></LI
106 ><LI
108 > placing a Windows 9x client in user level security
110 ></LI
111 ><LI
113 > retrieving a list of users and groups from a Samba PDC to
114 Windows 9x/NT/2000 clients
116 ></LI
117 ><LI
119 > roving (roaming) user profiles
121 ></LI
122 ><LI
124 > Windows NT 4.0-style system policies
126 ></LI
127 ></UL
129 >The following pieces of functionality are not included in the 2.2 release:</P
131 ></P
132 ><UL
133 ><LI
135 > Windows NT 4 domain trusts
137 ></LI
138 ><LI
140 > SAM replication with Windows NT 4.0 Domain Controllers
141 (i.e. a Samba PDC and a Windows NT BDC or vice versa)
143 ></LI
144 ><LI
146 > Adding users via the User Manager for Domains
148 ></LI
149 ><LI
151 > Acting as a Windows 2000 Domain Controller (i.e. Kerberos and
152 Active Directory)
154 ></LI
155 ></UL
157 >Please note that Windows 9x clients are not true members of a domain
158 for reasons outlined in this article. Therefore the protocol for
159 support Windows 9x-style domain logons is completely different
160 from NT4 domain logons and has been officially supported for some
161 time.</P
163 >Implementing a Samba PDC can basically be divided into 2 broad
164 steps.</P
166 ></P
167 ><OL
168 TYPE="1"
169 ><LI
171 > Configuring the Samba PDC
173 ></LI
174 ><LI
176 > Creating machine trust accounts and joining clients
177 to the domain
179 ></LI
180 ></OL
182 >There are other minor details such as user profiles, system
183 policies, etc... However, these are not necessarily specific
184 to a Samba PDC as much as they are related to Windows NT networking
185 concepts. They will be mentioned only briefly here.</P
186 ></DIV
187 ><DIV
188 CLASS="SECT1"
189 ><HR><H1
190 CLASS="SECT1"
192 NAME="AEN48"
193 >Configuring the Samba Domain Controller</A
194 ></H1
196 >The first step in creating a working Samba PDC is to
197 understand the parameters necessary in smb.conf. I will not
198 attempt to re-explain the parameters here as they are more that
199 adequately covered in <A
200 HREF="smb.conf.5.html"
201 TARGET="_top"
202 > the smb.conf
203 man page</A
204 >. For convenience, the parameters have been
205 linked with the actual smb.conf description.</P
207 >Here is an example <TT
208 CLASS="FILENAME"
209 >smb.conf</TT
210 > for acting as a PDC:</P
212 ><PRE
213 CLASS="PROGRAMLISTING"
214 >[global]
215 ; Basic server settings
217 HREF="smb.conf.5.html#NETBIOSNAME"
218 TARGET="_top"
219 >netbios name</A
220 > = <TT
221 CLASS="REPLACEABLE"
223 >POGO</I
224 ></TT
227 HREF="smb.conf.5.html#WORKGROUP"
228 TARGET="_top"
229 >workgroup</A
230 > = <TT
231 CLASS="REPLACEABLE"
233 >NARNIA</I
234 ></TT
237 ; we should act as the domain and local master browser
239 HREF="smb.conf.5.html#OSLEVEL"
240 TARGET="_top"
241 >os level</A
242 > = 64
244 HREF="smb.conf.5.html#PERFERREDMASTER"
245 TARGET="_top"
246 >preferred master</A
247 > = yes
249 HREF="smb.conf.5.html#DOMAINMASTER"
250 TARGET="_top"
251 >domain master</A
252 > = yes
254 HREF="smb.conf.5.html#LOCALMASTER"
255 TARGET="_top"
256 >local master</A
257 > = yes
259 ; security settings (must user security = user)
261 HREF="smb.conf.5.html#SECURITYEQUALSUSER"
262 TARGET="_top"
263 >security</A
264 > = user
266 ; encrypted passwords are a requirement for a PDC
268 HREF="smb.conf.5.html#ENCRYPTPASSWORDS"
269 TARGET="_top"
270 >encrypt passwords</A
271 > = yes
273 ; support domain logons
275 HREF="smb.conf.5.html#DOMAINLOGONS"
276 TARGET="_top"
277 >domain logons</A
278 > = yes
280 ; where to store user profiles?
282 HREF="smb.conf.5.html#LOGONPATH"
283 TARGET="_top"
284 >logon path</A
285 > = \\%N\profiles\%u
287 ; where is a user's home directory and where should it
288 ; be mounted at?
290 HREF="smb.conf.5.html#LOGONDRIVE"
291 TARGET="_top"
292 >logon drive</A
293 > = H:
295 HREF="smb.conf.5.html#LOGONHOME"
296 TARGET="_top"
297 >logon home</A
298 > = \\homeserver\%u
300 ; specify a generic logon script for all users
301 ; this is a relative **DOS** path to the [netlogon] share
303 HREF="smb.conf.5.html#LOGONSCRIPT"
304 TARGET="_top"
305 >logon script</A
306 > = logon.cmd
308 ; necessary share for domain controller
309 [netlogon]
311 HREF="smb.conf.5.html#PATH"
312 TARGET="_top"
313 >path</A
314 > = /usr/local/samba/lib/netlogon
316 HREF="smb.conf.5.html#READONLY"
317 TARGET="_top"
318 >read only</A
319 > = yes
321 HREF="smb.conf.5.html#WRITELIST"
322 TARGET="_top"
323 >write list</A
324 > = <TT
325 CLASS="REPLACEABLE"
327 >ntadmin</I
328 ></TT
331 ; share for storing user profiles
332 [profiles]
334 HREF="smb.conf.5.html#PATH"
335 TARGET="_top"
336 >path</A
337 > = /export/smb/ntprofile
339 HREF="smb.conf.5.html#READONLY"
340 TARGET="_top"
341 >read only</A
342 > = no
344 HREF="smb.conf.5.html#CREATEMASK"
345 TARGET="_top"
346 >create mask</A
347 > = 0600
349 HREF="smb.conf.5.html#DIRECTORYMASK"
350 TARGET="_top"
351 >directory mask</A
352 > = 0700</PRE
353 ></P
355 >There are a couple of points to emphasize in the above configuration.</P
357 ></P
358 ><UL
359 ><LI
361 > Encrypted passwords must be enabled. For more details on how
362 to do this, refer to <A
363 HREF="ENCRYPTION.html"
364 TARGET="_top"
365 >ENCRYPTION.html</A
368 ></LI
369 ><LI
371 > The server must support domain logons and a
373 CLASS="FILENAME"
374 >[netlogon]</TT
375 > share
377 ></LI
378 ><LI
380 > The server must be the domain master browser in order for Windows
381 client to locate the server as a DC. Please refer to the various
382 Network Browsing documentation included with this distribution for
383 details.
385 ></LI
386 ></UL
388 >As Samba 2.2 does not offer a complete implementation of group mapping
389 between Windows NT groups and Unix groups (this is really quite
390 complicated to explain in a short space), you should refer to the
392 HREF="smb.conf.5.html#DOMAINADMINGROUP"
393 TARGET="_top"
394 >domain admin
395 group</A
396 > smb.conf parameter for information of creating "Domain
397 Admins" style accounts.</P
398 ></DIV
399 ><DIV
400 CLASS="SECT1"
401 ><HR><H1
402 CLASS="SECT1"
404 NAME="AEN91"
405 >Creating Machine Trust Accounts and Joining Clients to the
406 Domain</A
407 ></H1
409 >A machine trust account is a Samba account that is used to
410 authenticate a client machine (rather than a user) to the Samba
411 server. In Windows terminology, this is known as a "Computer
412 Account."</P
414 >The password of a machine trust account acts as the shared secret for
415 secure communication with the Domain Controller. This is a security
416 feature to prevent an unauthorized machine with the same NetBIOS name
417 from joining the domain and gaining access to domain user/group
418 accounts. Windows NT and 2000 clients use machine trust accounts, but
419 Windows 9x clients do not. Hence, a Windows 9x client is never a true
420 member of a domain because it does not possess a machine trust
421 account, and thus has no shared secret with the domain controller.</P
423 >A Windows PDC stores each machine trust account in the Windows
424 Registry. A Samba PDC, however, stores each machine trust account
425 in two parts, as follows:
428 ></P
429 ><UL
430 ><LI
432 >A Samba account, stored in the same location as user
433 LanMan and NT password hashes (currently
435 CLASS="FILENAME"
436 >smbpasswd</TT
437 >). The Samba account
438 possesses and uses only the NT password hash.</P
439 ></LI
440 ><LI
442 >A corresponding Unix account, typically stored in
444 CLASS="FILENAME"
445 >/etc/passwd</TT
446 >. (Future releases will alleviate the need to
447 create <TT
448 CLASS="FILENAME"
449 >/etc/passwd</TT
450 > entries.) </P
451 ></LI
452 ></UL
453 ></P
455 >There are two ways to create machine trust accounts:</P
457 ></P
458 ><UL
459 ><LI
461 > Manual creation. Both the Samba and corresponding
462 Unix account are created by hand.</P
463 ></LI
464 ><LI
466 > "On-the-fly" creation. The Samba machine trust
467 account is automatically created by Samba at the time the client
468 is joined to the domain. (For security, this is the
469 recommended method.) The corresponding Unix account may be
470 created automatically or manually. </P
471 ></LI
472 ></UL
473 ><DIV
474 CLASS="SECT2"
475 ><HR><H2
476 CLASS="SECT2"
478 NAME="AEN110"
479 >Manual Creation of Machine Trust Accounts</A
480 ></H2
482 >The first step in manually creating a machine trust account is to
483 manually create the corresponding Unix account in
485 CLASS="FILENAME"
486 >/etc/passwd</TT
487 >. This can be done using
489 CLASS="COMMAND"
490 >vipw</B
491 > or other 'add user' command that is normally
492 used to create new Unix accounts. The following is an example for a
493 Linux based Samba server:</P
495 > <TT
496 CLASS="PROMPT"
497 >root# </TT
499 CLASS="COMMAND"
500 >/usr/sbin/useradd -g 100 -d /dev/null -c <TT
501 CLASS="REPLACEABLE"
503 >"machine
504 nickname"</I
505 ></TT
506 > -s /bin/false <TT
507 CLASS="REPLACEABLE"
509 >machine_name</I
510 ></TT
511 >$ </B
512 ></P
514 ><TT
515 CLASS="PROMPT"
516 >root# </TT
518 CLASS="COMMAND"
519 >passwd -l <TT
520 CLASS="REPLACEABLE"
522 >machine_name</I
523 ></TT
524 >$</B
525 ></P
527 >The <TT
528 CLASS="FILENAME"
529 >/etc/passwd</TT
530 > entry will list the machine name
531 with a "$" appended, won't have a password, will have a null shell and no
532 home directory. For example a machine named 'doppy' would have an
534 CLASS="FILENAME"
535 >/etc/passwd</TT
536 > entry like this:</P
538 ><PRE
539 CLASS="PROGRAMLISTING"
540 >doppy$:x:505:501:<TT
541 CLASS="REPLACEABLE"
543 >machine_nickname</I
544 ></TT
545 >:/dev/null:/bin/false</PRE
546 ></P
548 >Above, <TT
549 CLASS="REPLACEABLE"
551 >machine_nickname</I
552 ></TT
553 > can be any
554 descriptive name for the client, i.e., BasementComputer.
556 CLASS="REPLACEABLE"
558 >machine_name</I
559 ></TT
560 > absolutely must be the NetBIOS
561 name of the client to be joined to the domain. The "$" must be
562 appended to the NetBIOS name of the client or Samba will not recognize
563 this as a machine trust account.</P
565 >Now that the corresponding Unix account has been created, the next step is to create
566 the Samba account for the client containing the well-known initial
567 machine trust account password. This can be done using the <A
568 HREF="smbpasswd.8.html"
569 TARGET="_top"
571 CLASS="COMMAND"
572 >smbpasswd(8)</B
573 ></A
574 > command
575 as shown here:</P
577 ><TT
578 CLASS="PROMPT"
579 >root# </TT
581 CLASS="COMMAND"
582 >smbpasswd -a -m <TT
583 CLASS="REPLACEABLE"
585 >machine_name</I
586 ></TT
587 ></B
588 ></P
590 >where <TT
591 CLASS="REPLACEABLE"
593 >machine_name</I
594 ></TT
595 > is the machine's NetBIOS
596 name. The RID of the new machine account is generated from the UID of
597 the corresponding Unix account.</P
598 ><DIV
599 CLASS="WARNING"
601 ></P
602 ><TABLE
603 CLASS="WARNING"
604 BORDER="1"
605 WIDTH="100%"
606 ><TR
607 ><TD
608 ALIGN="CENTER"
610 >Join the client to the domain immediately</B
611 ></TD
612 ></TR
613 ><TR
614 ><TD
615 ALIGN="LEFT"
617 > Manually creating a machine trust account using this method is the
618 equivalent of creating a machine trust account on a Windows NT PDC using
619 the "Server Manager". From the time at which the account is created
620 to the time which the client joins the domain and changes the password,
621 your domain is vulnerable to an intruder joining your domain using a
622 a machine with the same NetBIOS name. A PDC inherently trusts
623 members of the domain and will serve out a large degree of user
624 information to such clients. You have been warned!
626 ></TD
627 ></TR
628 ></TABLE
629 ></DIV
630 ></DIV
631 ><DIV
632 CLASS="SECT2"
633 ><HR><H2
634 CLASS="SECT2"
636 NAME="AEN145"
637 >"On-the-Fly" Creation of Machine Trust Accounts</A
638 ></H2
640 >The second (and recommended) way of creating machine trust accounts is
641 simply to allow the Samba server to create them as needed when the client
642 is joined to the domain. </P
644 >Since each Samba machine trust account requires a corresponding
645 Unix account, a method for automatically creating the
646 Unix account is usually supplied; this requires configuration of the
648 HREF="smb.conf.5.html#ADDUSERSCRIPT"
649 TARGET="_top"
650 >add user script</A
652 option in <TT
653 CLASS="FILENAME"
654 >smb.conf</TT
655 >. This
656 method is not required, however; corresponding Unix accounts may also
657 be created manually.</P
659 >Below is an example for a RedHat 6.2 Linux system.</P
661 ><PRE
662 CLASS="PROGRAMLISTING"
663 >[global]
664 # &#60;...remainder of parameters...&#62;
665 add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u </PRE
666 ></P
667 ></DIV
668 ><DIV
669 CLASS="SECT2"
670 ><HR><H2
671 CLASS="SECT2"
673 NAME="AEN154"
674 >Joining the Client to the Domain</A
675 ></H2
677 >The procedure for joining a client to the domain varies with the
678 version of Windows.</P
680 ></P
681 ><UL
682 ><LI
685 CLASS="EMPHASIS"
686 >Windows 2000</I
687 ></P
689 > When the user elects to join the client to a domain, Windows prompts for
690 an account and password that is privileged to join the domain. A
691 Samba administrative account (i.e., a Samba account that has root
692 privileges on the Samba server) must be entered here; the
693 operation will fail if an ordinary user account is given.
694 The password for this account should be
695 set to a different password than the associated
697 CLASS="FILENAME"
698 >/etc/passwd</TT
699 > entry, for security
700 reasons. </P
702 >The session key of the Samba administrative account acts as an
703 encryption key for setting the password of the machine trust
704 account. The machine trust account will be created on-the-fly, or
705 updated if it already exists.</P
706 ></LI
707 ><LI
710 CLASS="EMPHASIS"
711 >Windows NT</I
712 ></P
714 > If the machine trust account was created manually, on the
715 Identification Changes menu enter the domain name, but do not
716 check the box "Create a Computer Account in the Domain." In this case,
717 the existing machine trust account is used to join the machine to
718 the domain.</P
720 > If the machine trust account is to be created
721 on-the-fly, on the Identification Changes menu enter the domain
722 name, and check the box "Create a Computer Account in the Domain." In
723 this case, joining the domain proceeds as above for Windows 2000
724 (i.e., you must supply a Samba administrative account when
725 prompted).</P
726 ></LI
727 ></UL
728 ></DIV
729 ></DIV
730 ><DIV
731 CLASS="SECT1"
732 ><HR><H1
733 CLASS="SECT1"
735 NAME="AEN169"
736 >Common Problems and Errors</A
737 ></H1
739 ></P
741 ></P
742 ><UL
743 ><LI
745 > <I
746 CLASS="EMPHASIS"
747 >I cannot include a '$' in a machine name.</I
751 > A 'machine name' in (typically) <TT
752 CLASS="FILENAME"
753 >/etc/passwd</TT
755 of the machine name with a '$' appended. FreeBSD (and other BSD
756 systems?) won't create a user with a '$' in their name.
759 > The problem is only in the program used to make the entry, once
760 made, it works perfectly. So create a user without the '$' and
761 use <B
762 CLASS="COMMAND"
763 >vipw</B
764 > to edit the entry, adding the '$'. Or create
765 the whole entry with vipw if you like, make sure you use a
766 unique User ID !
768 ></LI
769 ><LI
771 > <I
772 CLASS="EMPHASIS"
773 >I get told "You already have a connection to the Domain...."
774 or "Cannot join domain, the credentials supplied conflict with an
775 existing set.." when creating a machine trust account.</I
779 > This happens if you try to create a machine trust account from the
780 machine itself and already have a connection (e.g. mapped drive)
781 to a share (or IPC$) on the Samba PDC. The following command
782 will remove all network drive connections:
785 > <TT
786 CLASS="PROMPT"
787 >C:\WINNT\&#62;</TT
788 > <B
789 CLASS="COMMAND"
790 >net use * /d</B
794 > Further, if the machine is a already a 'member of a workgroup' that
795 is the same name as the domain you are joining (bad idea) you will
796 get this message. Change the workgroup name to something else, it
797 does not matter what, reboot, and try again.
799 ></LI
800 ><LI
802 > <I
803 CLASS="EMPHASIS"
804 >The system can not log you on (C000019B)....</I
808 >I joined the domain successfully but after upgrading
809 to a newer version of the Samba code I get the message, "The system
810 can not log you on (C000019B), Please try a gain or consult your
811 system administrator" when attempting to logon.
814 > This occurs when the domain SID stored in
816 CLASS="FILENAME"
817 >private/WORKGROUP.SID</TT
818 > is
819 changed. For example, you remove the file and <B
820 CLASS="COMMAND"
821 >smbd</B
822 > automatically
823 creates a new one. Or you are swapping back and forth between
824 versions 2.0.7, TNG and the HEAD branch code (not recommended). The
825 only way to correct the problem is to restore the original domain
826 SID or remove the domain client from the domain and rejoin.
828 ></LI
829 ><LI
831 > <I
832 CLASS="EMPHASIS"
833 >The machine trust account for this computer either does not
834 exist or is not accessible.</I
838 > When I try to join the domain I get the message "The machine account
839 for this computer either does not exist or is not accessible". What's
840 wrong?
843 > This problem is caused by the PDC not having a suitable machine trust account.
844 If you are using the <TT
845 CLASS="PARAMETER"
847 >add user script</I
848 ></TT
849 > method to create
850 accounts then this would indicate that it has not worked. Ensure the domain
851 admin user system is working.
854 > Alternatively if you are creating account entries manually then they
855 have not been created correctly. Make sure that you have the entry
856 correct for the machine trust account in smbpasswd file on the Samba PDC.
857 If you added the account using an editor rather than using the smbpasswd
858 utility, make sure that the account name is the machine NetBIOS name
859 with a '$' appended to it ( i.e. computer_name$ ). There must be an entry
860 in both /etc/passwd and the smbpasswd file. Some people have reported
861 that inconsistent subnet masks between the Samba server and the NT
862 client have caused this problem. Make sure that these are consistent
863 for both client and server.
865 ></LI
866 ><LI
868 > <I
869 CLASS="EMPHASIS"
870 >When I attempt to login to a Samba Domain from a NT4/W2K workstation,
871 I get a message about my account being disabled.</I
875 > This problem is caused by a PAM related bug in Samba 2.2.0. This bug is
876 fixed in 2.2.1. Other symptoms could be unaccessible shares on
877 NT/W2K member servers in the domain or the following error in your smbd.log:
878 passdb/pampass.c:pam_account(268) PAM: UNKNOWN ERROR for User: %user%
881 > At first be ensure to enable the useraccounts with <B
882 CLASS="COMMAND"
883 >smbpasswd -e
884 %user%</B
885 >, this is normally done, when you create an account.
888 > In order to work around this problem in 2.2.0, configure the
890 CLASS="PARAMETER"
892 >account</I
893 ></TT
894 > control flag in
896 CLASS="FILENAME"
897 >/etc/pam.d/samba</TT
898 > file as follows:
901 ><PRE
902 CLASS="PROGRAMLISTING"
903 > account required pam_permit.so
904 </PRE
905 ></P
907 > If you want to remain backward compatibility to samba 2.0.x use
909 CLASS="FILENAME"
910 >pam_permit.so</TT
911 >, it's also possible to use
913 CLASS="FILENAME"
914 >pam_pwdb.so</TT
915 >. There are some bugs if you try to
916 use <TT
917 CLASS="FILENAME"
918 >pam_unix.so</TT
919 >, if you need this, be ensure to use
920 the most recent version of this file.
922 ></LI
923 ></UL
924 ></DIV
925 ><DIV
926 CLASS="SECT1"
927 ><HR><H1
928 CLASS="SECT1"
930 NAME="AEN217"
931 >System Policies and Profiles</A
932 ></H1
934 >Much of the information necessary to implement System Policies and
935 Roving User Profiles in a Samba domain is the same as that for
936 implementing these same items in a Windows NT 4.0 domain.
937 You should read the white paper <A
938 HREF="http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp"
939 TARGET="_top"
940 >Implementing
941 Profiles and Policies in Windows NT 4.0</A
942 > available from Microsoft.</P
944 >Here are some additional details:</P
946 ></P
947 ><UL
948 ><LI
950 > <I
951 CLASS="EMPHASIS"
952 >What about Windows NT Policy Editor?</I
956 > To create or edit <TT
957 CLASS="FILENAME"
958 >ntconfig.pol</TT
959 > you must use
960 the NT Server Policy Editor, <B
961 CLASS="COMMAND"
962 >poledit.exe</B
963 > which
964 is included with NT Server but <I
965 CLASS="EMPHASIS"
966 >not NT Workstation</I
968 There is a Policy Editor on a NTws
969 but it is not suitable for creating <I
970 CLASS="EMPHASIS"
971 >Domain Policies</I
973 Further, although the Windows 95
974 Policy Editor can be installed on an NT Workstation/Server, it will not
975 work with NT policies because the registry key that are set by the policy templates.
976 However, the files from the NT Server will run happily enough on an NTws.
977 You need <TT
978 CLASS="FILENAME"
979 >poledit.exe, common.adm</TT
980 > and <TT
981 CLASS="FILENAME"
982 >winnt.adm</TT
983 >. It is convenient
984 to put the two *.adm files in <TT
985 CLASS="FILENAME"
986 >c:\winnt\inf</TT
987 > which is where
988 the binary will look for them unless told otherwise. Note also that that
989 directory is 'hidden'.
992 > The Windows NT policy editor is also included with the Service Pack 3 (and
993 later) for Windows NT 4.0. Extract the files using <B
994 CLASS="COMMAND"
995 >servicepackname /x</B
997 i.e. that's <B
998 CLASS="COMMAND"
999 >Nt4sp6ai.exe /x</B
1000 > for service pack 6a. The policy editor,
1002 CLASS="COMMAND"
1003 >poledit.exe</B
1004 > and the associated template files (*.adm) should
1005 be extracted as well. It is also possible to downloaded the policy template
1006 files for Office97 and get a copy of the policy editor. Another possible
1007 location is with the Zero Administration Kit available for download from Microsoft.
1009 ></LI
1010 ><LI
1012 > <I
1013 CLASS="EMPHASIS"
1014 >Can Win95 do Policies?</I
1018 > Install the group policy handler for Win9x to pick up group
1019 policies. Look on the Win98 CD in <TT
1020 CLASS="FILENAME"
1021 >\tools\reskit\netadmin\poledit</TT
1023 Install group policies on a Win9x client by double-clicking
1025 CLASS="FILENAME"
1026 >grouppol.inf</TT
1027 >. Log off and on again a couple of
1028 times and see if Win98 picks up group policies. Unfortunately this needs
1029 to be done on every Win9x machine that uses group policies....
1032 > If group policies don't work one reports suggests getting the updated
1033 (read: working) grouppol.dll for Windows 9x. The group list is grabbed
1034 from /etc/group.
1036 ></LI
1037 ><LI
1039 > <I
1040 CLASS="EMPHASIS"
1041 >How do I get 'User Manager' and 'Server Manager'</I
1045 > Since I don't need to buy an NT Server CD now, how do I get
1046 the 'User Manager for Domains', the 'Server Manager'?
1049 > Microsoft distributes a version of these tools called nexus for
1050 installation on Windows 95 systems. The tools set includes
1053 ></P
1054 ><UL
1055 ><LI
1057 >Server Manager</P
1058 ></LI
1059 ><LI
1061 >User Manager for Domains</P
1062 ></LI
1063 ><LI
1065 >Event Viewer</P
1066 ></LI
1067 ></UL
1069 > Click here to download the archived file <A
1070 HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE"
1071 TARGET="_top"
1072 >ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE</A
1076 > The Windows NT 4.0 version of the 'User Manager for
1077 Domains' and 'Server Manager' are available from Microsoft via ftp
1078 from <A
1079 HREF="ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE"
1080 TARGET="_top"
1081 >ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE</A
1084 ></LI
1085 ></UL
1086 ></DIV
1087 ><DIV
1088 CLASS="SECT1"
1089 ><HR><H1
1090 CLASS="SECT1"
1092 NAME="AEN261"
1093 >What other help can I get?</A
1094 ></H1
1096 >There are many sources of information available in the form
1097 of mailing lists, RFC's and documentation. The docs that come
1098 with the samba distribution contain very good explanations of
1099 general SMB topics such as browsing.</P
1101 ></P
1102 ><UL
1103 ><LI
1105 > <I
1106 CLASS="EMPHASIS"
1107 >What are some diagnostics tools I can use to debug the domain logon
1108 process and where can I find them?</I
1112 > One of the best diagnostic tools for debugging problems is Samba itself.
1113 You can use the -d option for both smbd and nmbd to specify what
1114 'debug level' at which to run. See the man pages on smbd, nmbd and
1115 smb.conf for more information on debugging options. The debug
1116 level can range from 1 (the default) to 10 (100 for debugging passwords).
1119 > Another helpful method of debugging is to compile samba using the
1121 CLASS="COMMAND"
1122 >gcc -g </B
1123 > flag. This will include debug
1124 information in the binaries and allow you to attach gdb to the
1125 running smbd / nmbd process. In order to attach gdb to an smbd
1126 process for an NT workstation, first get the workstation to make the
1127 connection. Pressing ctrl-alt-delete and going down to the domain box
1128 is sufficient (at least, on the first time you join the domain) to
1129 generate a 'LsaEnumTrustedDomains'. Thereafter, the workstation
1130 maintains an open connection, and therefore there will be an smbd
1131 process running (assuming that you haven't set a really short smbd
1132 idle timeout) So, in between pressing ctrl alt delete, and actually
1133 typing in your password, you can gdb attach and continue.
1136 > Some useful samba commands worth investigating:
1139 ></P
1140 ><UL
1141 ><LI
1143 >testparam | more</P
1144 ></LI
1145 ><LI
1147 >smbclient -L //{netbios name of server}</P
1148 ></LI
1149 ></UL
1151 > An SMB enabled version of tcpdump is available from
1153 HREF="http://www.tcpdump.org/"
1154 TARGET="_top"
1155 >http://www.tcpdup.org/</A
1157 Ethereal, another good packet sniffer for Unix and Win32
1158 hosts, can be downloaded from <A
1159 HREF="http://www.ethereal.com/"
1160 TARGET="_top"
1161 >http://www.ethereal.com</A
1165 > For tracing things on the Microsoft Windows NT, Network Monitor
1166 (aka. netmon) is available on the Microsoft Developer Network CD's,
1167 the Windows NT Server install CD and the SMS CD's. The version of
1168 netmon that ships with SMS allows for dumping packets between any two
1169 computers (i.e. placing the network interface in promiscuous mode).
1170 The version on the NT Server install CD will only allow monitoring
1171 of network traffic directed to the local NT box and broadcasts on the
1172 local subnet. Be aware that Ethereal can read and write netmon
1173 formatted files.
1175 ></LI
1176 ><LI
1178 > <I
1179 CLASS="EMPHASIS"
1180 >How do I install 'Network Monitor' on an NT Workstation
1181 or a Windows 9x box?</I
1185 > Installing netmon on an NT workstation requires a couple
1186 of steps. The following are for installing Netmon V4.00.349, which comes
1187 with Microsoft Windows NT Server 4.0, on Microsoft Windows NT
1188 Workstation 4.0. The process should be similar for other version of
1189 Windows NT / Netmon. You will need both the Microsoft Windows
1190 NT Server 4.0 Install CD and the Workstation 4.0 Install CD.
1193 > Initially you will need to install 'Network Monitor Tools and Agent'
1194 on the NT Server. To do this
1197 ></P
1198 ><UL
1199 ><LI
1201 >Goto Start - Settings - Control Panel -
1202 Network - Services - Add </P
1203 ></LI
1204 ><LI
1206 >Select the 'Network Monitor Tools and Agent' and
1207 click on 'OK'.</P
1208 ></LI
1209 ><LI
1211 >Click 'OK' on the Network Control Panel.
1213 ></LI
1214 ><LI
1216 >Insert the Windows NT Server 4.0 install CD
1217 when prompted.</P
1218 ></LI
1219 ></UL
1221 > At this point the Netmon files should exist in
1223 CLASS="FILENAME"
1224 >%SYSTEMROOT%\System32\netmon\*.*</TT
1226 Two subdirectories exist as well, <TT
1227 CLASS="FILENAME"
1228 >parsers\</TT
1230 which contains the necessary DLL's for parsing the netmon packet
1231 dump, and <TT
1232 CLASS="FILENAME"
1233 >captures\</TT
1237 > In order to install the Netmon tools on an NT Workstation, you will
1238 first need to install the 'Network Monitor Agent' from the Workstation
1239 install CD.
1242 ></P
1243 ><UL
1244 ><LI
1246 >Goto Start - Settings - Control Panel -
1247 Network - Services - Add</P
1248 ></LI
1249 ><LI
1251 >Select the 'Network Monitor Agent' and click
1252 on 'OK'.</P
1253 ></LI
1254 ><LI
1256 >Click 'OK' on the Network Control Panel.
1258 ></LI
1259 ><LI
1261 >Insert the Windows NT Workstation 4.0 install
1262 CD when prompted.</P
1263 ></LI
1264 ></UL
1266 > Now copy the files from the NT Server in %SYSTEMROOT%\System32\netmon\*.*
1267 to %SYSTEMROOT%\System32\netmon\*.* on the Workstation and set
1268 permissions as you deem appropriate for your site. You will need
1269 administrative rights on the NT box to run netmon.
1272 > To install Netmon on a Windows 9x box install the network monitor agent
1273 from the Windows 9x CD (\admin\nettools\netmon). There is a readme
1274 file located with the netmon driver files on the CD if you need
1275 information on how to do this. Copy the files from a working
1276 Netmon installation.
1278 ></LI
1279 ><LI
1281 > The following is a list if helpful URLs and other links:
1284 ></P
1285 ><UL
1286 ><LI
1288 >Home of Samba site <A
1289 HREF="http://samba.org"
1290 TARGET="_top"
1291 > http://samba.org</A
1292 >. We have a mirror near you !</P
1293 ></LI
1294 ><LI
1296 > The <I
1297 CLASS="EMPHASIS"
1298 >Development</I
1299 > document
1300 on the Samba mirrors might mention your problem. If so,
1301 it might mean that the developers are working on it.</P
1302 ></LI
1303 ><LI
1305 >See how Scott Merrill simulates a BDC behavior at
1307 HREF="http://www.skippy.net/linux/smb-howto.html"
1308 TARGET="_top"
1309 > http://www.skippy.net/linux/smb-howto.html</A
1310 >. </P
1311 ></LI
1312 ><LI
1314 >Although 2.0.7 has almost had its day as a PDC, David Bannon will
1315 keep the 2.0.7 PDC pages at <A
1316 HREF="http://bioserve.latrobe.edu.au/samba"
1317 TARGET="_top"
1318 > http://bioserve.latrobe.edu.au/samba</A
1319 > going for a while yet.</P
1320 ></LI
1321 ><LI
1323 >Misc links to CIFS information
1325 HREF="http://samba.org/cifs/"
1326 TARGET="_top"
1327 >http://samba.org/cifs/</A
1328 ></P
1329 ></LI
1330 ><LI
1332 >NT Domains for Unix <A
1333 HREF="http://mailhost.cb1.com/~lkcl/ntdom/"
1334 TARGET="_top"
1335 > http://mailhost.cb1.com/~lkcl/ntdom/</A
1336 ></P
1337 ></LI
1338 ><LI
1340 >FTP site for older SMB specs:
1342 HREF="ftp://ftp.microsoft.com/developr/drg/CIFS/"
1343 TARGET="_top"
1344 > ftp://ftp.microsoft.com/developr/drg/CIFS/</A
1345 ></P
1346 ></LI
1347 ></UL
1348 ></LI
1349 ></UL
1351 ></P
1352 ><UL
1353 ><LI
1355 > <I
1356 CLASS="EMPHASIS"
1357 >How do I get help from the mailing lists?</I
1361 > There are a number of Samba related mailing lists. Go to <A
1362 HREF="http://samba.org"
1363 TARGET="_top"
1364 >http://samba.org</A
1365 >, click on your nearest mirror
1366 and then click on <B
1367 CLASS="COMMAND"
1368 >Support</B
1369 > and then click on <B
1370 CLASS="COMMAND"
1371 > Samba related mailing lists</B
1375 > For questions relating to Samba TNG go to
1377 HREF="http://www.samba-tng.org/"
1378 TARGET="_top"
1379 >http://www.samba-tng.org/</A
1381 It has been requested that you don't post questions about Samba-TNG to the
1382 main stream Samba lists.</P
1384 > If you post a message to one of the lists please observe the following guide lines :
1387 ></P
1388 ><UL
1389 ><LI
1391 > Always remember that the developers are volunteers, they are
1392 not paid and they never guarantee to produce a particular feature at
1393 a particular time. Any time lines are 'best guess' and nothing more.
1395 ></LI
1396 ><LI
1398 > Always mention what version of samba you are using and what
1399 operating system its running under. You should probably list the
1400 relevant sections of your smb.conf file, at least the options
1401 in [global] that affect PDC support.</P
1402 ></LI
1403 ><LI
1405 >In addition to the version, if you obtained Samba via
1406 CVS mention the date when you last checked it out.</P
1407 ></LI
1408 ><LI
1410 > Try and make your question clear and brief, lots of long,
1411 convoluted questions get deleted before they are completely read !
1412 Don't post html encoded messages (if you can select colour or font
1413 size its html).</P
1414 ></LI
1415 ><LI
1417 > If you run one of those nifty 'I'm on holidays' things when
1418 you are away, make sure its configured to not answer mailing lists.
1420 ></LI
1421 ><LI
1423 > Don't cross post. Work out which is the best list to post to
1424 and see what happens, i.e. don't post to both samba-ntdom and samba-technical.
1425 Many people active on the lists subscribe to more
1426 than one list and get annoyed to see the same message two or more times.
1427 Often someone will see a message and thinking it would be better dealt
1428 with on another, will forward it on for you.</P
1429 ></LI
1430 ><LI
1432 >You might include <I
1433 CLASS="EMPHASIS"
1434 >partial</I
1436 log files written at a debug level set to as much as 20.
1437 Please don't send the entire log but enough to give the context of the
1438 error messages.</P
1439 ></LI
1440 ><LI
1442 >(Possibly) If you have a complete netmon trace ( from the opening of
1443 the pipe to the error ) you can send the *.CAP file as well.</P
1444 ></LI
1445 ><LI
1447 >Please think carefully before attaching a document to an email.
1448 Consider pasting the relevant parts into the body of the message. The samba
1449 mailing lists go to a huge number of people, do they all need a copy of your
1450 smb.conf in their attach directory?</P
1451 ></LI
1452 ></UL
1453 ></LI
1454 ><LI
1456 > <I
1457 CLASS="EMPHASIS"
1458 >How do I get off the mailing lists?</I
1462 >To have your name removed from a samba mailing list, go to the
1463 same place you went to to get on it. Go to <A
1464 HREF="http://lists.samba.org/"
1465 TARGET="_top"
1466 >http://lists.samba.org</A
1468 click on your nearest mirror and then click on <B
1469 CLASS="COMMAND"
1470 >Support</B
1471 > and
1472 then click on <B
1473 CLASS="COMMAND"
1474 > Samba related mailing lists</B
1475 >. Or perhaps see
1477 HREF="http://lists.samba.org/mailman/roster/samba-ntdom"
1478 TARGET="_top"
1479 >here</A
1483 > Please don't post messages to the list asking to be removed, you will just
1484 be referred to the above address (unless that process failed in some way...)
1486 ></LI
1487 ></UL
1488 ></DIV
1489 ><DIV
1490 CLASS="SECT1"
1491 ><HR><H1
1492 CLASS="SECT1"
1494 NAME="AEN375"
1495 >Domain Control for Windows 9x/ME</A
1496 ></H1
1497 ><DIV
1498 CLASS="NOTE"
1499 ><BLOCKQUOTE
1500 CLASS="NOTE"
1503 >Note: </B
1504 >The following section contains much of the original
1505 DOMAIN.txt file previously included with Samba. Much of
1506 the material is based on what went into the book <I
1507 CLASS="EMPHASIS"
1508 >Special
1509 Edition, Using Samba</I
1510 >, by Richard Sharpe.</P
1511 ></BLOCKQUOTE
1512 ></DIV
1514 >A domain and a workgroup are exactly the same thing in terms of network
1515 browsing. The difference is that a distributable authentication
1516 database is associated with a domain, for secure login access to a
1517 network. Also, different access rights can be granted to users if they
1518 successfully authenticate against a domain logon server (NT server and
1519 other systems based on NT server support this, as does at least Samba TNG now).</P
1521 >The SMB client logging on to a domain has an expectation that every other
1522 server in the domain should accept the same authentication information.
1523 Network browsing functionality of domains and workgroups is
1524 identical and is explained in BROWSING.txt. It should be noted, that browsing
1525 is totally orthogonal to logon support.</P
1527 >Issues related to the single-logon network model are discussed in this
1528 section. Samba supports domain logons, network logon scripts, and user
1529 profiles for MS Windows for workgroups and MS Windows 9X/ME clients
1530 which will be the focus of this section.</P
1532 >When an SMB client in a domain wishes to logon it broadcast requests for a
1533 logon server. The first one to reply gets the job, and validates its
1534 password using whatever mechanism the Samba administrator has installed.
1535 It is possible (but very stupid) to create a domain where the user
1536 database is not shared between servers, i.e. they are effectively workgroup
1537 servers advertising themselves as participating in a domain. This
1538 demonstrates how authentication is quite different from but closely
1539 involved with domains.</P
1541 >Using these features you can make your clients verify their logon via
1542 the Samba server; make clients run a batch file when they logon to
1543 the network and download their preferences, desktop and start menu.</P
1545 >Before launching into the configuration instructions, it is
1546 worthwhile lookingat how a Windows 9x/ME client performs a logon:</P
1548 ></P
1549 ><OL
1550 TYPE="1"
1551 ><LI
1553 > The client broadcasts (to the IP broadcast address of the subnet it is in)
1554 a NetLogon request. This is sent to the NetBIOS name DOMAIN&#60;1c&#62; at the
1555 NetBIOS layer. The client chooses the first response it receives, which
1556 contains the NetBIOS name of the logon server to use in the format of
1557 \\SERVER.
1559 ></LI
1560 ><LI
1562 > The client then connects to that server, logs on (does an SMBsessetupX) and
1563 then connects to the IPC$ share (using an SMBtconX).
1565 ></LI
1566 ><LI
1568 > The client then does a NetWkstaUserLogon request, which retrieves the name
1569 of the user's logon script.
1571 ></LI
1572 ><LI
1574 > The client then connects to the NetLogon share and searches for this
1575 and if it is found and can be read, is retrieved and executed by the client.
1576 After this, the client disconnects from the NetLogon share.
1578 ></LI
1579 ><LI
1581 > The client then sends a NetUserGetInfo request to the server, to retrieve
1582 the user's home share, which is used to search for profiles. Since the
1583 response to the NetUserGetInfo request does not contain much more
1584 the user's home share, profiles for Win9X clients MUST reside in the user
1585 home directory.
1587 ></LI
1588 ><LI
1590 > The client then connects to the user's home share and searches for the
1591 user's profile. As it turns out, you can specify the user's home share as
1592 a sharename and path. For example, \\server\fred\.profile.
1593 If the profiles are found, they are implemented.
1595 ></LI
1596 ><LI
1598 > The client then disconnects from the user's home share, and reconnects to
1599 the NetLogon share and looks for CONFIG.POL, the policies file. If this is
1600 found, it is read and implemented.
1602 ></LI
1603 ></OL
1604 ><DIV
1605 CLASS="SECT2"
1606 ><HR><H2
1607 CLASS="SECT2"
1609 NAME="AEN401"
1610 >Configuration Instructions: Network Logons</A
1611 ></H2
1613 >The main difference between a PDC and a Windows 9x logon
1614 server configuration is that</P
1616 ></P
1617 ><UL
1618 ><LI
1620 >Password encryption is not required for a Windows 9x logon server.</P
1621 ></LI
1622 ><LI
1624 >Windows 9x/ME clients do not possess machine trust accounts.</P
1625 ></LI
1626 ></UL
1628 >Therefore, a Samba PDC will also act as a Windows 9x logon
1629 server.</P
1630 ><DIV
1631 CLASS="WARNING"
1633 ></P
1634 ><TABLE
1635 CLASS="WARNING"
1636 BORDER="1"
1637 WIDTH="100%"
1638 ><TR
1639 ><TD
1640 ALIGN="CENTER"
1642 >security mode and master browsers</B
1643 ></TD
1644 ></TR
1645 ><TR
1646 ><TD
1647 ALIGN="LEFT"
1649 >There are a few comments to make in order to tie up some
1650 loose ends. There has been much debate over the issue of whether
1651 or not it is ok to configure Samba as a Domain Controller in security
1652 modes other than <TT
1653 CLASS="CONSTANT"
1654 >USER</TT
1655 >. The only security mode
1656 which will not work due to technical reasons is <TT
1657 CLASS="CONSTANT"
1658 >SHARE</TT
1660 mode security. <TT
1661 CLASS="CONSTANT"
1662 >DOMAIN</TT
1663 > and <TT
1664 CLASS="CONSTANT"
1665 >SERVER</TT
1667 mode security is really just a variation on SMB user level security.</P
1669 >Actually, this issue is also closely tied to the debate on whether
1670 or not Samba must be the domain master browser for its workgroup
1671 when operating as a DC. While it may technically be possible
1672 to configure a server as such (after all, browsing and domain logons
1673 are two distinctly different functions), it is not a good idea to
1674 so. You should remember that the DC must register the DOMAIN#1b NetBIOS
1675 name. This is the name used by Windows clients to locate the DC.
1676 Windows clients do not distinguish between the DC and the DMB.
1677 For this reason, it is very wise to configure the Samba DC as the DMB.</P
1679 >Now back to the issue of configuring a Samba DC to use a mode other
1680 than "security = user". If a Samba host is configured to use
1681 another SMB server or DC in order to validate user connection
1682 requests, then it is a fact that some other machine on the network
1683 (the "password server") knows more about user than the Samba host.
1684 99% of the time, this other host is a domain controller. Now
1685 in order to operate in domain mode security, the "workgroup" parameter
1686 must be set to the name of the Windows NT domain (which already
1687 has a domain controller, right?)</P
1689 >Therefore configuring a Samba box as a DC for a domain that
1690 already by definition has a PDC is asking for trouble.
1691 Therefore, you should always configure the Samba DC to be the DMB
1692 for its domain.</P
1693 ></TD
1694 ></TR
1695 ></TABLE
1696 ></DIV
1697 ></DIV
1698 ><DIV
1699 CLASS="SECT2"
1700 ><HR><H2
1701 CLASS="SECT2"
1703 NAME="AEN420"
1704 >Configuration Instructions: Setting up Roaming User Profiles</A
1705 ></H2
1706 ><DIV
1707 CLASS="WARNING"
1709 ></P
1710 ><TABLE
1711 CLASS="WARNING"
1712 BORDER="1"
1713 WIDTH="100%"
1714 ><TR
1715 ><TD
1716 ALIGN="CENTER"
1718 >Warning</B
1719 ></TD
1720 ></TR
1721 ><TR
1722 ><TD
1723 ALIGN="LEFT"
1726 CLASS="EMPHASIS"
1727 >NOTE!</I
1728 > Roaming profiles support is different
1729 for Win9X and WinNT.</P
1730 ></TD
1731 ></TR
1732 ></TABLE
1733 ></DIV
1735 >Before discussing how to configure roaming profiles, it is useful to see how
1736 Win9X and WinNT clients implement these features.</P
1738 >Win9X clients send a NetUserGetInfo request to the server to get the user's
1739 profiles location. However, the response does not have room for a separate
1740 profiles location field, only the user's home share. This means that Win9X
1741 profiles are restricted to being in the user's home directory.</P
1743 >WinNT clients send a NetSAMLogon RPC request, which contains many fields,
1744 including a separate field for the location of the user's profiles.
1745 This means that support for profiles is different for Win9X and WinNT.</P
1746 ><DIV
1747 CLASS="SECT3"
1748 ><HR><H3
1749 CLASS="SECT3"
1751 NAME="AEN428"
1752 >Windows NT Configuration</A
1753 ></H3
1755 >To support WinNT clients, in the [global] section of smb.conf set the
1756 following (for example):</P
1758 ><PRE
1759 CLASS="PROGRAMLISTING"
1760 >logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath</PRE
1761 ></P
1763 >The default for this option is \\%N\%U\profile, namely
1764 \\sambaserver\username\profile. The \\N%\%U service is created
1765 automatically by the [homes] service.
1766 If you are using a samba server for the profiles, you _must_ make the
1767 share specified in the logon path browseable. </P
1768 ><DIV
1769 CLASS="NOTE"
1770 ><BLOCKQUOTE
1771 CLASS="NOTE"
1774 >Note: </B
1775 >[lkcl 26aug96 - we have discovered a problem where Windows clients can
1776 maintain a connection to the [homes] share in between logins. The
1777 [homes] share must NOT therefore be used in a profile path.]</P
1778 ></BLOCKQUOTE
1779 ></DIV
1780 ></DIV
1781 ><DIV
1782 CLASS="SECT3"
1783 ><HR><H3
1784 CLASS="SECT3"
1786 NAME="AEN436"
1787 >Windows 9X Configuration</A
1788 ></H3
1790 >To support Win9X clients, you must use the "logon home" parameter. Samba has
1791 now been fixed so that "net use/home" now works as well, and it, too, relies
1792 on the "logon home" parameter.</P
1794 >By using the logon home parameter, you are restricted to putting Win9X
1795 profiles in the user's home directory. But wait! There is a trick you
1796 can use. If you set the following in the [global] section of your
1797 smb.conf file:</P
1799 ><PRE
1800 CLASS="PROGRAMLISTING"
1801 >logon home = \\%L\%U\.profiles</PRE
1802 ></P
1804 >then your Win9X clients will dutifully put their clients in a subdirectory
1805 of your home directory called .profiles (thus making them hidden).</P
1807 >Not only that, but 'net use/home' will also work, because of a feature in
1808 Win9X. It removes any directory stuff off the end of the home directory area
1809 and only uses the server and share portion. That is, it looks like you
1810 specified \\%L\%U for "logon home".</P
1811 ></DIV
1812 ><DIV
1813 CLASS="SECT3"
1814 ><HR><H3
1815 CLASS="SECT3"
1817 NAME="AEN444"
1818 >Win9X and WinNT Configuration</A
1819 ></H3
1821 >You can support profiles for both Win9X and WinNT clients by setting both the
1822 "logon home" and "logon path" parameters. For example:</P
1824 ><PRE
1825 CLASS="PROGRAMLISTING"
1826 >logon home = \\%L\%U\.profiles
1827 logon path = \\%L\profiles\%U</PRE
1828 ></P
1829 ><DIV
1830 CLASS="NOTE"
1831 ><BLOCKQUOTE
1832 CLASS="NOTE"
1835 >Note: </B
1836 >I have not checked what 'net use /home' does on NT when "logon home" is
1837 set as above.</P
1838 ></BLOCKQUOTE
1839 ></DIV
1840 ></DIV
1841 ><DIV
1842 CLASS="SECT3"
1843 ><HR><H3
1844 CLASS="SECT3"
1846 NAME="AEN451"
1847 >Windows 9X Profile Setup</A
1848 ></H3
1850 >When a user first logs in on Windows 9X, the file user.DAT is created,
1851 as are folders "Start Menu", "Desktop", "Programs" and "Nethood".
1852 These directories and their contents will be merged with the local
1853 versions stored in c:\windows\profiles\username on subsequent logins,
1854 taking the most recent from each. You will need to use the [global]
1855 options "preserve case = yes", "short preserve case = yes" and
1856 "case sensitive = no" in order to maintain capital letters in shortcuts
1857 in any of the profile folders.</P
1859 >The user.DAT file contains all the user's preferences. If you wish to
1860 enforce a set of preferences, rename their user.DAT file to user.MAN,
1861 and deny them write access to this file.</P
1863 ></P
1864 ><OL
1865 TYPE="1"
1866 ><LI
1868 > On the Windows 95 machine, go to Control Panel | Passwords and
1869 select the User Profiles tab. Select the required level of
1870 roaming preferences. Press OK, but do _not_ allow the computer
1871 to reboot.
1873 ></LI
1874 ><LI
1876 > On the Windows 95 machine, go to Control Panel | Network |
1877 Client for Microsoft Networks | Preferences. Select 'Log on to
1878 NT Domain'. Then, ensure that the Primary Logon is 'Client for
1879 Microsoft Networks'. Press OK, and this time allow the computer
1880 to reboot.
1882 ></LI
1883 ></OL
1885 >Under Windows 95, Profiles are downloaded from the Primary Logon.
1886 If you have the Primary Logon as 'Client for Novell Networks', then
1887 the profiles and logon script will be downloaded from your Novell
1888 Server. If you have the Primary Logon as 'Windows Logon', then the
1889 profiles will be loaded from the local machine - a bit against the
1890 concept of roaming profiles, if you ask me.</P
1892 >You will now find that the Microsoft Networks Login box contains
1893 [user, password, domain] instead of just [user, password]. Type in
1894 the samba server's domain name (or any other domain known to exist,
1895 but bear in mind that the user will be authenticated against this
1896 domain and profiles downloaded from it, if that domain logon server
1897 supports it), user name and user's password.</P
1899 >Once the user has been successfully validated, the Windows 95 machine
1900 will inform you that 'The user has not logged on before' and asks you
1901 if you wish to save the user's preferences? Select 'yes'.</P
1903 >Once the Windows 95 client comes up with the desktop, you should be able
1904 to examine the contents of the directory specified in the "logon path"
1905 on the samba server and verify that the "Desktop", "Start Menu",
1906 "Programs" and "Nethood" folders have been created.</P
1908 >These folders will be cached locally on the client, and updated when
1909 the user logs off (if you haven't made them read-only by then :-).
1910 You will find that if the user creates further folders or short-cuts,
1911 that the client will merge the profile contents downloaded with the
1912 contents of the profile directory already on the local client, taking
1913 the newest folders and short-cuts from each set.</P
1915 >If you have made the folders / files read-only on the samba server,
1916 then you will get errors from the w95 machine on logon and logout, as
1917 it attempts to merge the local and the remote profile. Basically, if
1918 you have any errors reported by the w95 machine, check the Unix file
1919 permissions and ownership rights on the profile directory contents,
1920 on the samba server.</P
1922 >If you have problems creating user profiles, you can reset the user's
1923 local desktop cache, as shown below. When this user then next logs in,
1924 they will be told that they are logging in "for the first time".</P
1926 ></P
1927 ><OL
1928 TYPE="1"
1929 ><LI
1931 > instead of logging in under the [user, password, domain] dialog,
1932 press escape.
1934 ></LI
1935 ><LI
1937 > run the regedit.exe program, and look in:
1940 > HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
1943 > you will find an entry, for each user, of ProfilePath. Note the
1944 contents of this key (likely to be c:\windows\profiles\username),
1945 then delete the key ProfilePath for the required user.
1948 > [Exit the registry editor].
1950 ></LI
1951 ><LI
1953 > <I
1954 CLASS="EMPHASIS"
1955 >WARNING</I
1956 > - before deleting the contents of the
1957 directory listed in
1958 the ProfilePath (this is likely to be c:\windows\profiles\username),
1959 ask them if they have any important files stored on their desktop
1960 or in their start menu. delete the contents of the directory
1961 ProfilePath (making a backup if any of the files are needed).
1964 > This will have the effect of removing the local (read-only hidden
1965 system file) user.DAT in their profile directory, as well as the
1966 local "desktop", "nethood", "start menu" and "programs" folders.
1968 ></LI
1969 ><LI
1971 > search for the user's .PWL password-caching file in the c:\windows
1972 directory, and delete it.
1974 ></LI
1975 ><LI
1977 > log off the windows 95 client.
1979 ></LI
1980 ><LI
1982 > check the contents of the profile path (see "logon path" described
1983 above), and delete the user.DAT or user.MAN file for the user,
1984 making a backup if required.
1986 ></LI
1987 ></OL
1989 >If all else fails, increase samba's debug log levels to between 3 and 10,
1990 and / or run a packet trace program such as tcpdump or netmon.exe, and
1991 look for any error reports.</P
1993 >If you have access to an NT server, then first set up roaming profiles
1994 and / or netlogons on the NT server. Make a packet trace, or examine
1995 the example packet traces provided with NT server, and see what the
1996 differences are with the equivalent samba trace.</P
1997 ></DIV
1998 ><DIV
1999 CLASS="SECT3"
2000 ><HR><H3
2001 CLASS="SECT3"
2003 NAME="AEN487"
2004 >Windows NT Workstation 4.0</A
2005 ></H3
2007 >When a user first logs in to a Windows NT Workstation, the profile
2008 NTuser.DAT is created. The profile location can be now specified
2009 through the "logon path" parameter. </P
2010 ><DIV
2011 CLASS="NOTE"
2012 ><BLOCKQUOTE
2013 CLASS="NOTE"
2016 >Note: </B
2017 >[lkcl 10aug97 - i tried setting the path to
2018 \\samba-server\homes\profile, and discovered that this fails because
2019 a background process maintains the connection to the [homes] share
2020 which does _not_ close down in between user logins. you have to
2021 have \\samba-server\%L\profile, where user is the username created
2022 from the [homes] share].</P
2023 ></BLOCKQUOTE
2024 ></DIV
2026 >There is a parameter that is now available for use with NT Profiles:
2027 "logon drive". This should be set to "h:" or any other drive, and
2028 should be used in conjunction with the new "logon home" parameter.</P
2030 >The entry for the NT 4.0 profile is a _directory_ not a file. The NT
2031 help on profiles mentions that a directory is also created with a .PDS
2032 extension. The user, while logging in, must have write permission to
2033 create the full profile path (and the folder with the .PDS extension)
2034 [lkcl 10aug97 - i found that the creation of the .PDS directory failed,
2035 and had to create these manually for each user, with a shell script.
2036 also, i presume, but have not tested, that the full profile path must
2037 be browseable just as it is for w95, due to the manner in which they
2038 attempt to create the full profile path: test existence of each path
2039 component; create path component].</P
2041 >In the profile directory, NT creates more folders than 95. It creates
2042 "Application Data" and others, as well as "Desktop", "Nethood",
2043 "Start Menu" and "Programs". The profile itself is stored in a file
2044 NTuser.DAT. Nothing appears to be stored in the .PDS directory, and
2045 its purpose is currently unknown.</P
2047 >You can use the System Control Panel to copy a local profile onto
2048 a samba server (see NT Help on profiles: it is also capable of firing
2049 up the correct location in the System Control Panel for you). The
2050 NT Help file also mentions that renaming NTuser.DAT to NTuser.MAN
2051 turns a profile into a mandatory one.</P
2052 ><DIV
2053 CLASS="NOTE"
2054 ><BLOCKQUOTE
2055 CLASS="NOTE"
2058 >Note: </B
2059 >[lkcl 10aug97 - i notice that NT Workstation tells me that it is
2060 downloading a profile from a slow link. whether this is actually the
2061 case, or whether there is some configuration issue, as yet unknown,
2062 that makes NT Workstation _think_ that the link is a slow one is a
2063 matter to be resolved].</P
2065 >[lkcl 20aug97 - after samba digest correspondence, one user found, and
2066 another confirmed, that profiles cannot be loaded from a samba server
2067 unless "security = user" and "encrypt passwords = yes" (see the file
2068 ENCRYPTION.txt) or "security = server" and "password server = ip.address.
2069 of.yourNTserver" are used. Either of these options will allow the NT
2070 workstation to access the samba server using LAN manager encrypted
2071 passwords, without the user intervention normally required by NT
2072 workstation for clear-text passwords].</P
2074 >[lkcl 25aug97 - more comments received about NT profiles: the case of
2075 the profile _matters_. the file _must_ be called NTuser.DAT or, for
2076 a mandatory profile, NTuser.MAN].</P
2077 ></BLOCKQUOTE
2078 ></DIV
2079 ></DIV
2080 ><DIV
2081 CLASS="SECT3"
2082 ><HR><H3
2083 CLASS="SECT3"
2085 NAME="AEN500"
2086 >Windows NT Server</A
2087 ></H3
2089 >There is nothing to stop you specifying any path that you like for the
2090 location of users' profiles. Therefore, you could specify that the
2091 profile be stored on a samba server, or any other SMB server, as long as
2092 that SMB server supports encrypted passwords.</P
2093 ></DIV
2094 ><DIV
2095 CLASS="SECT3"
2096 ><HR><H3
2097 CLASS="SECT3"
2099 NAME="AEN503"
2100 >Sharing Profiles between W95 and NT Workstation 4.0</A
2101 ></H3
2102 ><DIV
2103 CLASS="WARNING"
2105 ></P
2106 ><TABLE
2107 CLASS="WARNING"
2108 BORDER="1"
2109 WIDTH="100%"
2110 ><TR
2111 ><TD
2112 ALIGN="CENTER"
2114 >Potentially outdated or incorrect material follows</B
2115 ></TD
2116 ></TR
2117 ><TR
2118 ><TD
2119 ALIGN="LEFT"
2121 >I think this is all bogus, but have not deleted it. (Richard Sharpe)</P
2122 ></TD
2123 ></TR
2124 ></TABLE
2125 ></DIV
2127 >The default logon path is \\%N\U%. NT Workstation will attempt to create
2128 a directory "\\samba-server\username.PDS" if you specify the logon path
2129 as "\\samba-server\username" with the NT User Manager. Therefore, you
2130 will need to specify (for example) "\\samba-server\username\profile".
2131 NT 4.0 will attempt to create "\\samba-server\username\profile.PDS", which
2132 is more likely to succeed.</P
2134 >If you then want to share the same Start Menu / Desktop with W95, you will
2135 need to specify "logon path = \\samba-server\username\profile" [lkcl 10aug97
2136 this has its drawbacks: i created a shortcut to telnet.exe, which attempts
2137 to run from the c:\winnt\system32 directory. this directory is obviously
2138 unlikely to exist on a Win95-only host].</P
2140 >&#13;If you have this set up correctly, you will find separate user.DAT and
2141 NTuser.DAT files in the same profile directory.</P
2142 ><DIV
2143 CLASS="NOTE"
2144 ><BLOCKQUOTE
2145 CLASS="NOTE"
2148 >Note: </B
2149 >[lkcl 25aug97 - there are some issues to resolve with downloading of
2150 NT profiles, probably to do with time/date stamps. i have found that
2151 NTuser.DAT is never updated on the workstation after the first time that
2152 it is copied to the local workstation profile directory. this is in
2153 contrast to w95, where it _does_ transfer / update profiles correctly].</P
2154 ></BLOCKQUOTE
2155 ></DIV
2156 ></DIV
2157 ></DIV
2158 ></DIV
2159 ><DIV
2160 CLASS="SECT1"
2161 ><HR><H1
2162 CLASS="SECT1"
2164 NAME="AEN513"
2165 >DOMAIN_CONTROL.txt : Windows NT Domain Control &#38; Samba</A
2166 ></H1
2167 ><DIV
2168 CLASS="WARNING"
2170 ></P
2171 ><TABLE
2172 CLASS="WARNING"
2173 BORDER="1"
2174 WIDTH="100%"
2175 ><TR
2176 ><TD
2177 ALIGN="CENTER"
2179 >Possibly Outdated Material</B
2180 ></TD
2181 ></TR
2182 ><TR
2183 ><TD
2184 ALIGN="LEFT"
2186 > This appendix was originally authored by John H Terpstra of
2187 the Samba Team and is included here for posterity.
2189 ></TD
2190 ></TR
2191 ></TABLE
2192 ></DIV
2195 CLASS="EMPHASIS"
2196 >NOTE :</I
2198 The term "Domain Controller" and those related to it refer to one specific
2199 method of authentication that can underly an SMB domain. Domain Controllers
2200 prior to Windows NT Server 3.1 were sold by various companies and based on
2201 private extensions to the LAN Manager 2.1 protocol. Windows NT introduced
2202 Microsoft-specific ways of distributing the user authentication database.
2203 See DOMAIN.txt for examples of how Samba can participate in or create
2204 SMB domains based on shared authentication database schemes other than the
2205 Windows NT SAM.</P
2207 >Windows NT Server can be installed as either a plain file and print server
2208 (WORKGROUP workstation or server) or as a server that participates in Domain
2209 Control (DOMAIN member, Primary Domain controller or Backup Domain controller).
2210 The same is true for OS/2 Warp Server, Digital Pathworks and other similar
2211 products, all of which can participate in Domain Control along with Windows NT.</P
2213 >To many people these terms can be confusing, so let's try to clear the air.</P
2215 >Every Windows NT system (workstation or server) has a registry database.
2216 The registry contains entries that describe the initialization information
2217 for all services (the equivalent of Unix Daemons) that run within the Windows
2218 NT environment. The registry also contains entries that tell application
2219 software where to find dynamically loadable libraries that they depend upon.
2220 In fact, the registry contains entries that describes everything that anything
2221 may need to know to interact with the rest of the system.</P
2223 >The registry files can be located on any Windows NT machine by opening a
2224 command prompt and typing:</P
2226 ><TT
2227 CLASS="PROMPT"
2228 >C:\WINNT\&#62;</TT
2229 > dir %SystemRoot%\System32\config</P
2231 >The environment variable %SystemRoot% value can be obtained by typing:</P
2233 ><TT
2234 CLASS="PROMPT"
2235 >C:\WINNT&#62;</TT
2236 >echo %SystemRoot%</P
2238 >The active parts of the registry that you may want to be familiar with are
2239 the files called: default, system, software, sam and security.</P
2241 >In a domain environment, Microsoft Windows NT domain controllers participate
2242 in replication of the SAM and SECURITY files so that all controllers within
2243 the domain have an exactly identical copy of each.</P
2245 >The Microsoft Windows NT system is structured within a security model that
2246 says that all applications and services must authenticate themselves before
2247 they can obtain permission from the security manager to do what they set out
2248 to do.</P
2250 >The Windows NT User database also resides within the registry. This part of
2251 the registry contains the user's security identifier, home directory, group
2252 memberships, desktop profile, and so on.</P
2254 >Every Windows NT system (workstation as well as server) will have its own
2255 registry. Windows NT Servers that participate in Domain Security control
2256 have a database that they share in common - thus they do NOT own an
2257 independent full registry database of their own, as do Workstations and
2258 plain Servers.</P
2260 >The User database is called the SAM (Security Access Manager) database and
2261 is used for all user authentication as well as for authentication of inter-
2262 process authentication (i.e. to ensure that the service action a user has
2263 requested is permitted within the limits of that user's privileges).</P
2265 >The Samba team have produced a utility that can dump the Windows NT SAM into
2266 smbpasswd format: see ENCRYPTION.txt for information on smbpasswd and
2267 /pub/samba/pwdump on your nearest Samba mirror for the utility. This
2268 facility is useful but cannot be easily used to implement SAM replication
2269 to Samba systems.</P
2271 >Windows for Workgroups, Windows 95, and Windows NT Workstations and Servers
2272 can participate in a Domain security system that is controlled by Windows NT
2273 servers that have been correctly configured. Almost every domain will have
2274 ONE Primary Domain Controller (PDC). It is desirable that each domain will
2275 have at least one Backup Domain Controller (BDC).</P
2277 >The PDC and BDCs then participate in replication of the SAM database so that
2278 each Domain Controlling participant will have an up to date SAM component
2279 within its registry.</P
2280 ></DIV
2281 ></DIV
2282 ></BODY
2283 ></HTML