工作中经常会借用别人的用户做一些特殊操作,但是多数z/OS系统均要求用户定期更改密码。于是,多数用户就养成了按规律设置自己密码的习惯,比如密码设置为AAA1AAA,下次如果需要更改就数字加1,改为AAA2AAA,再下次更改就依次递增和轮询。如果只有一个用户我们还能记得住,如果自己拥有的用户过多,就会出现记不清的情况。
更让人郁闷的是,一般系统设置密码输入3次错误,RACF就会锁住该用户。本人就多次遇到这种情况,痛定思痛,终于想到解决方案。
JCL的JOB语句的USERID和PASSWORD参数。这两个参数本来是用来提交自己无权限提交的作业,本质就是使用有权限的用户来提交作业。
由于是用来测试密码是否正确,EXEC 中就指定PGM=IEFBR14
参考语句如下,其中小写部分需要客户化。
//jobname JOB NOTIFY=sysuid,CLASS=a,MSGLEVEL=(1,1),
// USERID=userid,PASSWORD=password
//stepname EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//
当我们提交该作业后,如果密码正确,返回码是0。同时,解析的JCL语句中,PASSWORD= 会为空。
这个作业的好处在于不会因为试错3次,用户就会被锁定。引申开来,你可以用此方法去破解其他用户的密码。当然权当大家交流技术,切不可用来进行破坏性操作。
无论何时,安全这柄达摩克斯之剑一定要高悬于我们之上。祝大家在大型机的海洋里能收获更多。