hey Guys, I haven't posted in a while, But you guys were really helpful alst time.
I have had a issue with User Passwords expiring, and since I dont check /var/cron/log on the regular I never know these suers are expiring, making certain nightly jobs not run.
With this script, I want to be able to check for these particular users password expiration and mail ourselves a reminder.
I saw plenty of examples online, but I have a thing of borrowing from or editing code I cant understand as I want to understand what I am writing, and what the code is doing, helps me learn better.
Below is some code I've written to a way I can understand and work with. This code is dependent on a epoch Perl script I found online. But I dont think that is my problem presently. My problem is that right now, it does through every user in /etc/shadow and checks. I want it to only check a particular set of users our Admin usersnames all end in adm. so I want to only search for users in /etc/shadow ending in adm (for example testbedadm) and check for its expiration dates.
Any Suggestions? And sorry if this was lengthy
---------- Post updated at 05:14 PM ---------- Previous update was at 04:50 PM ----------
So I think I answered my question on how to look for the specific admin user with the below part,
rest of my logic etc...
However, when I run it I get a bunch of varying errors like below:
It looks to me that your expr syntax error has to do with non-numeric data. I don't know what perl program $EpochSh does, but if it doesn't print out a number followed by a colon, you will have trouble with this line:
export Eval=`$EpochSh $Epoch | cut -d ':' -f 2`
Could that be your problem?
Also, I would like to gently point out your Useless Use Of Cat (UUOC). If you use a while loop, you can let it do your parsing for $User, $Epoch, and $Maxday:
Also, if /etc/shadow's lines contained spaces, your code would fail miserably.
Another point: ksh/bash type shells let you do arithmetic, so you don't have to use expr:
I'd gently propose a new "Useless Use of ELIF" award.
And I'm not sure I understand your approach to calculate the delta time until a password change is mandatory. Why don't you calculate the time difference between today (in days since epoch) and the next pw chng, which is shadow's field 3 + field 5, into e.g. DELTADAYS=fld3+fld5-today? If DELTADAYS <=0, alert, if 0 < DELTADAYS < 7, warn, otherwise OK?
I'd gently propose a new "Useless Use of ELIF" award.
And I'm not sure I understand your approach to calculate the delta time until a password change is mandatory. Why don't you calculate the time difference between today (in days since epoch) and the next pw chng, which is shadow's field 3 + field 5, into e.g. DELTADAYS=fld3+fld5-today? If DELTADAYS <=0, alert, if 0 < DELTADAYS < 7, warn, otherwise OK?
Sorry fro the late response, other work matters took my attention from this until now
Ok then, I removed the Else If Statements, and I took your way of arithmatic for my Eval, yet I still dont hae it working correctly.
What Am I not understanding?
---------- Post updated at 05:36 PM ---------- Previous update was at 05:35 PM ----------
Quote:
Originally Posted by nails
It looks to me that your expr syntax error has to do with non-numeric data. I don't know what perl program $EpochSh does, but if it doesn't print out a number followed by a colon, you will have trouble with this line:
export Eval=`$EpochSh $Epoch | cut -d ':' -f 2`
Could that be your problem?
Also, I would like to gently point out your Useless Use Of Cat (UUOC). If you use a while loop, you can let it do your parsing for $User, $Epoch, and $Maxday:
Also, if /etc/shadow's lines contained spaces, your code would fail miserably.
Another point: ksh/bash type shells let you do arithmetic, so you don't have to use expr:
I guess I used the Cat because it was what I was comfortable with, I will now try you while loop once I get the rest of it working.
Well, I can't see what your Eval value is, but when I execute
, I get sensible values to test against. And you can use days left for your expiration note as well.
Well, I can't see what your Eval value is, but when I execute
, I get sensible values to test against. And you can use days left for your expiration note as well.
I changed my Eval value to this
I know get this error
Hi Lads,
I would like place the mechanism of force reset password to user when he login to the server after his password expired. Currently, We are resetting users once in every 60 days using cron job but I am thinking is there any other way to force reset passwords after it expires? I am using... (1 Reply)
Does anyone know if the default message displayed when a users password has expired can be changed? I am just assuming the message below is the default one. If so please tell.
Using username "justinxx".
justinxx@160.23.12.44's password:
WARNING: Your password has expired.
You must... (2 Replies)
Hi,
I am using sftp in batch script for which all configuration for public/private keys are done and it works fine without asking a password. No issues till this point. Now I the problem I have is that if the password expires/someone changes the authentication keys at reote server then the... (4 Replies)
Hi,
I have a small problem that I need to address regarding the password expiration for a number of different oracle accounts. Currently I have the MAXWEEKS set to 12 in the /etc/default/passwd file for all accounts. I also have sudo installed on the server and users access the oracle accounts... (2 Replies)
Hi All,
Is this true on chage command?
-M, MAX_DAYS
Passing the number -1 as MAX_DAYS will remove checking a password's validity.
Does this means password will not expire anymore?
Thanks for any comment you may add. (0 Replies)
Hello
I want to set the password for user never expire through the command line. For your information the box is running under Solaris 8 platform. (2 Replies)
Hi,
Is there any way to find out the UNIX user's password expire date?. It'll we helpful to inform the users to change the password before it get expires.(FYI - I am not having only admin previlege.) (1 Reply)
Hi,
How to disable passwd expire in HP UNIX by not using SAM ?
In our system SAM have some strange bugs. However due to some reason, we cannot add that patch.
B. Rgds
Christina (3 Replies)
login: TEST7
TEST7's Password:
Your password will expire: Wed Feb 19 14:28:08 2003
How can I the same information become in a script (as example
in the .profile)?????????
My login starts with .profile. These File is a menue with 24 lines and the message " Your password ....." disappear
to... (8 Replies)