I assume that you are booting and logging in normally to another
account? Or that you can login with no home? (I have not tried that in
years and don't remember what the results are in Linux, some Unices
allow it.) If you are booting from a live CD, the following commands
will have to be modified.
What does "grep username /etc/passwd" give? I get:
jbuchana@flenser$ grep jbuchana /etc/passwd
jbuchana:x:1000:1000:Jim Buchanan,,,:/dp1/home/jbuchana:/bin/bash
NOTE: I do not have my home in the standard location.
Then if you take the location of the home from the passwd file and
list the directory, what do you see? I get:
jbuchana@flenser$ ls -ld /dp1/home/jbuchana
drwxr-xr-x 135 jbuchana jbuchana 4096 2009-02-24 16:13 /dp1/home/jbuchana
if you don't have the directory, that is the problem. Otherwise, if
you post the above information, we can see if we can provide further
help.