Do not confuse these login failures with entries in the intrusion database!
Example run:
#$% UAF_CLEAR_LOGFAILS.PY
# -----
#++
# UAF_CLEAR_LOGFAILS.PY -- 07-MAR-2000 Uwe Zessin
#
# clear all login failure counts of all users
#--
import pyvms, vms_sys
RMS__EOF = 98938
uaf_dict = pyvms.uaf_get_usernames ()
l_sts = uaf_dict ["sts"]
if (l_sts != RMS__EOF):
l_stv = uaf_dict ["stv"]
print vms_sys.getmsg (l_sts)[0]
print vms_sys.getmsg (l_stv)[0]
sys.exit(1)
uaf_list = uaf_dict ["usernames"]
x_header = 0
for username in uaf_list:
uai_dict = vms_sys.getuai (None,None,username, \
("UAI$_LOGFAILS","UAI$_LASTLOGIN_I"))
l_status = uai_dict ["status"]
if (l_status != 1):
print vms_sys.getmsg (l_status)
sys.exit(1)
w_uai_logfails = uai_dict ["UAI$_LOGFAILS"]
if (w_uai_logfails > 0):
if (not x_header):
x_header = 1
print "users with logfails > 0:"
print "------------------------"
q_uai_lastlogin_i = uai_dict ["UAI$_LASTLOGIN_I"]
if (q_uai_lastlogin_i == 0L):
t_uai_lastlogin_i = "Never Logged In"
else:
t_uai_lastlogin_i = vms_sys.asctim (q_uai_lastlogin_i) [:17]
print "%12s - %17s - %d" % \
(username, t_uai_lastlogin_i, w_uai_logfails)
setaui_dict = vms_sys.setuai (None,None,username, \
(("UAI$_LOGFAILS",0),))
l_status = setaui_dict ["status"]
if (l_status != 1):
print " failed to clear"
print " ", vms_sys.getmsg (l_status)
# continue on other users
# -----
#%$
$ python uaf_clear_logfails.py
users with logfails > 0:
------------------------
FAL$SERVER - Never Logged In - 3
SYSTEM - 5-MAR-2000 16:47 - 1
ZESSIN - 7-MAR-2000 13:02 - 2
$
There was never an interactive login to user FAL$SERVER.