脚本专栏 
首页 > 脚本专栏 > 浏览文章

cacls命令设置文件及其文件夹权限的方法

(编辑:jimmy 日期: 2024/12/25 浏览:3 次 )

网上有许多讲解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文件系统的话就可以跳过上述操作直接进入我下面的操作了哦!

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

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 进行取消设置即可。提示用户,在对盘符进行操作时要慎之又慎.

上一篇:实现Win7系统快速一键切换用户的bat脚本
下一篇:BAT批处理判断IP地址并自动禁用启用网卡