|
Script Before AIX Lock User Account
How to know before AIX will lock your user account?
I cobbled this script together, and put it in the /etc/profile (ALL
my users are forced to KSH).
#!/usr/bin/perl
#########
#####
##
# pwexpire - M. Cecil
#
# usage: pwexpire <username>
#
# display next password expiration on current machine for specified
# user. Do not allow non-root user to display another's expiry.
#
##
#####
#########
# Save off called program name for reporting errors
$prog=$0;
$prog=~s/.*\///;
# What is the subject user?
$user=$ARGV[0];
# What time is it now? (Not used yet... Would be for countdown-style
display)
$now=time();
# Check proper invocation
if ( $#ARGV != 0 ) {
print STDERR "usage: $prog <user>\n";
exit(1);
}
# What process called this one?
$ppid=getppid();
# What user owned that process?
$puser=`ps -F user -p $ppid | tail -1`;
chomp($puser);
$puser=~s/ *//;
# If that user isn't root, and if the calling user does not match the
subject
# of the script, then bail
if ( $puser ne "root" && $puser ne $user ) {
print STDERR "$prog: only root is allowed to check another user's expiry.\n";
exit (1);
}
# Obtain maximum PW age of the subject user
$maxage_in_weeks=`lsuser -a maxage $user 2>/dev/null`;
chomp($maxage_in_weeks);
$maxage_in_weeks=~s/.*=//;
# if that return was nothing, then the user does not exist.
if ( "$maxage_in_weeks" eq "" ) {
print STDERR "$prog: $user does not exist.\n";
exit (1);
# Display non-expiring status
} elsif ( $maxage_in_weeks == 0 ) {
print "$user - password does not expire.\n";
# Else, compute the next expiration
} else {
# Discover the last time the user updated its password.
$lastupdate=`lssec -f /etc/security/passwd -a lastupdate -s $user`;
chomp($lastupdate);
$lastupdate=~s/.*=//;
# Multiply max age in weeks times seconds per week, and add to
# last update time.
$maxage_in_seconds=$maxage_in_weeks*604800;
$expire_date=$lastupdate+$maxage_in_seconds;
my $expire=localtime($expire_date);
# And, show the result.
print "$user - expires on ${expire}.\n";
}
Have a Unix Problem
Do you have
a UNIX Question?
Unix Books :-
UNIX
Programming, Certification, System Administration, Performance Tuning Reference
Books
Return to : - Unix
System Administration Hints and Tips
(c) www.gotothings.com All material on this site is
Copyright.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
All product names are trademarks of their respective
companies.
The site www.gotothings.com is in no way affiliated
with or endorsed by any company listed at this site.
Any unauthorised copying or mirroring is prohibited.
|