本文与Jacob合作完成,故Jacob的优快云博客网站亦有原创发布权利。
RACF组(Group)-用户(User)-安全档(Profile)关系完全揭秘
所有者(owner):实际完整地说组或用户对应的安全档(见下文)的拥有者。所有者通常掌握着对其所有的对象的控制权。默认情况下是创建这个对象的用户(不建议让用户去直接拥有组或对象,而让用户接入一个所有者组去控制下辖对象)。如果所有者是一个组,则对该所有者组具有group-SPECIAL(组超级用户)的用户能够对该组所管辖的对象有上述控制权,行使各项控制操作。
每个RACF的组必须有一个RACF用户或组作为其所有者。
前驱组(Superior Group):这是指一个组(必须是组)在树状逻辑结构意义上的父亲组。相应地,当前组是其前驱组的子组(Subgroup)。
每个RACF的组均有一个相应的组安全档(Group profile),作为一种安全档,它也必须有一个Group作为其所有者。当一个组的所有者是一个组时,这个所有者组必须是其前驱组。
用户,用户都有一个默认组;有一个所有者组;而且在运行时将会连接(Connect)入一个或多个组,根据接入的情况(用户的组权限等级,如下表)该用户具有这个组所覆盖资源的某个程度的访问属性。
安全档的匹配原则是精确到模糊顺序原则。安全档用通配符来对应多个文件,%表示单个字符,*或**表示任意字符串(甚至多个qualifiers)。
在文件管理环境中创建DASD文件时,这个文件的起始qualifier必须和某个在RACF系统中也已存在的组名一致,否则无法创建这个文件。
组权限(Group Authorities)
权限 | 许可功能 | 许可的RACF命令 |
USE | 用户可以进入该组控制的系统,访问该组许可的资源 | LISTDSD RLIST |
CREATE | 用户可以创建组文件(Group data sets),但仅凭CREATE不能删除文件 | ADDSD用作设置文件安全档 |
CONNECT | 用户可以执行用户登录、管理配置组内的用户权限(不高于CONNECT) | 以上所有以及: ALTUSER, CONNECT, LSTGRP, REMOVE |
JOIN | 可以为组定义新用户和新组,这些用户和组都隶属于该当前组 | 以上所有以及: ADDGROUP, ADDUSER, ALTGROUP |
组用户权限典型配置方式:
1. Total Delegation (完全代表): 组的所有者用户(group owner)管理组、组内用户和组的安全档,组所有者以JOIN接入组。
2. Partial Delegation (部分代表): 分散管理权限:owner为一个用户做JOIN接入,而这个用户再为其他用户做接入,为其中一个用户指派CREATE权限,其余的为USE权限;另一种方式是owner为一个做CREATE接入,其他做USE接入。其中赋予CREATE权限的用户管理定义文件资源。
RACF组/用户设置命令
将安全档挂靠到组下:
> ADDSD ‘DEPTA.**’ UACC(NONE) 创建组DEPTA的顶级通用安全档
权限设置:
> PERMIT ‘RACF.PROTECT.DATA’ ID(DEPTA) ACCESS(READ) 在给定档中为组DEPTA赋读权限
DATASET档权限检查,找出最相关的数据集档,GENERIC用于搜索含该具体数据集名的含通配符名的DATASET:
> LISTDSD DATASET(数据集名称) GENERIC
列出所有当前用户可见的数据集档:
> LISTDSD
删除数据集档:
> DELDSD 档名 GENERIC
添加一个组:如前所述,如果所有者是组必须和前驱组一致:
> Addgroup <新组名> owner(<所有者>) supgroup(<前驱组>)