I just tried this on my system and it works. This may be due to the fact I use blowfish for my password format.
The default class from /etc/login.conf
Note that only
passwd_format and and
passwordtime have been changed.
Code:
default:\
:passwd_format=blf:\
:passwordtime=60d:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:ignoretime@:\
:umask=022:
Rebuild the login.conf database and update your password.
# cap_mkdb /etc/login.conf
% passwd
Then, to test the expiration, change the password expiration on your account
# pw usermod YOU -p 10-11-2008
Logout and then log back in. Hopefully you will be prompted to enter a new password.
I am assuming it is my passwd_format selection that allows me to do this. After I ran the above commands, I did see a timestamp in the password field of my user in /etc/master.passwd, and `date -r blah` confirmed it was the same date I set my password expiration to.