User and Group Management: `useradd`, `usermod`, `groupadd`
Learn to create, modify, and delete user accounts and groups on a Linux machine.
User and Group Management: `useradd`, `usermod`, `groupadd` is a free Linux Command Line Mastery lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Linux Command Line Mastery learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Welcome to User Management
In Linux, managing users and groups is crucial for security and organization. Every file and process has an owner, and permissions are often set based on user and group affiliations.
This lesson will teach you how to create, modify, and remove user accounts and groups.
Creating New Users: `useradd`
The useradd command creates a new user account. By default, it creates a new primary group with the same name as the user and assigns a unique User ID (UID).
You'll often need sudo (superuser do) privileges to run this command.
sudo useradd newuserCustomizing Users: Home & Shell
When you create a user, you might want to specify their home directory and default shell. The -m option creates the user's home directory if it doesn't exist, and -s sets their login shell.
Without -m, no home directory is created, which can cause issues.
sudo useradd -m -s /bin/bash devuserVerifying User Details: `id`
After creating a user, you can verify their existence and check their User ID (UID) and Group IDs (GIDs) using the id command. This helps confirm the account was set up correctly.
id devuserUnderstanding Linux Groups
Groups are collections of users. They simplify permission management, allowing multiple users to share access to files and resources without individually setting permissions for each user.
Each user has a primary group (often named after the user) and can belong to multiple supplementary groups.
Creating New Groups: `groupadd`
To create a new group, you use the groupadd command. This is useful for organizing users into functional teams, like 'developers' or 'admins', and then assigning file permissions to that group.
sudo groupadd project_teamAdding Users to Groups: `usermod`
The usermod command modifies an existing user account. To add a user to a supplementary group, use the -aG (append to Group) option.
Remember, -a must be used with -G to append, otherwise -G alone would overwrite existing supplementary groups!
sudo usermod -aG project_team devuserModifying User Accounts: `usermod`
Beyond adding to groups, usermod can change various user properties. For example, you can change a user's primary group using -g or update their full name/comment using -c.
Always be careful when modifying user accounts, especially sensitive information.
sudo usermod -c "Developer for Project X" devuserRemoving Users and Groups
To remove a user account, use userdel. The -r option is commonly used to remove the user's home directory and mail spool along with the account.
To remove a group, use groupdel. A group cannot be removed if it's the primary group for any existing user.
sudo userdel -r olduser
sudo groupdel oldgroupQuick Check: User & Group Commands
Which of the following commands would you use to add an existing user named analyst1 to a new supplementary group named data_team?
Recap: User & Group Management
Congratulations! You've learned the essentials of user and group management in Linux.
useraddcreates new user accounts.groupaddcreates new groups.usermodmodifies existing user accounts and can add users to supplementary groups using-aG.userdelandgroupdelremove users and groups, respectively.
These commands are fundamental for system administration and maintaining a secure Linux environment.
Frequently asked questions
Is the “User and Group Management: `useradd`, `usermod`, `groupadd`” lesson free?
Yes — the full text of “User and Group Management: `useradd`, `usermod`, `groupadd`” is free to read here on the web, and the Linux Command Line Mastery course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Linux Command Line Mastery course, upgrade to CoddyKit PRO.
What will I learn in “User and Group Management: `useradd`, `usermod`, `groupadd`”?
Learn to create, modify, and delete user accounts and groups on a Linux machine. You practise Linux Command Line Mastery with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Linux Command Line Mastery?
No prior experience is required. Linux Command Line Mastery on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “User and Group Management: `useradd`, `usermod`, `groupadd`” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Linux Command Line Mastery lesson?
Yes. Every Linux Command Line Mastery lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- User and Group Management: `useradd`, `usermod`, `groupadd`
- Introduction to Networking Commands: `ping`, `ip`, `netstat`
- Secure Remote Access: `ssh` and `scp`
- File Permissions and Ownership with chmod and chown