| 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">
|
|---|
| 4 | <chapterinfo>
|
|---|
| 5 | &author.jht;
|
|---|
| 6 | <pubdate>April 3 2003</pubdate>
|
|---|
| 7 | </chapterinfo>
|
|---|
| 8 |
|
|---|
| 9 | <title>System and Account Policies</title>
|
|---|
| 10 |
|
|---|
| 11 | <para>
|
|---|
| 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
|
|---|
| 17 | also.
|
|---|
| 18 | </para>
|
|---|
| 19 |
|
|---|
| 20 | <sect1>
|
|---|
| 21 | <title>Features and Benefits</title>
|
|---|
| 22 |
|
|---|
| 23 | <para>
|
|---|
| 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.
|
|---|
| 31 | </para>
|
|---|
| 32 |
|
|---|
| 33 | <para>
|
|---|
| 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.
|
|---|
| 46 | </para>
|
|---|
| 47 |
|
|---|
| 48 | <para>
|
|---|
| 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.
|
|---|
| 54 | </para>
|
|---|
| 55 |
|
|---|
| 56 | </sect1>
|
|---|
| 57 |
|
|---|
| 58 | <sect1>
|
|---|
| 59 | <title>Creating and Managing System Policies</title>
|
|---|
| 60 |
|
|---|
| 61 | <para>
|
|---|
| 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.
|
|---|
| 72 | </para>
|
|---|
| 73 |
|
|---|
| 74 | <para>
|
|---|
| 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.
|
|---|
| 84 | </para>
|
|---|
| 85 |
|
|---|
| 86 | <para>
|
|---|
| 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>.
|
|---|
| 91 | </para>
|
|---|
| 92 |
|
|---|
| 93 | <para>
|
|---|
| 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.
|
|---|
| 101 | </para>
|
|---|
| 102 |
|
|---|
| 103 | <para>
|
|---|
| 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>.
|
|---|
| 114 | </para>
|
|---|
| 115 |
|
|---|
| 116 | <para>
|
|---|
| 117 | What follows is a brief discussion with some helpful notes. The information provided
|
|---|
| 118 | here is incomplete &smbmdash; you are warned.
|
|---|
| 119 | </para>
|
|---|
| 120 |
|
|---|
| 121 | <sect2>
|
|---|
| 122 | <title>Windows 9x/ME Policies</title>
|
|---|
| 123 |
|
|---|
| 124 | <para>
|
|---|
| 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>.
|
|---|
| 131 | </para>
|
|---|
| 132 |
|
|---|
| 133 |
|
|---|
| 134 | <para>
|
|---|
| 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.
|
|---|
| 143 | </para>
|
|---|
| 144 |
|
|---|
| 145 | <para>
|
|---|
| 146 | Further details are covered in the Windows 98 Resource Kit documentation.
|
|---|
| 147 | </para>
|
|---|
| 148 |
|
|---|
| 149 | <para>
|
|---|
| 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.
|
|---|
| 155 | </para>
|
|---|
| 156 |
|
|---|
| 157 | <para>
|
|---|
| 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.
|
|---|
| 166 | </para>
|
|---|
| 167 |
|
|---|
| 168 | </sect2>
|
|---|
| 169 | <sect2>
|
|---|
| 170 | <title>Windows NT4-Style Policy Files</title>
|
|---|
| 171 |
|
|---|
| 172 | <para>
|
|---|
| 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.
|
|---|
| 184 | </para>
|
|---|
| 185 |
|
|---|
| 186 | <para>
|
|---|
| 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>
|
|---|
| 195 | </para>
|
|---|
| 196 |
|
|---|
| 197 | <para>
|
|---|
| 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.
|
|---|
| 209 | </para>
|
|---|
| 210 |
|
|---|
| 211 | <sect3>
|
|---|
| 212 | <title>Registry Spoiling</title>
|
|---|
| 213 |
|
|---|
| 214 | <para>
|
|---|
| 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.
|
|---|
| 223 | </para>
|
|---|
| 224 |
|
|---|
| 225 | </sect3>
|
|---|
| 226 | </sect2>
|
|---|
| 227 | <sect2>
|
|---|
| 228 | <title>MS Windows 200x/XP Professional Policies</title>
|
|---|
| 229 |
|
|---|
| 230 | <para>
|
|---|
| 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.
|
|---|
| 235 | </para>
|
|---|
| 236 |
|
|---|
| 237 | <para>
|
|---|
| 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.
|
|---|
| 241 | </para>
|
|---|
| 242 |
|
|---|
| 243 | <para>
|
|---|
| 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
|
|---|
| 252 | users and/or groups.
|
|---|
| 253 | </para>
|
|---|
| 254 |
|
|---|
| 255 | <para>
|
|---|
| 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.
|
|---|
| 264 | </para>
|
|---|
| 265 |
|
|---|
| 266 | <para>
|
|---|
| 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).
|
|---|
| 281 | </para>
|
|---|
| 282 |
|
|---|
| 283 | <para>
|
|---|
| 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.
|
|---|
| 292 | </para>
|
|---|
| 293 |
|
|---|
| 294 | <sect3>
|
|---|
| 295 | <title>Administration of Windows 200x/XP Policies</title>
|
|---|
| 296 |
|
|---|
| 297 | <para>
|
|---|
| 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>
|
|---|
| 306 | <procedure>
|
|---|
| 307 | <step><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>
|
|---|
| 310 | </para></step>
|
|---|
| 311 |
|
|---|
| 312 | <step><para>
|
|---|
| 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>.
|
|---|
| 316 | </para></step>
|
|---|
| 317 |
|
|---|
| 318 | <step><para>
|
|---|
| 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.
|
|---|
| 322 | </para></step>
|
|---|
| 323 |
|
|---|
| 324 | <step><para>
|
|---|
| 325 | Left-click on the <guilabel>Edit</guilabel> tab to commence the steps needed to create the GPO.
|
|---|
| 326 | </para></step>
|
|---|
| 327 | </procedure>
|
|---|
| 328 |
|
|---|
| 329 | <para>
|
|---|
| 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.
|
|---|
| 337 | </para>
|
|---|
| 338 |
|
|---|
| 339 | <note>
|
|---|
| 340 | <para>
|
|---|
| 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.
|
|---|
| 347 | </para>
|
|---|
| 348 | </note>
|
|---|
| 349 |
|
|---|
| 350 | </sect3>
|
|---|
| 351 |
|
|---|
| 352 | <sect3>
|
|---|
| 353 | <title>Custom System Policy Templates</title>
|
|---|
| 354 |
|
|---|
| 355 | <para>
|
|---|
| 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.
|
|---|
| 359 | </para>
|
|---|
| 360 |
|
|---|
| 361 | <para>
|
|---|
| 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.
|
|---|
| 367 | </para>
|
|---|
| 368 |
|
|---|
| 369 | <para>
|
|---|
| 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.
|
|---|
| 373 | </para>
|
|---|
| 374 |
|
|---|
| 375 | </sect3>
|
|---|
| 376 | </sect2>
|
|---|
| 377 | </sect1>
|
|---|
| 378 |
|
|---|
| 379 | <sect1>
|
|---|
| 380 | <title>Managing Account/User Policies</title>
|
|---|
| 381 |
|
|---|
| 382 | <para>
|
|---|
| 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.
|
|---|
| 389 | </para>
|
|---|
| 390 |
|
|---|
| 391 | <para>
|
|---|
| 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.
|
|---|
| 399 | </para>
|
|---|
| 400 |
|
|---|
| 401 | <para>
|
|---|
| 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.
|
|---|
| 407 | </para>
|
|---|
| 408 |
|
|---|
| 409 | <para>
|
|---|
| 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.
|
|---|
| 418 | </para>
|
|---|
| 419 |
|
|---|
| 420 | <para>
|
|---|
| 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:
|
|---|
| 427 | </para>
|
|---|
| 428 |
|
|---|
| 429 | <para>
|
|---|
| 430 | <indexterm><primary>Account Controls</primary></indexterm>
|
|---|
| 431 | <itemizedlist>
|
|---|
| 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>
|
|---|
| 437 | </itemizedlist>
|
|---|
| 438 | </para>
|
|---|
| 439 |
|
|---|
| 440 | <para>
|
|---|
| 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>.
|
|---|
| 448 | </para>
|
|---|
| 449 |
|
|---|
| 450 | </sect1>
|
|---|
| 451 | <sect1>
|
|---|
| 452 | <title>Management Tools</title>
|
|---|
| 453 |
|
|---|
| 454 | <para>
|
|---|
| 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
|
|---|
| 457 | environment.
|
|---|
| 458 | </para>
|
|---|
| 459 |
|
|---|
| 460 | <sect2>
|
|---|
| 461 | <title>Samba Editreg Toolset</title>
|
|---|
| 462 |
|
|---|
| 463 | <para>
|
|---|
| 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.
|
|---|
| 475 | </para>
|
|---|
| 476 |
|
|---|
| 477 | </sect2>
|
|---|
| 478 |
|
|---|
| 479 | <sect2>
|
|---|
| 480 | <title>Windows NT4/200x</title>
|
|---|
| 481 |
|
|---|
| 482 | <para>
|
|---|
| 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.
|
|---|
| 490 | </para>
|
|---|
| 491 | </sect2>
|
|---|
| 492 |
|
|---|
| 493 | <sect2>
|
|---|
| 494 | <title>Samba PDC</title>
|
|---|
| 495 |
|
|---|
| 496 | <para>
|
|---|
| 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.
|
|---|
| 504 | </para>
|
|---|
| 505 |
|
|---|
| 506 | </sect2>
|
|---|
| 507 | </sect1>
|
|---|
| 508 |
|
|---|
| 509 | <sect1>
|
|---|
| 510 | <title>System Startup and Logon Processing Overview</title>
|
|---|
| 511 |
|
|---|
| 512 | <para>
|
|---|
| 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:
|
|---|
| 515 | </para>
|
|---|
| 516 |
|
|---|
| 517 | <orderedlist>
|
|---|
| 518 | <listitem><para>
|
|---|
| 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.
|
|---|
| 523 | </para></listitem>
|
|---|
| 524 |
|
|---|
| 525 | <listitem><para>
|
|---|
| 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:
|
|---|
| 530 | <itemizedlist>
|
|---|
| 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>
|
|---|
| 535 | </itemizedlist>
|
|---|
| 536 | No desktop user interface is presented until the above have been processed.
|
|---|
| 537 | </para></listitem>
|
|---|
| 538 |
|
|---|
| 539 | <listitem><para>
|
|---|
| 540 | Execution of startup scripts (hidden and synchronous by default).
|
|---|
| 541 | </para></listitem>
|
|---|
| 542 |
|
|---|
| 543 | <listitem><para>
|
|---|
| 544 | A keyboard action to effect start of logon (Ctrl-Alt-Del).
|
|---|
| 545 | </para></listitem>
|
|---|
| 546 |
|
|---|
| 547 | <listitem><para>
|
|---|
| 548 | User credentials are validated, user profile is loaded (depends on policy settings).
|
|---|
| 549 | </para></listitem>
|
|---|
| 550 |
|
|---|
| 551 | <listitem><para>
|
|---|
| 552 | An ordered list of user GPOs is obtained. The list contents depends on what is configured in respect of:
|
|---|
| 553 |
|
|---|
| 554 | <itemizedlist>
|
|---|
| 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>
|
|---|
| 559 | </itemizedlist>
|
|---|
| 560 | </para></listitem>
|
|---|
| 561 |
|
|---|
| 562 | <listitem><para>
|
|---|
| 563 | User policies are applied from Active Directory. Note: There are several types.
|
|---|
| 564 | </para></listitem>
|
|---|
| 565 |
|
|---|
| 566 | <listitem><para>
|
|---|
| 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
|
|---|
| 569 | window.
|
|---|
| 570 | </para></listitem>
|
|---|
| 571 |
|
|---|
| 572 | <listitem><para>
|
|---|
| 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.
|
|---|
| 575 | </para></listitem>
|
|---|
| 576 | </orderedlist>
|
|---|
| 577 |
|
|---|
| 578 | </sect1>
|
|---|
| 579 |
|
|---|
| 580 | <sect1>
|
|---|
| 581 | <title>Common Errors</title>
|
|---|
| 582 |
|
|---|
| 583 | <para>
|
|---|
| 584 | Policy-related problems can be quite difficult to diagnose and even more difficult to rectify. The following
|
|---|
| 585 | collection demonstrates only basic issues.
|
|---|
| 586 | </para>
|
|---|
| 587 |
|
|---|
| 588 | <sect2>
|
|---|
| 589 | <title>Policy Does Not Work</title>
|
|---|
| 590 |
|
|---|
| 591 | <para>
|
|---|
| 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>
|
|---|
| 595 | </para>
|
|---|
| 596 |
|
|---|
| 597 | <para>
|
|---|
| 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.
|
|---|
| 601 | </para>
|
|---|
| 602 |
|
|---|
| 603 | </sect2>
|
|---|
| 604 |
|
|---|
| 605 | </sect1>
|
|---|
| 606 |
|
|---|
| 607 | </chapter>
|
|---|