Saturday, July 1, 2023

How to Change and Move a User's Home Directory in Linux

Linux offers a robust command-line interface (CLI) with powerful tools for managing user accounts. One such command is `usermod`, which we'll focus on today. We will specifically explore how you can use it to change and move a user's home directory, ensuring a seamless transition of files.

Understanding the `usermod` Command

The `usermod` command in Linux is a utility for modifying existing user accounts. It allows you to alter various user details, including home directories, login names, and more.

Steps to Change and Move a User's Home Directory

Here's how to change a user's home directory and move its contents to the new location.

  1. Open the Terminal: This can be done by searching for 'Terminal' in your applications menu or by using the keyboard shortcut `Ctrl + Alt + T`.
  2. Switch to the root user: Type `su -` and enter your root password when prompted. Alternatively, you can prepend `sudo` to the `usermod` command if your user account is in the sudoers file.
  3. Use the `usermod` command: You can change the user's home directory and move the contents to the new directory using the following command:

usermod -m -d /newhome/username username


  • `usermod` is the command we use to modify an existing user's information.
  • `-m` (or `--move-home`) is an option that moves the contents of the user's current home directory to the new home directory.
  • `-d` (or `--home`) is the option that changes the home directory.
  • `/newhome/username` is the path to the new home directory.
  • `username` is the name of the user whose home directory you want to modify.


  • You need to have superuser (root) permissions to use the `usermod` command.
  • Always exercise caution when making changes to system settings.
  • Also, be aware that any absolute path references in scripts or configuration files will not be updated automatically, so these may need to be changed manually.

With this knowledge, you can efficiently change and move a user's home directory in Linux, ensuring data consistency.


Post a Comment