ICACLS

本文介绍了 Icacls.exe 命令行实用程序。您可以使用此实用程序修改用 Service Pack 2 (SP2) 运行 Microsoft Windows Server 2003 的计算机上的 NTFS 文件系统权限。

当前,您可以使用 Xcacls.exe 实用程序、 Cacls.exe 实用程序和 Xcacls.vbs 实用程序修改 Windows Server 2003 中的 NTFS 权限。Icacls.exe 实用程序是用于修改 NTFS 权限的其他选项。在 Icacls.exe 实用程序解决您使用现有的实用程序时出现的各种问题。

在 Windows Vista 中,并在 Windows Server 2003 SP2 包括 Icacls.exe 实用程序。

CACLS 工具的改进版本

ICACLS 是 Windows Server 2003 SP2 中 CACLS 工具的升级版本,可用于从恢复控制台重设文件中的帐户控制列表 (ACL) 以及备份 ACL。与 CACLS 不同的是,ICACLS 可以正确地传送对继承的 ACL 的更改和创建。有关 ICACLS 的使用及命令的更多信息,可以通过在命令提示符下运行“icacls /?”进行访问。

现有功能的其他增强功能

变更 描述
支持“每端口防火墙”身份验证 “Firewall Per Port”身份验证保护 Extranet 环境与通过 IPsec 域隔离保护的内部资产之间的通信。Service Pack 2 安装默认启用此功能。
SQL Server 的性能改进 Service Pack 2 提高了 SQL Server 2005 在高强度工作负载下的性能。Service Pack 2 安装默认安装这些改进功能。
MSConfig 中增强的可发现性选项 现在,MSConfig 包含一个附加选项卡,它为常见支持工具提供单个启动点,从而使常见诊断功能的可发现性变得轻松。Service Pack 2 安装默认打开这些改进功能。
改进的 IPsec 过滤器管理 Service Pack 2 可帮助缩减在服务器和域隔离方案中需要管理的过滤器集,从大概数百个过滤器减少到 2 个过滤器。由于基础结构更改,它还免除了对当前过滤器进行维护的需要。Service Pack 2 安装默认启用此改进功能。
基于 Windows 虚拟化的性能改进 Service Pack 2 基于 Windows 虚拟化技术改进了作为多处理器来宾操作系统运行的 Windows Server 2003 以高级处理器中断控制器 (APIC) 访问速率运行时的性能。
增强的 Microsoft 消息队列默认存储 消息队列的默认存储限制已更改为 1 GB。如果选择存储限制大于 1 GB,您可以在 Microsoft 管理控制台 (MMC) 的“常规”选项卡的“消息队列属性”中更改存储限制设置。
DCDIAG 域名服务测试的改进 Dcdiag.exe 域名服务 (DNS) 测试中已添加了新选项。这些新选项是 /x 和 /xsl:xslfile.xsl 或 /xsl:xsltfile.xslt。当使用 /test:dns 选项运行测试时,它们生成 XML 标记。您可以使用此新的输出机制更轻松地分析 DNS 测试生成的详细日志。
群集服务帐户的新事件 已创建新的事件日志事件,以解决群集服务帐户变得极其受域策略限制的特定情况。新事件 ID 是 1239。事件文本包括故障排除信息。

C:\>icacls /?

 

ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
将所有匹配名称的 ACL 存储到 aclfile 中以便将来用于 /restore。

ICACLS directory [/substitute SidOld SidNew […]] /restore aclfile
[/C] [/L] [/Q]
将存储的 ACL 应用于目录中的文件。

ICACLS name /setowner user [/T] [/C] [/L] [/Q]
更改所有匹配名称的所有者。

ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
查找包含显式提及 SID 的 ACL 的所有匹配名称。

ICACLS name /verify [/T] [/C] [/L] [/Q]
查找其 ACL 不规范或长度与 ACE 计数不一致的所有文件。

ICACLS name /reset [/T] [/C] [/L] [/Q]
为所有匹配文件使用默认继承的 ACL 替换 ACL

ICACLS name [/grant[:r] Sid:perm[…]]
[/deny Sid:perm […]]
[/remove[:g|:d]] Sid[…]] [/T] [/C] [/L]
[/setintegritylevel Level:policy[…]]

/grant[:r] Sid:perm 授予指定的用户访问权限。如果使用 :r,
这些权限将替换以前授予的所有显式权限。
如果不使用 :r,这些权限将添加到以前授予的所有显式权限。

/deny Sid:perm 显式拒绝指定的用户访问权限。
将为列出的权限添加显式拒绝 ACE,
并删除所有显式授予的权限中的相同权限。

/remove[:[g|d]] Sid 删除 ACL 中所有出现的 SID。使用
:g,将删除授予该 SID 的所有权限。使用
:d,将删除拒绝该 SID 的所有权限。

/setintegritylevel [(CI)(OI)] 级别将完整性 ACE 显式添加到所有
匹配文件。要指定的级别为以下级别之一:
L[ow]
M[edium]
H[igh]
完整性 ACE 的继承选项可以优先于级别,但只应用于
目录。

/inheritance:e|d|r
e – 启用继承
d – 禁用继承并复制 ACE
r – 删除所有继承的 ACE
注意:
Sid 可以采用数字格式或友好的名称格式。如果给定数字格式,
那么请在 SID 的开头添加一个 *。

/T 指示在以该名称指定的目录下的所有匹配文件/目录上
执行此操作。

/C 指示此操作将在所有文件错误上继续进行。仍将显示错误消息。

/L 指示此操作在符号链接本身而不是其目标上执行。

/Q 指示 icacls 应该禁止显示成功消息。

ICACLS 保留 ACE 项的规范顺序:
显式拒绝
显式授予
继承的拒绝
继承的授予

perm 是权限掩码,可以两种格式之一指定:
简单权限序列:
F – 完全访问权限
M – 修改权限
RX – 读取和执行权限
R – 只读权限
W – 只写权限
在括号中以逗号分隔的特定权限列表:
D – 删除
RC – 读取控制
WDAC – 写入 DAC
WO – 写入所有者
S – 同步
AS – 访问系统安全性
MA – 允许的最大值
GR – 一般性读取
GW – 一般性写入
GE – 一般性执行
GA – 全为一般性
RD – 读取数据/列出目录
WD – 写入数据/添加文件
AD – 附加数据/添加子目录
REA – 读取扩展属性
WEA – 写入扩展属性
X – 执行/遍历
DC – 删除子项
RA – 读取属性
WA – 写入属性
继承权限可以优先于每种格式,但只应用于
目录:
(OI) – 对象继承
(CI) – 容器继承
(IO) – 仅继承
(NP) – 不传播继承

示例:

icacls c:\windows\* /save AclFile /T
– 将 c:\windows 及其子目录下所有文件的
ACL 保存到 AclFile。

icacls c:\windows\ /restore AclFile
– 将还原 c:\windows 及其子目录下存在的 AclFile 内
所有文件的 ACL

icacls file /grant Administrator:(D,WDAC)
– 将授予用户对文件删除和写入 DAC 的管
理员权限

icacls file /grant *S-1-1-0:(D,WDAC)
– 将授予由 sid S-1-1-0 定义的用户对文件删
除和写入 DAC 的权限

若要修改的 NTFS 权限的其他可用实用程序

有关可用来修改 NTFS 权限的其他实用程序的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

318754  (http://support.microsoft.com/kb/318754/ ) 如何使用 Xcacls.exe 修改 NTFS 权限
135268  (http://support.microsoft.com/kb/135268/ ) 如何在批处理文件中使用 Cacls.exe
825751  (http://support.microsoft.com/kb/825751/ ) 如何使用 Xcacls.vbs 修改 NTFS 权限

发表评论