Win2000权限诊断

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
三、诊断输出信息释义
要确定系统的问题,不但要进行诊断,还要能看懂诊断工具所输出的信息含义.对这个工具来说,诊断信息中关键的部分如下:
仍以上面介绍的诊断为范本.先执行:
acldiag "DC=microsoft,DC=com"
执行之后,得到的屏幕输出不仅是英文,而且很长,所以不便附在这里.我仔细阅读后,觉得主要项目有以下几个方面:
1.列出是对哪个系统进行的诊断.相当于医生在病历单上所填写的患者姓名.
2.对象的描述:拥有者: {用户 |组}
3.许可权限:分四种:拒绝、允许、用户、组(团体),只能是其中之一
4.许可权限的继承关系:对象的许可权限允许从其父辈继承过来,或者说当前对象的权限也允许其子对象继承,所继承的权限也在上述四种之内.

推荐阅读