AccessChk v6.15
作者:Mark Russinovich
发布日期:2022 年 5 月 11 日
下载 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 以显示线程。 |
-nobanner | 不显示启动横幅和版权消息。 |
-r | 仅显示具有访问权限的对象 |
-s | Recurse |
-t | 对象类型筛选器,例如 "section" |
-u | 禁止显示错误 |
-v | 详细(包括 Windows Vista 完整性级别) |
-w | 仅显示具有写入权限的对象 |
如果指定用户或组名称和路径,AccessChk 将报告该帐户的有效权限;否则,它将显示安全描述符中引用的帐户的有效访问权限。
默认情况下,路径名称被解释为文件系统路径(使用 "\pipe\"
前缀来指定已命名的管道路径)。 对于每个对象,如果帐户具有读取权限,W
具有写入权限,以及两项权限中任何一项都没有,则 AccessChk 打印“R
”。 -v
开关让 AccessChk 转储授予帐户的特定访问权限。
示例
以下命令报告 Power 用户帐户对 \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
下载 AccessChk (1 MB)
立即从 Sysinternals Live 运行。