• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

请教各位:如何查看是谁删除了Library?

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 36次 | 进入软件测试论坛讨论

领测软件测试网
请教各位:
[情况]
如果该用户没有退出400,可使用DSPJOBLOG来查看该用户所执行的操作;可如果该用户退出了,就无法再查看他所做操作了。
[问题]
如果该用户执行了删除Library操作,而他又退出了400,那我该通过什么途径去查看呢?
请各位帮我想想办法......

 aeiou 回复于:2004-01-06 13:49:59
这么棘手的问题~~俺也想知道啊~

不知道DSPLOG行不行?俺现在想试一下都试不了,没权限删LIB啊。

 brent_wu 回复于:2004-01-06 14:19:19
AS/400系统不记录每个用户的操作,别试了,没办法。

 brent_wu 回复于:2004-01-06 14:23:25
DSPLOG只能显示传到QHST和QSYSOPR的MESSAGE

 xuguopeng 回复于:2004-01-06 17:08:13
当初听人说查看QPJOBLOG文件可以找到,但是没成功,只能通过修改系统值通过日志监视了,但是好象对性能会有很大影响吧

 居士 回复于:2004-01-06 18:06:01
理论上可以通过 审核 来实现的,在系统参数里可以启用该项,不过我没用过。关注……

 andrewleading_he 回复于:2004-01-06 18:12:28
期待中......

 qingzhou 回复于:2004-01-06 18:48:21
据IBM工程师说可以通过在OS/400上执行以下步骤来实现监控:

1、CRTJRNRCV JRNRCV(QSYS/QAUDRCV01)

2、CRTJRN JRN(QSYS/QAUDCTL) JRNRCV(QSYS/QAUDRCV01)

3、WRKSYSVAL QAUDLVL,*NONE→*DELETE

4、WRKSYSVAL QAUDCTL,*NONE→*AUDLVL

以后就可以通过查看QAUDRCV01日志接收器的内容知道是谁执行了删除操作!

[color=red:43e3a267cb]弊端:日志接收器会变得越来越大,不利于日志管理和系统运作。[/color:43e3a267cb]

还有听说可以通过修改用户Profile里面的参数来起监控作用(CHGUSRPRF),但没试过,不知是否如此;各位有没有别的更好的办法?

 stephenxie2003 回复于:2004-01-07 10:33:33
qingzhou的这种作法有谁试过没有啊?
成功了吗?

 zzzddd 回复于:2004-01-07 10:53:26
通过JRN确实可以实现,我试过的,现在就在这样用!
用了jrn,确实逃不过400的法眼,不过这是牺牲400性能为代价的!

 xuguopeng 回复于:2004-01-07 11:12:08
这种JRN可以做到有选择性的监视么? 还是监视系统所有对象??

 qingzhou 回复于:2004-01-07 11:18:45
只监视DELETE操作(WRKSYSVAL QAUDLVL,*NONE→*DELETE),如果要监控其它操作,需要改为别的参数,具体可查看QAUDLVL帮助。

 xuguopeng 回复于:2004-01-07 11:22:07
我知道,我问的是他所监视的对象是否指定为某个特殊的对象,例如:一个LIB.

启用JRN后,是否需要象数据库日志那样可以有选择性的日志?

 zzzddd 回复于:2004-01-07 11:25:35
他是能针对action做选择,对OBJ好像不能选,看结果的话,和数据库的jrn没什么区别,只是你要知道action的code!

 andrewleading_he 回复于:2004-01-07 11:57:59
有机会试一下!

 stephenxie2003 回复于:2004-01-07 13:43:20
看来IBMer高手也不少啊!

 blogliou 回复于:2004-01-07 14:02:59
起用安全日志是AS/400系统上能够实现目标复制的机理。
但光启用安全日志和修改系统值还不够,还必须要启动OBJECT的AUDITING属性才能够实现对这些目标的删除、修改等的日志记录。我们用DSPOBJD查看目标属性的时候会看到AUDITING的一段属性。启动OBJECT的AUDITING可以用CHGOBJAUD来实现。这也可以实现选择性对变动目标的日志记录。

 xuguopeng 回复于:2004-01-07 14:41:08
楼上的意思是说建立日志以后,他不记录删除信息???必须启动OBJ的AUDIT才行???

 blogliou 回复于:2004-01-07 14:58:26
[quote:a9d66ad8ca="xuguopeng"]楼上的意思是说建立日志以后,他不记录删除信息???必须启动OBJ的AUDIT才行???[/quote:a9d66ad8ca]

是的。

 xuguopeng 回复于:2004-01-07 15:11:17
哦?? 呵呵,那样的话日志应该不能很大的呀!~~

如果我在日志里监控DELETE操作,只要把我想要的LIB启动AUDIT,那样除了删除LIB的信息任何信息都不会记录的,根本就不存在日志疯狂增长的道理呀??

 blogliou 回复于:2004-01-07 15:15:02
[quote:26643aa971="xuguopeng"]哦?? 呵呵,那样的话日志应该不能很大的呀!~~

如果我在日志里监控DELETE操作,只要把我想要的LIB启动AUDIT,那样除了删除LIB的信息任何信息都不会记录的,根本就不存在日志疯狂增长的道理呀??[/quote:26643aa971]

是的。

 blogliou 回复于:2004-01-07 16:00:34
用CHGOBJAUD可以改变OBJECT的AUDITING的值,

Object auditing value  有四个:

*NONE  
*USRPRF
*CHANGE
*ALL

通常OBJECT缺省值是*NONE,即不记AUDITING记录。

另外,下面的关系我还没搞清楚:
1。用户的usrprf指定的*AUDIT特权。
2。CHGOBJAUD命令里Object auditing value的值  *USRPRF
3。用CHGUSRAUD命令来修改具有*AUDIT特权用户的AUDITING.

可能具有*AUDIT特权的用户,其create或delete目标等的操作也会记auditing,并可以用chgusraud来改变一些auditing的值和action。这个方面我没有注意。就是说chgobjaud是针对目标的,只要该目标被指定记录AUDITING(*change or *all),那么不管哪个用户对该目标的操作都会记AUDITING。而chgusraud是针对用户操作的。而OBJECT中Object auditing value的值  *USRPRF大概是表示如果用户具有*AUDIT特权,那么该用户对该目标的操作会记AUDITING,如果某用户没有*AUDIT特权,那么该目标便不会记AUDITING. 从而实现了对用户操作的选择?

 qingzhou 回复于:2004-01-08 16:42:13
用户简要表中包含该用户对哪些对象拥有所有权(Owns)和对哪些对象有权限(Authorized)。可使用命令DSPUSRPRF  USRPRF(XXXXXX) TYPE(*OBJOWN,*OBJAUT)查看上述权限。用户共有八种特殊权限:*ALL;*SECADM;*JOBCTL;*SPLCTL;*SAVSYS;*SERVICE;*AUDIT;*IOSYSCFG。这八种特殊权限的含义分别为:

*ALL 用户能访问任何对象。
*SECADM 用户如对命令CRTUSRPRF和CHGUSRPRF有权限,则可创建和修改用户简要表。
*JOBCTL 用户能控制所有作业;能启动打印机和停止活动的子系统等。
*SPLCTL 用户有控制假脱机文件权限。
*SAVSYS 用户对所有对象有备份,恢复和释放硬盘空间的能力。
*SERVICE 用户有使用命令STRSST的权限。
*AUDIT 用户能改变和执行审计功能的权限。
*IOSYSCFG 用户有改变系统I/O和TCP/IP服务器配置的能力。

在用户简要表中有五种用户级别(User Class):Security Officer(*SECOFR);Security Administrator(*SECADM);Programmer(*PGMR);System Operator(*SYSOPR);User(*USER)。其中*SECOFR有上述全部八种权限,QSECOFR是OS/400内置的最高权限用户;*SECADM只有*SECADM一种特殊权限;*PGMR不含上述任何一种特殊权限;*SYSOPR有*JOBCTL和*SAVSYS二种特殊权限;*USER不含上述任何一种特殊权限。

QSECURITY系统值分为10,20,30,40,50五个等级。其中10表示无任何安全性措施;20表示只要用密码登录OS/400后,系统就无任何安全性措施;30表示用户要用密码登录OS/400并要有相应权限才可访问对象;40在30的基础上,增加了集成安全性,防止对系统的整体完整性进行破坏;50是满足C2级的具有相当严格安全措施的安全等级。一般QSECURITY值设为40。

用户对于对象的权限分为*OBJOPR,*OBJMGT,*OBJEXIST,*OBJALTER,*OBJREF五种,对于对象中的资料的权限分为*READ,*ADD,*UPD,*DLT,*EXECUTE五种。五种对象权限的含义分别为:

*OBJOPR 用户能使用对象,如有资料权限则可查看对象描述。
*OBJMGT 包含 *OBJALTER和 *OBJREF权限加上移动,改名对象,给对象赋安全性权限等。
*OBJEXIST 用户能控制对象的存在和所有权。
*OBJALTER 用户能改变对象的属性,例如给数据库文件加上或去除触发器。
*OBJREF 用户能在数据库的交叉完整性中将对象指定为外部关键词。

OS/400定义了*ALL,*CHANGE,*USE,*EXCLUDE四种权限,它们实际上是对象权限和资料权限的组合:*ALL包括所有的对象和资料权限;*CHANGE包括*OBJOPR对象权限和所有的资料权限;*USE包括*OBJOPR对象权限和*EXECUTE,*READ资料权限;*EXCLUDE不包括任何对象和资料权限,用户可自定义对象和资料权限的组合。

对某个对象,用户被赋予特定的权限后就对该对象拥有私有权限(Private Authority),没有私有权限的其它用户对该对象拥有公有权限(Public Authority)。私有权限存放在该对象中和对该对象有私有权限的用户简要表中,公有权限在对象创建时就只存在于该对象中。

权限列表(Authorization List)包含了一些用户简要表的权限清单,把某一权限列表和某一对象相连后,权限列表中的用户就对该对象拥有在权限列表中的权限了。组简要表(Group Profile)是一种特殊的用户简要表,在组简要表中定义了对一些对象的权限,在用户简要表中可以指明该用户属于哪个组简要表,如果不对同属于一个组简要表的用户再单独赋予权限的话,则这些用户就对这些对象具有相同的权限。一个用户最多可属于16个组简要表,而组简要表不能再属于另一个组简要表。

用户对对象是否有指定权限的搜索顺序为:用户是否有*ALLOBJ权限 -> 用户对对象是否有私有权限 -> 用户是否位于对象的权限列表中 -> 用户所属组是否有*ALLOBJ权限 -> 用户所属组对对象是否有私有权限 -> 用户所属组是否位于对象的权限列表中 -> 用户对对象的公有权限是否够用 -> 对象权限列表中的公有权限是否够用。在上述搜索顺序中,某一环节对对象的权限够用时,搜索就停止。



以上关于OS/400权限方面介绍得很详细了,楼上的朋友理解起来就明白多了......

 qingzhou 回复于:2004-01-08 16:46:52
[quote:7043a3940a="blogliou"]
3。用CHGUSRAUD命令来修改具有*AUDIT特权用户的AUDITING.[/quote:7043a3940a]

你所提到的关于USRPRF的审计功能,我想大概就是实现监控用户操作的另外一种途径.

 qingzhou 回复于:2004-01-09 18:16:33
前几天想出了一个更简便的方法实现该功能,具体做法如下:
我们如果仔细去研究一下SIGNOFF这个命令,会发现它有个LOG(*)参数,系统默认是LOG(*NOLIST),如果我们将该参数改为LOG(*LIST)的话,即使用户执行了SINGOFF操作(退出400),系统也自动会生成一个SPOOL FILE文件对他的操作进行全部记录下来。
哈哈。。。。,真有意思!
既然是这样,那我们就可以采用一条CL命令来简单实现:
CHGCMDDFT CMD(SIGNOFF) NEWDFT('LOG(*LIST)') 
以后,我们要查询时,只需执行WRKSPLF进行查看即可。

 rudy5 回复于:2004-01-27 17:06:02
那系统会将spool file存放到那个spool file下??它会记录写什么信息???谢谢指教!

 kimdai 回复于:2004-01-29 13:45:07
系统会将该用户登陆系统时所作的操作记录并放入其SPOOL FILE中, 内容会包括:
 MSGID      TYPE                    SEV   DATE       TIME       FROM PGM       LIBRARY     INST     TO PGM       LIBRARY      INST  等。
无论用那种方法,定时的清除相关记录文件是明智的选择,因为这些东东会吞食调很多硬盘空间。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网