Sunday, April 22, 2012

Could not chdir to home directory /root: No such file or directory Error and Solution

When I ssh into my server and login as t root user and I'm getting the following error on screen:
Could not chdir to home directory /root: No such file or directory
How do I fix this error under CentOS or Debian Linux server?

The error message is clear. /root home directory does not exists or deleted by you. If you see the following error:
Could not chdir to home directory /home/vivek: No such file or directory
It means when you created a user called vivek, the home directory /home/vivek was not created. To fix this problem create missing directory and apply current permission. To create a directory called /root and set permission, type:
# mkdir /root
# chown root:root /root
# chmod 0700 /root

To create a directory called /home/vivek and set permission, type:
# mkdir /home/vivek
# chown vivek:vivek /home/vivek
# chmod 0700 /home/vivek

Try to login as vivek:
# su - vivek
Please note that you may need to adjust directory owner, group, and permissions as per your setup.

Finding more information about the user account

To fetch user account entries from administrative database (/etc/passwd and /etc/group), enter:
$ getent passwd vivek
Sample outputs:
vivek:x:1000:1000:Vivek Gite,,,:/home/vivek:/bin/bash
Where,
  1. vivek: Login name / username
  2. x : Password: An x character indicates that encrypted password is stored in /etc/shadow file.
  3. 1000: User ID (UID)
  4. 1000: The primary group ID (stored in /etc/group file)
  5. Vivek Gite: The comment field. It allow you to add extra information about the users such as user's full name, phone number etc. This field use by finger command.
  6. /home/vivek: Home directory
  7. /bin/bash: The absolute path of a command or shell (/bin/bash)
$ getent group vivek
Sample outputs:
vivek:x:1000:

No comments:

Post a Comment