Thursday 3 October 2013

HOW TO FIND ACCOUNT WITH LAST CONNECTION DATE ON UNIX and LINUX

I have searched on internet many script to have account with last connection date to check out for those with more than 3 months in my servers. But I have many Unix (Solaris , HP UX, AIX ) It was very difficult to make one script for all because some command like "lastlog" on Linux daesn't exist on UNIX. So I have taken pieces of script around the internet and I have modified them to work on multiple platform. It is not really achived but it can help many administrator. Below 4 scripts:

AIX:
##################################### 
# Orphans Account
##################################### 

PASSWORD_FILE="/etc/passwd" 

print "User     |Account Locked         |Time since last login                                  | User Info                              "

for LoginID in in $(cat $PASSWORD_FILE | cut -f1 -d:)

do  

  # see if the account is locked 

  account_locked=$( awk 'BEGIN{ FS = ""; RS = ""}$1 == "'"$LoginID"':"{if (match($0,/account_locked /) ){print substr($0, RSTART+17, 5)} }' /etc/security/user ) 

  # find the secs since the epoch in seconds for the last login time 

  time_last_login_secs=$( awk 'BEGIN{ FS = ""; RS = ""}$1 == "'"$LoginID"':"{if (match($0,/time_last_login = [0-9]+/) ){print substr($0, RSTART+18, 10)} }' /etc/security/lastlog ) 

  # find the secs since the epoch in seconds for the last unsuccessful login time 

SOLARIS:
#!/usr/bin/ksh

while read LINE;do
# extract usernames and home directories from /etc/passwd

        USER=$(echo $LINE|awk -F: '{print $1}')

        HOMEDIR=$(echo $LINE|awk -F: '{print $6}')

# extract login info from finger using grep

        LAST_LOGIN=$(finger -l ${USER}|egrep  "Never logged in.|Last login")

         echo "$USER           | $HOMEDIR                            | $LAST_LOGIN"

done < /etc/passwd
exit

HP-UX
#!/usr/bin/ksh 

while read LINE;do 

# extract usernames and home directories from /etc/passwd 

        USER=$(echo $LINE|awk -F: '{print $1}') 
        HOMEDIR=$(echo $LINE|awk -F: '{print $6}') 

# extract login info from finger using grep 

        LAST_LOGIN=$(finger ${USER}|grep -E 'Last login|Never logged') 

        echo "$USER              | $HOMEDIR 

For Linux server is merely simple just enter:
lastlog

HOWTO IMPORT OVA (from VMware) to PROXMOX 5.x

  HOWTO IMPORT OVA (from VMware) to PROXMOX 5.x         Hi All may be someone has faced to import an OVA (created with VMware) to PROX...