文章目录
前言
你是否不想让别人在你的电脑上打开某个文件夹或者文件?是否有时想允许让别人看某个文件和文件夹下的文件,但是不想让别人更改?或者不想让自己电脑上的某个账户不能访问某个文件夹?如果有过那么可以用以下命令实现,而不需要借助其他加密软件。
注意要限制别人访问的文件或者文件夹所在盘必须要是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不能通过简单命令完成,需要借助特别软件。]
windows dos 文件权限操作命令:Icacls or Cacls。
请使用Icacls,不推荐使用 Cacls。
权限操作命令需要在管理员模式下运行runas /noprofile /user:administrator cmd
输入密码,切换到管理员模式下。
由于网上和微软官网对cacls 和 icacls命令的实例介绍的不详细,这里对每个命令都有对应的示例进行说明,便于理解学习。
Cacls
显示或者修改文件的访问控制列表(ACL)
CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]
[/R user [...]] [/P user:perm [...]] [/D user [...]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中指定文件的 ACL。
/L 对照目标处理符号链接本身
/M 更改装载到目录的卷的 ACL
/S 显示 DACL 的 SDDL 字符串。
/S:SDDL 使用在 SDDL 字符串中指定的 ACL 替换 ACL。
(/E、/G、/R、/P 或 /D 无效)。
/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 不适用于当前文件/目录。
ID - 已继承。
ACE 从父目录的 ACL 继承。
eg:
% 将所有d:\documents目录下的文件、子文件夹的NTFS权限修改为仅管理员组(administrators)完全控制(删除原有所有NTFS权限设置):%
$ cacls d:\documents\*.* /T /G administrators:F
% 在原有d:\documents目录下的文件、子文件夹的NTFS权限上添加管理员组(administrators)完全控制权限(并不删除原有所有NTFS权限设置):%
$ cacls d:\documents\*.* /T /E /G administrators:F
% 取消管理员组(administrators)完全控制权限(并不删除原有所有NTFS权限设置):%
$ cacls \\Server\Documents\%username%\我的文档 /t /e /r "mddq\domain admins"
$ cacls \\Server\Documents\%username%\桌面 /t /e /r "mddq\domain admins"
Note:
示例
eg1.让所有用户禁止访问D盘test文件夹。
cacls d:\test /t /p everyone:n
用cacls test
显示访问控制列表。
$ cacls test
D:\test Everyone:(OI)(CI)N
打开D盘test就提示禁止访问。因为上面写的是everyone所有用户。所有你自己也不能访问。自己要访问时只需要运行命令:
cacls d:\test /t /p everyone:f
就可以了.
如果你的电脑有几个账户,你是想不让其他账户访问这个文件夹,那么你可以在写命令的时候把everyone改成相应的账户名字,比如edwin等等〔看你实际的账户名啦〕。
直接用everyone所有用户设置权限。要打开时再运行命令取消限制,也不是太麻烦。
eg2.让用户edwin不能打开e:\test\apian.rmvb 这部电影。当然也可以限制图片,程序,word文档的打开哦。
命令:
cacls e:\test\apian.rmvb /p edwin:n
取消限制:
cacls e:\test\apian.rmvb /p edwin:f
eg3:把D盘绿色软件文件夹里面的exe文件设置成只读[包括子文件夹里面的]。这样可以防止病毒感染exe文件。
命令:
d:
cd d:\绿色软件
cacls *.exe /t /p everyone:r
**eg4:把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
问题:既然我可以用命令来加密,是不是别人也可以用命令来解密?