1
<?xml version="1.0" encoding="iso-8859-1"?>
2
<!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3
<chapter id="PolicyMgmt">
6
<pubdate>April 3 2003</pubdate>
9
<title>System and Account Policies</title>
12
<indexterm><primary>validation</primary></indexterm>
13
This chapter summarizes the current state of knowledge derived from personal
14
practice and knowledge from Samba mailing list subscribers. Before reproduction
15
of posted information, every effort has been made to validate the information given.
16
Where additional information was uncovered through this validation, it is provided
21
<title>Features and Benefits</title>
24
<indexterm><primary>Group Policies</primary></indexterm>
25
<indexterm><primary>users</primary></indexterm>
26
<indexterm><primary>groups</primary></indexterm>
27
When MS Windows NT 3.5 was introduced, the hot new topic was the ability to implement
28
Group Policies for users and groups. Then along came MS Windows NT4 and a few sites
29
started to adopt this capability. How do we know that? By the number of <quote>boo-boos</quote>
30
(or mistakes) administrators made and then requested help to resolve.
34
<indexterm><primary>group policies</primary></indexterm>
35
<indexterm><primary>Group Policy Objects</primary><see>GPO</see></indexterm>
36
<indexterm><primary>GPOs</primary></indexterm>
37
<indexterm><primary>ADS</primary></indexterm>
38
<indexterm><primary>group policy objects</primary><see>GPOs</see></indexterm>
39
By the time that MS Windows 2000 and Active Directory was released, administrators
40
got the message: Group Policies are a good thing! They can help reduce administrative
41
costs and actually make happier users. But adoption of the true
42
potential of MS Windows 200x Active Directory and Group Policy Objects (GPOs) for users
43
and machines were picked up on rather slowly. This was obvious from the Samba
44
mailing list back in 2000 and 2001 when there were few postings regarding GPOs and
45
how to replicate them in a Samba environment.
49
<indexterm><primary>exploit opportunities</primary></indexterm>
50
Judging by the traffic volume since mid 2002, GPOs have become a standard part of
51
the deployment in many sites. This chapter reviews techniques and methods that can
52
be used to exploit opportunities for automation of control over user desktops and
53
network client workstations.
59
<title>Creating and Managing System Policies</title>
62
<indexterm><primary>NETLOGON</primary></indexterm>
63
<indexterm><primary>domain controller</primary></indexterm>
64
<indexterm><primary>registry</primary></indexterm>
65
<indexterm><primary>affect users</primary></indexterm>
66
Under MS Windows platforms, particularly those following the release of MS Windows
67
NT4 and MS Windows 95, it is possible to create a type of file that would be placed
68
in the NETLOGON share of a domain controller. As the client logs onto the network,
69
this file is read and the contents initiate changes to the registry of the client
70
machine. This file allows changes to be made to those parts of the registry that
71
affect users, groups of users, or machines.
75
<indexterm><primary>Config.POL</primary></indexterm>
76
<indexterm><primary>poledit.exe</primary></indexterm>
77
<indexterm><primary>policy editor</primary></indexterm>
78
For MS Windows 9x/Me, this file must be called <filename>Config.POL</filename> and may
79
be generated using a tool called <filename>poledit.exe</filename>, better known as the
80
Policy Editor. The policy editor was provided on the Windows 98 installation CD-ROM, but
81
disappeared again with the introduction of MS Windows Me. From
82
comments of MS Windows network administrators, it would appear that this tool became
83
a part of the MS Windows Me Resource Kit.
87
<indexterm><primary>System Policy Editor</primary></indexterm>
88
MS Windows NT4 server products include the <emphasis>System Policy Editor</emphasis>
89
under <guimenu>Start -> Programs -> Administrative Tools</guimenu>.
90
For MS Windows NT4 and later clients, this file must be called <filename>NTConfig.POL</filename>.
94
<indexterm><primary>MMC</primary></indexterm>
95
New with the introduction of MS Windows 2000 was the Microsoft Management Console
96
or MMC. This tool is the new wave in the ever-changing landscape of Microsoft
97
methods for management of network access and security. Every new Microsoft product
98
or technology seems to make the old rules obsolete and introduces newer and more
99
complex tools and methods. To Microsoft's credit, the MMC does appear to
100
be a step forward, but improved functionality comes at a great price.
104
<indexterm><primary>network policies</primary></indexterm>
105
<indexterm><primary>system policies</primary></indexterm>
106
<indexterm><primary>Profiles</primary></indexterm>
107
<indexterm><primary>Policies</primary></indexterm>
108
Before embarking on the configuration of network and system policies, it is highly
109
advisable to read the documentation available from Microsoft's Web site regarding
110
<ulink url="http://www.microsoft.com/ntserver/techresources/management/prof_policies.asp">
111
Implementing Profiles and Policies in Windows NT 4.0</ulink>.
112
There are a large number of documents in addition to this old one that should also
113
be read and understood. Try searching on the Microsoft Web site for <quote>Group Policies</quote>.
117
What follows is a brief discussion with some helpful notes. The information provided
118
here is incomplete &smbmdash; you are warned.
122
<title>Windows 9x/ME Policies</title>
125
<indexterm><primary>Group Policy Editor</primary></indexterm>
126
<indexterm><primary>tools\reskit\netadmin\poledit</primary></indexterm>
127
You need the Windows 98 Group Policy Editor to set up Group Profiles under Windows 9x/Me.
128
It can be found on the original full-product Windows 98 installation CD-ROM under
129
<filename>tools\reskit\netadmin\poledit</filename>. Install this using the
130
Add/Remove Programs facility, and then click on <guiicon>Have Disk</guiicon>.
135
<indexterm><primary>NTConfig.POL</primary></indexterm>
136
<indexterm><primary>Config.POL</primary></indexterm>
137
Use the Group Policy Editor to create a policy file that specifies the location of
138
user profiles and/or <filename>My Documents</filename>, and so on. Then save these
139
settings in a file called <filename>Config.POL</filename> that needs to be placed in the
140
root of the <smbconfsection name="[NETLOGON]"/> share. If Windows 98 is configured to log onto
141
the Samba domain, it will automatically read this file and update the Windows 9x/Me registry
142
of the machine as it logs on.
146
Further details are covered in the Windows 98 Resource Kit documentation.
150
<indexterm><primary>registry</primary></indexterm>
151
If you do not take the correct steps, then every so often Windows 9x/Me will check the
152
integrity of the registry and restore its settings from the backup
153
copy of the registry it stores on each Windows 9x/Me machine. So, you will
154
occasionally notice things changing back to the original settings.
158
<indexterm><primary>grouppol.inf</primary></indexterm>
159
<indexterm><primary>Group Policy</primary></indexterm>
160
Install the Group Policy handler for Windows 9x/Me to pick up Group Policies. Look on the
161
Windows 98 CD-ROM in <filename>\tools\reskit\netadmin\poledit</filename>.
162
Install Group Policies on a Windows 9x/Me client by double-clicking on
163
<filename>grouppol.inf</filename>. Log off and on again a couple of times and see
164
if Windows 98 picks up Group Policies. Unfortunately, this needs to be done on every
165
Windows 9x/Me machine that uses Group Policies.
170
<title>Windows NT4-Style Policy Files</title>
173
<indexterm><primary>ntconfig.pol</primary></indexterm>
174
<indexterm><primary>poledit.exe</primary></indexterm>
175
<indexterm><primary>Policy Editor</primary></indexterm>
176
<indexterm><primary>domain policies</primary></indexterm>
177
To create or edit <filename>ntconfig.pol</filename>, you must use the NT Server
178
Policy Editor, <command>poledit.exe</command>, which is included with NT4 Server
179
but not with NT workstation. There is a Policy Editor on an NT4
180
Workstation but it is not suitable for creating domain policies.
181
Furthermore, although the Windows 95 Policy Editor can be installed on an NT4
182
workstation/server, it will not work with NT clients. However, the files from
183
the NT Server will run happily enough on an NT4 workstation.
187
<indexterm><primary>poledit.exe</primary></indexterm>
188
<indexterm><primary>common.adm</primary></indexterm>
189
<indexterm><primary>winnt.adm</primary></indexterm>
190
<indexterm><primary>c:\winnt\inf</primary></indexterm>
191
You need <filename>poledit.exe</filename>, <filename>common.adm</filename>, and <filename>winnt.adm</filename>.
192
It is convenient to put the two <filename>*.adm</filename> files in the <filename>c:\winnt\inf</filename>
193
directory, which is where the binary will look for them unless told otherwise. This
194
directory is normally <quote>hidden.</quote>
198
<indexterm><primary>Policy Editor</primary></indexterm>
199
<indexterm><primary>Nt4sp6ai.exe</primary></indexterm>
200
<indexterm><primary>poledit.exe</primary></indexterm>
201
<indexterm><primary>Zero Administration Kit</primary></indexterm>
202
The Windows NT Policy Editor is also included with the Service Pack 3 (and
203
later) for Windows NT 4.0. Extract the files using <command>servicepackname /x</command>
204
&smbmdash; that's <command>Nt4sp6ai.exe /x</command> for Service Pack 6a. The Policy Editor,
205
<command>poledit.exe</command>, and the associated template files (*.adm) should
206
be extracted as well. It is also possible to download the policy template
207
files for Office97 and get a copy of the Policy Editor. Another possible
208
location is with the Zero Administration Kit available for download from Microsoft.
212
<title>Registry Spoiling</title>
215
<indexterm><primary>NTConfig.POL</primary></indexterm>
216
<indexterm><primary>HKEY_LOCAL_MACHINE</primary></indexterm>
217
With NT4-style registry-based policy changes, a large number of settings are not
218
automatically reversed as the user logs off. The settings that were in the
219
<filename>NTConfig.POL</filename> file were applied to the client machine registry and apply to the
220
hive key HKEY_LOCAL_MACHINE are permanent until explicitly reversed. This is known
221
as tattooing. It can have serious consequences downstream, and the administrator must
222
be extremely careful not to lock out the ability to manage the machine at a later date.
228
<title>MS Windows 200x/XP Professional Policies</title>
231
<indexterm><primary>registry</primary></indexterm>
232
Windows NT4 system policies allow the setting of registry parameters specific to
233
users, groups, and computers (client workstations) that are members of the NT4-style
234
domain. Such policy files will work with MS Windows 200x/XP clients also.
238
New to MS Windows 2000, Microsoft recently introduced a style of Group Policy that confers
239
a superset of capabilities compared with NT4-style policies. Obviously, the tool used
240
to create them is different, and the mechanism for implementing them is much improved.
244
<indexterm><primary>GPOs</primary></indexterm>
245
<indexterm><primary>Administrative Templates</primary></indexterm>
246
The older NT4-style registry-based policies are known as <emphasis>Administrative Templates</emphasis>
247
in MS Windows 2000/XP GPOs. The latter includes the ability to set various security
248
configurations, enforce Internet Explorer browser settings, change and redirect aspects of the
249
users desktop (including the location of <filename>My Documents</filename> files, as
250
well as intrinsics of where menu items will appear in the Start menu). An additional new
251
feature is the ability to make available particular software Windows applications to particular
256
<indexterm><primary>NTConfig.POL</primary></indexterm>
257
<indexterm><primary>NETLOGON</primary></indexterm>
258
<indexterm><primary>local registry values</primary></indexterm>
259
Remember, NT4 policy files are named <filename>NTConfig.POL</filename> and are stored in the root
260
of the NETLOGON share on the domain controllers. A Windows NT4 user enters a username and password
261
and selects the domain name to which the logon will attempt to take place. During the logon process,
262
the client machine reads the <filename>NTConfig.POL</filename> file from the NETLOGON share on
263
the authenticating server and modifies the local registry values according to the settings in this file.
267
<indexterm><primary>SYSVOL</primary></indexterm>
268
<indexterm><primary>NETLOGON</primary></indexterm>
269
<indexterm><primary>replicated</primary></indexterm>
270
<indexterm><primary>ADS</primary></indexterm>
271
<indexterm><primary>domain controllers</primary></indexterm>
272
<indexterm><primary>Group Policy Container</primary><see>GPC</see></indexterm>
273
<indexterm><primary>Group Policy Template</primary><see>GPT</see></indexterm>
274
<indexterm><primary>replicated SYSVOL</primary></indexterm>
275
Windows 200x GPOs are feature-rich. They are not stored in the NETLOGON share, but rather part of
276
a Windows 200x policy file is stored in the Active Directory itself and the other part is stored
277
in a shared (and replicated) volume called the SYSVOL folder. This folder is present on all Active
278
Directory domain controllers. The part that is stored in the Active Directory itself is called the
279
Group Policy Container (GPC), and the part that is stored in the replicated share called SYSVOL is
280
known as the Group Policy Template (GPT).
284
<indexterm><primary>GPOs</primary></indexterm>
285
With NT4 clients, the policy file is read and executed only as each user logs onto the network.
286
MS Windows 200x policies are much more complex &smbmdash; GPOs are processed and applied at client machine
287
startup (machine specific part), and when the user logs onto the network, the user-specific part
288
is applied. In MS Windows 200x-style policy management, each machine and/or user may be subject
289
to any number of concurrently applicable (and applied) policy sets (GPOs). Active Directory allows
290
the administrator to also set filters over the policy settings. No such equivalent capability
291
exists with NT4-style policy files.
295
<title>Administration of Windows 200x/XP Policies</title>
298
<indexterm><primary>GPOs</primary></indexterm>
299
<indexterm><primary>System Policy Editor</primary></indexterm>
300
<indexterm><primary>poledit.exe</primary></indexterm>
301
<indexterm><primary>MMC snap-in</primary></indexterm>
302
<indexterm><primary>Poledit</primary></indexterm>
303
Instead of using the tool called <application>the System Policy Editor</application>, commonly called Poledit (from the
304
executable name <command>poledit.exe</command>), <acronym>GPOs</acronym> are created and managed using a
305
<application>Microsoft Management Console</application> <acronym>(MMC)</acronym> snap-in as follows:</para>
308
Go to the Windows 200x/XP menu <guimenu>Start->Programs->Administrative Tools</guimenu>
309
and select the MMC snap-in called <guimenuitem>Active Directory Users and Computers</guimenuitem>
313
<indexterm><primary>organizational unit</primary><see>OU</see></indexterm>
314
Select the domain or organizational unit (OU) that you wish to manage, then right-click
315
to open the context menu for that object, and select the <guibutton>Properties</guibutton>.
319
Left-click on the <guilabel>Group Policy</guilabel> tab, then
320
left-click on the New tab. Type a name
321
for the new policy you will create.
325
Left-click on the <guilabel>Edit</guilabel> tab to commence the steps needed to create the GPO.
330
All policy configuration options are controlled through the use of policy administrative
331
templates. These files have an .adm extension, both in NT4 as well as in Windows 200x/XP.
332
Beware, however, the .adm files are not interchangeable across NT4 and Windows 200x.
333
The latter introduces many new features as well as extended definition capabilities. It is
334
well beyond the scope of this documentation to explain how to program .adm files; for that,
335
refer to the Microsoft Windows Resource Kit for your particular
336
version of MS Windows.
341
<indexterm><primary>gpolmig.exe</primary></indexterm>
342
<indexterm><primary>NTConfig.POL</primary></indexterm>
343
<indexterm><primary>resource kit</primary></indexterm>
344
The MS Windows 2000 Resource Kit contains a tool called <command>gpolmig.exe</command>. This tool can be used
345
to migrate an NT4 <filename>NTConfig.POL</filename> file into a Windows 200x style GPO. Be VERY careful how you
346
use this powerful tool. Please refer to the resource kit manuals for specific usage information.
353
<title>Custom System Policy Templates</title>
356
Over the past year, there has been a bit of talk regarding the creation of customized
357
templates for the Windows Sytem Policy Editor. A recent announcement on the Samba mailing
358
list is worthy of mention.
362
Mike Petersen has announced the availability of a template file he has created. This custom System Policy
363
Editor Template will allow you to successfully control Microsoft Windows workstations from an SMB server, such
364
as Samba. This template has been tested on a few networks, although if you find any problems with any of these
365
policies, or have any ideas for additional policies, let me know at mailto:mgpeter@pcc-services.com. This
366
Template includes many policies for Windows XP to allow it to behave better in a professional environment.
370
For further information please see the <ulink
371
url="http://www.pcc-services.com/custom_poledit.html">Petersen</ulink> Computer Consulting web site. There is
372
a download link for the template file.
380
<title>Managing Account/User Policies</title>
383
<indexterm><primary>Policies</primary></indexterm>
384
<indexterm><primary>policy file </primary></indexterm>
385
<indexterm><primary>registry settings</primary></indexterm>
386
Policies can define a specific user's settings or the settings for a group of users. The resulting
387
policy file contains the registry settings for all users, groups, and computers that will be using
388
the policy file. Separate policy files for each user, group, or computer are not necessary.
392
<indexterm><primary>NTConfig.POL</primary></indexterm>
393
If you create a policy that will be automatically downloaded from validating domain controllers,
394
you should name the file <filename>NTConfig.POL</filename>. As system administrator, you have the option of renaming the
395
policy file and, by modifying the Windows NT-based workstation, directing the computer to update
396
the policy from a manual path. You can do this by either manually changing the registry or by using
397
the System Policy Editor. This can even be a local path such that each machine has its own policy file,
398
but if a change is necessary to all machines, it must be made individually to each workstation.
402
<indexterm><primary>NTConfig.POL</primary></indexterm>
403
<indexterm><primary>NETLOGON</primary></indexterm>
404
When a Windows NT4/200x/XP machine logs onto the network, the client looks in the NETLOGON share on
405
the authenticating domain controller for the presence of the <filename>NTConfig.POL</filename> file. If one exists, it is
406
downloaded, parsed, and then applied to the user's part of the registry.
410
<indexterm><primary>GPOs</primary></indexterm>
411
<indexterm><primary>ADS</primary></indexterm>
412
<indexterm><primary>NTConfig.POL</primary></indexterm>
413
<indexterm><primary>NT4 style policy updates</primary></indexterm>
414
MS Windows 200x/XP clients that log onto an MS Windows Active Directory security domain may additionally
415
acquire policy settings through GPOs that are defined and stored in Active Directory
416
itself. The key benefit of using AD GPOs is that they impose no registry <emphasis>spoiling</emphasis> effect.
417
This has considerable advantage compared with the use of <filename>NTConfig.POL</filename> (NT4) style policy updates.
421
<indexterm><primary>account restrictions</primary></indexterm>
422
<indexterm><primary>Common restrictions</primary></indexterm>
423
In addition to user access controls that may be imposed or applied via system and/or group policies
424
in a manner that works in conjunction with user profiles, the user management environment under
425
MS Windows NT4/200x/XP allows per-domain as well as per-user account restrictions to be applied.
426
Common restrictions that are frequently used include:
430
<indexterm><primary>Account Controls</primary></indexterm>
432
<listitem><para>Logon hours</para></listitem>
433
<listitem><para>Password aging</para></listitem>
434
<listitem><para>Permitted logon from certain machines only</para></listitem>
435
<listitem><para>Account type (local or global)</para></listitem>
436
<listitem><para>User rights</para></listitem>
441
<indexterm><primary>Domain User Manager</primary></indexterm>
442
<indexterm><primary>NTConfig.POL</primary></indexterm>
443
Samba-3.0.20 does not yet implement all account controls that are common to MS Windows NT4/200x/XP.
444
While it is possible to set many controls using the Domain User Manager for MS Windows NT4, only password
445
expiry is functional today. Most of the remaining controls at this time have only stub routines
446
that may eventually be completed to provide actual control. Do not be misled by the fact that a
447
parameter can be set using the NT4 Domain User Manager or in the <filename>NTConfig.POL</filename>.
452
<title>Management Tools</title>
455
Anyone who wishes to create or manage Group Policies will need to be familiar with a number of tools.
456
The following sections describe a few key tools that will help you to create a low-maintenance user
461
<title>Samba Editreg Toolset</title>
464
<indexterm><primary>editreg</primary></indexterm>
465
<indexterm><primary>NTUser.DAT</primary></indexterm>
466
<indexterm><primary>NTConfig.POL</primary></indexterm>
467
A new tool called <command>editreg</command> is under development. This tool can be used
468
to edit registry files (called <filename>NTUser.DAT</filename>) that are stored in user
469
and group profiles. <filename>NTConfig.POL</filename> files have the same structure as the
470
<filename>NTUser.DAT</filename> file and can be edited using this tool. <command>editreg</command>
471
is being built with the intent to enable <filename>NTConfig.POL</filename> files to be saved in text format and to
472
permit the building of new <filename>NTConfig.POL</filename> files with extended capabilities. It is proving difficult
473
to realize this capability, so do not be surprised if this feature does not materialize. Formal
474
capabilities will be announced at the time that this tool is released for production use.
480
<title>Windows NT4/200x</title>
483
<indexterm><primary>regedt32.exe</primary></indexterm>
484
<indexterm><primary>Group Policy Editor</primary></indexterm>
485
<indexterm><primary>MMC</primary></indexterm>
486
The tools that may be used to configure these types of controls from the MS Windows environment are
487
the NT4 User Manager for Domains, the NT4 System and Group Policy Editor, and the Registry Editor (regedt32.exe).
488
Under MS Windows 200x/XP, this is done using the MMC with appropriate
489
<quote>snap-ins,</quote> the registry editor, and potentially also the NT4 System and Group Policy Editor.
494
<title>Samba PDC</title>
497
<indexterm><primary>smbpasswd</primary></indexterm>
498
<indexterm><primary>pdbedit</primary></indexterm>
499
<indexterm><primary>NET</primary></indexterm>
500
<indexterm><primary>rpcclient</primary></indexterm>
501
With a Samba domain controller, the new tools for managing user account and policy information include:
502
<command>smbpasswd</command>, <command>pdbedit</command>, <command>net</command>, and <command>rpcclient</command>.
503
The administrator should read the man pages for these tools and become familiar with their use.
510
<title>System Startup and Logon Processing Overview</title>
513
The following attempts to document the order of processing the system and user policies following a system
514
reboot and as part of the user logon:
519
<indexterm><primary>Remote Procedure Call System Service</primary><see>RPCSS</see></indexterm>
520
<indexterm><primary>multiple universal naming convention provider</primary><see>MUP</see></indexterm>
521
Network starts, then Remote Procedure Call System Service (RPCSS) and multiple universal naming
522
convention provider (MUP) start.
526
<indexterm><primary>ADS</primary></indexterm>
527
<indexterm><primary>GPOs</primary></indexterm>
528
Where Active Directory is involved, an ordered list of GPOs is downloaded
529
and applied. The list may include GPOs that:
531
<listitem><para>Apply to the location of machines in a directory.</para></listitem>
532
<listitem><para>Apply only when settings have changed.</para></listitem>
533
<listitem><para>Depend on configuration of the scope of applicability: local,
534
site, domain, organizational unit, and so on.</para></listitem>
536
No desktop user interface is presented until the above have been processed.
540
Execution of startup scripts (hidden and synchronous by default).
544
A keyboard action to effect start of logon (Ctrl-Alt-Del).
548
User credentials are validated, user profile is loaded (depends on policy settings).
552
An ordered list of user GPOs is obtained. The list contents depends on what is configured in respect of:
555
<listitem><para>Is the user a domain member, thus subject to particular policies?</para></listitem>
556
<listitem><para>Loopback enablement, and the state of the loopback policy (merge or replace).</para></listitem>
557
<listitem><para>Location of the Active Directory itself.</para></listitem>
558
<listitem><para>Has the list of GPOs changed? No processing is needed if not changed.</para></listitem>
563
User policies are applied from Active Directory. Note: There are several types.
567
Logon scripts are run. New to Windows 200x and Active Directory, logon scripts may be obtained based on GPOs
568
(hidden and executed synchronously). NT4-style logon scripts are then run in a normal
573
The user interface as determined from the GPOs is presented. Note: In a Samba domain (like an NT4
574
domain), machine (system) policies are applied at startup; user policies are applied at logon.
581
<title>Common Errors</title>
584
Policy-related problems can be quite difficult to diagnose and even more difficult to rectify. The following
585
collection demonstrates only basic issues.
589
<title>Policy Does Not Work</title>
592
<quote>We have created the <filename>Config.POL</filename> file and put it in the <emphasis>NETLOGON</emphasis> share.
593
It has made no difference to our Win XP Pro machines, they just do not see it. It worked fine with Win 98 but does not
594
work any longer since we upgraded to Win XP Pro. Any hints?</quote>
598
Policy files are not portable between Windows 9x/Me and MS Windows NT4/200x/XP-based platforms. You need to
599
use the NT4 Group Policy Editor to create a file called <filename>NTConfig.POL</filename> so it is in the
600
correct format for your MS Windows XP Pro clients.