要查看或设置文件或文件夹的ACL,我们通常可以在图形界面通过打开文件或文件夹的安全属性页来实现。除此之外,Windows也提供了功能强大的命令行工具:icacls.exe可用来查看或修改文件或文件夹的ACL。它不仅可以修改ACL中的权限设置,还可以备份和恢复ACL,与图形界面相比,它最大的优势在于可以高效地进行批量操作。
1.参数信息
icacls.exe可以操作文件系统对象(文件和文件夹)的ACL,各参数及意义如下。
设置DACL中的内容 | icacls.exe <文件名> /setowner <用户名> [/t] [/c] [/l] [/q] 将所有匹配文件的所有者设置为指定用户。该命令不会强制更改文件所有者,如需强制更改,可使用takeown.exe。 |
icacls.exe <文件名> /grant[:r] <sid>:<权限>[...] 该命令向指定的用户授权。如果使用":r",这些权限将替换所有现有的显式向该用户授予的权限,否则这些权限将被追加到现有的向该用户授予的权限。 |
|
icacls.exe <文件名> /deny <sid>:<权限>[...] 该命令显式地拒绝指定用户享有列出的权限。该命令会在DACL中加入一条针对sid的拒绝ACE,该ACE包含了命令中列出的权限,DACL中原有的向该用户授予这些权限的允许ACE会被删除这些权限。 |
|
icacls.exe <文件名> /remove[:g|:d] <sid>[...] [/t] [/c] [/l] [/q] 该命令在DACL中删除列出的所有SID。如果使用":g",则删除授予该sid的所有权限;如果使用":d",则删除拒绝该sid的所有权限。 |
|
icacls.exe <文件名> /setintegritylevel [(CI)|(OI)] <级别>:<策略>[...] 该命令向所有匹配的文件显式地添加完整性ACE,级别为以下级别之一: L[ow] M[edium] H[igh] 完整性ACE的继承选项可以优先于完整性级别,但只适用于目录。 |
|
icacls.exe <文件名> /inheritancelevel:[e|d|r] 该命令设置文件的ACE继承属性。 e: 启用继承 d: 禁用继承并复制ACE r: 禁用继承并删除所有继承的ACE |
|
icacls.exe <目录名> /substitue <sidold><sidnew>[...] 该命令将所有的现有sidold替换成sidnew。该命令必须结合目录名使用。 |
|
DACL的备份与恢复 | icacls.exe <文件名> /save &l |