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
- vivek: Login name / username
- x : Password: An x character indicates that encrypted password is stored in /etc/shadow file.
- 1000: User ID (UID)
- 1000: The primary group ID (stored in /etc/group file)
- 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.
- /home/vivek: Home directory
- /bin/bash: The absolute path of a command or shell (/bin/bash)
$ getent group vivek