在 z/OS 上,使用 RACF,如何授予许多人对我的数据集的读取访问权限?

问题描述 投票:0回答:3

我的偏好是了解如何从 TSO 命令行执行此操作,而不是使用 ISPF。 我还想了解是否需要系统程序员先参与建立小组

zos tso racf
3个回答
4
投票

首先,您必须使用 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)

您需要 AUTH=CONNECT 权限

才能将新用户添加(连接)到组中。您可以通过发出 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.



2
投票

例如:也许有一个场景,所有匹配像 BOB.SHARE.*.** 这样的过滤器的数据集都应该是每个人“可读”的。在定义或更改数据集配置文件时,可以使用 RACF 中的 UACC 关键字来完成此操作。

添加新的 RACF 配置文件:

ADDSD 'BOB.SHARE.*.**' UACC(READ)

要更改现有的 RACF 配置文件:

ALTDSD 'BOB.SHARE.*.**' UACC(READ)

如果需要,
UACC(READ)

可以更改为

UACC(ALTER)
当然应该提到的是,设置任何类型的通用访问都必须仔细考虑。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.