我的偏好是了解如何从 TSO 命令行执行此操作,而不是使用 ISPF。 我还想了解是否需要系统程序员先参与建立小组
首先,您必须使用 ADDSD 创建一个 RACF 数据集配置文件来覆盖相关数据集(如果该数据集尚不存在):
ADDSD 'userid1.JCL.CNTL'
其中 userid1.JCL.CNTL 是您要授予访问权限的数据集。
注意,此命令将创建一个离散配置文件,除非您将可选的
GEN
(对于通用)添加到ADDSD
。离散配置文件仅保护单个数据集,更重要的是,当删除它们保护的数据集时,“离散配置文件”也会被删除。这通常是不需要的,因此大多数时候最好创建一个通用配置文件,即使它只保护单个数据集。
此外,您还应该通过指定 UACC
关键字来决定允许“宇宙”的访问级别。
UACC
的默认值取决于您当前的连接组。您可以禁止任何人访问,但您通过指定 PERMIT
UACC(NONE)
访问的人除外
ADDSD 'userid1.JCL.CNTL' GEN UACC(NONE)
然后允许
访问这个新创建的配置文件。
PERMIT 'userid1.JCL.CNTL' GEN ID(userid2) ACCESS(READ)
其中userid1
是您的用户 ID,userid2 是您的协作者。在典型约定下,您将可以控制高级限定符下的数据集的权限。您还可以创建通用配置文件以访问多个数据集:
ADDSD 'userid1.JCL.*' GEN UACC(NONE)
PERMIT 'userid1.JCL.*' ID(userid2) ACCESS(READ)
您还可以通过在 ID 字段中输入组名称来允许一组用户访问您的数据集:
PERMIT 'userid1.JCL.*' ID(groupa) ACCESS(READ)
如果您需要创建一个新组,您可能需要系统程序员的帮助。要将用户添加到组,您需要使用CONNECT
命令。
CONNECT (userid2) OWNER(groupa)
才能将新用户添加(连接)到组中。您可以通过发出 LISTUSER 命令来检查您是否具有与您有权访问的组的连接权限:
LISTUSER userid1
其中 userid1 是您的用户 ID。输出将类似于:
USER=userid1 NAME=your name OWNER=groupa CREATED=23.033
DEFAULT-GROUP=groupa PASSDATE=23.153 PASS-INTERVAL= 30 PHRASEDATE=N/A
ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE=NONE
LAST-ACCESS=23.171/21:55:05
CLASS AUTHORIZATIONS=NONE
NO-INSTALLATION-DATA
NO-MODEL-NAME
LOGON ALLOWED (DAYS) (TIME)
---------------------------------------------
ANYDAY ANYTIME
GROUP=groupa AUTH=USE CONNECT-OWNER=groupa CONNECT-DATE=23.033
CONNECTS= 68 UACC=NONE LAST-CONNECT=23.171/21:55:05
CONNECT ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE=NONE
GROUP=IZUUSER AUTH=USE CONNECT-OWNER=groupb CONNECT-DATE=23.167
CONNECTS= 00 UACC=NONE LAST-CONNECT=UNKNOWN
CONNECT ATTRIBUTES=NONE
REVOKE DATE=NONE RESUME DATE=NONE
SECURITY-LEVEL=NONE SPECIFIED
CATEGORY-AUTHORIZATION
NONE SPECIFIED
SECURITY-LABEL=NONE SPECIFIED
READY
但是您需要在上级组中具有 AUTH=JOIN 权限才能使用 ADDGROUP 命令创建新的下级组。 RACF 中的组采用分层结构,您需要上级组具有适当的权限。
ADDGROUP mygroup SUPGROUP(groupa)
ICH00007I INSUFFICIENT AUTHORITY TO SUPERIOR GROUP.
例如:也许有一个场景,所有匹配像 BOB.SHARE.*.** 这样的过滤器的数据集都应该是每个人“可读”的。在定义或更改数据集配置文件时,可以使用 RACF 中的 UACC 关键字来完成此操作。
添加新的 RACF 配置文件:
ADDSD 'BOB.SHARE.*.**' UACC(READ)
要更改现有的 RACF 配置文件:
ALTDSD 'BOB.SHARE.*.**' UACC(READ)
UACC(READ)
可以更改为
UACC(ALTER)
!当然应该提到的是,设置任何类型的通用访问都必须仔细考虑。