8

I have a user account provided by client with unrestricted sudo access, but this user has no home directory. I want to create one, but I'm not sure how to go about it.

I tried logging in as my normal user and sudo suing into root, then running

 usermod -d /home/user  -m user

But it gaves the message usermod: no changes. I assume because my user is already logged in?

Other solutions seem to involve removing and re-creating my user account with a home directory, but again as user would be already logged in I think there may be problems with that approach.

Is there a way to create my user's home directory with the access I have, or do I need to inform my client/provider to recreate my account?

2 Answers 2

17

Just create a home directory for them and grant them permissions.
mkdir /home/$user and then chown $user:$user /home/$user.

Take note to replace the group in the chown command with something else if required.

3
  • I checked it on my local test instance and it work fine. profile also created automatically. Commented Feb 18, 2014 at 7:23
  • 13
    For future reference, the normal procedure for creating the home directory and setting up a clean environment is to copy the /etc/skel home directory template to the new users home directory i.e. cp -ar /etc/skel/ /home/$user && chown -R $user:$user /home/$user which is what adduser does too when creating a new user account.
    – HBruijn
    Commented Feb 18, 2014 at 7:31
  • @HBruijn, Yes three files .bashrc, .bash_logout, .profile is not created until you manually copy from /etc/skel Commented Feb 21, 2014 at 11:13
1

In addition to what @HBruijn wrote, you also need to apply proper chmod of directory i.e.:

cp -ar /etc/skel/ /home/$user && chown -R $user:$user /home/$user && chmod 700 /home/$user

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .