Join and Authentication Issues |
Access control problems can manifest themselves when you cannot access Active Directory objects. They can also happen when you get "Access Denied" errors when trying to map to another network resource, or when trying to run net view at the command prompt to, see a particular server.
This section discusses diagnostic tools and gives examples of possible access control problems, along with suggested solutions. The first step toward identifying and diagnosing Active Directory access control problems is to find out the security descriptor of the object being accessed, and then to look in Event Viewer.
To view access control errors, you need to activate auditing. Then you can see events logged in the Security log.
The Net view command-line tool enables you to determine whether you can gain access to other network computers. To view the computer, to determine whether you can access other computers, carry out the following:
net view \\<computer name>
If you can view other computers, can you use the computer to connect to your domain by using net use \\server1\ipc$ /u:reskit\<user> <password>? If you do have connectivity, can you establish a connection through a local domain account? If the first option fails, this indicates a problem with the trust links. To correct problems with the trust links, run Nltest.exe as shown in the following example:
nltest.exe /server:<server> /sc_query:<domain of server that is failing>
e.g. nltest /server:server1 /sc_query:reskit
Note
You must be connected as an Administrator to the target <server>.
If you cannot connect to your domain and cannot establish a connection through a local domain account, the LSA and SAM might be the problems. If you receive an error message while running the net view \\<server> or net use command, do the following:
If you have a problem gaining access to Active Directory objects, this is almost always because the ACL embedded in the security descriptor for the object does not explicitly grant access to the person performing the operation.
To view the security descriptor of an Active Directory object, you can use the Dsacls command-line tool. By using Dsacls.exe, you can view the security descriptor for an object, which includes the ACL. The ACL contains the discretionary access control list (DACL) and the system access control list (SACL).
The DACL identifies the permissions or rights that particular security groups have with regard to the Active Directory object. If it is not obvious why the DACL doesn't grant the user the access privileges he or she desires, you have to reset the permissions and add permissions so that you can gain access to the appropriate resource.
Note
There are other ways to view the ACL. For example, from the Security tab in the various consoles.
Resetting the permissions might fix the particular problem, but it might affect another area. It is more reliable to add the required permissions. Alternately, if the permissions on the object are set such that no meaningful access is possible, resetting them to default might be the only option.
To verify that ACL entries are being propagated correctly through parent-child relationships, use the sdcheck (Security Descriptor Check) command-line tool. You can determine whether ACLs are being inherited correctly and if ACL changes are being replicated from one domain controller to another. For more information about inheritance, see "Access Control" in this book.
To list all of the ACEs that are inherited from the parent to the child, for the child object that is having its password ACLs changed, you can use the sdcheck/dumpall command.
To view ACEs for particular Active Directory objects, use the Ldp.exe tool included in the Microsoft Windows 2000 Resource Kit companion CD. To use this tool select the security principal (object) of reference, such as cn=<user1>, cn=Users, cn=Domain, dc=<domain name>, dc=<root domain>, and so on. From the Browse menu, click the security descriptor for the object of reference to provide the default access control list and the system access control list in a low-level format.
Another benefit here is that, if you have an administrator who inadvertently set an access control so that nobody can view an object in the directory, you can use ADSIEdit to take ownership of that object and reset the ACL to one where users can do that. For more information about ACLs, see "Access Control" in this book.
You can use Netdom to manage computer accounts for member workstations and member servers. The options of Add, Remove, and Query, allow you to specify the OU for the computer account, move an existing computer account for a member workstation from one domain to another, and list the member workstations or servers in a domain.
Only certain objects are supported for each command. These objects are listed in Table 10.9.
Table 10.9 Netdom Tool Commands
Command | Valid object(s) | Example |
---|---|---|
add | Name of client or stand-alone server | Netdom add /d:reskit.com mywksta |
join | Name of client or stand-alone server | Netdom join /d:reskit.com mywksta |
move | Name of client or stand-alone server | Netdom move /d:newdomain mywksta |
remove | Name of client or stand-alone server | Netdom remove /d:reskit.com mywksta |
reset | Name of client or stand-alone server | Netdom reset /d:reskit.com mywksta |
verify | Name of client or stand-alone server | Netdom verify /d:resourcedom yourwksta |
rename | Name of backup domain controller. This only applies to Windows NT 4.0 and Windows NT 3.51 backup domain controllers only. | Netdom rename /d:newdomain BDC51 |
query | Workstation, Server, Domain controller, Primary Domain Controler, Domain, FSMO, OU | Netdom query /d:reskit.com DC |
time | Optional. Name of specific domain controller or Member | Netdom time /d:masterdom |
trust | Name of a domain | Netdom trust /d:masterdom resourcedom |
To be able to track user activity, you need to establish an auditing policy. An auditing policy defines the kinds of events that you want to monitor for a particular group of users. It is defined on the SACL.
The following includes the implementation sequence for establishing an auditing policy:
The first procedure to implement is an auditing policy to enable the domain controller to audit the actions of specified security principals. You must be logged on as a member of the Administrators group to perform this procedure.
To enable the auditing policy for the domain controller
Note
For more information about specific auditing options, see "Group Policy" in this book.
The next procedure in implementing an auditing policy is to set an Auditing SACL on the objects of interest. You must be logged on as a member of the Administrators group to perform his procedure.
To set an Auditing SACL on the object of interest
Decide what the object access and rights apply to by choosing from the selections in the pull-down list. (The default is "this object and all child objects.") Click each tab you want to modify and check the boxes for the accesses or properties that you need to audit. When you are finished, click Apply, and then click OK.
After the domain controller and object auditing entries are made, perform a test to ensure the auditing policy is implemented according to your requirements. To do this, you must have a reference indicating the objects, security principals, types of access and entries that comprise the auditing policy. Create a test plan that lists a sampling of the accesses and actions for each security principal for which you have an auditing policy. Perform consecutive logons, logging in under a different security principal each time and performing the actions from auditing policy test plan.
The last part of the implementation of an auditing policy is to verify that the auditing policy works as expected by reviewing the results of your test plan. To do this, use the Event Viewer MMC
For more information about auditing, see Windows 2000 Server Help.