IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

JES2 EXIT 6问题


IBM大型机论坛 -> 所有其他大型机主题
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:星期二二月06,2018 5:47下午
引用回复

如作业卡中指定的那样,需要针对特定​​用户使在steplib / joblib中使用未经批准的数据集名称的作业失败。因此,一旦找到特定用户之一,则仅适用于已批准dsns的标准,以便未批准的dsns会导致作业终止。
问题是:由于每个完整的JCL卡(job,exec或ddcard)都将调用此出口一次,因此在以下情况下可以使用哪种通用技术来设置开关:
在JES2出口中找到特定的工作?由于当ddcard引起退出电话时,作业卡不再可用。我看到JCT中为用户保留的字段,但是JCT是否可以在对出口的调用中保留下来?这类似于在CICS中使用COMMAREA。可怜我,我是一位正在努力解决JES2 EXIT任务的CICS sys prog。
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表于:周二二月06,2018 8:16下午
引用回复

兰迪·霍洛维茨写道:
如作业卡中指定的那样,需要针对特定​​用户使在steplib / joblib中使用未经批准的数据集名称的作业失败。因此,一旦找到特定用户之一,则仅适用于已批准dsns的标准,以便未批准的dsns会导致作业终止。
问题是:由于每个完整的JCL卡(job,exec或ddcard)都将调用此出口一次,因此在以下情况下可以使用哪种通用技术来设置开关:
在JES2出口中找到特定的工作?由于当ddcard引起退出电话时,作业卡不再可用。我看到JCT中为用户保留的字段,但是JCT是否可以在对出口的调用中保留下来?这类似于在CICS中使用COMMAREA。可怜我,我是一位正在努力解决JES2 EXIT任务的CICS sys prog。
  1. 您认为RACF / ACF2 / Top Secret有何用途?毕竟,可以动态分配数据集。
  2. JES2 JCT在工作寿命中或多或少是恒定的。
  3. 有一些方法可以将JCT扩展到JCTUSERn之外。例如,网络作业标题很容易扩展,尽管我不确定出口6是否可以访问或修改它。
  4. 查看针对您的发行版的JES2用户出口中讨论的返回码。我想您会找到一位为您量身定制的泰勒。
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:星期二二月06,2018 8:31下午
引用回复

1.这些是调度程序产生的作业,没有人会动态分配任何东西,它们是COBOL批处理作业。我们要防止用户从“未经批准”的loadlib执行加载模块。
2.很好知道。
3.有趣的事实。
4.我已经详细研究了第19章。处理完工作卡后,我需要一个可以在处理ddname时使用的区域,在任何地方都没有提及。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表:星期二二月06,2018 9:35下午
引用回复

为什么不看看IBM提供的样本?
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:星期二二月06,2018 9:41下午
引用回复

已经做到了。出口名称为HASPX06,位于SYS1.SHASSAMP中。但是,它没有显示我所暗示的使用技巧。我在45年前使用RTFM,相信我有RTFM!
编辑以删除不愉快的言论
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表:星期二二月06,2018 9:52下午
引用回复

1.我重复一遍。您认为RACF等的用途是什么?作业来自调度程序的“事实”是BS。如果您希望作业具有唯一的用户ID,请使用代理控件,而不是您似乎建议的控件。 “代理”控件允许USER = userid,但没有其他用户ID的作业(调度程序作业)在JOB语句上提交密码。调查一下。

4.您需要在退出调用中保存1位,以指示您正在处理JOBLIB或STEPLIB以处理串联。

无论如何,我确信您知道JES2出口的目的是相当静态的。您将如何更新黑名单?

在1990年代,我曾在一家从事JES2安全工作的商店工作。除了每年锁定3到4次复杂对象之外,因为在我到达那里之前进行此操作的白痴在保持检查点的同时在JES2主要任务中进行了RACF调用,即使这样也是如此。我能够解决此问题,但是对于需要IPL更改的黑名单类型的东西(其中大部分是替代类型的东西),该代码基本上是不可读的。在审核员的劝告下,所有c ***已转交给RACF。我花了一年的时间才做些别的。

有人没有想到这个“要求”。只要有想法在JES2中进行安全处理,一个有用的规则就是找出一种以其他方式处理需求的方法。是的,编写出口非常有趣,但是最好不要编写任何类型的代码。
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:星期二二月06,2018 10:13下午
引用回复

我不是RACF专家,大多数情况下它只是让我烦恼。我们已经在作业卡中使用了USER =。对于某些用户,他们希望将JOBLIB / STEPLIB限制为几个loadlib。您是否可以编写RACF规则,对于某些使用USER =运行的作业,steplib或joblib ddcard只能使用一些数据集?我以为RACF保护数据集。这是强制执行的规则,即只允许某些ddcard中的某些数据集用于与某些用户一起运行的某些作业。 RACF可以这样做吗?还是为了防止某些用户无法访问某些完全不同的数据集而进行设置。
要更新静态的黑名单,需要重新编译出口。
我不建议在JES2出口中使用RACF-我只需要一种技术来保存从ddnames调用的JOB卡调用中的信息以退出6。有任何想法吗 ??
否,因为串联的ddcard位于调用出口的缓冲区中,所以不需要串联。从JOB卡到ddname呼叫,我都需要它。
总共每个ddcard都会显示给出口。一个jcl语句被转换
到8192字节缓冲区中的CI文本字符串和数据集名称的键
是X'4A'。所有这些都来自RTFMing。用于扫描密钥缓冲区的宏是示例代码中的$ CALL XINTKEY,ERRRET =。
现在有什么想法吗?
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表于:星期三二月07,2018 1:36上午
引用回复

您是否曾经考虑过使用IEFUJV,但在更简单的上下文中,您可以做完全相同的事情。
您可以在cbttape.org上找到很多有用的示例
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:星期三二月07,2018 3:03上午
引用回复

行。请阅读IEFUJV上的文档,不确定是什么使这变得简单得多,因为JCL仍以串行调用的形式呈现给出口。但是在我看来,我也会遇到同样的问题。在CBTTAPE中仅看到2个sanples。我将继续研究,谢谢
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表于:2018年2月7日星期三上午9:08
引用回复

您仍然没有告诉我们该代码的高级知识。除了我认为是BS的原因之外,您也没有告诉我们为什么RACF无法满足此要求。在我看来,您是说这些作业可以访问这些数据集,但不能在这些数据集中运行代码。 ?!?相信我,您的代码很容易被规避。

我记得几年前,我曾考虑使用UJV检查JCL,但由于看不见符号替换而拒绝了这个想法。另外,机制比退出6困难得多。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表于:星期三二月07,2018 1:01下午
引用回复

引用:
另外,机制比退出6困难得多。


奇怪的是,不同的经历如何得出不同的结论
我更喜欢UJV的东西!
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:星期三二月07,2018 5:22下午
引用回复

当然,您想要原因,没问题。
审核员希望防止生产作业(批量)执行其私有loadlib中的程序。因此,您可能会认为这是保护sched lib的简单RACF,并且仅允许满足条件的作业(JCL)。
但是,应用程序人们一直需要访问sched库。而且从今天起,应用程序人员就与支付账单的业务人员融为一体-猜猜谁会赢得这场争论。在我的“早期”时代,IT统治了市场,并强加了“规则”。
行。所以现在我们如何取悦审核员-退出6。
与仅维护并了解RACF的人员进行咨询之后,他们就毫无头绪如何编写规则,该规则允许使用USER参数在JOB卡中编码的某些用户仅允许执行库子集中的程序。但是我不是RACF专家。
因此,我准备写出口了,但是我不知道在JOB卡之后的后续调用中,程序将知道该作业需要检查steplib / joblib中是否有有权访问应用程序的人员陷入“流氓”负载库中我们的调度系统中的调度库。
看一下这里推荐的SMF出口的IBM示例,他们通过使用传入的字段来完成该任务,但是,USER没有传入,他们使用的是CLASS,该类是通过REG1参数区域传入的。所以这不能解决我的问题。
谢谢你的帮助
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

 发布 发表于:2018年2月7日星期三下午6:21
引用回复

兰迪

在我看来,合适的解决方案是RACF。根本不是很难。

我给的名字只是一个例子,您的名字当然会有所不同。

您应该具有用于​​运行生产作业的生产ID(希望是代理)。让我们将它们称为PRODID1,PRODID2等。您可以拥有一个包含所有PRODID的RACF组PRODGRP。

您具有生产负载库,其中包含生产代码:
PROD.LOADLIB1,PROD.LOADLIB2等...

您可以具有PRODGRP有权读取的PROD.LOADLIB *的RACF数据集配置文件。测试用户也可以具有读取权限。在这里,只有您的部署ID应该具有更新访问权限。

TEST.LOADLIB是人们用于开发和测试的应用程序之一。

您可以拥有TEST.LOADLIB *的RACF数据集配置文件,PRODGRP无权访问该配置文件。

这是一个简单的设计,令您惊讶的是我没有到位。

如果我是审计师(上帝禁止),我会坚持采用RACF方法。我不允许借口解释为什么这种方法不起作用,只有解决方案可以使它起作用。
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表:2018年2月7日星期三下午6:49
引用回复

我同意波塞兰先生。如果我是一名审计师,并且对这个想法不屑一顾,那么我也会拒绝这个想法。逃避TS的控制远非易事。

索里切蒂先生。
  • 请记住,在UJV中,您不会看到符号替换。
  • 您必须在多个可能的JCL语句中扫描DSN = xxxx,DSNAME = xxx。在内部文本中,您扫描一串参数中的DSNAME键,并且已经进行了符号替换。您不能说服UJV“更轻松!”我承认出口6很难测试和调试。另外,由于尚未发生符号替换,因此您添加了另一条路径来逃避控件。
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:2018年2月7日星期三下午6:50
引用回复

根据您对生产库的建议,已经设置了RACF。
您的解决方案无法解决的是:
想要进行某些邪恶活动的流氓应用程序创建者将他/她放入不遵守任何已知信息的图书馆中的程序
标准。对于您使用TEST.LOADLIB建议的库,没有任何规则。例如HACK.TAKE.CORP.ASSETS。然后,他们将此库粘贴到生产作业的JCL中,并放入他们可以访问的日程表库中。您建议的生产ID不能访问TEST.LOADLIB。*的规则可以访问HACK.TAKE.CORP.ASSETS吗?
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:2018年2月7日星期三下午6:57
引用回复

史蒂夫
在内部文本中搜索时,串联的ddname如何工作?每个串联数据集的dsname是否有多个键?
什么是“ TS的控制”。
如何逃避呢?生产库列表将在出口处进行硬编码,如果在steplib / joblib中找到的数据集不在此列表中,则作业将终止。
谢谢
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

 发布 发表于:2018年2月7日星期三下午6:58
引用回复

引用:
然后,他们将此库粘贴到生产作业的JCL中,并放入他们可以访问的日程表库中。您建议的生产ID不能访问TEST.LOADLIB。*的规则可以访问HACK.TAKE.CORP.ASSETS吗?


您的JCL部署过程应验证所有进入生产阶段的JCL。
这应该是内部公用事业和Prodco支持人员这样的产品的组合,例如JCLCHECK。这个JCL不可能将其投入生产。

此外,应用程序人员可以更改访问权限的任何高级资格人员,PRDGRP应该没有权限。
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:2018年2月7日星期三晚上7:02
引用回复

达夫波塞兰 ,
这就是我先前提出的全部观点。无法控制生产计划库。当然应该,但是从来没有,应用程序人们不会支持它。而一无所知的业务人员会与他们达成一致,IT会因此而战败……但是审计师需要一种解决方案。请...
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:2018年2月7日星期三晚上7:05
引用回复

我开始问如何在出口6记住如何通过工作证,并标记此工作,以便在通过ddcard时应“记住”该规则,该工作规则应适用于此。有什么想法吗?谢谢
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

 发布 发表:2018年2月7日星期三晚上7:08
引用回复

引用:
但审计师要求解决方案

这是此处无法解决的管理问题。

您尝试使用EXIT是一种令人钦佩的方法。我无能为力的一个。

审核员需要进行高级管理,并要求RACF解决方案。

使生产JCL受到适当控制对于安全环境至关重要。

祝您退出6步好运。

戴夫
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表于:2018年2月7日星期三晚上7:12
引用回复

达夫波塞兰 ,
我从来没有要求过控制JCL库的解决方案,您变成了这样。我要求EXIT 6可以“记住”先前调用的某些内容,以便随后可以采取措施。这对于所有事务类型处理(例如CICS)非常普遍。
感谢您的意见。
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

 发布 发表于:2018年2月7日星期三晚上7:35
引用回复

这是一个专家论坛,参与者可以利用他们的经验提供帮助。

正如您所注意到的,几位专家要求提供其他信息,以更好地了解问题的范围。

提供一个狭窄问题的具体答案不是我们在这里所做的。

尽管经常这样做,但是当解决问题的方法似乎不合适时,将讨论替代解决方案。

即使您对原问题的答案没有完全确定,也请不要占用专家在这里提供的任何可能的价值。

我将不对您的问题发表我的经验。
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:2018年2月7日星期三晚上7:47
引用回复

达夫波塞兰
非常感谢你 !
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表于:2018年2月7日星期三晚上8:42
引用回复

兰迪·霍洛维茨写道:
史蒂夫
在内部文本中搜索时,串联的ddname如何工作?每个串联数据集的dsname是否有多个键?
什么是“ TS的控制”。
如何逃避呢?生产库列表将在出口处进行硬编码,如果在steplib / joblib中找到的数据集不在此列表中,则作业将终止。
谢谢
  1. 老实说,我不确定100%,但是我认为您仍然会看到两个DD语句。它不合并。执行时,仍然有两个DD语句。仅在它们打开后才被组合的意义上说,它是“组合的”。
  2. TS通常表示“主题启动器”,它是线程中的第一个或初始查询。
  3. 这是逃避提议控制的一种方法。
    码:
    //逃避   EXEC PGM=IKJEFT01,
    // PARM ='CALL''TEST.LIBRARY(EVADEPGM)''``参数文字''
    // SYSTSPRT DD  SYSOUT=*
    // SYSTSIN  DD  DUMMY
    //其他DD语句
    还有其他变体,但这只是一个例子。除了为EVADEPGM终止之前为该步骤建立的任何其他STEPLIB,TEST.LIBRARY等同于STEPLIB。 TSO CALL命令已经以这种方式工作了近50年。

    另一个例子 -
    码:
    //逃避   EXEC PGM=IKJEFT01
    // SYSTSPRT DD  SYSOUT=*
    // SYSTSIN  DD  *
    呼叫测试库(EVADEPGM)' 'PARAMETER TEXT'
    //其他DD语句
回到顶部
查看用户资料 发送私信
兰迪·霍洛维兹(Randy Horowitz)

新的用户


已加入:2018年2月6日
帖子:18
所在地:美国

 发布 发表:2018年2月7日星期三晚上11:32
引用回复

史蒂夫
行。所以从来没有得到我的问题的答案,但这是一次有趣的对话。感谢您的工作。有趣的是,我的想法是串联仍然是一个ddname,而Conversion / Interpreter导致我认为一个dsname中串联的一个dsname多意味着它们将是多个dsname密钥。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 所有其他大型机主题 转到页面 1, 2   下一个

 


类似主题
话题 论坛 回覆
 没有新帖 Cobol报告作者的问题 COBOL程式设计 3
 没有新帖 Infoprint AOPPRINT问题 所有其他大型机主题 0
 没有新帖 恢复例行/异常退出出口以释放... PL / I和组装商 14
 没有新帖 具有JCL的JES2 JEC JCL和VSAM 2
 没有新帖 CICS Web服务配置问题 CICS 36
搜索我们的论坛:


 回到顶部