日期:2021-10-23  浏览次数:2750 次

本文介绍下,在windows中设置与维护文件夹或文件权限的命令cacls.exe,通过几个例子学习这个命令的用法。

Cacls.exe命令
在windows系列操作系统下都可以使用的命令,作用是显示或者修改文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。

Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]
Filename:显示访问控制列表(以下简称ACL)
/T:更改当前目录及其所有子目录中指定文件的ACL
/E:编辑ACL而不替换
/C:在出现拒绝访问错误时继续
/G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制)等。
/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。
/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。
/D user:拒绝指定用户的访问。

例一:查看文件夹的访问控制权限
例如,这里我们希望查看d:\iis7www文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:Cacls d:\iis7www
此时,我们会看到所有用户组和用户对d:\iis7www文件夹的访问控制权限项目,这里的CI表示ACE会由目录继承,OI表示ACE会由文件继承,IO表示ACI不适用于当前文件或目录,每行末尾的字母表示控制权限,例如F表示完全控制,C表示更改,W表示写入。
如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制权限,可以键入“Cacls d:\iis7www .”命令。

例二:修改文件夹的访问控制权限
假如你希望给予本地用户user完全控制d:\iis7www文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:
Cacls d:\iis7www /t /e /c /g user:f
这里的“/t”表示修改文件夹及子文件夹中所有文件的ACL,“/e”表示仅做编辑工作而不替换,“/c”表示在出现拒绝访问错误时继续,而“/g user:f ”表示给予本地用户user以完全控制
的权限,这里的“f”代表完全控制,如果只是希望给予读取权限,那么应当是“r”。

例三:撤销用户的访问控制权限
如果你希望撤销user用户对d:\iis7www文件夹及其子文件夹的访问控制权限,可以键入如下命令:
cacls d:\iis7www /t /e /c /r user
如果只是拒绝用户的访问,那么可以键入如下命令:
cacls d:\iis7www /t /e /c /d user