以前一直使用cacls命令来设置权限,前两天输入这个命令的时候,却发现了一行提示:
“注意: 不推荐使用 Cacls,请使用 Icacls。”
如图:
于是研究了一下 Icacls 这个命令。。
先放上微软官方文档:
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/icacls
按照以往使用cacls命令的使用方式,试了一下:
icacls "C:\Users\Administrator\Desktop\test" /grant everyone:f /t
却发现设置后的权限并不像预想的那样,如图:
Everyone用户并没有获得全部权限,只有“特殊权限 ”
点开高级看了一下:
原来设置的权限仅仅被应用于此文件夹本身,而不会被应用到子文件夹和文件。。
本想通过百度快速解决,结果十分意外,居然没有找到!!
自己一翻测试后,解决了:
icacls "C:\Users\Administrator\Desktop\test" /grant everyone:(oi)(ci)(F) /t
(oi)(ci)参数的官方解释:
-
(OI) - 对象继承。 此容器中的对象将继承此 ACE。 仅适用于目录。
-
(CI) - 容器继承。 此父容器中的容器将继承此 ACE。 仅适用于目录。