Sponsored Content
Operating Systems AIX How to list Inactive user account in AIX 5.3? Post 302506948 by kah00na on Tuesday 22nd of March 2011 10:47:22 AM
Old 03-22-2011
Java

Here's a script I copied from another forum and quickly tested on one of my boxes:
Code:
#!/usr/bin/ksh
#set -x

#Try this script.
#It will check and lock the accounts automatically for those logins that
#have not been used to s set number of days.

expdays=60 #<< ---- Set number of days in past here!
let expiry=86400*$expdays
locked=" "
LOG_FILE=/tmp/${0}.log
tmp1=/tmp/exp.tmp1.$$
tmp2=/tmp/exp.tmp2.$$
tmp2a=/tmp/exp.tmp2a.$$
tmp3=/tmp/exp.tmp3.$$

# List all users that are allowed to login
lsuser -a login account_locked time_last_login ALL |grep -Ev ^"root|daemon|bin|sys|adm|nobody" | grep "login=true" > $tmp1

# get all users who have logged in at least once with login date
grep 'time_last_login' $tmp1 | sed -e 's/login=true //' -e 's/account_locked=//' -e 's/time_last_login=//' >$tmp2

# get all users who have not logged in since creation
grep -v 'time_last_login' $tmp1 | sed -e 's/login=true //' -e 's/account_locked=//' >$tmp2a

# get today's date in seconds from epoch for comparison
year=`date +%Y`
day=`date +%j`
hour=`date +%H`
minute=`date +%M`

let today="($year - 1970) * 365 * 86400 + ($day - 1) * 86400 + $hour * 3600 + $minute * 60 + ($year - 1969) / 4 * 86400"

# for each user found, check whether has not been unused too long
cat $tmp2 |while read user locked last; do
     let min=$today-$expiry
     if [[ $min -gt $last ]]; then
          let login="($today - $last) / 86400"
          echo $user':'$login':'$locked >> $LOG_FILE
          #chuser shell='/usr/local/bin/locked' account_locked='true' $user
fi
done

# Remove the tmp files
rm $tmp1
rm $tmp2
rm $tmp2a

Once everything looks good in the LOG_FILE, you can uncomment the "chuser" line if you want to start locking them.
This User Gave Thanks to kah00na For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Canīt logout to user inactive

I have SCO OpenServer release 5 I used TIMEOUT and TMOUT in .profile but I donīt Know if is correctly WND=/usr/synergy/dbl DTKMAPFIL=/u/ics/icsdat/icsmap.ics umask 000 ... (1 Reply)
Discussion started by: lalox
1 Replies

2. AIX

AIX shell account

I am just wondering if there is a way I can obtain a free shell account for an AIX server that I can make test drive on it. I tried google search and ibm's web site but couldn't find anything.. regards, (2 Replies)
Discussion started by: milhan
2 Replies

3. UNIX for Dummies Questions & Answers

Make an account inactive after 90 days.

Is this possible? Say I create an account today and in 90 days I want it to be turned off. Is this sort of thing possible using the built in components of a Unix system? (Using Solaris 9) I see things about password expires, but what if the person changes his password on the 89th day,... (1 Reply)
Discussion started by: LordJezo
1 Replies

4. UNIX for Dummies Questions & Answers

List all inactive users who has not logged on since last 90 days

Hi, Can I get a script to list out all the users, who has not logged on since last 90 days. Last command in not working due due to /var/adm/wtmpx is more than 2 GB. Thanks in advance. Regards, Roni (10 Replies)
Discussion started by: manasranjanpand
10 Replies

5. Solaris

List all inactive users who has not logged on since last 90 days

I need actuall script which List all inactive users who has not logged on since last 90 days Thanks in advance. Di! (17 Replies)
Discussion started by: haridham
17 Replies

6. AIX

List inactive subservers ?

Hi, I can list active subservers of subsystem by issuing "lssrc -l -s somesubsystem" How do I list inactive subservers or at least all subservers(active+inactive) of certain subsystem ? thanks Vilius (3 Replies)
Discussion started by: vilius
3 Replies

7. UNIX for Dummies Questions & Answers

Difference between : Locked User Account & Disabled User Accounts in Linux ?

Thanks AVKlinux (3 Replies)
Discussion started by: avklinux
3 Replies

8. AIX

User Account Login Login on your AIX server

I want to learn AIX. I would like to find someone who would be willing to give me a login to their AIX home lab server. My intent is to poke around and discover the similarities and differences of AIX compared to other *NIXs. I am a UNIX admin so I can think of what some immediate concerns may... (1 Reply)
Discussion started by: perl_in_my_shel
1 Replies

9. AIX

List of AIX commands that can be run by ROOT user ONLY

Hello, I am testing sudo and I want to test it. Can anyone please let me know few commands (of course other than shutdown, reboot etc. as I can't reboot the box) on AIX that can be run by ROOT only. Thanks ---------- Post updated at 07:43 PM ---------- Previous update was at 07:38 PM... (5 Replies)
Discussion started by: prvnrk
5 Replies

10. Solaris

Disable Inactive User in Solaris 11

Goal: To disable a Solaris user, after that user was inactive for X days. My understanding for linux was that there was no systematic way to disable inactive users, therefore we had to set a password expiration via /etc/default/passwd, MaxWeeks; then in /etc/default/useradd (/etc/shadow), the... (1 Reply)
Discussion started by: Drasavokian
1 Replies
LAST(1) 						    BSD General Commands Manual 						   LAST(1)

NAME
last -- indicate last logins of users and ttys SYNOPSIS
last [-swy] [-d [[CC]YY][MMDD]hhmm[.SS]] [-f file] [-h host] [-n maxrec] [-t tty] [user ...] DESCRIPTION
The last utility will either list the sessions of specified users, ttys, and hosts, in reverse time order, or list the users logged in at a specified date and time. Each line of output contains the user name, the tty from which the session was conducted, any hostname, the start and stop times for the session, and the duration of the session. If the session is still continuing or was cut short by a crash or shutdown, last will so indicate. The following options are available: -d date Specify the snapshot date and time. All users logged in at the snapshot date and time will be reported. This may be used with the -f option to derive the results from stored utx.log files. When this argument is provided, all other options except for -f and -n are ignored. The argument should be in the form [[CC]YY][MMDD]hhmm[.SS] where each pair of letters represents the follow- ing: CC The first two digits of the year (the century). YY The second two digits of the year. If YY is specified, but CC is not, a value for YY between 69 and 99 results in a CC value of 19. Otherwise, a CC value of 20 is used. MM Month of the year, from 1 to 12. DD Day of the month, from 1 to 31. hh Hour of the day, from 0 to 23. mm Minute of the hour, from 0 to 59. SS Second of the minute, from 0 to 61. If the CC and YY letter pairs are not specified, the values default to the current year. If the SS letter pair is not specified, the value defaults to 0. -f file Read the file file instead of the default, /var/log/utx.log. -h host Host names may be names or internet numbers. -n maxrec Limit the report to maxrec lines. -s Report the duration of the login session in seconds, instead of the default days, hours and minutes. -t tty Specify the tty. Tty names may be given fully or abbreviated, for example, ``last -t 03'' is equivalent to ``last -t tty03''. -w Widen the duration field to show seconds, as well as the default days, hours and minutes. -y Report the year in the session start time. If multiple arguments are given, and a snapshot time is not specified, the information which applies to any of the arguments is printed, e.g., ``last root -t console'' would list all of ``root's'' sessions as well as all sessions on the console terminal. If no users, hostnames or terminals are specified, last prints a record of all logins and logouts. The pseudo-user reboot logs in at reboots of the system, thus ``last reboot'' will give an indication of mean time between reboot. If last is interrupted, it indicates to what date the search has progressed. If interrupted with a quit signal last indicates how far the search has progressed and then continues. FILES
/var/log/utx.log login data base SEE ALSO
lastcomm(1), getutxent(3), ac(8), lastlogin(8) HISTORY
A last utility appeared in 3.0BSD. BUGS
If a login shell should terminate abnormally for some reason, it is likely that a logout record will not be written to the utx.log file. In this case, last will indicate the logout time as "shutdown". BSD
January 21, 2010 BSD
All times are GMT -4. The time now is 01:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy