• Click refresh verification code
  • Click refresh verification code
已有账号?登录
服务热线: 400-6666-022

技术支持

Windows NTFS 文件安全设置方法(cacls命令的使用方法)

发布日期:2017-10-25    浏览次数:1039
许多讲解cacls权限设置的文章,虽然已经讲的比较简单,但是新手依然看的一头雾水,操作性不强。
    下面以实例为大家一部一部讲解几个实用的命令。

你是否不想让别人在你的电脑上打开某个文件夹或者文件?是否有时想允许让别人看某个文件和文件夹下的文件,但是不想让别人更改?或者不想让自己电脑上的某个账户不能访问某个文件夹?如果有过那么可以用以下命令实现,而不需要借助其他加密软件。

注意要限制别人访问的文件或者文件夹所在盘必须要是NTFS文件系统的,而不能是FAT32格式。这或许是ntfs文件系统安全性能好于fat32的原因之一吧。[比如查看D盘文件系统,只需要打开D盘,在里面空白处点击右键-属性,里面就可以看到了]

如果是fat32而不是ntfs文件系统可以通过这条命令来转换所在盘为ntfs文件系统[不影响里面的文件的]:

命令行下操作:

开始-运行-cmd-回车 打开命令行界面

输入:convert d: /fs:ntfs

再回车,按照提示操作就可以了

[上面命令的意思是:convert表示命令转换文件系统的意思;d: 表示要转换D盘,其他盘你可以相应写,比如f: ; /fs:ntfs 表示文件系统转换为ntfs格式。注意这个命令只能把fat32转换成ntfs格式。将ntfs转换为fat32不能通过简单命令完成,需要借助特别软 件。]

如果你想不要让人打开D盘下test文件夹,并且你的D盘已经是ntfs文件系统的话就可以跳过上述操作直接进入我下面的操作了哦!

例一:让所有用户禁止访问Dtest文件夹。
命令:命令行界面的打开就不多说了哦。看上面。

cacls d:\test /t /p everyone:n

表示把D盘test文件夹设置成对所有用户的[无权限],n表示no,无权限的意思。其他常用权限:r 表示只读;f表示完全控制。/t表示对文件夹里面的子文件夹也同样设置权限。/p你不用管。但是要写上。不然运行不好地。
接过是:打开D盘test就提示禁止访问。因为上面写的是everyone所有用户。所有你自己也不能访问。自己要访问时只需要运行命令:

cacls d:\test /t /p everyone:f

就可以了
如果你的电脑有几个账户,你是想不让其他账户访问这个文件夹,那么你可以在写命令的时候把everyone改成相应的账户名字,比如edwin等等〔看你实际的账户名啦〕。
直接用everyone所有用户设置权限。要打开时再运行命令取消限制,也不是太麻烦。至少可以提供个机会多练习练习命令行,和记住这条命令。否则时间长了忘记了又得查资料。

例二:让用户edwin不能打开e:\test\apian.rmvb 这部电影。当然也可以限制图片,程序,word文档的打开哦。

命令:

cacls e:\test\apian.rmvb /p edwin:n

取消限制:

cacls e:\test\apian.rmvb /p edwin:f

例三:把D盘绿色软件文件夹里面的exe文件设置成只读[包括子文件夹里面的]。这样可以防止病毒感染exe文件。

命令:

d:
cd d:\绿色软件
cacls *.exe /t /p everyone:r
w注意上面的
“d:
cd d:\绿色软件”
这两行命令表示把当前目录切换到d:\绿色软件。不可省略不写哦。

例四:把E盘根目录下设置成只读,防止病毒感染E盘根目录。因为很多U盘病毒会感染根目录,在根目录下新生成一个文件夹及文件比如 autorun.inf、setup.exe、a2de3d3.exe、autorun.exe。有些恶性病毒很厉害。弄得你重装系统都无法解决病毒问 题。因为这些在非系统目录根目录的病毒存在当你单纯格式化C盘重装系统之后,第一次启动时打开D盘等非系统盘的时候病毒在次感染C盘。如果把非系统盘根目 录设置成只读的话就可以防止病毒生成这些文件。当然不影响根目录下文件的删除哦。但是会影响你自己建立文件夹或在根目录下复制进文件。所有建议开始把根目 录下的文件夹建立好。文件放到子文件夹里面。或者在你想在比如D盘根目录下建立一个文件夹时,先用命令行取消根目录只读。虽然有点麻烦,但是好处多余坏处 哦。

命令:
cacls e:\ /p everyone:r

解除根目录只读:
cacls e:\ /p everyone:f

呵呵。足够清楚了吧。试试看吧。

问题:既然我可以用命令来加密,是不是别人也可以用命令来解密?
回答:是的。只要有管理员权限的账户都可以运行命令来设置权限。但是并不是所有人都懂这一套。或者说懂这些的人很少。别人即使看到禁止访问的提示,也不会想到到底是怎么回事的。所有你可以方向使用。

问题:用这些命令的注意点

回答:1、尽量不要对系统文件及文件夹设置权限。因为那样可能会到时系统出现严重错误的。
2、如果要重装系统,那么之前尽量把加密的解密。如果是用ghost恢复就不需要了。
3、再次强调,所在盘符必须是ntfs的才行哦。

CACLS参数说明

CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
[/P user:perm [...]] [/D user [...]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中
指定文件的 ACL。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法
/P user:perm 替换指定用户的访问权限。
Perm 可以是: N 无
R 读取
W 写入
C 更改(写入)
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。
CI - 容器继承。
ACE 会由目录继承。
OI - 对象继承。
ACE 会由文件继承。
IO - 只继承。
ACE 不适用于当前文件/目录。

从其系统参数的讲解,我们不难看出,想要拒绝某一用户访问自己的特定目录或权限是很简单处理的一件事,起码就用CACLS处理起来是这样。

步骤/方法 
1打开"开始菜单" 2找到"运行"并打开"运行对话框" 3输入"CMD"并回车打开"CMD"虚拟DOS环境 4示例:cacls d:/test /p administrator:F 5在出现提示时按"Y"确认操作即可.注意事项 6以上使用方法完全是基于微软的Windows系统(也可以是虚拟机) 7cacls d: /p 用户名:N 在回车以后以现的是否处理提示时,选择是。即用户名被禁止访问D盘,此时再要想访问会出现,拒绝访问的错误提示。解开禁止的方面是用另一个超级管理员的身份使用cacls d: /p 用户名:F 进行取消设置即可。提示用户,在对盘符进行操作时要慎之又慎.

随着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: emp文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:Cacls h: emp

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

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

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

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

  Cacls h: emp /t /e /c /g wzj9999:f

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

  实例三:撤销用户的访问控制权限

  如果你希望撤销wzj9999用户对h: emp文件夹及其子文件夹的访问控制权限,可以键入如下命令:

  cacls h: emp /t /e /c /r wzj9999

  如果只是拒绝用户的访问,那么可以键入如下命令:

  cacls h: emp /t /e /c /d wzj9999

  二、使用增强工具xcals.exe

  在windows 2000资源工具包中,微软还提供了一个名为xcacls.exe的文件控制权限修改工具,其功能较cacls.exe更为强大,可以通过命令行设置所有可以在windows资源管理器中访问到的文件系统安全选项,我们可以从http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下载,安装后即可使用。

  xcacls.exe命令的语法和参数与cacls.exe基本相同,但不同的是它通过显示和修改文件的访问控制列表(acl)执行此操作。在“/g”参数后除保持原有的perm权限外,还增加了spec(特殊访问权限)的选项,另外还增加了“/y”的参数,表示禁止在替换用户访问权限时出现确认提示,而默认情况下,cacls.exe是要求确认的,这样在批处理中调用cacls.exe命令时,程序将停止响应并等待输入正确的答案,引入“/y”参数后将可以取消此确认,这样我们就可以在批处理中使用xcacls.exe命令了。

  实例一:查看文件或文件夹的权限

  在“开始→运行”对话框或切换到命令提示符模式下,注意请事先将“c:program files esource kit”添加到“系统属性→高级→环境变量→系统变量”中,或者通过cd命令将其设置为当前路径,否则会提示找不到文件,然后键入如下命令:

  xcacls h: emp

  此时,可以查看到所有用户组或用户对h: emp文件夹的访问控制权限,io表示此ace不应用于当前对象,ci表示从属窗口将继承此ace,oi表示从属文件将继承该ace,np表示从属对象不继续传播继承的ace,而每行末尾的字母表示不同级别的权限,例如f表示完全控制,c表示更改,w表示写入。

  实例二:替换文件夹中的acl而不确认

  xcacls h: emp /g administrator:rw/y

  以上命令将替换h: emp文件夹中所有文件和文件夹的acl,而不扫描子文件夹,也不会要求用户确认。

  实例三:赋予某用户对文件夹的控制权限

  xcacls h: emp /g wzj9999:rwed;rw /e

  以上命令将赋予用户wzj9999对h: emp文件夹中所有新建文件的读取、写入、运行和删除权限,但需要说明的是,这条命令只是赋予了用户对文件夹本身的读写权限,而不包括子文件夹下的文件。

  对普通用户来说,cals.exe和xcacls.exe的作用可能不是那么明显,这在windows 2000/xp/server 2003的无人值守安装中特别有用,管理员可以为操作系统所在的文件夹设置初始访问权限;在将软件分发到服务器或工作站时,还可以借助xcacls.exe提供单步保护,以防止用户误删除文件夹或文件

  cacls权限设置