1 <chapter id=
"samba-pdc">
6 <firstname>Gerald (Jerry)
</firstname><surname>Carter
</surname>
8 <orgname>VA Linux Systems/Samba Team
</orgname>
9 <address><email>jerry@samba.org
</email></address>
11 <firstname>David
</firstname><surname>Bannon
</surname>
13 <orgname>Samba Team
</orgname>
14 <address><email>dbannon@samba.org
</email></address>
18 <pubdate> (
26 Apr
2001)
</pubdate>
22 How to Configure Samba
2.2 as a Primary Domain Controller
26 <!-- **********************************************************
30 *************************************************************** -->
32 <title>Prerequisite Reading
</title>
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
39 <ulink url=
"smb.conf.5.html"><filename>smb.conf(
5)
</filename></ulink>
40 manpage and the
<ulink url=
"ENCRYPTION.html">Encryption chapter
</ulink>
41 of this HOWTO Collection.
49 <!-- **********************************************************
51 Background Information
53 *************************************************************** -->
61 <emphasis>Author's Note :
</emphasis> This document is a combination
62 of David Bannon's Samba
2.2 PDC HOWTO and the Samba NT Domain FAQ.
63 Both documents are superseded by this one.
68 Version of Samba prior to release
2.2 had marginal capabilities to
69 act as a Windows NT
4.0 Primary DOmain Controller
<indexterm><primary>Primary
70 Domain Controller
</primary></indexterm> (PDC). Beginning with
71 Samba
2.2.0, we are proud to announce official support for Windows NT
4.0
72 style domain logons from Windows NT
4.0 (through SP6) and Windows
2000 (through
73 SP1) clients. This article outlines the steps necessary for configuring Samba
74 as a PDC. It is necessary to have a working Samba server prior to implementing the
75 PDC functionality. If you have not followed the steps outlined in
76 <ulink url=
"UNIX_INSTALL.html"> UNIX_INSTALL.html
</ulink>, please make sure
77 that your server is configured correctly before proceeding. Another good
78 resource in the
<ulink url=
"smb.conf.5.html">smb.conf(
5) man
79 page
</ulink>. The following functionality should work in
2.2:
84 domain logons for Windows NT
4.0/
2000 clients.
88 placing a Windows
9x client in user level security
92 retrieving a list of users and groups from a Samba PDC to
93 Windows
9x/NT/
2000 clients
97 roving (roaming) user profiles
101 Windows NT
4.0 style system policies
106 <title>Windows
2000 Service Pack
2 Clients
</title>
108 Samba
2.2.1 is required for PDC functionality when using Windows
2000
115 The following pieces of functionality are not included in the
2.2 release:
120 Windows NT
4 domain trusts
124 SAM replication with Windows NT
4.0 Domain Controllers
125 (i.e. a Samba PDC and a Windows NT BDC or vice versa)
129 Adding users via the User Manager for Domains
133 Acting as a Windows
2000 Domain Controller (i.e. Kerberos and
139 Please note that Windows
9x clients are not true members of a domain
140 for reasons outlined in this article. Therefore the protocol for
141 support Windows
9x style domain logons is completely different
142 from NT4 domain logons and has been officially supported for some
148 Implementing a Samba PDC can basically be divided into
2 broad
152 <orderedlist numeration=
"Arabic">
154 Configuring the Samba PDC
158 Creating machine trust accounts and joining clients
164 There are other minor details such as user profiles, system
165 policies, etc... However, these are not necessarily specific
166 to a Samba PDC as much as they are related to Windows NT networking
167 concepts. They will be mentioned only briefly here.
173 <!-- **********************************************************
175 Configuring the Samba PDC
177 *************************************************************** -->
180 <title>Configuring the Samba Domain Controller
</title>
183 The first step in creating a working Samba PDC is to
184 understand the parameters necessary in smb.conf. I will not
185 attempt to re-explain the parameters here as they are more that
186 adequately covered in
<ulink url=
"smb.conf.5.html"> the smb.conf
187 man page
</ulink>. For convenience, the parameters have been
188 linked with the actual smb.conf description.
192 Here is an example smb.conf for acting as a PDC:
195 <para><programlisting>
197 ; Basic server settings
198 <ulink url=
"smb.conf.5.html#NETBIOSNAME">netbios name
</ulink> =
<replaceable>POGO
</replaceable>
199 <ulink url=
"smb.conf.5.html#WORKGROUP">workgroup
</ulink> =
<replaceable>NARNIA
</replaceable>
201 ; we should act as the domain and local master browser
202 <ulink url=
"smb.conf.5.html#OSLEVEL">os level
</ulink> =
64
203 <ulink url=
"smb.conf.5.html#PERFERREDMASTER">preferred master
</ulink> = yes
204 <ulink url=
"smb.conf.5.html#DOMAINMASTER">domain master
</ulink> = yes
205 <ulink url=
"smb.conf.5.html#LOCALMASTER">local master
</ulink> = yes
207 ; security settings (must user security = user)
208 <ulink url=
"smb.conf.5.html#SECURITYEQUALSUSER">security
</ulink> = user
210 ; encrypted passwords are a requirement for a PDC
211 <ulink url=
"smb.conf.5.html#ENCRYPTPASSWORDS">encrypt passwords
</ulink> = yes
213 ; support domain logons
214 <ulink url=
"smb.conf.5.html#DOMAINLOGONS">domain logons
</ulink> = yes
216 ; where to store user profiles?
217 <ulink url=
"smb.conf.5.html#LOGONPATH">logon path
</ulink> = \\%N\profiles\%u
219 ; where is a user's home directory and where should it
221 <ulink url=
"smb.conf.5.html#LOGONDRIVE">logon drive
</ulink> = H:
222 <ulink url=
"smb.conf.5.html#LOGONHOME">logon home
</ulink> = \\homeserver\%u
224 ; specify a generic logon script for all users
225 ; this is a relative **DOS** path to the [netlogon] share
226 <ulink url=
"smb.conf.5.html#LOGONSCRIPT">logon script
</ulink> = logon.cmd
228 ; necessary share for domain controller
230 <ulink url=
"smb.conf.5.html#PATH">path
</ulink> = /usr/local/samba/lib/netlogon
231 <ulink url=
"smb.conf.5.html#WRITEABLE">writeable
</ulink> = no
232 <ulink url=
"smb.conf.5.html#WRITELIST">write list
</ulink> =
<replaceable>ntadmin
</replaceable>
234 ; share for storing user profiles
236 <ulink url=
"smb.conf.5.html#PATH">path
</ulink> = /export/smb/ntprofile
237 <ulink url=
"smb.conf.5.html#WRITEABLE">writeable
</ulink> = yes
238 <ulink url=
"smb.conf.5.html#CREATEMASK">create mask
</ulink> =
0600
239 <ulink url=
"smb.conf.5.html#DIRECTORYMASK">directory mask
</ulink> =
0700
240 </programlisting></para>
243 There are a couple of points to emphasize in the above configuration.
248 Encrypted passwords must be enabled. For more details on how
249 to do this, refer to
<ulink url=
"ENCRYPTION.html">ENCRYPTION.html
</ulink>.
253 The server must support domain logons and a
254 <filename>[netlogon]
</filename> share
258 The server must be the domain master browser in order for Windows
259 client to locate the server as a DC. Please refer to the various
260 Network Browsing documentation included with this distribution for
266 As Samba
2.2 does not offer a complete implementation of group mapping between
267 Windows NT groups and UNIX groups (this is really quite complicated to explain
268 in a short space), you should refer to the
<ulink url=
"smb.conf.5.html#DOMAINADMINUSERS">domain
269 admin users
</ulink> and
<ulink url=
"smb.conf.5.html#DOMAINADMINGROUP">domain
270 admin group
</ulink> smb.conf parameters for information of creating a Domain Admins
278 <title>Creating Machine Trust Accounts and Joining Clients
279 to the Domain
</title>
282 A machine trust account is a samba user account owned by a computer.
283 The account password acts as the shared secret for secure
284 communication with the Domain Controller. This is a security feature
285 to prevent an unauthorized machine with the same NetBIOS name from
286 joining the domain and gaining access to domain user/group accounts.
287 Hence a Windows
9x host is never a true member of a domain because it does
288 not posses a machine trust account, and thus has no shared secret with the DC.
292 On a Windows NT PDC, these machine trust account passwords are stored
293 in the registry. A Samba PDC stores these accounts in the same location
294 as user LanMan and NT password hashes (currently
<filename>smbpasswd
</filename>).
295 However, machine trust accounts only possess and use the NT password hash.
299 Because Samba requires machine accounts to possess a UNIX uid from
300 which an Windows NT SID can be generated, all of these accounts
301 must have an entry in
<filename>/etc/passwd
</filename> and smbpasswd.
302 Future releases will alleviate the need to create
303 <filename>/etc/passwd
</filename> entries.
307 There are two means of creating machine trust accounts.
312 Manual creation before joining the client to the domain. In this case,
313 the password is set to a known value -- the lower case of the
314 machine's NetBIOS name.
318 Creation of the account at the time of joining the domain. In
319 this case, the session key of the administrative account used to join
320 the client to the domain acts as an encryption key for setting the
321 password to a random value (This is the recommended method).
326 <title>Manually creating machine trust accounts
</title>
329 The first step in creating a machine trust account by hand is to
330 create an entry for the machine in /etc/passwd. This can be done
331 using
<command>vipw
</command> or any 'add userr' command which is normally
332 used to create new UNIX accounts. The following is an example for a Linux
337 <prompt>root#
</prompt>/usr/sbin/useradd -g
100 -d /dev/null -c
<replaceable>
338 machine_nickname
</replaceable> -m -s /bin/false
<replaceable>machine_name
</replaceable>$
342 The
<filename>/etc/passwd
</filename> entry will list the machine name
343 with a $ appended, won't have a passwd, will have a null shell and no
344 home directory. For example a machine called 'doppy' would have an
345 <filename>/etc/passwd
</filename> entry like this :
348 <para><programlisting>
349 doppy$:x:
505:
501:
<replaceable>machine_nickname
</replaceable>:/dev/null:/bin/false
350 </programlisting></para>
353 Above,
<replaceable>machine_nickname
</replaceable> can be any descriptive name for the
354 pc i.e. BasementComputer. The
<replaceable>machine_name
</replaceable> absolutely must be
355 the NetBIOS name of the pc to be added to the domain. The
"$" must append the NetBIOS
356 name of the pc or samba will not recognize this as a machine account
361 Now that the UNIX account has been created, the next step is to create
362 the smbpasswd entry for the machine containing the well known initial
363 trust account password. This can be done using the
<ulink
364 url=
"smbpasswd.6.html"><command>smbpasswd(
8)
</command></ulink> command
369 <prompt>root#
</prompt> smbpasswd -a -m
<replaceable>machine_name
</replaceable>
373 where
<replaceable>machine_name
</replaceable> is the machine's NetBIOS
378 <title>Join the client to the domain immediately
</title>
381 Manually creating a machine trust account using this method is the
382 equivalent of creating a machine account on a Windows NT PDC using
383 the
"Server Manager". From the time at which the account is created
384 to the time which th client joins the domain and changes the password,
385 your domain is vulnerable to an intruder joining your domain using a
386 a machine with the same NetBIOS name. A PDC inherently trusts
387 members of the domain and will serve out a large degree of user
388 information to such clients. You have been warned!
395 <title>Creating machine trust accounts
"on the fly"</title>
398 The second, and most recommended way of creating machine trust accounts
399 is to create them as needed at the time the client is joined to
400 the domain. You will need to include a value for the
<ulink
401 url=
"smb.conf.5.html#ADDUSERSCRIPT">add user script
</ulink>
402 parameter. Below is an example from a RedHat
6.2 Linux system.
405 <para><programlisting>
406 add user script = /usr/sbin/useradd -d /dev/null -g
100 -s /bin/false -M %u
407 </programlisting></para>
410 In Samba
2.2.1,
<emphasis>only the root account
</emphasis> can be used to create
411 machine accounts like this. Therefore, it is required to create
412 an entry in smbpasswd for
<emphasis>root
</emphasis>. The password
413 <emphasis>SHOULD
</emphasis> be set to a different password that the
414 associated
<filename>/etc/passwd
</filename> entry for security reasons.
419 <!-- **********************************************************
423 *************************************************************** -->
426 <title>Common Problems and Errors
</title>
433 <emphasis>I cannot include a '$' in a machine name.
</emphasis>
437 A 'machine name' in (typically)
<filename>/etc/passwd<
/>
438 of the machine name with a '$' appended. FreeBSD (and other BSD
439 systems ?) won't create a user with a '$' in their name.
443 The problem is only in the program used to make the entry, once
444 made, it works perfectly. So create a user without the '$' and
445 use
<command>vipw<
/> to edit the entry, adding the '$'. Or create
446 the whole entry with vipw if you like, make sure you use a
453 <emphasis>I get told
"You already have a connection to the Domain...."
454 or
"Cannot join domain, the credentials supplied conflict with an
455 existing set.." when creating a machine account.
</emphasis>
459 This happens if you try to create a machine account from the
460 machine itself and already have a connection (e.g. mapped drive)
461 to a share (or IPC$) on the Samba PDC. The following command
462 will remove all network drive connections:
466 <prompt>C:\WINNT\
></prompt> <command>net use * /d
</command>
470 Further, if the machine is a already a 'member of a workgroup' that
471 is the same name as the domain you are joining (bad idea) you will
472 get this message. Change the workgroup name to something else, it
473 does not matter what, reboot, and try again.
479 <emphasis>The system can not log you on (C000019B)....
</emphasis>
482 <para>I joined the domain successfully but after upgrading
483 to a newer version of the Samba code I get the message,
"The system
484 can not log you on (C000019B), Please try a gain or consult your
485 system administrator" when attempting to logon.
489 This occurs when the domain SID stored in
490 <filename>private/WORKGROUP.SID
</filename> is
491 changed. For example, you remove the file and
<command>smbd
</command> automatically
492 creates a new one. Or you are swapping back and forth between
493 versions
2.0.7, TNG and the HEAD branch code (not recommended). The
494 only way to correct the problem is to restore the original domain
495 SID or remove the domain client from the domain and rejoin.
501 <emphasis>The machine account for this computer either does not
502 exist or is not accessible.
</emphasis>
506 When I try to join the domain I get the message
"The machine account
507 for this computer either does not exist or is not accessible". Whats
512 This problem is caused by the PDC not having a suitable machine account.
513 If you are using the
<parameter>add user script
</parameter> method to create
514 accounts then this would indicate that it has not worked. Ensure the domain
515 admin user system is working.
519 Alternatively if you are creating account entries manually then they
520 have not been created correctly. Make sure that you have the entry
521 correct for the machine account in smbpasswd file on the Samba PDC.
522 If you added the account using an editor rather than using the smbpasswd
523 utility, make sure that the account name is the machine NetBIOS name
524 with a '$' appended to it ( i.e. computer_name$ ). There must be an entry
525 in both /etc/passwd and the smbpasswd file. Some people have reported
526 that inconsistent subnet masks between the Samba server and the NT
527 client have caused this problem. Make sure that these are consistent
528 for both client and server.
534 <emphasis>When I attempt to login to a Samba Domain from a NT4/W2K workstation,
535 I get a message about my account being disabled.
</emphasis>
539 This problem is caused by a PAM related bug in Samba
2.2.0. This bug is
540 fixed in
2.2.1. Other symptoms could be unaccessible shares on
541 NT/W2K member servers in the domain or the following error in your smbd.log:
542 passdb/pampass.c:pam_account(
268) PAM: UNKNOWN ERROR for User: %user%
546 At first be ensure to enable the useraccounts with
<command>smbpasswd -e
547 %user%
</command>, this is normally done, when you create an account.
551 In order to work around this problem in
2.2.0, configure the
552 <parameter>account
</parameter> control flag in
553 <filename>/etc/pam.d/samba
</filename> file as follows:
556 <para><programlisting>
557 account required pam_permit.so
558 </programlisting></para>
561 If you want to remain backward compatibility to samba
2.0.x use
562 <filename>pam_permit.so
</filename>, it's also possible to use
563 <filename>pam_pwdb.so
</filename>. There are some bugs if you try to
564 use
<filename>pam_unix.so
</filename>, if you need this, be ensure to use
565 the most recent version of this file.
574 <!-- **********************************************************
576 Policies and Profiles
578 *************************************************************** -->
582 System Policies and Profiles
586 Much of the information necessary to implement System Policies and
587 Roving User Profiles in a Samba domain is the same as that for
588 implementing these same items in a Windows NT
4.0 domain.
589 You should read the white paper
<ulink url=
"http://www.microsoft.com/ntserver/management/deployment/planguide/prof_policies.asp">Implementing
590 Profiles and Policies in Windows NT
4.0</ulink> available from Microsoft.
594 Here are some additional details:
601 <emphasis>What about Windows NT Policy Editor ?
</emphasis>
605 To create or edit
<filename>ntconfig.pol
</filename> you must use
606 the NT Server Policy Editor,
<command>poledit.exe
</command> which
607 is included with NT Server but
<emphasis>not NT Workstation
</emphasis>.
608 There is a Policy Editor on a NTws
609 but it is not suitable for creating
<emphasis>Domain Policies
</emphasis>.
610 Further, although the Windows
95
611 Policy Editor can be installed on an NT Workstation/Server, it will not
612 work with NT policies because the registry key that are set by the policy templates.
613 However, the files from the NT Server will run happily enough on an NTws.
614 You need
<filename>poledit.exe, common.adm<
/> and
<filename>winnt.adm<
/>. It is convenient
615 to put the two *.adm files in
<filename>c:\winnt\inf<
/> which is where
616 the binary will look for them unless told otherwise. Note also that that
617 directory is 'hidden'.
621 The Windows NT policy editor is also included with the Service Pack
3 (and
622 later) for Windows NT
4.0. Extract the files using
<command>servicepackname /x
</command>,
623 i.e. that's
<command>Nt4sp6ai.exe /x
</command> for service pack
6a. The policy editor,
624 <command>poledit.exe
</command> and the associated template files (*.adm) should
625 be extracted as well. It is also possible to downloaded the policy template
626 files for Office97 and get a copy of the policy editor. Another possible
627 location is with the Zero Administration Kit available for download from Microsoft.
634 <emphasis>Can Win95 do Policies ?
</emphasis>
638 Install the group policy handler for Win9x to pick up group
639 policies. Look on the Win98 CD in
<filename>\tools\reskit\netadmin\poledit
</filename>.
640 Install group policies on a Win9x client by double-clicking
641 <filename>grouppol.inf
</filename>. Log off and on again a couple of
642 times and see if Win98 picks up group policies. Unfortunately this needs
643 to be done on every Win9x machine that uses group policies....
647 If group policies don't work one reports suggests getting the updated
648 (read: working) grouppol.dll for Windows
9x. The group list is grabbed
656 <emphasis>How do I get 'User Manager' and 'Server Manager'
</emphasis>
660 Since I don't need to buy an NT Server CD now, how do I get
661 the 'User Manager for Domains', the 'Server Manager' ?
665 Microsoft distributes a version of these tools called nexus for
666 installation on Windows
95 systems. The tools set includes
670 <listitem><para>Server Manager
</para></listitem>
672 <listitem><para>User Manager for Domains
</para></listitem>
674 <listitem><para>Event Viewer
</para></listitem>
678 Click here to download the archived file
<ulink
679 url=
"ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE">ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE
</ulink>
683 The Windows NT
4.0 version of the 'User Manager for
684 Domains' and 'Server Manager' are available from Microsoft via ftp
685 from
<ulink url=
"ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE">ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE
</ulink>
694 <!-- **********************************************************
698 *************************************************************** -->
702 <title>What other help can I get ?
</title>
705 There are many sources of information available in the form
706 of mailing lists, RFC's and documentation. The docs that come
707 with the samba distribution contain very good explanations of
708 general SMB topics such as browsing.
</para>
713 <emphasis>What are some diagnostics tools I can use to debug the domain logon
714 process and where can I find them?
</emphasis>
718 One of the best diagnostic tools for debugging problems is Samba itself.
719 You can use the -d option for both smbd and nmbd to specify what
720 'debug level' at which to run. See the man pages on smbd, nmbd and
721 smb.conf for more information on debugging options. The debug
722 level can range from
1 (the default) to
10 (
100 for debugging passwords).
726 Another helpful method of debugging is to compile samba using the
727 <command>gcc -g
</command> flag. This will include debug
728 information in the binaries and allow you to attach gdb to the
729 running smbd / nmbd process. In order to attach gdb to an smbd
730 process for an NT workstation, first get the workstation to make the
731 connection. Pressing ctrl-alt-delete and going down to the domain box
732 is sufficient (at least, on the first time you join the domain) to
733 generate a 'LsaEnumTrustedDomains'. Thereafter, the workstation
734 maintains an open connection, and therefore there will be an smbd
735 process running (assuming that you haven't set a really short smbd
736 idle timeout) So, in between pressing ctrl alt delete, and actually
737 typing in your password, you can gdb attach and continue.
741 Some useful samba commands worth investigating:
745 <listitem><para>testparam | more
</para></listitem>
746 <listitem><para>smbclient -L //{netbios name of server}
</para></listitem>
750 An SMB enabled version of tcpdump is available from
751 <ulink url=
"http://www.tcpdump.org/">http://www.tcpdup.org/
</ulink>.
752 Ethereal, another good packet sniffer for UNIX and Win32
753 hosts, can be downloaded from
<ulink
754 url=
"http://www.ethereal.com/">http://www.ethereal.com
</ulink>.
758 For tracing things on the Microsoft Windows NT, Network Monitor
759 (aka. netmon) is available on the Microsoft Developer Network CD's,
760 the Windows NT Server install CD and the SMS CD's. The version of
761 netmon that ships with SMS allows for dumping packets between any two
762 computers (i.e. placing the network interface in promiscuous mode).
763 The version on the NT Server install CD will only allow monitoring
764 of network traffic directed to the local NT box and broadcasts on the
765 local subnet. Be aware that Ethereal can read and write netmon
773 <emphasis>How do I install 'Network Monitor' on an NT Workstation
774 or a Windows
9x box?
</emphasis>
778 Installing netmon on an NT workstation requires a couple
779 of steps. The following are for installing Netmon V4.00
.349, which comes
780 with Microsoft Windows NT Server
4.0, on Microsoft Windows NT
781 Workstation
4.0. The process should be similar for other version of
782 Windows NT / Netmon. You will need both the Microsoft Windows
783 NT Server
4.0 Install CD and the Workstation
4.0 Install CD.
787 Initially you will need to install 'Network Monitor Tools and Agent'
788 on the NT Server. To do this
792 <listitem><para>Goto Start - Settings - Control Panel -
793 Network - Services - Add
</para></listitem>
795 <listitem><para>Select the 'Network Monitor Tools and Agent' and
796 click on 'OK'.
</para></listitem>
798 <listitem><para>Click 'OK' on the Network Control Panel.
801 <listitem><para>Insert the Windows NT Server
4.0 install CD
802 when prompted.
</para></listitem>
806 At this point the Netmon files should exist in
807 <filename>%SYSTEMROOT%\System32\netmon\*.*
</filename>.
808 Two subdirectories exist as well,
<filename>parsers\
</filename>
809 which contains the necessary DLL's for parsing the netmon packet
810 dump, and
<filename>captures\
</filename>.
814 In order to install the Netmon tools on an NT Workstation, you will
815 first need to install the 'Network Monitor Agent' from the Workstation
820 <listitem><para>Goto Start - Settings - Control Panel -
821 Network - Services - Add
</para></listitem>
823 <listitem><para>Select the 'Network Monitor Agent' and click
824 on 'OK'.
</para></listitem>
826 <listitem><para>Click 'OK' on the Network Control Panel.
829 <listitem><para>Insert the Windows NT Workstation
4.0 install
830 CD when prompted.
</para></listitem>
835 Now copy the files from the NT Server in %SYSTEMROOT%\System32\netmon\*.*
836 to %SYSTEMROOT%\System32\netmon\*.* on the Workstation and set
837 permissions as you deem appropriate for your site. You will need
838 administrative rights on the NT box to run netmon.
842 To install Netmon on a Windows
9x box install the network monitor agent
843 from the Windows
9x CD (\admin\nettools\netmon). There is a readme
844 file located with the netmon driver files on the CD if you need
845 information on how to do this. Copy the files from a working
855 The following is a list if helpful URLs and other links:
860 <listitem><para>Home of Samba site
<ulink url=
"http://samba.org">
861 http://samba.org
</ulink>. We have a mirror near you !
</para></listitem>
863 <listitem><para> The
<emphasis>Development
</emphasis> document
864 on the Samba mirrors might mention your problem. If so,
865 it might mean that the developers are working on it.
</para></listitem>
867 <listitem><para>See how Scott Merrill simulates a BDC behavior at
868 <ulink url=
"http://www.skippy.net/linux/smb-howto.html">
869 http://www.skippy.net/linux/smb-howto.html<
/>.
</para></listitem>
871 <listitem><para>Although
2.0.7 has almost had its day as a PDC, David Bannon will
872 keep the
2.0.7 PDC pages at
<ulink url=
"http://bioserve.latrobe.edu.au/samba">
873 http://bioserve.latrobe.edu.au/samba
</ulink> going for a while yet.
</para></listitem>
875 <listitem><para>Misc links to CIFS information
876 <ulink url=
"http://samba.org/cifs/">http://samba.org/cifs/
</ulink></para></listitem>
878 <listitem><para>NT Domains for Unix
<ulink url=
"http://mailhost.cb1.com/~lkcl/ntdom/">
879 http://mailhost.cb1.com/~lkcl/ntdom/
</ulink></para></listitem>
881 <listitem><para>FTP site for older SMB specs:
882 <ulink url=
"ftp://ftp.microsoft.com/developr/drg/CIFS/">
883 ftp://ftp.microsoft.com/developr/drg/CIFS/
</ulink></para></listitem>
893 <emphasis>How do I get help from the mailing lists ?
</emphasis>
897 There are a number of Samba related mailing lists. Go to
<ulink
898 url=
"http://samba.org">http://samba.org
</ulink>, click on your nearest mirror
899 and then click on
<command>Support<
/> and then click on
<command>
900 Samba related mailing lists<
/>.
904 For questions relating to Samba TNG go to
905 <ulink url=
"http://www.samba-tng.org/">http://www.samba-tng.org/
</ulink>
906 It has been requested that you don't post questions about Samba-TNG to the
907 main stream Samba lists.
</para>
910 If you post a message to one of the lists please observe the following guide lines :
915 <listitem><para> Always remember that the developers are volunteers, they are
916 not paid and they never guarantee to produce a particular feature at
917 a particular time. Any time lines are 'best guess' and nothing more.
920 <listitem><para> Always mention what version of samba you are using and what
921 operating system its running under. You should probably list the
922 relevant sections of your smb.conf file, at least the options
923 in [global] that affect PDC support.
</para></listitem>
925 <listitem><para>In addition to the version, if you obtained Samba via
926 CVS mention the date when you last checked it out.
</para></listitem>
928 <listitem><para> Try and make your question clear and brief, lots of long,
929 convoluted questions get deleted before they are completely read !
930 Don't post html encoded messages (if you can select colour or font
931 size its html).
</para></listitem>
933 <listitem><para> If you run one of those nifty 'I'm on holidays' things when
934 you are away, make sure its configured to not answer mailing lists.
937 <listitem><para> Don't cross post. Work out which is the best list to post to
938 and see what happens, i.e. don't post to both samba-ntdom and samba-technical.
939 Many people active on the lists subscribe to more
940 than one list and get annoyed to see the same message two or more times.
941 Often someone will see a message and thinking it would be better dealt
942 with on another, will forward it on for you.
</para></listitem>
944 <listitem><para>You might include
<emphasis>partial
</emphasis>
945 log files written at a debug level set to as much as
20.
946 Please don't send the entire log but enough to give the context of the
947 error messages.
</para></listitem>
949 <listitem><para>(Possibly) If you have a complete netmon trace ( from the opening of
950 the pipe to the error ) you can send the *.CAP file as well.
</para></listitem>
952 <listitem><para>Please think carefully before attaching a document to an email.
953 Consider pasting the relevant parts into the body of the message. The samba
954 mailing lists go to a huge number of people, do they all need a copy of your
955 smb.conf in their attach directory ?
</para></listitem>
963 <emphasis>How do I get off the mailing lists ?
</emphasis>
966 <para>To have your name removed from a samba mailing list, go to the
967 same place you went to to get on it. Go to
<ulink
968 url=
"http://lists.samba.org/">http://lists.samba.org
</ulink>,
969 click on your nearest mirror and then click on
<command>Support<
/> and
970 then click on
<command> Samba related mailing lists<
/>. Or perhaps see
971 <ulink url=
"http://lists.samba.org/mailman/roster/samba-ntdom">here
</ulink>
975 Please don't post messages to the list asking to be removed, you will just
976 be referred to the above address (unless that process failed in some way...)
984 <!-- **********************************************************
986 Windows 9x domain control
988 *************************************************************** -->
990 <title>Domain Control for Windows
9x/ME
</title>
994 The following section contains much of the original
995 DOMAIN.txt file previously included with Samba. Much of
996 the material is based on what went into the book Special
997 Edition, Using Samba. (Richard Sharpe)
1002 A domain and a workgroup are exactly the same thing in terms of network
1003 browsing. The difference is that a distributable authentication
1004 database is associated with a domain, for secure login access to a
1005 network. Also, different access rights can be granted to users if they
1006 successfully authenticate against a domain logon server (NT server and
1007 other systems based on NT server support this, as does at least Samba TNG now).
1011 The SMB client logging on to a domain has an expectation that every other
1012 server in the domain should accept the same authentication information.
1013 Network browsing functionality of domains and workgroups is
1014 identical and is explained in BROWSING.txt. It should be noted, that browsing
1015 is total orthogonal to logon support.
1019 Issues related to the single-logon network model are discussed in this
1020 document. Samba supports domain logons, network logon scripts, and user
1021 profiles for MS Windows for workgroups and MS Windows
9X clients.
1026 When an SMB client in a domain wishes to logon it broadcast requests for a
1027 logon server. The first one to reply gets the job, and validates its
1028 password using whatever mechanism the Samba administrator has installed.
1029 It is possible (but very stupid) to create a domain where the user
1030 database is not shared between servers, i.e. they are effectively workgroup
1031 servers advertising themselves as participating in a domain. This
1032 demonstrates how authentication is quite different from but closely
1033 involved with domains.
1037 Another thing commonly associated with single-logon domains is remote
1038 administration over the SMB protocol. Again, there is no reason why this
1039 cannot be implemented with an underlying username database which is
1040 different from the Windows NT SAM. Support for the Remote Administration
1041 Protocol is planned for a future release of Samba.
1045 Network logon support as discussed in this section is aimed at Window for
1046 Workgroups, and Windows
9X clients.
1050 Support for profiles is confirmed as working for Win95, NT
4.0 and NT
3.51.
1051 It is possible to specify: the profile location; script file to be loaded
1052 on login; the user's home directory; and for NT a kick-off time could also
1053 now easily be supported. However, there are some differences between Win9X
1054 profile support and WinNT profile support. These are discussed below.
1058 With NT Workstations, all this does not require the use or intervention of
1059 an NT
4.0 or NT
3.51 server: Samba can now replace the logon services
1060 provided by an NT server, to a limited and experimental degree (for example,
1061 running
"User Manager for Domains" will not provide you with access to
1062 a domain created by a Samba Server).
1066 With Win95, the help of an NT server can be enlisted, both for profile storage
1067 and for user authentication. For details on user authentication, see
1068 security_level.txt. For details on profile storage, see below.
1072 Using these features you can make your clients verify their logon via
1073 the Samba server; make clients run a batch file when they logon to
1074 the network and download their preferences, desktop and start menu.
1078 Before launching into the configuration instructions, it is worthwhile looking
1079 at how a Win9X client performs a logon:
1085 The client broadcasts (to the IP broadcast address of the subnet it is in)
1086 a NetLogon request. This is sent to the NetBIOS address DOMAIN
<00> at the
1087 NetBIOS layer. The client chooses the first response it receives, which
1088 contains the NetBIOS name of the logon server to use in the format of
1095 The client then connects to that server, logs on (does an SMBsessetupX) and
1096 then connects to the IPC$ share (using an SMBtconX).
1102 The client then does a NetWkstaUserLogon request, which retrieves the name
1103 of the user's logon script.
1109 The client then connects to the NetLogon share and searches for this
1110 and if it is found and can be read, is retrieved and executed by the client.
1111 After this, the client disconnects from the NetLogon share.
1117 The client then sends a NetUserGetInfo request to the server, to retrieve
1118 the user's home share, which is used to search for profiles. Since the
1119 response to the NetUserGetInfo request does not contain much more
1120 the user's home share, profiles for Win9X clients MUST reside in the user
1127 The client then connects to the user's home share and searches for the
1128 user's profile. As it turns out, you can specify the user's home share as
1129 a sharename and path. For example, \\server\fred\.profile.
1130 If the profiles are found, they are implemented.
1136 The client then disconnects from the user's home share, and reconnects to
1137 the NetLogon share and looks for CONFIG.POL, the policies file. If this is
1138 found, it is read and implemented.
1145 <title>Configuration Instructions: Network Logons
</title>
1148 To use domain logons and profiles you need to do the following:
1155 Create a share called [netlogon] in your smb.conf. This share should
1156 be readable by all users, and probably should not be writeable. This
1157 share will hold your network logon scripts, and the CONFIG.POL file
1158 (Note: for details on the CONFIG.POL file, how to use it, what it is,
1159 refer to the Microsoft Windows NT Administration documentation.
1160 The format of these files is not known, so you will need to use
1165 For example I have used:
1168 <para><programlisting>
1170 path = /data/dos/netlogon
1173 </programlisting></para>
1176 Note that it is important that this share is not writeable by ordinary
1177 users, in a secure environment: ordinary users should not be allowed
1178 to modify or add files that another user's computer would then download
1187 in the [global] section of smb.conf set the following:
1190 <para><programlisting>
1192 logon script = %U.bat
1193 </programlisting></para>
1196 The choice of batch file is, of course, up to you. The above would
1197 give each user a separate batch file as the %U will be changed to
1198 their username automatically. The other standard % macros may also be
1199 used. You can make the batch files come from a subdirectory by using
1203 <para><programlisting>
1204 logon script = scripts\%U.bat
1205 </programlisting></para>
1210 create the batch files to be run when the user logs in. If the batch
1211 file doesn't exist then no batch file will be run.
1215 In the batch files you need to be careful to use DOS style cr/lf line
1216 endings. If you don't then DOS may get confused. I suggest you use a
1217 DOS editor to remotely edit the files if you don't know how to produce
1218 DOS style files under unix.
1225 Use smbclient with the -U option for some users to make sure that
1226 the \\server\NETLOGON share is available, the batch files are
1227 visible and they are readable by the users.
1233 you will probably find that your clients automatically mount the
1234 \\SERVER\NETLOGON share as drive z: while logging in. You can put
1235 some useful programs there to execute from the batch files.
1241 <title>security mode and master browsers
</title>
1244 There are a few comments to make in order to tie up some
1245 loose ends. There has been much debate over the issue of whether
1246 or not it is ok to configure Samba as a Domain Controller in security
1247 modes other than
<constant>USER
</constant>. The only security mode
1248 which will not work due to technical reasons is
<constant>SHARE
</constant>
1249 mode security.
<constant>DOMAIN
</constant> and
<constant>SERVER
</constant>
1250 mode security is really just a variation on SMB user level security.
1254 Actually, this issue is also closer tied to the debate on whether
1255 or not Samba must be the domain master browser for its workgroup
1256 when operating as a DC. While it may technically be possible
1257 to configure a server as such (after all, browsing and domain logons
1258 are two distinctly different functions), it is not a good idea to
1259 so. You should remember that the DC must register the DOMAIN#
1b NetBIOS
1260 name. This is the name used by Windows clients to locate the DC.
1261 Windows clients do not distinguish between the DC and the DMB.
1262 For this reason, it is very wise to configure the Samba DC as the DMB.
1266 Now back to the issue of configuring a Samba DC to use a mode other
1267 than
"security = user". If a Samba host is configured to use
1268 another SMB server or DC in order to validate user connection
1269 requests, then it is a fact that some other machine on the network
1270 (the
"password server") knows more about user than the Samba host.
1271 99% of the time, this other host is a domain controller. Now
1272 in order to operate in domain mode security, the
"workgroup" parameter
1273 must be set to the name of the Windows NT domain (which already
1274 has a domain controller, right?)
1278 Therefore configuring a Samba box as a DC for a domain that
1279 already by definition has a PDC is asking for trouble.
1280 Therefore, you should always configure the Samba DC to be the DMB
1289 <title>Configuration Instructions: Setting up Roaming User Profiles
</title>
1293 <emphasis>NOTE!
</emphasis> Roaming profiles support is different
1294 for Win9X and WinNT.
1299 Before discussing how to configure roaming profiles, it is useful to see how
1300 Win9X and WinNT clients implement these features.
1304 Win9X clients send a NetUserGetInfo request to the server to get the user's
1305 profiles location. However, the response does not have room for a separate
1306 profiles location field, only the user's home share. This means that Win9X
1307 profiles are restricted to being in the user's home directory.
1312 WinNT clients send a NetSAMLogon RPC request, which contains many fields,
1313 including a separate field for the location of the user's profiles.
1314 This means that support for profiles is different for Win9X and WinNT.
1320 <title>Windows NT Configuration
</title>
1323 To support WinNT clients, inn the [global] section of smb.conf set the
1324 following (for example):
1327 <para><programlisting>
1328 logon path = \\profileserver\profileshare\profilepath\%U\moreprofilepath
1329 </programlisting></para>
1332 The default for this option is \\%N\%U\profile, namely
1333 \\sambaserver\username\profile. The \\N%\%U service is created
1334 automatically by the [homes] service.
1335 If you are using a samba server for the profiles, you _must_ make the
1336 share specified in the logon path browseable.
1341 [lkcl
26aug96 - we have discovered a problem where Windows clients can
1342 maintain a connection to the [homes] share in between logins. The
1343 [homes] share must NOT therefore be used in a profile path.]
1351 <title>Windows
9X Configuration
</title>
1354 To support Win9X clients, you must use the
"logon home" parameter. Samba has
1355 now been fixed so that
"net use/home" now works as well, and it, too, relies
1356 on the
"logon home" parameter.
1360 By using the logon home parameter, you are restricted to putting Win9X
1361 profiles in the user's home directory. But wait! There is a trick you
1362 can use. If you set the following in the [global] section of your
1366 <para><programlisting>
1367 logon home = \\%L\%U\.profiles
1368 </programlisting></para>
1371 then your Win9X clients will dutifully put their clients in a subdirectory
1372 of your home directory called .profiles (thus making them hidden).
1376 Not only that, but 'net use/home' will also work, because of a feature in
1377 Win9X. It removes any directory stuff off the end of the home directory area
1378 and only uses the server and share portion. That is, it looks like you
1379 specified \\%L\%U for
"logon home".
1387 <title>Win9X and WinNT Configuration
</title>
1390 You can support profiles for both Win9X and WinNT clients by setting both the
1391 "logon home" and
"logon path" parameters. For example:
1394 <para><programlisting>
1395 logon home = \\%L\%U\.profiles
1396 logon path = \\%L\profiles\%U
1397 </programlisting></para>
1401 I have not checked what 'net use /home' does on NT when
"logon home" is
1410 <title>Windows
9X Profile Setup
</title>
1413 When a user first logs in on Windows
9X, the file user.DAT is created,
1414 as are folders
"Start Menu",
"Desktop",
"Programs" and
"Nethood".
1415 These directories and their contents will be merged with the local
1416 versions stored in c:\windows\profiles\username on subsequent logins,
1417 taking the most recent from each. You will need to use the [global]
1418 options
"preserve case = yes",
"short case preserve = yes" and
1419 "case sensitive = no" in order to maintain capital letters in shortcuts
1420 in any of the profile folders.
1425 The user.DAT file contains all the user's preferences. If you wish to
1426 enforce a set of preferences, rename their user.DAT file to user.MAN,
1427 and deny them write access to this file.
1433 On the Windows
95 machine, go to Control Panel | Passwords and
1434 select the User Profiles tab. Select the required level of
1435 roaming preferences. Press OK, but do _not_ allow the computer
1443 On the Windows
95 machine, go to Control Panel | Network |
1444 Client for Microsoft Networks | Preferences. Select 'Log on to
1445 NT Domain'. Then, ensure that the Primary Logon is 'Client for
1446 Microsoft Networks'. Press OK, and this time allow the computer
1454 Under Windows
95, Profiles are downloaded from the Primary Logon.
1455 If you have the Primary Logon as 'Client for Novell Networks', then
1456 the profiles and logon script will be downloaded from your Novell
1457 Server. If you have the Primary Logon as 'Windows Logon', then the
1458 profiles will be loaded from the local machine - a bit against the
1459 concept of roaming profiles, if you ask me.
1463 You will now find that the Microsoft Networks Login box contains
1464 [user, password, domain] instead of just [user, password]. Type in
1465 the samba server's domain name (or any other domain known to exist,
1466 but bear in mind that the user will be authenticated against this
1467 domain and profiles downloaded from it, if that domain logon server
1468 supports it), user name and user's password.
1472 Once the user has been successfully validated, the Windows
95 machine
1473 will inform you that 'The user has not logged on before' and asks you
1474 if you wish to save the user's preferences? Select 'yes'.
1478 Once the Windows
95 client comes up with the desktop, you should be able
1479 to examine the contents of the directory specified in the
"logon path"
1480 on the samba server and verify that the
"Desktop",
"Start Menu",
1481 "Programs" and
"Nethood" folders have been created.
1485 These folders will be cached locally on the client, and updated when
1486 the user logs off (if you haven't made them read-only by then :-).
1487 You will find that if the user creates further folders or short-cuts,
1488 that the client will merge the profile contents downloaded with the
1489 contents of the profile directory already on the local client, taking
1490 the newest folders and short-cuts from each set.
1494 If you have made the folders / files read-only on the samba server,
1495 then you will get errors from the w95 machine on logon and logout, as
1496 it attempts to merge the local and the remote profile. Basically, if
1497 you have any errors reported by the w95 machine, check the unix file
1498 permissions and ownership rights on the profile directory contents,
1499 on the samba server.
1503 If you have problems creating user profiles, you can reset the user's
1504 local desktop cache, as shown below. When this user then next logs in,
1505 they will be told that they are logging in
"for the first time".
1511 instead of logging in under the [user, password, domain] dialog,
1518 run the regedit.exe program, and look in:
1522 HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList
1526 you will find an entry, for each user, of ProfilePath. Note the
1527 contents of this key (likely to be c:\windows\profiles\username),
1528 then delete the key ProfilePath for the required user.
1532 [Exit the registry editor].
1538 <emphasis>WARNING
</emphasis> - before deleting the contents of the
1540 the ProfilePath (this is likely to be c:\windows\profiles\username),
1541 ask them if they have any important files stored on their desktop
1542 or in their start menu. delete the contents of the directory
1543 ProfilePath (making a backup if any of the files are needed).
1547 This will have the effect of removing the local (read-only hidden
1548 system file) user.DAT in their profile directory, as well as the
1549 local
"desktop",
"nethood",
"start menu" and
"programs" folders.
1555 search for the user's .PWL password-caching file in the c:\windows
1556 directory, and delete it.
1563 log off the windows
95 client.
1569 check the contents of the profile path (see
"logon path" described
1570 above), and delete the user.DAT or user.MAN file for the user,
1571 making a backup if required.
1578 If all else fails, increase samba's debug log levels to between
3 and
10,
1579 and / or run a packet trace program such as tcpdump or netmon.exe, and
1580 look for any error reports.
1584 If you have access to an NT server, then first set up roaming profiles
1585 and / or netlogons on the NT server. Make a packet trace, or examine
1586 the example packet traces provided with NT server, and see what the
1587 differences are with the equivalent samba trace.
1594 <title>Windows NT Workstation
4.0</title>
1597 When a user first logs in to a Windows NT Workstation, the profile
1598 NTuser.DAT is created. The profile location can be now specified
1599 through the
"logon path" parameter.
1604 [lkcl
10aug97 - i tried setting the path to
1605 \\samba-server\homes\profile, and discovered that this fails because
1606 a background process maintains the connection to the [homes] share
1607 which does _not_ close down in between user logins. you have to
1608 have \\samba-server\%L\profile, where user is the username created
1609 from the [homes] share].
1614 There is a parameter that is now available for use with NT Profiles:
1615 "logon drive". This should be set to
"h:" or any other drive, and
1616 should be used in conjunction with the new
"logon home" parameter.
1620 The entry for the NT
4.0 profile is a _directory_ not a file. The NT
1621 help on profiles mentions that a directory is also created with a .PDS
1622 extension. The user, while logging in, must have write permission to
1623 create the full profile path (and the folder with the .PDS extension)
1624 [lkcl
10aug97 - i found that the creation of the .PDS directory failed,
1625 and had to create these manually for each user, with a shell script.
1626 also, i presume, but have not tested, that the full profile path must
1627 be browseable just as it is for w95, due to the manner in which they
1628 attempt to create the full profile path: test existence of each path
1629 component; create path component].
1633 In the profile directory, NT creates more folders than
95. It creates
1634 "Application Data" and others, as well as
"Desktop",
"Nethood",
1635 "Start Menu" and
"Programs". The profile itself is stored in a file
1636 NTuser.DAT. Nothing appears to be stored in the .PDS directory, and
1637 its purpose is currently unknown.
1641 You can use the System Control Panel to copy a local profile onto
1642 a samba server (see NT Help on profiles: it is also capable of firing
1643 up the correct location in the System Control Panel for you). The
1644 NT Help file also mentions that renaming NTuser.DAT to NTuser.MAN
1645 turns a profile into a mandatory one.
1650 [lkcl
10aug97 - i notice that NT Workstation tells me that it is
1651 downloading a profile from a slow link. whether this is actually the
1652 case, or whether there is some configuration issue, as yet unknown,
1653 that makes NT Workstation _think_ that the link is a slow one is a
1654 matter to be resolved].
1658 [lkcl
20aug97 - after samba digest correspondence, one user found, and
1659 another confirmed, that profiles cannot be loaded from a samba server
1660 unless
"security = user" and
"encrypt passwords = yes" (see the file
1661 ENCRYPTION.txt) or
"security = server" and
"password server = ip.address.
1662 of.yourNTserver" are used. Either of these options will allow the NT
1663 workstation to access the samba server using LAN manager encrypted
1664 passwords, without the user intervention normally required by NT
1665 workstation for clear-text passwords].
1669 [lkcl
25aug97 - more comments received about NT profiles: the case of
1670 the profile _matters_. the file _must_ be called NTuser.DAT or, for
1671 a mandatory profile, NTuser.MAN].
1679 <title>Windows NT Server
</title>
1682 There is nothing to stop you specifying any path that you like for the
1683 location of users' profiles. Therefore, you could specify that the
1684 profile be stored on a samba server, or any other SMB server, as long as
1685 that SMB server supports encrypted passwords.
1692 <title>Sharing Profiles between W95 and NT Workstation
4.0</title>
1695 <title>Potentially outdated or incorrect material follows
</title>
1697 I think this is all bogus, but have not deleted it. (Richard Sharpe)
1702 The default logon path is \\%N\U%. NT Workstation will attempt to create
1703 a directory
"\\samba-server\username.PDS" if you specify the logon path
1704 as
"\\samba-server\username" with the NT User Manager. Therefore, you
1705 will need to specify (for example)
"\\samba-server\username\profile".
1706 NT
4.0 will attempt to create
"\\samba-server\username\profile.PDS", which
1707 is more likely to succeed.
1711 If you then want to share the same Start Menu / Desktop with W95, you will
1712 need to specify
"logon path = \\samba-server\username\profile" [lkcl
10aug97
1713 this has its drawbacks: i created a shortcut to telnet.exe, which attempts
1714 to run from the c:\winnt\system32 directory. this directory is obviously
1715 unlikely to exist on a Win95-only host].
1720 If you have this set up correctly, you will find separate user.DAT and
1721 NTuser.DAT files in the same profile directory.
1726 [lkcl
25aug97 - there are some issues to resolve with downloading of
1727 NT profiles, probably to do with time/date stamps. i have found that
1728 NTuser.DAT is never updated on the workstation after the first time that
1729 it is copied to the local workstation profile directory. this is in
1730 contrast to w95, where it _does_ transfer / update profiles correctly].
1740 <!-- **********************************************************
1742 Appendix - DOMAIN_CONTROL.txt
1744 *************************************************************** -->
1748 DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba
1752 <title>Possibly Outdated Material
</title>
1755 This appendix was originally authored by John H Terpstra of
1756 the Samba Team and is included here for posterity.
1762 <emphasis>NOTE :
</emphasis>
1763 The term
"Domain Controller" and those related to it refer to one specific
1764 method of authentication that can underly an SMB domain. Domain Controllers
1765 prior to Windows NT Server
3.1 were sold by various companies and based on
1766 private extensions to the LAN Manager
2.1 protocol. Windows NT introduced
1767 Microsoft-specific ways of distributing the user authentication database.
1768 See DOMAIN.txt for examples of how Samba can participate in or create
1769 SMB domains based on shared authentication database schemes other than the
1774 Windows NT Server can be installed as either a plain file and print server
1775 (WORKGROUP workstation or server) or as a server that participates in Domain
1776 Control (DOMAIN member, Primary Domain controller or Backup Domain controller).
1777 The same is true for OS/
2 Warp Server, Digital Pathworks and other similar
1778 products, all of which can participate in Domain Control along with Windows NT.
1782 To many people these terms can be confusing, so let's try to clear the air.
1786 Every Windows NT system (workstation or server) has a registry database.
1787 The registry contains entries that describe the initialization information
1788 for all services (the equivalent of Unix Daemons) that run within the Windows
1789 NT environment. The registry also contains entries that tell application
1790 software where to find dynamically loadable libraries that they depend upon.
1791 In fact, the registry contains entries that describes everything that anything
1792 may need to know to interact with the rest of the system.
1796 The registry files can be located on any Windows NT machine by opening a
1797 command prompt and typing:
1801 <prompt>C:\WINNT\
></prompt> dir %SystemRoot%\System32\config
1805 The environment variable %SystemRoot% value can be obtained by typing:
1809 <prompt>C:\WINNT
></prompt>echo %SystemRoot%
1813 The active parts of the registry that you may want to be familiar with are
1814 the files called: default, system, software, sam and security.
1818 In a domain environment, Microsoft Windows NT domain controllers participate
1819 in replication of the SAM and SECURITY files so that all controllers within
1820 the domain have an exactly identical copy of each.
1824 The Microsoft Windows NT system is structured within a security model that
1825 says that all applications and services must authenticate themselves before
1826 they can obtain permission from the security manager to do what they set out
1831 The Windows NT User database also resides within the registry. This part of
1832 the registry contains the user's security identifier, home directory, group
1833 memberships, desktop profile, and so on.
1837 Every Windows NT system (workstation as well as server) will have its own
1838 registry. Windows NT Servers that participate in Domain Security control
1839 have a database that they share in common - thus they do NOT own an
1840 independent full registry database of their own, as do Workstations and
1845 The User database is called the SAM (Security Access Manager) database and
1846 is used for all user authentication as well as for authentication of inter-
1847 process authentication (i.e. to ensure that the service action a user has
1848 requested is permitted within the limits of that user's privileges).
1852 The Samba team have produced a utility that can dump the Windows NT SAM into
1853 smbpasswd format: see ENCRYPTION.txt for information on smbpasswd and
1854 /pub/samba/pwdump on your nearest Samba mirror for the utility. This
1855 facility is useful but cannot be easily used to implement SAM replication
1860 Windows for Workgroups, Windows
95, and Windows NT Workstations and Servers
1861 can participate in a Domain security system that is controlled by Windows NT
1862 servers that have been correctly configured. Almost every domain will have
1863 ONE Primary Domain Controller (PDC). It is desirable that each domain will
1864 have at least one Backup Domain Controller (BDC).
1868 The PDC and BDCs then participate in replication of the SAM database so that
1869 each Domain Controlling participant will have an up to date SAM component
1870 within its registry.