ACL是Access Control Lists 的缩写,可理解为"存取控制表",ACL是windows2000&NT系统中,活动目录对象安全描述符的一部分,每个活动目录对象的安全描述符都由4部分构成:对象的创建者、对象所属的组、自由存取控制和系统存取控制。其中自由存取控制实际是归在ACL中的,ACL主要是决定活动目录对象的许可权限.而系统存取控制则主要是审核活动目录对象的许可权限.通俗说,好比社会上的许可证管理:有负责发放许可证的部门,还有负责审核许可证(权限)的部门.Acldiag就是在些机制出了问题之后,如何进行诊断和维修的工具.
这仍是一个命令行的工具,功能就是诊断活动目录对象的许可权问题.它从"存取控制表"中读取安全属性信息,并以易于理解的格式写入一个文本文件中,这些所谓的安全属性信息有:详细的权限描述、使用者和组等等,这个文本文件也可以作为上传的报告.
使用Acldiag可以完成的任务有:
1.在默认规划中,比较ACL目录服务对象定义的许可权限.
2.进行检查或维护,使用模板,执行标准授权.
3.对某个指定的使用者或组,或是对所有使用者和所有的组,得到它(或它们)有效的许可权限,并在ACL中显示出来.
使用AclDiag工具仅仅能显示出对象的许可权和用户权限.却不能显示其它诸如组策略之类的相应的信息,这主要是因为组策略是虚拟对象,而对虚拟对象的名字,这个工具不能使用它们.
二、AclDiag的语法:
acldiag "ObjectDN" [/chkdeleg] [/fixdeleg] [/geteffective:{User | Group}] [/schema] [/skip] [/tdo]
参数及说明:
ObjectDN
所指定活动目录对象的正确的名字,在命令行中使用这个参数时,活动目录对象名字必须使用引号.
/chkdeleg
检查对象的委托及授权的安全性能.
/fixdeleg
用控制向导的委托,检测或维护所有将要使用对象的授权.
/geteffective:{user | group}
以可读取的格式,打印输出指定用户或指定(工作)组关于许可权限方面的信息.
/schema
检查包括默认规划内的对象是否安全.
/skip
不显示(跳过)安全描述符..
/tdo
当需要将相关的资料进行保存时,以系统规定的表格格式或其它"可读取"的格式将信息资料写进文件中去.在windows2000或windowsNT中,为了统一标准和便于处理,微软公司专门规定有一套各种信息资料的填写样式,即所谓"电子表格"(不是我们通常说的Exce).
像验证其它工具一样,我在命令行窗口中实际执行了一下acldiag/?,得到程序提示的帮助信息,两下对比发现,帮助文档文档中介绍的内容和提示信息内容还是一致的.至于每个项目的结果,限于时间和条件,没有进行更为深入细致的研究.倒是帮助文档中介绍了一个实际诊断的例子:这个例子是诊断microsoft.com 域中,显示所有默认规划内的访问权限,其命令和参数如下:
C:\>acldiag "DC=microsoft,DC=com" /schema