Maybe /etc/shadow has been corrupted somehow. I have never seen this happen but it's theoretically possible.

Instead of using single user mode, boot (for example from lilo) with the kernel command...