To augment my previous post, here is how we use histsize and histexpire.
This may play into your SOX or other audit compliant guidelines.
We set maxage=13, which would dictate that the password is changed at minimum four times per year.
We set histsize=8, so in theory people could not re-use their password for two years if they change their password every 13th week.
But there is nothing from keeping a person from changing their password nine times via nine "passwd" commands consecutively, and on the last execution have their original password. Which is where histexpire comes in.
We set histexpire=52. This demands that at least one year goes by before a password is re-used.
Now, histexpire could be used without histsize and essentially guarantee that passwords cannot be re-used within a 52 week period. But that doesn't satisfy the security auditors who want passwords changed on a regular bassis
Setting 'histsize' will track the last "x" number of password changes and when they changed. 'maxage' will guarantee regular password changes. 'histexpire' guarantees that passwords aren't cycled too frequently in time.
Hopefully that all makes sense.
-glenn
Now ... for those still reading ... there is a minage attribute, which dictates the minimum number of weeks before a password can be changed. For example, minage=9 and maxage=13 would dictate that the password could be changed between the 9th and 13th week since the last change.
I don't use that as I find it too restricting to the users and it is not a requirement from our security group.
If anyone users minage, can you post whether the user base gripes about it or whether it is warmly accepted?