Skip to main content

Command Palette

Search for a command to run...

How to Create User Linux

Updated
6 min read

Creating a new user in Linux is a common task that you might need to do whether you’re managing a personal system or a server. If you’re new to Linux or just want a refresher, I’ll guide you through the process step-by-step. You’ll learn how to add users, set passwords, and manage user permissions easily.

We’ll cover different methods to create users, including command-line tools and some tips to keep your system secure. By the end, you’ll feel confident managing users on any Linux system.

Why Create a New User in Linux?

Creating users in Linux helps you organize who can access the system and what they can do. Instead of sharing one account, each person gets their own space and permissions.

Here are some reasons why you might want to create a new user:

  • Separate work environments for different people.
  • Control access to files and programs.
  • Improve system security by limiting root access.
  • Manage resources and monitor user activity.

Having multiple users also helps in troubleshooting and auditing system usage.

Basic Command to Create a User

The most common way to create a user in Linux is by using the useradd command. This command adds a new user to the system but doesn’t set a password by default.

Here’s a simple example:

sudo useradd username

Replace username with the name you want for the new user.

After creating the user, you need to set a password:

sudo passwd username

You will be prompted to enter and confirm the new password.

What Happens When You Run useradd?

  • A new user entry is added to /etc/passwd.
  • A home directory is created (if specified).
  • Default shell and user ID are assigned.
  • Group memberships are set.

By default, useradd might not create a home directory unless you use the -m option:

sudo useradd -m username

This ensures the user has a personal home folder like /home/username.

Using adduser for a Friendlier Experience

Some Linux distributions, like Ubuntu, provide the adduser command, which is more user-friendly than useradd. It guides you through the process interactively.

To create a user with adduser, just type:

sudo adduser username

You will be asked to enter the password, full name, and other details. It also automatically creates the home directory and sets permissions.

Benefits of adduser:

  • Interactive prompts for user details.
  • Automatically creates home directory.
  • Sets default shell and permissions.
  • Easier for beginners.

Setting User Permissions and Groups

After creating a user, you might want to assign them to specific groups. Groups control what files and commands users can access.

How to Add a User to a Group

Use the usermod command:

sudo usermod -aG groupname username
  • -aG means append the user to the specified group.
  • Replace groupname with the group you want to add the user to.
  • Replace username with the user’s name.

For example, to add a user to the sudo group (which allows administrative privileges):

sudo usermod -aG sudo username

Common Groups to Know

  • sudo or wheel: Allows running commands as root.
  • adm: Access to system logs.
  • users: Default group for regular users.
  • docker: Access to Docker commands.

Managing User Home Directories

When you create a user with the -m option or with adduser, a home directory is created. This directory stores personal files and settings.

Customizing Home Directory Location

You can specify a different home directory with useradd:

sudo useradd -m -d /custom/path username

This creates the home directory at /custom/path instead of /home/username.

Setting Default Shell

By default, users get /bin/bash or /bin/sh as their shell. You can specify a different shell during user creation:

sudo useradd -m -s /bin/zsh username

This sets the shell to Zsh instead of Bash.

Deleting a User Safely

If you need to remove a user, use the userdel command. To delete the user but keep their files:

sudo userdel username

To delete the user and their home directory:

sudo userdel -r username

Be careful with this command, as it permanently deletes user data.

Best Practices for Creating Users in Linux

When managing users, keep these tips in mind:

  • Always create users with a home directory (-m option).
  • Set strong passwords immediately after creating users.
  • Assign users to appropriate groups to control access.
  • Avoid giving root or sudo privileges unless necessary.
  • Regularly review user accounts and remove inactive ones.
  • Use descriptive usernames to identify roles or people.

Automating User Creation with Scripts

If you manage many users, creating them one by one can be tedious. You can automate the process with a simple shell script.

Example script to add multiple users:

#!/bin/bash
for user in alice bob charlie
do
  sudo useradd -m $user
  echo "$user:password123" | sudo chpasswd
done

This script creates three users and sets their passwords to password123. Remember to change passwords after creation for security.

Troubleshooting Common Issues

Sometimes, user creation might not work as expected. Here are some common problems and solutions:

  • Home directory not created: Use -m option with useradd.
  • User cannot log in: Check if the shell is valid and password is set.
  • Permission denied: Ensure the user is added to the right groups.
  • Username already exists: Choose a unique username.

Summary Table of Commands

TaskCommand ExampleDescription
Create user without homesudo useradd usernameAdds user, no home directory
Create user with homesudo useradd -m usernameAdds user with home directory
Create user interactivelysudo adduser usernameInteractive user creation
Set user passwordsudo passwd usernameSet or change user password
Add user to groupsudo usermod -aG groupname usernameAdd user to a group
Delete usersudo userdel usernameRemove user, keep files
Delete user and home directorysudo userdel -r usernameRemove user and home directory

Conclusion

Creating users in Linux is straightforward once you know the right commands. Whether you use useradd for quick setups or adduser for a guided process, you can manage users effectively. Remember to set passwords, assign groups, and manage permissions carefully to keep your system secure.

By following these steps and best practices, you’ll be able to add, modify, and delete users confidently. This skill is essential for anyone managing Linux systems, from personal computers to large servers.


FAQs

How do I create a user with a specific home directory?

Use the -d option with useradd, like this: sudo useradd -m -d /custom/path username. This sets the home directory to your chosen path.

What is the difference between useradd and adduser?

useradd is a low-level command that requires options to create home directories and set passwords. adduser is more user-friendly and interactive, automating many steps.

How can I give a user sudo privileges?

Add the user to the sudo group using: sudo usermod -aG sudo username. This allows the user to run commands with administrative rights.

Can I create multiple users at once?

Yes, you can write a shell script that loops through usernames and creates each user with commands like useradd and passwd.

How do I delete a user and their files?

Use sudo userdel -r username to remove the user and their home directory, including all files stored there.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts