今天让我们来看看sysinternals里A开头的第一个AccessChk这个小工具。
下载网页:http://technet.microsoft.com/en-us/sysinternals/bb664922,这个是英文版的,版本为5.0.1。
中文版本下载网页:http://technet.microsoft.com/ZH-cn/sysinternals/bb664922,版本为3.0。
这个小工具属于File and Disk Utilities这个类别里,我们可以看出这个小工具肯定和文件及磁盘项目有关。
简单来说就是说为了保证windows系统环境的安全性,系统管理员一般需要知道用户和用户组对文件,目录,注册表项,全局对象和系统服务的权限。而这些都可以有此小工具快速的找到答案,通过一种直观的界面和输出反应给你。
XP及更高版本,server2003及更高版本。
AccessChk是一个控制台程序,将它拷贝到执行目录下,键入accesschk命令来显示它的使用语法。
我把E:\sysinternals加入了系统路径PATH。所以把下载下来的小工具解压到此目录下就可以直接在命令行窗口执行了。
第一次输入accesschk命令时需要让证书生效一次,以后就不再需要了。
输入按网站的要求accesschk命令后首先出来的是关于这个软件的版本信息以及基本介绍,作者和网站。
接下去的内容就和英文网站的"Using AccessChk"内容一样了,中文网站的“用法”是3.0的,所以没有英文5.0.1的功能多。在这里我就不翻译了,直接来向大家介绍各个功能吧!这也是我介绍第一个小工具,方法和步骤还在探索当中,所以大家忍受一下我的愚蠢。。
首先来解释一下这个命令的正则式:
accesschk [-s][-e][-u][-r][-w][-n][-v][[-a]|[-k]|[-p [-f] [-t]][-o [-t <object type>]][-c]|[-d]] [[-l [-i]]|[username]] <file, directory, registry key, process, service, object>
这个命令分为三个部分accesschk是程序名;第一个参数有9个可选项[],部分可选项里还有可选参数;第二个参数是一个目标,这个目标可以是文件,目录,注册项,进程,服务,对象。
比如假设我的计算机上有4个用户:Administrators、Users、caiyiheng、SYSTEM,我想了解这4个用户组在E:\test目录下的权限设定,我可以使用下面这条命令:accesschk e:\test
可以看到对这个目录下的每一个文件它都列出了这四个用户组的权限,R为读权限,W为写权限,RW表示有读写权限,如果前面为空则表示没有权限。
假如我只想查看SYSTEM这个用户组在E:\test目录下对每个文件的权限呢,那就使用这个命令:accesschk "system" e:\test(当然,windows还是延续了一贯的作风,对大小写并不敏感,所以这里输入system或是SYSTEM是没有区别的,还有一点就是虽然官网上给出的例子需要将用户组用双引号括起来,事实上是不用的)
那如果我想查看Administrators和Guest用户组分别对E:\test目录下的文件各有什么权限呢,那就分别用这两条命令:accesschk administrators e:\test,将administrators改为guest用户组就可以了。
比如我想查看Administrators用户组对所有服务的权限,那么输入:accesschk administrators -c *命令(*是通配符,就是所列出所有的服务,如果想查看对特定的服务,可以键入服务名,比如accesschk administrators -c mysql)。参数-c是告诉程序后面跟的是一个服务名。
还可以查看某个用户或用户组对所拥有R或W权限的服务,键入命令:accesschk administrators –cr *可以查看Administrators用户组拥有读权限的所有服务,把-cr改为-cw可以查看写权限的服务。
比如,我想查看用户caiyiheng对HKEY_LOCAL_MACHINE\Software目录下注册表项的权限,我只要输入:accesschk -k caiyiheng hklm\software即可。聪明人马上会发现hklm是HKEY_LOCAL_MACHINE的缩写,呵呵~~所以你可以发挥自己的想象把HKEY_CLASSES_ROOT缩写为hkcr啊!于是就有了accesschk -k caiyiheng hkcr命令。
如果我想查看系统caiyiheng这个用户对全局对象都有哪些权限,那么我可以通过键入:accesschk -ou caiyiheng \命令来查看。参数-o的意思是查看对象的权限,u的意思是把不支持的对象提示信息去掉,当然如果你想看也可以,你可以只输入accesschk -o caiyiheng \,但是显示的内容会多些。
我并没有介绍全部的参数功能,剩下的就留待朋友们自己去体会吧~~哈哈~~sysinternals利器系列第一集就此结束了,大家敬请期待下一期吧~~