cacls

编辑:底层网互动百科 时间:2019-12-11 08:14:55
编辑 锁定
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
cacls,计算机编程函数,可显示或修改任意访问控制列表 (ACL) 文件。
中文名
cacls
外文名
cacls
类    别
命令提示符
操作系统
DOS系统
作    用
显示或修改任意ACL文件

目录

cacls概念

编辑
显示或修改任意访问控制列表 (ACL) 文件。

cacls语法

编辑
cacls FileName [/t] [/e] [/c] [/g User:permission] [/r User [...]] [/p User:permission [...]] [/d User [...]]
参数
FileName
必需。显示指定文件的 ACL。
/t
更改当前目录和所有子目录中指定文件的 ACL。
/e
编辑 ACL,而不是替换它。
/c
忽略错误,继续修改 ACL。
/g User:permission
将访问权限授予指定用户。下表列出了 permission 的有效值。 值 说明
n 无
r 阅读顺序
w 写入
c 更改(写入)
F 完全控制
/r user
取消指定用户的访问权限。
/p User:permission
替代指定用户的访问权限。下表列出了 permission 的有效值。 值 说明
n 无
r 阅读顺序
w 写入
c 更改(写入)
F 完全控制
/d user
拒绝指定用户的访问。
/?
命令提示符显示帮助。
注释
使用下表解释输出结果。 输出 ACE 的适用于
OI 此文件夹和文件
CI 此文件夹和子文件夹
IO ACE 不适用于当前文件/目录。
没有输出消息 仅此文件夹
(IO)(CI) 此文件夹、子文件夹和文件
(OI)(CI)(IO) 仅子文件夹和文件
(CI)(IO) 仅子文件夹
(OI)(IO) 仅文件
使用通配符(? 和 *)可以指定多个文件。
可以指定多个用户。
例如:cacls d:\game /p everyone:n
cacls c:\windows\system32\cmd.exe /e /d guests //禁止guests组用户使用cmd.exe
cacls c:\windows\system32\cmd.exe /e /r users //解禁。
允许guests组用户使用cmd.exe /d user /e /r user 拒绝指定用户的访问。
编辑 ACL,而不是替换它。取消指定用户的访问权限。
cacls c:\test /p administrator :N 拒绝 administrator 用户(超及管理用户)访问C盘下的test文件夹
cacls c:\test /p administrator:F 恢复 administrator用户对其的访问
值得注意的是,在使用cacls命令对某一盘符设置了对administrator拒绝访问后,如
cacls c:\ /p administrator:N
再使用 cacls c: /p administrator:F 命令恢复权限已经不可行了,这时可以用后面的一个方法进行解决,恢复其操作权.
ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
将匹配名称的文件和文件夹的 DACL 存储到 aclfile 中以便将来与 /restore 一起使用。请注意,未保存 SACL、所有者或完整性标签。
ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile
[/C] [/L] [/Q] 将存储的 DACL 应用于目录中的文件。
ICACLS name /setowner user [/T] [/C] [/L] [/Q] 更改所有匹配名称的所有者。该选项不会强制更改所有身份; 使用 takeown.exe 实用程序可实现该目的。
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 是权限掩码,可以两种格式之一指定:
简单权限序列: N - 无访问权限 F - 完全访问权限 M - 修改权限 RX - 读取和执行权限 R - 只读权限 W - 只写权限 D - 删除权限
在括号中以逗号分隔的特定权限列表:
DE - 删除 RC - 读取控制 WDAC - 写入 DAC
WO - 写入所有者 S - 同步 AS - 访问系统安全性 MA - 允许的最大值 GR - 一般性读取 GW - 一般性写入 GE - 一般性执行 GA - 全为一般性 RD - 读取数据/列出目录 WD - 写入数据/添加文件 AD - 附加数据/添加子目录
REA - 读取扩展属性 WEA - 写入扩展属性 X - 执行/遍历 DC - 删除子项 RA - 读取属性 WA - 写入属性
继承权限可以优先于每种格式,但只应用于目录:
(OI) - 对象继承 (CI) - 容器继承 (IO) - 仅继承 (NP) - 不传播继承 (I) - 从父容器继承的权限
示例:
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 的权限。
关于C盘整个盘符被锁定的解决办法
当使用这个命令 cacls c:\ /p administrator:N 后,你将失去对系统C盘控制权.这时,一般的方法
cacls c: /p administrator:F 命令恢复权限已经不可行了,可以用下面的一个方法尝试:
1、首先打开Windows中的任何一个窗口,执行“工具”菜单下的“文件夹选项”命令,选择“查看”标签,将“使用简单文件共享(推荐)”复选框前的(√)清除掉,单击“确定”或“应用”;
2、用鼠标右键单击已设置了拒绝访问的文件夹或驱动器,执行右键菜单中的“属性”命令,选择“安全”标签,单击“高级”按钮,选择“审核”标签,(win7 或 vista用户中有权限时,点“继续”)
单击“添加”按钮,单击“高级”按钮,单击“立即查找”——选择“Administrator”计算机管理员用户,单击“确定”,再单击“确定”;设置该用户下的访问权限完全控制,再“确定”。过程中弹出 更改权限窗口 时,点是,出错再点取消,
3、重复以上操作步骤,选择用户为:everyone,设置其访问权限完全控制.并应用即可取消驱动器或文件夹的拒绝访问了
4、如果在做完后,再查看权限,变为全为拒绝时,再重复2,3就可以了
使用WinPE系统取回完全控制权限
如果出现对于按照关于C盘整个盘符被锁定的解决办法”操作还是不行的情况,即在第二步点击“继续”之后,弹出的对话框是“无法打开访问控制编辑器。拒绝访问。”
拒绝访问控制编辑器 拒绝访问控制编辑器
如图,
则可以尝试重启电脑,并运行winPE系统(能够安装win7系统所使用的winPE),进入系统之后,在C盘上右键,选择属性——>安全——>组或用户名中选中Administrators——>编辑——>高级——>更改权限——>选择Administrators——>编辑——>选中“完全控制”复选框,确定之后,重启电脑即可拥有对C盘的完全控制权限,当然,前提是以Administrator的身份登录。[1] 
参考资料
词条标签:
计算机学