从通过 ADDRESS TSO 发出的 RLIST 命令中删除审计跟踪

Remove audit trail from a RLIST command issued via ADDRESS TSO

我正在尝试编写一个脚本来查询 RACF class 中的特定资源配置文件,然后做一些逻辑来匹配一些不相关的东西。

问题是当我发出下面的命令时,我在终端上得到了 AUDIT TRAIL。该脚本只是 return 1 或 0。所有逻辑都按预期工作,但是当我 运行 脚本时,我从 RACF 获得了整个 AUDIT TRAIL,结果在底部。

    y = outtrap('resourceAccess.')
        address tso 'RLIST CLASSX CLASSX.RESOURCE.LIST'
    y = outtrap('off')

仅供参考,我已经尝试在上面的之后创建另一个 outtrap 但没有成功。

有没有办法删除 AUDIT TRAIL 位?

此致, 杰瑞克

这些文本行可能以无法使用 outtrap 捕获的方式发出,而是被放置在外部数据队列 (EDQ) 中,然后回显到终端REXX 退出。 ACF2 对所有输出执行此操作,使捕获命令响应有点棘手。

试试这个:

/* Trap command response*/
y = outtrap('temp.')
    address tso 'RLIST CLASSX CLASSX.RESOURCE.LIST'
y = outtrap('off')

/* Display anything put onto the EDQ */
do queued()
   pull line
   say line
end

旧答案: 如果您获得的输出与您链接到的 IBM 文档中的内容匹配 (https://www.ibm.com/docs/en/szs/2.2?topic=effects-command-audit-trail),那么您需要做的是在捕获输出之后,只需丢弃前两行(应该是):

Command Audit Trail for USER IBMUSER
 

(一行文本和一个空行)。

您可以按如下方式进行:

y = outtrap('temp.')
    address tso 'RLIST CLASSX CLASSX.RESOURCE.LIST'
y = outtrap('off')

/* Copy from the 3rd command response line into our 'real' response var */
do tempIndex = 3 to temp.0
   desiredIndex = tempIndex - 2
   resourceAccess.desiredIndex = temp.tempIndex
end
resourceAccess.0 = temp.0 - 2 /* Set number of lines */