ICACLS命令

CACLS是windows下常用的设置权限的命令,但是在配置服务器的时候,往往这这命令是不够用的。我们需要一些比较特殊的权限,比如拒绝执行的权限!

比如windows下面iis运行的temp目录。这个目录php运行时是需要的,用来存放一些临时文件!同时这个目录是黑客经常用来上传cmd.exe的地方。基于这个目录的特殊要求,我们需要这个目录可以写,可以读,但是不能执行exe!对于这种过分的要求,cacls是做不来的!

我们需要用到icacls

格式如下

ICACLS name /save aclfile [/T] [/C] [/L] [/Q]

     将所有匹配名称的 ACL 存储到 aclfile 中以便将来用于 /restore。

ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile

                  [/C] [/L] [/Q]

    将存储的 ACL 应用于目录中的文件。

ICACLS name /setowner user [/T] [/C] [/L] [/Q]

    更改所有匹配名称的所有者。

ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]

    查找包含显式提及 SID 的 ACL 的所有匹配名称。

ICACLS name /verify [/T] [/C] [/L] [/Q]

    查找 ACL 不标准或长度与 ACE 计数不一致的所有文件。

ICACLS name /reset [/T] [/C] [/L] [/Q]

    为所有匹配文件使用默认继承的 ACL 替换 ACL

ICACLS name [/grant[:r] Sid:perm[...]]

        [/deny Sid:perm [...]]

        [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L]

        [/setintegritylevel Level:policy[...]]

     /grant[:r] Sid:perm 授予指定用户访问权限。使用 :r,该权限将替换以前授予的所有

式权限。不使用 :r,该权限将添加到以前授予的所有显式权限。

     /deny Sid:perm 显式拒绝指定的用户访问权限。

        已经为规定的权限添加了显式拒绝 ACE,删除所有显式授予的权限中的相同权限。

     /remove[:[g|d]] Sid 删除 ACL 中所有出现的 SID。使用

         :g,删除授予该 SID 的所有权限。使用

         :d,删除拒绝该 SID 的所有权限。

     /setintegritylevel [(CI)(OI)] 级别将完整性 ACE 显式添加到所有

        匹配文件。要指定的级别为以下级别之一:

             L[ow]

             M[edium]

             H[igh]

        完整性 ACE 的继承选项可以优先于级别,但只应用于目录。

注意:

     Sids可能是数字格式或友好的名称格式。如果给定数字格式,那么请在 SID 的开头添加

一个 *。

     /T 指示在以该名称指定的目录下的所有匹配文件/目录上执行此操作。

     /C 指示该操作将在所有文件错误上继续。仍将显示错误消息。

     /L 指示此操作在符号链接本身而不是其目标上执行。

     /Q 表示 icacls 应该压制成功的消息。

     ICACLS 保留 ACE 项的规范顺序:

            显式拒绝

            显式授予

            继承的拒绝

            继承的授予

     perm 是权限掩码,可以两种格式之一指定:

        简单权限序列:

                 F - 完全访问权限

                 M - 修改权限

                 RX - 读取和执行权限

                 R - 只读权限

                 W - 只写权限

        在括号中以逗号分隔列表的特定权限:

                 D - 删除

                 RC - 读取控制

                 WDAC - 写入 DAC

                 WO - 写入所有者

                 S - 同步

                 AS - 访问系统安全性

                 MA - 允许的最大值

                 GR - 一般性读取

                 GW - 一般性写入

                 GE - 一般性执行

                 GA - 全为一般性

                 RD - 读取数据/列出目录

                 WD - 写入数据/添加文件

                 AD - 附加数据/添加子目录

                 REA - 读取扩展属性

                 WEA - 写入扩展属性

                 X - 执行/遍历

                 DC - 删除子项

                 RA - 读取属性

                 WA - 写入属性

        继承权限可以优先于每种格式,但只应用于

        目录:

                 (OI) - 对象继承

                 (CI) - 容器继承

                 (IO) - 仅继承

                 (NP) - 不传播继承

示例:

         icacls c:\windows\* /save AclFile /T

         - 将 c:\windows 及其子目录下所有文件的ACL 保存到 AclFile。

         icacls c:\windows\ /restore AclFile

         - 将还原 c:\windows 及其子目录下存在的 AclFile 内

          所有文件的 ACL

         icacls file /grant Administrator:(D,WDAC)

         - 将授予用户对文件删除和写入 DAC 的管理员权限

         icacls file /grant *S-1-1-0:(D,WDAC)

         - 将授予由 sid S-1-1-0 定义的用户对文件删除和写入 DAC 的权限



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 14580