physics - 5:06 pm on Aug 15, 2007 (gmt 0) Luckily I found this which is what tipped me off on the solution:
Turns out it was a strange case. On boot there is a command in rc.local to run a program as this user. I.e.
su -c "/bin/theprogram" theuser
This must have triggered the prompt to change the password and because of that I couldn't do anything to the user password (even change the expiration date but thanks encyclo ;) ).
So I needed to kill the su -c process by doing, e.g.:
ps auxww ¦ grep start
root 1468 0.0 0.0 5160 1104? S 11:11 0:00 /bin/sh /etc/rc3.d/S99local start
root 1616 0.0 0.0 5092 1028? S 11:11 0:00 su -c /bin/theprogram theuser
root 5222 0.0 0.0 4820 664 pts/0 S 16:19 0:00 grep start
then kill the pid's of the offenders.
Then I changed the password and set the expiration date to be a long time from now ;)
Luckily I found this which is what tipped me off on the solution: