一 问题描述
听同事说,/etc/security/failedlogin(该文件记录所有失败的登录尝试)里有大量关于db2用户登录失败的信息。
我将该文件拷贝到测试机,用strings命令查看该文件,确实都是db2用户:
db2inst1
db2inst1
……
我用root登录,su - db2inst1,也可以连接db2,执行sql命令。
直接用该账号登录,报错:
3004-303 There have been too many unsuccessful login attempts; please see the system administrator.
我查看DB2诊断日志,发现有很多warn:
Password validation for user db2inst1 failed with rc = -2146500316
执行命令db2diag -rc -2146500316,查看下该错误的含义。
提示:
Description:Userid is revoked
二 出错原因
当登录失败次数超过loginretries限制(登录数据库时输错密码了,如connect to db1 user db2inst using 密码 也会增加登录失败次数),该账号就会被限制。
lsuser -a loginretries db2inst1
db2inst1 loginretries=5
三 解决办法
#将密码登录失败次数重置为0.
vi /etc/security/lastlog
将该账号的unsuccessful_login_count =23259826改成unsuccessful_login_count=0
#调大限制值
vi /etc/security/user
将该账号的loginretries调大些。
--本篇文章主要参考了http://freebile.blog.51cto.com/447744/769659/,感谢!