AIX检测用户密码过期

#    帮朋友写的,时间比较仓促,仅做了初步的测试,既然写了就贴出来分享下,供交流学习使用.

#!/usr/bin/ksh
# AUTHOR:               Xin23
# Version:  Beta 0.1 
# Date:     2014-09-05

Get_Days_From_1970(){

BEGINYEAR=1970
ENDYEAR=$(date +%Y)
YEARNUM=$(($ENDYEAR-$BEGINYEAR))
LYEARNUM=$(($YEARNUM/4))
RNUM=${LYEARNUM%.*}
DAYNUMY=$(($YEARNUM*365))
DAYNUMZ=$(($DAYNUMY+$RNUM))
DAYNUMA=$(($(date +%j)+$DAYNUMZ))

}

Get_Days_From_1970

for USER in $(grep ksh /etc/passwd| cut -f 1 -d ‘:‘)
do
     LASTUPDATETIMESECOND=$(grep -p $USER /etc/security/passwd | grep lastup | awk ‘{print $3}‘) 
     if [ -z "$LASTUPDATETIMESECOND" ]
        then    continue
        else    LASTUPDATETIME=$(expr $LASTUPDATETIMESECOND / 86400 )
                EXPIREDTIME=$(($LASTUPDATETIME+140))
                DAYVALUE=$(($EXPIREDTIME-$DAYNUMA))
                if     [ $DAYVALUE -lt 30 ]&&[ $DAYVALUE -gt 0 ]
                        then    echo "$USER Should Change Password !!!"
                elif [ $DAYVALUE -lt 30 ]&&[ $DAYVALUE -lt 0 ]
                        then    echo "$USER Already Expired !!!"
                fi
     fi
done

执行如下:

[aybq76:root]#./AIX_Check_Password.sh

root Should Change Password !!!

mqm Already Expired !!!

monitor Should Change Password !!!

app_r01 Already Expired !!!

ora_r01 Already Expired !!!

app_prd2 Already Expired !!!

ora_prd2 Already Expired !!!

app_prd3 Already Expired !!!

The End

时间: 2024-07-31 18:21:49

AIX检测用户密码过期的相关文章

Oracle用户密码过期和用户被锁解决方法

[原因/触发因素] 确定是由于oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. [影响和风险] 影响    密码过期后,业务进程连接数据库异常,影响业务使用.    问题发生频率    数据库密码过期后,业务进程一旦重启会提示连接失败. [解决方案] 按照如下步骤进行操作: 1.查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_user

Oracle用户密码过期问题解决

一.用户密码即将过期,导致autotrace无法打开           如果用户密码即将过期,在登录数据库时会收到如下提示:           ERROR:            ORA-28002: the password will expire within 7 days           当然,此时密码还未真正过期,用户在收到错误提示后依然可以登录数据库.但是,如果当收到密码即将过期的提示,想要开启autotrace就会有问题. SQL> conn darren/darren ER

oracle 11g 用户密码过期问题解决

今天听同事讲到oracle密码过期问题,才想起来oracle 11g默认用户密码有效期为180天,oracle 10g默认用户密码为无期.oracle 11g用户密码过期会提示ORA-28001密码过期或ORA-28002密码将过期的错误.用户密码过期有可能导致应用连接出现问题,例如使用oracle 11g为数据库的vcenter,其vpx用户密码过期有可能导致vcenter服务无法运行: 解决oracle 11g用户密码过期的问题可以通过更改用户密码解决:alter user *** iden

Exchange Server 2010下,检测用户密码到期通知提醒脚本

############################################ #Author:wangtingdong #Email:[email protected] #For:检测AD密码过期时间并邮件通知 #Version:1.0 ############################################## Import-Module Activedirectory #@1和@2选择一个执行 #@1检索出指定OU里不包含设置了永不过期及禁用的账户 #$allad

PowerShell AD用户密码过期脚本更新版

越接触PowerShell感觉越喜欢这门脚本语言,简单易懂,功能强大,操作也方便,同时得益于微软的鼎力支持,在不同的微软产品平台都可以使用,如果想研究微软这方面的东西,会点PowerShell绝对是好处多多. 之前也写了一些关于PowerShell的文章,也相当于是自己不断摸索的过程,最近也陆陆续续写了一些脚本,有一些是工作环境里使用的,没办法拿出来分享,有一些是不同环境里都可以使用的,所以决定拿出来分享一下,脚本都很简单,写的也绝对算不上专业,只是基本的功能可以实现. 今天和大家分享的是写的一

Oracle用户密码过期后重置SYS用户密码

问题状况: SYS.SYSTEM用户的密码过期,无法登陆. 运行EM控制台后,出现错误——ORA-28001: the password has expired (DBD ERROR: OCISessionBegin) 解决办法: 1.打开SQL PLUS,输入用户名sys/oracle as sysdba 2.执行脚本——alter user sys identified by oracle; 3.修改密码有效时间为永久——alter profile default limit passwor

11g oracle 用户密码过期问题

Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天.如下:select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';过期的密码可用alter user userXXX identified by xxx;解决,可以修改为和以前一样. 如果想设置密码不过期,可用管理员登陆,然后执行: ALTE

Oracle查看用户密码过期,修改永不过期

01.查看当前open用户 select username,account_status,expiry_date,profile from dba_users; 02.查看目前的密码过期策略 select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; 03.修改密码过期策略 alter profile default limit password_life_time

orale用户密码过期处理

使用具有管理权限的用户登录 1.查看用户的proifle是哪个,一般是default: SELECT username,PROFILE FROM dba_users; 2.查看指定概要文件(如default)的密码有效期设置: sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 或者:sql>SELECT * FROM dba_profiles WH