> ## Content Index
> Fetch the complete content index at: https://linuxhandbook.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Create Home Directory for Existing Users in Linux
- URL: https://linuxhandbook.com/create-home-directory-existing-user/
- Published: 2023-02-21T06:43:27.000Z
- Updated: 2023-02-21T06:43:27.000Z
- Description: Created a user but without the home directory? Worry not. You can add home directory for existing users too. Here's how to do that.
- Author: Sagar Sharma
- Tags: Tips

Looking for a way to create a home directory for the existing user? Well, here's a quick guide for you.

But before that, let's have a look at why there was no home directory for the user in the first place.

## Reason why home directory was not created

So if you used [the useradd command to add the new user in Linux](https://linuxhandbook.com/useradd-command/), it won't add the home directory by default.

And if you insist on using the `useradd` command to create the new user, you just have to append the `-m` option and it will create a home directory by default.

## Create the home directory for existing user

When the existing user does not have a home directory and tries login with the `su -` option, it will get you the following error:

![su: warning: cannot change directory to home user: No such file or directory](https://linuxhandbook.com/content/images/2022/12/su--warning--cannot-change-directory-to-home-user--No-such-file-or-directory-1.png)

Which clearly states that there is no home directory. 

The first step is to log out from the user that does not have the home directory using the given command:

```
exit
```

Now, all you need to do is append the `mkhomedir_helper` and the username with the `useradd` command:

```
sudo mkhomedir_helper username
```

My user is named as `Abhiman` so my command would look like this:

```
sudo mkhomedir_helper Abhiman
```

And it will create a home directory for the user. For me, it will be named as /home/Abhiman:

```
ls -al /home/username
```

![create home directory for existing user in linux](https://linuxhandbook.com/content/images/2022/12/create-home-directory-for-existing-user-in-linux.png)

And if you are using desktop environments such as GNOME, KDE, etc. you will need to reboot your system to have sub-directories such as Downloads, Documents, and so on.

## Bonus: Creating new users with the home directory

I prefer the adduser command for the reason that it allows the proper creation of a new user in Linux.

The [regular useradd command](https://linuxhandbook.com/useradd-command/) is also capable of creating a new user with the home directory in this fashion:

```
sudo useradd -m new_user
```

## Wrapping Up

This was a quick tutorial on how you can create a home directory for the existing user.

I won't recommend you to go with recreating the user (shown as a bonus tip) unless the user is recently made and you got to know that there is no home directory. 

I hope you will find this helpful and if you have any queries, let me know in the comments.