I have recently installed Raspbian into a Raspberry Pi. As part of the installation process I changed the user name and group from the default (pi) to my own (let's call it user) using usermod and groupmod. I also moved the home directory (/home/pi) to the new user name (/home/user) using usermod. Everything works fine except that when I login using SSH instead of landing the new user directory (/home/user) I end up at the home directory (/home). Any idea why this may be happening? Any solution? It's not a big deal but it is confusing me.

The directory /home/user exists with permissions 755. In addition to that the /etc/passwd file contains an entry that looks like the following:

user:x:1000:1000:User:/home/user:/bin/bash

To me everything looks fine, but still when I login from ssh I get a prompt that looks like user@raspberrypi /home $.

What's the content of your ~/.bash_profile, ~/.profile, ~/.bashrc (if they exist)? If you run ssh raspberrypi pwd and ssh raspberrypi 'echo ~', what does it show?
–
GillesSep 8 '12 at 13:09

I tried both your commands and both return /home/user (where user is the actual username). The contents of the other files (they do exist) is the default that comes with Raspberry Pi.
–
Pere TusetSep 8 '12 at 13:11

2 Answers
2

if not, then you need to actually move the home directory as well as change the entry in /etc/passwd.

This will rename /home/pi to /home/user if /home/user does not already exist:

cd /home
[ ! -e user ] && sudo mv pi user

oterwise, check that user's home directory is actually /home/user and not just /home...here are some of the methods you can use to find out a user's home dir:

grep '^user:' /etc/passwd # works for system-local accounts only
finger user # requires finger to be installed
pinky -l user # part of GNU coreutils
getent passwd user # should work no matter where the account
data is stored

The directory /home/user exists with permissions 755. In addition to that the /etc/passwd file contains an entry that looks like the following: user:x:1000:1000:User:/home/user:/bin/bash. To me everything looks fine, but still when I login from ssh I get a prompt that looks like user@raspberrypi /home $. Any further ideas?
–
Pere TusetSep 8 '12 at 12:15

very odd. have you checked your log file to see if there are any error/warning messages from sshd? try /var/log/messages, /var/log/syslog and/or /var/log/auth.log
–
casSep 8 '12 at 22:41

also, what happens when you type cd and hit enter (it should take you to your home dir).
–
casSep 8 '12 at 22:42

also, i just noticed that you said the prompt says ... /home $. did you check if that's correct? it might just be a problem with your prompt string, $PS1 . run pwd to print the current working directory name.
–
casSep 8 '12 at 22:44

I'm having the same problem using Raspbian.
After adding a user named "bill", raspbian failed to create the user's home directory.
Although I had created the user account using "useradd bill && passwd bill", and although the /etc/passwd file contained the expected path to /home/bill as the home directory, the actual path "/home/bill" was never created.
I had to manually create /home/bill as root, and then use chmod and chown to change the permissions and ownership to the right value.
Now when I log on as "bill" using ssh, I end up in the "/" directory rather than in /home/bill. The /home/bill/.bashrc file does not do any trickery to change the directory from the default value of /home/bill.

It would appear that raspbian doesn't work the way that every other linux distribution works. This is clearly a BUG.