一
前言
首先郑重申明:本文并不是想教唆你怎么把SAP服务器搞死.
虽然你确实可以从本文中学到搞死SAP服务器的技巧,但是如果因为你对公司的抱怨而导致你无意中使用了本文中的方式无意中搞死了贵公司的SAP服务器.
请不要甩锅给本文作者. 罪过在于你无意的报复之心及贵公司无意让你拥有了报复之心.
鉴于本文可能让部分心有芥蒂的程序员有更强的破坏力.文末会给出解决办法.
前面写过一篇让SAP系统无法登录的文章,
详见链接
无峰,公众号:ABAP 技巧与实战搞死SAP系统系列 让系统无法登录
本文介绍另外一个让系统无法登录的办法
二
不看广告看疗效
还记得这个小品麽?忽然想起这句话,忍不住拿来作为标题.
实际效果非常好: SAPGUI登录时,系统提醒用户名,密码不正确,请重键入.
多次录入均报此错误.录到你怀疑人生,怀疑时光,还是同一个报错.
一个小插曲
SPRING
在正常情况下, 多次录入用户名,密码错误超过指定次数(大概是6次,根据系统参数确定). 但用此方法, 无论输入多少次用户,密码, 都不会锁住账号.
密码输入错误影响登录的两个参数
login/fails_to_user_lock Number of invalid login attempts until user lock
login/fails_to_session_end Number of invalid login attempts until session end
三
实现方式
实现方式有两种
-
无意式 一不小心造成此效果
-
有意式 刻意造成此效果
可以根据你的需求选用合适的方式.
01
无意式
执行集团复制(本地或远程), 源系统使用希望达成破坏效果的集团.
目标系统任意. 勾选锁定源客户端即可. 为了让无意的效果更好, 可以勾选测试模式.
然后执行. 然后你就发现你希望达成破坏效果的集团无法登录了.
如果该集团是生产系统, 破坏性更大. 此时已经登录的用户不受影响, 新登录的用户均报账号/密码错误. 不管你是用账号密码登录,还是用SNC登录(SAP SSO登录方式) .
此种方式可以通过查找集团复制日志获取相应的操作人员及操作事件.
集团复制结束后,系统会自动解除登录限制.为了让锁定效果更持久, 可以强制中断集团复制过程,让源系统始终无法登录.
02
有意式
在需要破坏的服务器任意集团测试函数
SCCR_LOCK_CLIENT, 输入指定集团.
该方式隐蔽性极强, 执行后,指定集团将无法登录. 并且暂时没有地方能查询谁执行了给操作,查看函数代码,可以发现,该操作仅修改了T000的一个标记字段CCTEMPLOCK. 并没有记录相应的日志信息. 估计除非使用SCU3查看表内容变更(需要系统参数支持), 没有其它方式获取变更的日志信息了.
当然根据函数中的代码,也可以看出, 所有设置T000-CCTEMPLOCK 内容的方式都可以达成该破坏效果.
SCU3介绍
SPRING
数据字典表的技术设置中. 日志更改的帮助可以看到相应信息. 当表选择了日志变更, 同时维护了系统参数rec/client . 系统会记录所有对该表的变更信息,同时通过事务代码SCU3查看表的变更记录.
四
缺陷
当发现集团无法登录时, 尝试了其它方式. 发现这种破坏方式不太彻底. 用户可以通过SM59 配置连接后登录被破坏的集团.
这样虽然有点不方便, 但还是能够登录集团. 破坏效果远远不及前文的方式.
请酌情选用.
五
解除办法
了解上述原理后, 该破坏的解除办法也很简单. 使用函数SCCR_UNLOCK_CLIENT即可解除登录锁定. 或者直接更新 T000-CCTEMPLOCK标记
六
槽点
虽说破坏效果不强,但是胜在迷惑性强, 用户,密码录入错误的提示拉升这种方式的魅力值.还是可以用来开开很伤大雅的玩笑.
SAP的开发真的就懒得写一个明确的消息? “系统正在执行集团复制,登录被禁止.详情请咨询系统管理员”
好吧,正是因为如此,才有了本文.谢谢这位不知名的前辈.正所谓前人挖坑,后人跌倒. 跌倒的没准摔好了脊椎变位.
七
总结
没啥好总结的, 再次郑重申明:本文并不是想教唆你怎么把SAP服务器搞死.
虽然你确实可以从本文中学到搞死SAP服务器的技巧,但是如果因为你对公司的抱怨而导致你无意中使用了本文中的方式无意中搞死了贵公司的SAP服务器.
请不要甩锅给本文作者. 罪过在于你无意的报复之心及贵公司无意让你拥有了报复之心.
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)