summaryrefslogtreecommitdiff
path: root/docs/Samba-HOWTO-Collection/PolicyMgmt.xml
blob: e1b33e0916afc4aa80a38f353723a9792bad3606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<chapter id="PolicyMgmt">
<chapterinfo>
	&author.jht;
    <pubdate>April 3 2003</pubdate>
</chapterinfo>

<title>System and Account Policies</title>

<para>
This chapter summarizes the current state of knowledge derived from personal
practice and knowledge from Samba mailing list subscribers. Before reproduction
of posted information, every effort has been made to validate the information given.
Where additional information was uncovered through this validation it is provided
also.
</para>

<sect1>
<title>Features and Benefits</title>

<para>
When MS Windows NT 3.5 was introduced, the hot new topic was the ability to implement
Group Policies for users and groups. Then along came MS Windows NT4 and a few sites
started to adopt this capability. How do we know that? By the number of <quote>boo-boos</quote>
(or mistakes) administrators made and then requested help to resolve.
</para>

<para>
<indexterm><primary>group policies</primary></indexterm>
<indexterm><primary>GPOs</primary></indexterm>
<indexterm><primary>group policy objects</primary><see>GPOs</see></indexterm>
By the time that MS Windows 2000 and Active Directory was released, administrators
got the message: Group Policies are a good thing! They can help reduce administrative
costs and actually make happier users. But adoption of the true
potential of MS Windows 200x Active Directory and Group Policy Objects (GPOs) for users
and machines were picked up on rather slowly. This was obvious from the Samba
mailing list as in 2000 and 2001 when there were few postings regarding GPOs and
how to replicate them in a Samba environment.
</para>

<para>
Judging by the traffic volume since mid 2002, GPOs have become a standard part of
the deployment in many sites. This chapter reviews techniques and methods that can
be used to exploit opportunities for automation of control over user desktops and
network client workstations.
</para>

<para>
A tool new to Samba &smbmdash; the <command>editreg</command> tool
&smbmdash; may become an important part of the future Samba administrators'
arsenal is described in this document.
</para>

</sect1>

<sect1>
<title>Creating and Managing System Policies</title>

<para>
Under MS Windows platforms, particularly those following the release of MS Windows
NT4 and MS Windows 95, it is possible to create a type of file that would be placed
in the NETLOGON share of a Domain Controller. As the client logs onto the network,
this file is read and the contents initiate changes to the registry of the client
machine. This file allows changes to be made to those parts of the registry that
affect users, groups of users, or machines.
</para>

<para>
<indexterm><primary>Config.POL</primary></indexterm>
For MS Windows 9x/ME, this file must be called <filename>Config.POL</filename> and may
be generated using a tool called <filename>poledit.exe</filename>, better known as the
Policy Editor. The policy editor was provided on the Windows 98 installation CD, but
disappeared again with the introduction of MS Windows Me (Millennium Edition). From
comments of MS Windows network administrators, it would appear that this tool became
a part of the MS Windows Me Resource Kit.
</para>

<para>
<indexterm><primary>System Policy Editor</primary></indexterm>
MS Windows NT4 Server products include the <emphasis>System Policy Editor</emphasis>
under <guimenu>Start -> Programs -> Administrative Tools</guimenu>.
For MS Windows NT4 and later clients, this file must be called <filename>NTConfig.POL</filename>.
</para>

<para>
New with the introduction of MS Windows 2000 was the Microsoft Management Console
or MMC. This tool is the new wave in the ever-changing landscape of Microsoft
methods for management of network access and security. Every new Microsoft product
or technology seems to make the old rules obsolete and introduces newer and more
complex tools and methods. To Microsoft's credit, the MMC does appear to
be a step forward, but improved functionality comes at a great price.
</para>

<para>
Before embarking on the configuration of network and system policies, it is highly
advisable to read the documentation available from Microsoft's Web site regarding
<ulink url="http://www.microsoft.com/ntserver/techresources/management/prof_policies.asp">
Implementing Profiles and Policies in Windows NT 4.0</ulink> available from Microsoft.
There are a large number of documents in addition to this old one that should also
be read and understood. Try searching on the Microsoft Web site for <quote>Group Policies</quote>.
</para>

<para>
What follows is a brief discussion with some helpful notes. The information provided
here is incomplete &smbmdash; you are warned.
</para>

	<sect2>
	<title>Windows 9x/ME Policies</title>

	<para>
	You need the Windows 98 Group Policy Editor to set up Group Profiles under Windows 9x/ME.
	It can be found on the original full product Windows 98 installation CD under
	<filename>tools/reskit/netadmin/poledit</filename>. Install this using the
	Add/Remove Programs facility and then click on <guiicon>Have Disk</guiicon>.
	</para>


	<para>
<indexterm><primary>NTConfig.POL</primary></indexterm>
	Use the Group Policy Editor to create a policy file that specifies the location of
	user profiles and/or <filename>My Documents</filename>, and so on. Then save these
	settings in a file called <filename>Config.POL</filename> that needs to be placed in the
	root of the <smbconfsection>[NETLOGON]</smbconfsection> share. If Windows 98 is configured to log onto
	the Samba Domain, it will automatically read this file and update the Windows 9x/Me registry
	of the machine as it logs on.
	</para>

	<para>
	Further details are covered in the Windows 98 Resource Kit documentation.
	</para>

	<para>
	If you do not take the correct steps, then every so often Windows 9x/ME will check the
	integrity of the registry and restore its settings from the back-up
	copy of the registry it stores on each Windows 9x/ME machine. So, you will
	occasionally notice things changing back to the original settings.
	</para>

	<para>
	Install the group policy handler for Windows 9x/Me to pick up Group Policies. Look on the
	Windows 98 CDROM in <filename>\tools\reskit\netadmin\poledit</filename>.
	Install group policies on a Windows 9x/Me client by double-clicking on
	<filename>grouppol.inf</filename>. Log off and on again a couple of times and see
	if Windows 98 picks up Group Policies. Unfortunately, this needs to be done on every
	Windows 9x/Me machine that uses Group Policies.
	</para>

	</sect2>
	<sect2>
	<title>Windows NT4-Style Policy Files</title>

	<para>
	To create or edit <filename>ntconfig.pol</filename> you must use the NT Server
	Policy Editor, <command>poledit.exe</command>, which is included with NT4 Server
	but not with NT Workstation. There is a Policy Editor on an NT4
	Workstation but it is not suitable for creating domain policies.
	Furthermore, although the Windows 95 Policy Editor can be installed on an NT4
	Workstation/Server, it will not work with NT clients. However, the files from
	the NT Server will run happily enough on an NT4 Workstation.
	</para>

	<para>
	You need <filename>poledit.exe</filename>, <filename>common.adm</filename> and <filename>winnt.adm</filename>.
	It is convenient to put the two <filename>*.adm</filename> files in  the <filename>c:\winnt\inf</filename> 
	directory, which is where the binary will look for them unless told otherwise. This
	directory is normally <quote>hidden.</quote>
	</para>

	<para>
	The Windows NT policy editor is also included with the Service Pack 3 (and
	later) for Windows NT 4.0. Extract the files using <command>servicepackname /x</command>,
	that's <command>Nt4sp6ai.exe /x</command> for service pack 6a. The Policy Editor,
	<command>poledit.exe</command>, and the associated template files (*.adm) should
	be extracted as well. It is also possible to downloaded the policy template
	files for Office97 and get a copy of the Policy Editor. Another possible
	location is with the Zero Administration Kit available for download from Microsoft.
	</para>

		<sect3>
		<title>Registry Spoiling</title>

			<para>
			With NT4-style registry-based policy changes, a large number of settings are not
			automatically reversed as the user logs off. The settings that were in the
			<filename>NTConfig.POL</filename> file were applied to the client machine registry and apply to the
			hive key HKEY_LOCAL_MACHINE are permanent until explicitly reversed. This is known
			as tattooing. It can have serious consequences downstream and the administrator must
			be extremely careful not to lock out the ability to manage the machine at a later date.
			</para>

		</sect3>
	</sect2>
	<sect2>
	<title>MS Windows 200x/XP Professional Policies</title>

	<para>
	Windows NT4 system policies allow the setting of registry parameters specific to
	users, groups and computers (client workstations) that are members of the NT4-style
	domain. Such policy files will work with MS Windows 200x/XP clients also.
	</para>

	<para>
	New to MS Windows 2000, Microsoft recently introduced a style of group policy that confers
	a superset of capabilities compared with NT4-style policies. Obviously, the tool used
	to create them is different, and the mechanism for implementing them is much improved.
	</para>

	<para>
<indexterm><primary>GPOs</primary></indexterm>
	The older NT4-style registry-based policies are known as <emphasis>Administrative Templates</emphasis>
	in MS Windows 2000/XP Group Policy Objects (GPOs). The latter includes the ability to set various security
	configurations, enforce Internet Explorer browser settings, change and redirect aspects of the
	users desktop (including the location of <filename>My Documents</filename> files (directory), as
	well as intrinsics of where menu items will appear in the Start menu). An additional new
	feature is the ability to make available particular software Windows applications to particular
	users and/or groups.
	</para>

	<para>
	Remember, NT4 policy files are named <filename>NTConfig.POL</filename> and are stored in the root
	of the NETLOGON share on the Domain Controllers. A Windows NT4 user enters a username, password
	and selects the domain name to which the logon will attempt to take place. During the logon process,
	the client machine reads the <filename>NTConfig.POL</filename> file from the NETLOGON share on
	the authenticating server and modifies the local registry values according to the settings in this file.
	</para>

	<para>
	Windows 200x GPOs are feature-rich. They are not stored in the NETLOGON share, but rather part of
	a Windows 200x policy file is stored in the Active Directory itself and the other part is stored
	in a shared (and replicated) volume called the SYSVOL folder. This folder is present on all Active
	Directory Domain Controllers. The part that is stored in the Active Directory itself is called the
	Group Policy Container (GPC), and the part that is stored in the replicated share called SYSVOL is
	known as the Group Policy Template (GPT).
	</para>

	<para>
	With NT4 clients, the policy file is read and executed only as each user logs onto the network.
	MS Windows 200x policies are much more complex &smbmdash; GPOs are processed and applied at client machine
	startup (machine specific part) and when the user logs onto the network, the user-specific part
	is applied. In MS Windows 200x-style policy management, each machine and/or user may be subject
	to any number of concurrently applicable (and applied) policy sets (GPOs). Active Directory allows
	the administrator to also set filters over the policy settings. No such equivalent capability
	exists with NT4-style policy files.
	</para>

		<sect3>
		<title>Administration of Windows 200x/XP Policies</title>

		<para>
<indexterm><primary>GPOs</primary></indexterm>
<indexterm><primary>System Policy Editor</primary></indexterm>
		Instead of using the tool called <application>The System Policy Editor</application>, commonly called Poledit (from the
		executable name <command>poledit.exe</command>), <acronym>GPOs</acronym> are created and managed using a 
		<application>Microsoft Management Console</application> <acronym>(MMC)</acronym> snap-in as follows:</para>
		<procedure>
			<step><para>
			Go to the Windows 200x/XP menu <guimenu>Start->Programs->Administrative Tools</guimenu>
			and select the MMC snap-in called <guimenuitem>Active Directory Users and Computers</guimenuitem>
			</para></step>

			<step><para>
			Select the domain or organizational unit (OU) that you wish to manage, then right-click
			to open the context menu for that object, and select the <guibutton>Properties</guibutton>.
			</para></step>

			<step><para>
			Left-click on the <guilabel>Group Policy</guilabel> tab, then
			left-click on the New tab. Type a name
			for the new policy you will create.
			</para></step>

			<step><para>
			 Left-click on the <guilabel>Edit</guilabel> tab to commence the steps needed to create the GPO.
			</para></step>
		</procedure>

		<para>
		All policy configuration options are controlled through the use of policy administrative
		templates. These files have an .adm extension, both in NT4 as well as in Windows 200x/XP.
		Beware, however, the .adm files are not interchangeable across NT4 and Windows 200x.
		The latter introduces many new features as well as extended definition capabilities. It is
		well beyond the scope of this documentation to explain how to program .adm files; for that
		the administrator is referred to the Microsoft Windows Resource Kit for your particular
		version of MS Windows.
		</para>

		<note>
		<para>
		The MS Windows 2000 Resource Kit contains a tool called gpolmig.exe. This tool can be used
		to migrate an NT4 NTConfig.POL file into a Windows 200x style GPO. Be VERY careful how you
		use this powerful tool. Please refer to the resource kit manuals for specific usage information.
		</para>
		</note>

		</sect3>
	</sect2>
</sect1>

<sect1>
<title>Managing Account/User Policies</title>

<para>
Policies can define a specific user's settings or the settings for a group of users. The resulting
policy file contains the registry settings for all users, groups, and computers that will be using
the policy file. Separate policy files for each user, group, or computer are not necessary.
</para>

<para>
<indexterm><primary>NTConfig.POL</primary></indexterm>
If you create a policy that will be automatically downloaded from validating Domain Controllers,
you should name the file <filename>NTConfig.POL</filename>. As system administrator, you have the option of renaming the
policy file and, by modifying the Windows NT-based workstation, directing the computer to update
the policy from a manual path. You can do this by either manually changing the registry or by using
the System Policy Editor. This can even be a local path such that each machine has its own policy file,
but if a change is necessary to all machines, it must be made individually to each workstation.
</para>

<para>
When a Windows NT4/200x/XP machine logs onto the network, the client looks in the NETLOGON share on
the authenticating domain controller for the presence of the NTConfig.POL file. If one exists it is 
downloaded, parsed and then applied to the user's part of the registry.
</para>

<para>
<indexterm><primary>GPOs</primary></indexterm>
MS Windows 200x/XP clients that log onto an MS Windows Active Directory security domain may additionally
acquire policy settings through Group Policy Objects (GPOs) that are defined and stored in Active Directory
itself. The key benefit of using AS GPOs is that they impose no registry <emphasis>spoiling</emphasis> effect.
This has considerable advantage compared with the use of <filename>NTConfig.POL</filename> (NT4) style policy updates.
</para>

<para>
In addition to user access controls that may be imposed or applied via system and/or group policies
in a manner that works in conjunction with user profiles, the user management environment under
MS Windows NT4/200x/XP allows per domain as well as per user account restrictions to be applied.
Common restrictions that are frequently used include:
</para>

<para>
<indexterm><primary>Account Controls</primary></indexterm>
<itemizedlist>
	<listitem><para>Logon hours</para></listitem>
	<listitem><para>Password aging</para></listitem>
	<listitem><para>Permitted logon from certain machines only</para></listitem>
	<listitem><para>Account type (local or global)</para></listitem>
	<listitem><para>User rights</para></listitem>
</itemizedlist>
</para>

<para>
Samba-3.0.0 does not yet implement all account controls that are common to MS Windows NT4/200x/XP.
While it is possible to set many controls using the Domain User Manager for MS Windows NT4, only password
expiry is functional today. Most of the remaining controls at this time have only stub routines
that may eventually be completed to provide actual control. Do not be misled by the fact that a
parameter can be set using the NT4 Domain User Manager or in the <filename>NTConfig.POL</filename>.
</para>

</sect1>
<sect1>
<title>Management Tools</title>

<para>
Anyone who wishes to create or manage Group Policies will need to be familiar with a number of tools.
The following sections describe a few key tools that will help you to create a low maintenance user
environment.
</para>

	<sect2>
	<title>Samba Editreg Tool-set</title>

	<para>
<indexterm><primary>editreg</primary></indexterm>
<indexterm><primary>NTUser.DAT</primary></indexterm>
<indexterm><primary>NTConfig.POL</primary></indexterm>
	A new tool called <command>editreg</command> is under development. This tool can be used
	to edit registry files (called <filename>NTUser.DAT</filename>) that are stored in user
	and group profiles. <filename>NTConfig.POL</filename> files have the same structure as the
	<filename>NTUser.DAT</filename> file and can be edited using this tool. <command>editreg</command>
	is being built with the intent to enable <filename>NTConfig.POL</filename> files to be saved in text format and to
	permit the building of new <filename>NTConfig.POL</filename> files with extended capabilities. It is proving difficult
	to realize this capability, so do not be surprised if this feature does not materialize. Formal
	capabilities will be announced at the time that this tool is released for production use.
	</para>

	</sect2>

	<sect2>
	<title>Windows NT4/200x</title>

	<para>
	The tools that may be used to configure these types of controls from the MS Windows environment are:
	the NT4 User Manager for Domains, the NT4 System and Group Policy Editor, and the Registry Editor (regedt32.exe).
	Under MS Windows 200x/XP, this is done using the Microsoft Management Console (MMC) with appropriate
	<quote>snap-ins,</quote> the registry editor, and potentially also the NT4 System and Group Policy Editor.
	</para>
	</sect2>

	<sect2>
	<title>Samba PDC</title>

	<para>
	With a Samba Domain Controller, the new tools for managing user account and policy information include:
	<command>smbpasswd</command>, <command>pdbedit</command>, <command>net</command>, <command>rpcclient</command>. 
	The administrator should read the man pages for these tools and become familiar with their use.
	</para>

	</sect2>
</sect1>

<sect1>
<title>System Startup and Logon Processing Overview</title>

<para>
The following attempts to document the order of processing the system and user policies following a system
reboot and as part of the user logon:
</para>

<orderedlist>
	<listitem><para>
	Network starts, then Remote Procedure Call System Service (RPCSS) and Multiple Universal Naming
	Convention Provider (MUP) start.
	</para></listitem>

	<listitem><para>
	Where Active Directory is involved, an ordered list of Group Policy Objects (GPOs) is downloaded
	and applied. The list may include GPOs that:
<itemizedlist>
	<listitem><para>Apply to the location of machines in a Directory.</para></listitem>
	<listitem><para>Apply only when settings have changed.</para></listitem>
	<listitem><para>Depend on configuration of the scope of applicability: local,
	site, domain, organizational unit, and so on.</para></listitem>
</itemizedlist>
	No desktop user interface is presented until the above have been processed.
	</para></listitem>

	<listitem><para>
	Execution of start-up scripts (hidden and synchronous by default).
	</para></listitem>

	<listitem><para>
	A keyboard action to effect start of logon (Ctrl-Alt-Del).
	</para></listitem>

	<listitem><para>
	User credentials are validated, user profile is loaded (depends on policy settings).
	</para></listitem>

	<listitem><para>
	An ordered list of user GPOs is obtained. The list contents depends on what is configured in respect of:

<itemizedlist>
	<listitem>Is the user a Domain Member, thus subject to particular policies?</listitem>
	<listitem>Loopback enablement, and the state of the loopback policy (Merge or Replace).</listitem>
	<listitem>Location of the Active Directory itself.</listitem>
	<listitem>Has the list of GPOs changed? No processing is needed if not changed.</listitem>
</itemizedlist>
	</para></listitem>

	<listitem><para>
	User Policies are applied from Active Directory. Note: There are several types.
	</para></listitem>

	<listitem><para>
	Logon scripts are run. New to Windows 200x and Active Directory, logon scripts may be obtained based on Group
	Policy objects (hidden and executed synchronously). NT4-style logon scripts are then run in a normal
	window.
	</para></listitem>

	<listitem><para>
	The User Interface as determined from the GPOs is presented. Note: In a Samba domain (like an NT4
	Domain), machine (system) policies are applied at start-up; user policies are applied at logon.
	</para></listitem>
</orderedlist>

</sect1>

<sect1>
<title>Common Errors</title>

<para>
Policy-related problems can be quite difficult to diagnose and even more difficult to rectify. The following
collection demonstrates only basic issues.
</para>

<sect2>
<title>Policy Does Not Work</title>

<para>
<quote>We have created the <filename>Config.POL</filename> file and put it in the <emphasis>NETLOGON</emphasis> share.
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
work any longer since we upgraded to Win XP Pro. Any hints?</quote>
</para>

<para>
Policy files are not portable between Windows 9x/Me and MS Windows NT4/200x/XP-based platforms. You need to
use the NT4 Group Policy Editor to create a file called <filename>NTConfig.POL</filename> so it is in the
correct format for your MS Windows XP Pro clients.
</para>

</sect2>

</sect1>

</chapter>