How to Change Default User Home Directory in Linux

While Adding A New User

By default base directory for the system user is set to /home directory. I’d like to add user to /iscsi/home/${user} directory instead of the default /home. How do I force useradd command to add user to /iscsi/home under CentOS / RHEL / Fedora Linux server?

Default values for account creation defined in /etc/default/useradd file under CentOS / RHEL / Fedora / Debian / Ubuntu and other Linux distros. Simply open this file using a text editor, type:

 vi /etc/default/useradd

The default home directory defined by HOME variable, find line that read as follows:

HOME=/home

Replace with:

HOME=/iscsi/user

Save and close the file. Now you can add user using regular useradd command:

 useradd myuser
 passwd myuser

Install finger:

sudo yum install finger

Verify user information:

finger myuser

Output:

Login: myuser                            Name: myuser exa
Directory: /iscsi/user/myuser               Shell: /bin/bash
Last login Thu Sep 13 07:58 2007 (IST) on pts/1 from 10.16.15.2
No mail.
No Plan.

How Do I Change Existing User’s Home Directory?

You need to use the usermod command to set the user’s new login directory. The syntax is as follows:

usermod -m -d /path/to/new/home/dir userNameHere

Where,

  1. -d dirnanme : Path to new login (home) directory.
  2. -m : The contents of the current home directory will be moved to the new home directory, which is created if it does not already exist.

In this example set the user’s new login directory to /users/v/myuser from /home/myuser, enter:

 usermod -m -d /users/v/muuser myuser
Share

You may also like...

Leave a Reply

Your email address will not be published.