티스토리 뷰

반응형

ad join이 불가한 상황에 유저 패스워드 만료 및 어카운트 비활성화 관련 bash scripts

cron해서 사용 하면 됨

#!/bin/bash
today=$(date +%Y%m%d)
expiredate=$(date -d "+1 week" "+%Y-%m-%d")
rbashuser=$(cat /etc/passwd |grep rbash |awk 'BEGIN {FS = ":"} {print $1}'|egrep -v "root|admin")

for user in $rbashuser
do
auser=$user
buser=$(lastlog -b 90 -u $user |grep $user |awk '{print $1}')
        if [ "$auser" != "$buser" ]
                then
                        resultuser=$(chage -l $auser |grep "Last password change")
                        chage -E -1 $auser
                        echo $auser $resultuser >> /data/logs/nologin/$today-expireuser.log
                else
                        resultuser=$(chage -l $auser |grep "Last password change")
                        resultinactive=$(chage -l $auser |grep inactive)
                        chage -E $expiredate $auser
                        resultexpire=$(chage -l $auser |grep "Account expires")
                        echo $auser / $resultuser / $resultinactive / $resultexpire >> /data/logs/nologin/$today-expireuser.log
        fi
done

 

반응형

'linux' 카테고리의 다른 글

linux 유저 생성 스크립트  (0) 2023.11.01
linux bash user 90 day no login chshell nologin!  (0) 2023.11.01
logstash pipline output  (0) 2023.06.14
How to fix "pvs shows unknown device"  (1) 2023.05.16
NUMA disable  (0) 2023.05.14