Andrew

 

Cacls.exe 命令行下修改文件访问控制权限

随着Windows XP/Server 2003的流行,越来越多的用户开始选择NTFS文件系统,NTFS的好处自然是大大增强了系统的安全性,在“安全”标签页下,我们可以在这里为不同级别的用户设置相应的访问控制权限,包括完全控制、修改、读取和运行、列出文件夹目录、读取、写入、特别的权限等,你只需要在“允许”和“拒绝”下简单勾选即可,点击“高级”按钮还可以设置更多的特殊权限,这里就不多说了。
其实,除了在图形用户界面下对文件或文件夹的访问控制权限进行设置外,我们还可以在命令行方式下完成这项工作,这在由于某些原因无法进入图形用户界面时特别实用,虽然使用时有些麻烦,但却可以救急。

一、使用Cacls.exe命令
这是一个在Windows 2000/XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。命令语法如下:

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:拒绝指定用户的访问。

实例一:查看文件夹的访问控制权限

例如,这里我们希望查看h:\temp文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:

C:\>md xl
C:\>cacls c:\xl
c:\xl BUILTIN\Administrators:(OI)(CI)F
NT AUTHORITY\SYSTEM:(OI)(CI)F
HNCJ\xiaoliang:F
CREATOR OWNER:(OI)(CI)(IO)F
BUILTIN\Users:(OI)(CI)R
BUILTIN\Users:(CI)(特殊访问:)
FILE_APPEND_DAT

BUILTIN\Users:(CI)(特殊访问:)
FILE_WRITE_DATA



此时,我们会看到所有用户组和用户对h:\temp文件夹的访问控制权限项目,这里的CI表示ACE会由目录继承,OI表示ACE会由文件继承,IO表示ACI不适用于当前文件或目录,每行末尾的字母表示控制权限,例如F表示完全控制,C表示更改,W表示写入。

如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制权限(见图1),可以键入“Cacls h:\temp .”命令。



实例二:修改文件夹的访问控制权限

假如你希望给予本地用户xl完全控制h:\xl文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:   

Cacls h:\xl/t /e /c /g xl:f

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

posted on 2007-07-27 08:32  AndrewYang  阅读(535)  评论(0编辑  收藏  举报

导航