AccessChk v6.15

作者:Mark Russinovich

发布时间: 2022 年 5 月 11 日

Download下载 AccessChk (1 MB)
立即Sysinternals Live 运行

简介

作为确保他们创建安全环境Windows管理员通常需要知道特定用户或组对资源(包括文件、目录、注册表项、全局对象和Windows服务)拥有哪些类型的访问权限。 AccessChk 使用直观的界面和输出快速回答这些问题。

安装

AccessChk 是控制台程序。 将 AccessChk 复制到可执行文件路径。 键入“accesschk”会显示其用法语法。

使用 AccessChk

用法:

accesschk [-s][-e][-u][-r][-w][-n][-v]-[f <account>,...][[-a]|[-k]|[-p [-f] [-t]]|[-h][-o [-t <object type>]][-c]|[-d]] [[-l [-i]]|[username]] <file, directory, registry key, process, service, object>
参数 说明
-a 名称是Windows帐户权限。 指定 "*" 为显示分配给用户的所有权限的名称。 请注意,指定特定权限时,仅显示直接分配给右侧的组和帐户。
-c 名称是Windows服务,例如。 ssdpsrv 指定 "*" 为显示所有服务的名称,并 scmanager 检查服务控制管理器的安全性。
-d 仅处理目录或顶级密钥
-e 仅显示 (Windows Vista 及更高级别的显式设置完整性级别)
-f 如果如下所示 -p,则显示完整的进程令牌信息,包括组和特权。 否则为要从输出中筛选的逗号分隔帐户的列表。
-h 名称是文件或打印机共享。 指定 "*" 为显示所有共享的名称。
-i 在转储完全访问控制列表时,仅忽略仅继承 ACE 的对象。
-k 名称是注册表项,例如 hklm\software
-l 显示完整的安全描述符。 添加 -i 以忽略继承的 ACE。
-n 仅显示没有访问权限的对象
-o 名称是对象管理器命名空间中的对象, (默认值为根) 。 若要查看目录的内容,请使用尾随反斜杠或添加 -s指定名称。 添加 -t 和对象类型 (,例如节) 仅查看特定类型的对象。
-p 名称是进程名称或 PID,例如 cmd.exe , (指定 "*" 为显示所有进程) 的名称。 添加 -f 以显示完整的进程令牌信息,包括组和特权。 添加 -t 以显示线程。
-q 省略横幅
-r 仅显示具有读取访问权限的对象
-s Recurse
-t 对象类型筛选器,例如 "section"
-u 禁止显示错误
-v 详细 (包括Windows Vista 完整性级别)
-w 仅显示具有写入访问权限的对象

如果指定用户或组名称和路径,AccessChk 将报告该帐户的有效权限;否则,它将显示安全描述符中引用的帐户的有效访问。

默认情况下,路径名称解释为文件系统路径, (使用 "\pipe\" 前缀指定命名管道路径) 。 对于每个对象,AccessChk 会打印帐户是否具有读取访问权限、W写入访问权限,如果帐户没有读取访问权限,则不打印R任何内容。 该 -v 交换机具有 AccessChk 转储授予给帐户的特定访问权限。

示例

以下命令报告 Power Users 帐户对文件和目录 \Windows\System32的访问权限:

accesschk "power users" c:\windows\system32

此命令显示用户组的哪些服务成员具有写入访问权限Windows:

accesschk users -cw *

若要查看特定帐户下的 HKLM\CurrentUser 注册表项无权访问:

accesschk -kns austin\mruss hklm\software

若要查看 HKLM\Software 密钥的安全性:

accesschk -k hklm\software

若要查看 Vista 上具有显式完整性级别的所有文件 \Users\Mark

accesschk -e -s c:\users\mark

若要查看每个人都可以修改的所有全局对象:

accesschk -wuo everyone \basednamedobjects

Download下载 AccessChk (1 MB)
立即Sysinternals Live 运行