lpacl 信息
用途
提供有关使用资源监视和控制 (RMC) 子系统所提供的访问控制来保护最小特权 (LP) 命令资源类及其资源的常规信息。
描述
RMC 通过访问控制表 (ACL) 使用两种不同的 ACL 实现来控制对所有其资源和资源类的访问权。 RMC 使用的实现依赖于涉及的类。 实现之间的两项重要差别是:1) 用来查看和修改 ACL 的机制;2) ACL 是否与单个资源相关联。
- 通过 ctrmc.acls 文件中的资源类节定义的 ACL。
您可以通过编辑 ctrmc.acls 文件来查看和修改这些 ACL。 使用节来定义适用于某个类的 ACL ,或者定义适用于某个类中所有资源的 ACL。
RMC 将此方法用于其所有资源和资源类 ( IBM.LPCommands 资源类及其资源除外)。
有关 ctrmc.acls 文件及其定义的 ACL 的更多信息,请参阅 RSCT: Administration Guide。
- 通过与 RMC 子系统中相关联的资源和资源类的 ACL。
可以使用 LP 命令来查看和修改这些 ACL。 可以定义适用于一个类的 ACL,也可以定义适用于一个类的单个资源的 ACL。
RMC 将此方法用于 IBM.LPCommands 资源类及其资源。
此文件提供有关特定于 IBM.LPCommands 资源类及其资源的 ACL 的信息。
- chlpcmd
- 更改 LP 资源的 "读/写" 属性值
- lphistory
- 列示或清除先前在当前 RMC 会话期间发出的一定数量的 LP 命令
- lslpcmd
- 列出域中一个或多个节点上 LP 资源的相关信息
- mklpcmd
- 将新的 LP 资源定义给 RMC 并指定用户许可权
- rmlpcmd
- 从 RMC 子系统中除去一个或多个 LP 资源
- runlpcmd
- 运行 LP 资源
- chlpclacl
- 更改类 ACL
- chlpracl
- 更改资源 ACL
- chlpriacl
- 更改资源初始 ACL
- chlprsacl
- 更改资源共享 ACL
- lslpclacl
- 列示类 ACL
- lslpracl
- 列示资源 ACL
- lslpriacl
- 列示资源初始 ACL
- lslprsacl
- 列示资源共享 ACL
- mklpcmd
- 将新的 LP 资源定义给 RMC 并指定用户许可权
基本 ACL 结构
通常, ACL 是由 ACL 条目的列表组成的。 每个 ACL 条目都指定一个身份以及授予该身份的一组许可权。 ACL 条目的完整列表决定了 ACL 如何控制对关联类或资源的访问。
与资源关联的 ACL 可以引用另一个 ACL ,而不是包含 ACL 条目本身的列表。 当与资源关联的 ACL 引用另一个 ACL 时,引用的 ACL 中的 ACL 条目集控制对该资源的访问。
ACL 类型
- 类 ACL
- 类 ACL 控制对一个节点上的类操作的访问。 您需要具有 已被授予特定许可权 才能执行类操作,例如,列示类属性,创建类资源以及删除类资源。
类 ACL 由 ACL 条目的列表构成。 ACL 条目列表控制对节点上的类操作的访问。 如果列表为空,那么不允许任何身份在节点上执行类操作。
当您尝试对 IBM.LPCommands class 在节点上 执行类操作时-创建新资源,例如-RMC 会检查类 ACL 在该节点上 以验证您是否具有执行该操作的 必需 许可权。 如果您没有必需的许可权,那么将拒绝该操作。
IBM.LPCommands 类的每个节点上都存在一个类 ACL。 每个节点的类 ACL 控制对该节点上所有 IBM.LPCommands 类操作的访问。
- 资源 ACL
- 资源 ACL 控制对一个 LP 资源的资源操作的访问。 您需要具有 已被授予特定许可权 才能执行资源操作,例如,列示资源属性,修改资源属性以及运行资源命令。
资源 ACL 可以由 ACL 条目的列表组成。 在此情况下, ACL 条目列表控制对该资源的资源操作的访问。 如果该列表为空,那么不允许任何身份对该资源执行资源操作。
资源 ACL 可以引用资源共享 ACL ,而不包含 ACL 条目本身的列表。 在此情况下,资源共享 ACL 中 ACL 条目的列表将控制对资源的资源操作的访问。 如果该列表为空,那么不允许任何身份对该资源执行资源操作。
尝试对 LP 资源执行资源操作时 (例如,运行 LP 命令时) , RMC 首先检查所选资源的资源 ACL 以确定资源 ACL 是否包含 ACL 条目的列表,或者它是否引用资源共享 ACL。 如果资源 ACL 具有 ACL 条目列表,那么 RMC 会检查该列表以验证您是否具有执行该操作的 必填 许可权。 如果您没有必需的许可权,那么将拒绝该操作。
如果资源 ACL 指 是资源共享 ACL ,那么 RMC 会检查资源共享 ACL 以验证您是否具有执行该操作的 必填 许可权。 如果您没有必需的许可权,那么将拒绝该操作。
每个 LP 资源都存在一个资源 ACL。 当资源 ACL 引用资源共享 ACL 时,正在引用的资源共享 ACL 是与资源位于同一节点上的 ACL。
- 资源初始 ACL
- 资源初始 ACL 定义了在节点上创建的资源 ACL 的初始内容。
因为资源初始 ACL 用于初始化资源 ACL ,所以资源初始 ACL 可以包含 ACL 条目的列表或对资源共享 ACL 的引用。
创建新的 LP 资源时,其资源 ACL 将按照节点上的资源初始 ACL 指定的方式进行初始化。
IBM.LPCommands 类的每个节点上都存在一个资源初始 ACL。
- 资源共享 ACL
- 资源共享 ACL 可以控制对一个节点上多个资源的资源操作的访问。
资源共享 ACL 由 ACL 条目的列表构成。 ACL 条目列表控制对节点上引用资源共享 ACL 的所有资源的资源操作的访问权。 与其他 ACL 类型一样, ACL 条目的列表也可以为空。
要使用此 ACL ,请像在资源 ACL 中那样在其中使用 放置 ACL 条目 。 然后,修改资源共享 ACL 中的资源 要引用的同一节点上的 ACL 。 正在使用资源共享 ACL 您可以使用 ACL 条目的一个列表来控制对同一节点上多个资源的访问。
IBM.LPCommands 类的每个节点上都存在一个资源共享 ACL。
ACL 条目
LP 命令的 RMC ACL 指定 ACL 条目的列表。 每个 ACL 条目定义一个用户身份以及该身份的用户许可权。 用户身份 是已认证的网络身份。 用户对类或对资源具有的 用户许可权 指定访问权 。
用户身份
- [host:主机用户标识符指定一个 主机用户标识。 可选的 host: 关键字指定可以将用户标识与基于主机的认证 (HBA) 安全性机制提供的网络标识进行匹配。 如果省略了 host: 关键字,并且该条目未采用所描述的其他格式之一,那么假定该条目是主机用户标识。 主机用户标识可以采用以下三种形式中的一种:
- 用户名@host_identifier
指定一个 特定已认证用户。 您可以指定多种不同格式的 host_identifier 。 这些格式与仅将主机用户标识格式指定为主机标识时所使用的格式相同,描述如下。
- 主机标识符已识别主机上的 指定一个ny authenticated 用户。 主机标识可以是:
- 一个标准主机名。
- 简短主机名。
- IP 地址。
- RSCT 节点标识。 这是 16 位十六进制数字,例如: 0xaf58d41372c47686。
- 关键字 LOCALHOST。 此关键字是一个方便的 RSCT 节点标识的速记表示法 ACL 所在的节点。 LOCALHOST 关键字存储在 ACL 中。
- 关键字 NODEID。 此关键字是以下节点的方便 RSCT 节点标识的速记表示法 : ACL 编辑命令正在运行。 NODEID 关键字未存储在 ACL 中; 该关键字表示的节点标识实际存储在 ACL 中。
- "*"
任何主机上的 指定一个ny authenticated 用户。 当将星号 (*) 指定为命令输入时,必须将其括在双引号中。
- 用户名@host_identifier
- none:映射用户标识符
ctsec_map.global 文件或 ctsec_map.local 文件中的 指定已定义的映射名称 。 有关映射的用户标识的信息,请参阅 RSCT: Administration Guide。
- UNAUTHENT
指定一个ny 未经认证的用户。
用户@short_host_name
用户@ip_address
用户@node_ID
用户@LOCALHOST
full_host_name
short_host_name
IP_address
node_ID
LOCALHOST
*
lsrsrc IBM.Host NodeIDslsrsrc -ta IBM.Host NodeIDs NodeNameListlsrpnode -i节点标识以十六进制格式显示。 要在命令中使用此值,需要在此值之前添加 0x。 如果使用 CT_CONTACT 环境变量来指定发生 RMC 会话的位置,那么 host_identifier 应该是标准主机名,短主机名或 IP 地址。
用户许可权
用户许可权表示为由一个或多个字符组成的字符串,每个字符表示特定许可权。
为了补偿许可权集的精细详细程度, RSCT 提供了两个组合许可权。 r 许可权由允许 "读" 类型操作的个别许可权组成。 w 许可权由允许 "写" 类型操作的个别许可权组成。 大多数 ACL 条目可能使用这些方便的组合许可权。
许可权集
接下来的两个部分显示已定义的许可权集的两个不同视图。 第一部分描述了使用组合许可权设置的许可权。 第二部分描述了使用各个许可权设置的许可权。
Using Composite Permissions
- r
- 读许可权。
- 要查看 LP 资源的资源属性值,您需要对 LP 资源具有此许可权。
- 要查看 IBM.LPCommands 类属性值,您需要 IBM.LPCommands 类的此许可权。
- 您需要此许可权才能列出 LP ACL。
- w
- 写许可权。
- 要更改 LP 资源的资源属性值,您需要该 LP 资源的此许可权。
- 要更改 IBM.LPCommands 类的类属性值,您需要 IBM.LPCommands 类的此许可权。
- 要创建或删除 LP 资源,您需要 IBM.LPCommands 类的此许可权。
- a
- 管理员许可权。
- 要更改 LP 资源的资源 ACL ,您需要对 LP 资源具有此许可权。
- 要更改类 ACL ,资源初始 ACL 或资源共享 ACL ,您需要 IBM.LPCommands 类的此许可权。
- x
- 执行许可权。 要运行在 LP 资源中定义的 LP 命令,您需要 LP 资源的此许可权。 因此,对于 LP 资源 ACL ,资源初始 ACL 和资源共享 ACL 而言,此许可权是有意义的。
- 0
- 没有权限。 此许可权将拒绝您访问 LP 资源或 IBM.LPCommands 类。 因此,此许可权对于任何 LP ACL 都有意义。
Using Individual Permissions
- q
- 查询许可权。
- 要查询 LP 资源的资源属性值,您需要对 LP 资源具有此许可权。
- 要查询类属性值,您需要 IBM.LPCommands 类的此许可权。
- 您需要此许可权才能列出 LP ACL。
- l
- 枚举许可权。 要列出 LP 资源,您需要 IBM.LPCommands 类的此许可权。 因此,此许可权对于类 ACL 是有意义的。
- e
- 事件许可权。 要注册,注销或查询事件,您需要对 LP 资源或 IBM.LPCommands 类具有此许可权。 因此,此许可权对于任何 LP ACL 都有意义。
- v
- 验证许可权。 您需要此许可权以验证 LP 资源句柄是否仍然存在。 因此,对于资源 ACL ,资源初始 ACL 和资源共享 ACL 而言,此许可权是有意义的。
- d
- 定义和取消定义许可权。 要创建或删除 LP 资源,您需要 IBM.LPCommands 类的此许可权。 因此,此许可权对于类 ACL 是有意义的。
- c
- 刷新许可权。 要刷新 IBM.LPCommands 类配置,您需要 IBM.LPCommands 类的此许可权。 因此,此许可权对于类 ACL 是有意义的。
- s
- 设置许可权。
- 要为 LP 资源设置资源属性值,您需要对 LP 资源具有此许可权。
- 要设置类属性值,您需要 IBM.LPCommands 类的此许可权。
- o
- 联机,脱机和重置许可权。 因为 LP 资源不支持联机,脱机和重置操作,所以此许可权在 LP ACL 中没有任何意义。
- a
- 管理员许可权。
- 要更改 LP 资源的资源 ACL ,您需要对 LP 资源具有此许可权。
- 要更改类 ACL ,资源初始 ACL 或资源共享 ACL ,您需要 IBM.LPCommands 类的此许可权。
- x
- 执行许可权。 要运行在 LP 资源中定义的 LP 命令,您需要 LP 资源的此许可权。 因此,对于 LP 资源 ACL ,资源初始 ACL 和资源共享 ACL 而言,此许可权是有意义的。
- 0
- 没有权限。 此许可权将拒绝您访问 LP 资源或 IBM.LPCommands 类。 因此,此许可权对于任何 LP ACL 都有意义。
某些许可权字符在某些类型的 ACL 中没有意义。 例如, l 许可权在资源 ACL 中没有任何含义。 在特定类型的 ACL 中没有任何意义的许可权字符可以出现在 ACL 中而不会产生不良影响。 例如,可以在资源 ACL 的 ACL 条目中指定 l 许可权。 使用组合许可权时, ACL 条目中存在无意义的许可权是不可避免的。
除了 ACL 条目显式授予的 许可权外, root 映射的身份始终具有 ACL 操作的查询和管理员许可权。 如果设置了 ACL 以便拒绝所有访问权,那么由于其隐式权限, root 映射的身份仍可用于更改 ACL。
系统管理员需要为 IBM.LPCommands 类及其资源确定 应如何定义 ACL 。 这取决于要执行的操作 用户是必需的 。
安全性
- 要使用用于更改类 ACL ,资源初始 ACL 和资源共享 ACL 的 LP 命令,您必须具有 IBM.LPCommands 类的查询和管理员许可权。
- 要使用可以更改 LP 资源的资源 ACL 的 LP 命令,必须对 LP 资源具有查询和管理员许可权。
- 要使用列出类 ACL ,资源初始 ACL 和资源共享 ACL 的 LP 命令,您必须具有 IBM.LPCommands 类的查询许可权。
- 要使用可以列示 LP 资源的资源 ACL 的 LP 命令,必须对 LP 资源具有查询许可权。
示例
- 您希望将 lpadmin 标识定义为 LP 命令的管理员。 该标识将具有修改 LP ACL 的权限。 您还需要向此标识授予读和写许可权以便其能创建、删除和修改 LP 资源。 要设置此值,请使用 root 映射的身份在管理服务器上运行以下命令:
这些命令将管理服务器上的 lpadmin 标识定义为具有 IBM.LPCommands 类和资源初始 ACL 的管理员,读和写许可权。 资源初始 ACL 用于在创建 LP 资源时初始化资源 ACL。 因此,在创建 LP 资源时, lpadmin 标识将具有对其的管理员,读和写许可权。chlpclacl lpadmin@LOCALHOST rwa chlpriacl lpadmin@LOCALHOST rwa - lpadmin 标识现在可以创建用于定义所需 LP 命令的 LP 资源。 请参阅 mklpcmd 命令以获取有关如何创建 LP 资源的描述。 可以使用 mklpcmd 命令或 chlpracl 命令 定义 对 LP 资源的访问权。 创建资源时,会将资源初始 ACL 复制到资源 ACL。 要使用 chlpracl 命令修改资源 ACL ,以便 joe 能够将 runlpcmd 命令用于名为 SysCmd1的资源, lpadmin 标识将在管理服务器上运行此命令:
这将授予管理服务器上的 joe 对 SysCmd1 资源的执行许可权,以便他可以使用 runlpcmd 命令。chlpracl SysCmd1 joe@LOCALHOST x - 在此示例中,只有 lpadmin 标识有权创建,删除和修改 LP 资源。 使用 chlpclacl 命令允许其他用户创建和删除 LP 资源。 在这种情况下,他们需要对类具有写访问权。 要能够列出 IBM.LPCommands 类中的资源,需要具有读许可权。 对资源 ACL 的读许可权允许用户查看该 LP 资源。 对资源 ACL 的写许可权允许用户修改该 LP 资源。 为了允许 joe 查看名为 SysCmd1的 LP 资源, lpadmin 标识在管理服务器上运行以下命令:
chlpracl SysCmd1 joe@LOCALHOST r - 对等域中有几个节点。 在 nodeB 上存在一个名为 SysCmdB1 的 LP 资源, joe 需要其执行许可权。 此外, joe 需要具有来自节点 nodeA, nodeB和 nodeD的执行许可权。 如果在 nodeB上运行 chlpracl 命令,那么可以将 joe@LOCALHOST 用于 nodeB,但需要确定 nodeA 和 nodeD的节点标识。 要获取节点标识,请输入:
输出将类似于以下内容:lsrpnode -i
然后 joe 权限,在 nodeB:Name OpState RSCTVersion NodeNum NodeID nodeA Online 2.4.2.0 2 48ce221932ae0062 nodeB Online 2.4.2.0 1 7283cb8de374d123 nodeC Online 2.4.2.0 4 b3eda8374bc839de nodeD Online 2.4.2.0 5 374bdcbe384ed38a nodeE Online 2.4.2.0 2 ba74503cea374110 nodeF Online 2.4.2.0 1 4859dfbd44023e13 nodeG Online 2.4.2.0 4 68463748bcc7e773chlpracl SysCmd1 -l joe@LOCALHOST joe@0x48ce221932ae0062 \ joe@0x374bdcbe384ed38a x