逐行、逐项解释 ICACLS.EXE 的输出

逐行、逐项解释 ICACLS.EXE 的输出

这是什么意思:

C:\foo\> icacls .
. NT AUTHORITY\IUSR:(M)
  BUILTIN\IIS_IUSRS:(M)
  BUILTIN\IIS_IUSRS:(OI)(CI)(M)
  NT AUTHORITY\IUSR:(OI)(CI)(M)
  BUILTIN\IIS_IUSRS:(I)(OI)(CI)(RX)
  NT AUTHORITY\IUSR:(I)(OI)(CI)(RX)
  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
  BUILTIN\Administrators:(I)(OI)(CI)(F)

我认为第一个意味着 userid 获得目录的修改权限 - 这意味着用户可以创建文件、更新文件或删除文件。对吗?什么是“NT AUTHORITY\IUSR”用户?这真的是单个用户 ID 吗?它是默认的 IIS 用户 ID 吗?

好的,我认为第二行指的是一个组。它获得相同的权限。

那么所有带有 (I) 和 (OI) 等的行又如何呢?请解释一下。

答案1

来自Microsoft 有关 ICACLS 的文章

这些条目是特定于该文件的用户和组 (DOMAIN\USER 或 GROUP),列出的权限如下:

SID 可以是数字形式,也可以是友好名称形式。如果使用数字形式,请在 SID 开头添加通配符 *。

伊卡克尔斯保留 ACE(访问控制条目)条目的规范顺序为:

  • 明确否认
  • 明确授予
  • 继承的拒绝
  • 继承补助金

彼尔姆是一个权限掩码,可以采用下列形式之一指定:

  1. 一系列简单权利:
  • F(全面访问)
  • (修改访问权限)
  • 接收(读取和执行访问)
  • R(只读访问)
  • 西(只写访问)
  1. 括号中以逗号分隔的特定权利列表:
  • (删除)
  • 钢筋混凝土(读取控制)
  • 西澳大利亚大学(写入 DAC)
  • (写所有者)
  • 年代(同步)
  • 作为(访问系统安全)
  • (最大允许值)
  • 生长素(通用读法)
  • 毛里求斯(通用写作)
  • 通用电气(通用执行)
  • 遗传算法(通用全部)
  • 研发(读取数据/列表目录)
  • 西部数据(写入数据/添加文件)
  • 广告(附加数据/添加子目录)
  • 区域(读取扩展属性)
  • 世界福音联盟(写入扩展属性)
  • X(执行/遍历)
  • 直流(删除子项)
  • 类风湿关节炎(读取属性)
  • 西澳(写属性)

继承权可能优先于彼尔姆形式,并且它们仅适用于目录:

  • (其他):对象继承
  • (中英双语):容器继承
  • (输入输出):仅继承
  • (NP):不传播继承
  • (我):从父容器继承的权限

对于文件来说,权限掩码或多或少是不言自明的:R意味着您可以读取该文件,X允许它被执行(作为程序),等等。

对于其他类型的对象,您必须浏览 MSDN:

继承权英文:

  • (I)“继承”:此 ACE 是从父容器继承的。
  • (OI)“对象继承”:此 ACE 将被放置在此容器中的对象继承。
  • (CI)“容器继承”:此ACE将被放置在此容器中的子容器继承。
  • (IO)“仅继承”:此 ACE 将被继承(参见OICI),但不适用于此对象本身。
  • (NP)“不传播”:此 ACE 将由对象和子容器继承一层深度– 它不适用于子容器内的东西。

对于文件系统,“容器”表示文件夹,“对象”表示文件,但请记住,可以在许多其他类型的对象上设置 ACL,并非所有对象都有“容器”的概念。

相关内容