Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

LPI Linux Essentials Exam 010-160 - Topic 5.2 - Creating/Managing Users & Groups

In this guide, we're going to explore the essential aspects of managing users and groups in Linux. This is a fundamental part of Linux administration, allowing you to control access, assign permissions, and maintain the overall security of the system.

Linux is a robust, multi-user operating system. It supports a complex system of file permissions and user roles, making it crucial for administrators to understand how to manage users and groups effectively.

Here's an overview of the topics we'll delve into:

  • The useradd Command: We will start with how to create new users using the useradd command. This involves understanding the role of important configuration files like /etc/skel and /etc/login.defs, which are vital for setting up user environments.
  • The groupadd Command: Next, we will explore the creation of groups using the groupadd command. Groups are an efficient way to manage permissions for multiple users.
  • The passwd Command: This section will cover the passwd command, which is used for managing user passwords. We will discuss how to set and change passwords, as well as how to secure accounts by locking and unlocking them.

Each command comes with its own set of options and intricacies, which we will explore in detail to give you a comprehensive understanding of user and group management in Linux.

In the next section, we'll dive into the useradd command, examining how to add users and configure their environments effectively.

useradd Command & User Configuration

The useradd command in Linux is essential for creating new user accounts, allowing individuals to access and interact with the system. It's a cornerstone of user management.

Understanding useradd

Creating a new user with useradd means adding an entry to the system's user database, which includes the user's name, password, home directory, and default shell. The basic syntax is useradd [options] USERNAME, where [options] are various flags to customize the account, and USERNAME is the new user's name.

Key Configuration Files

Two important files, /etc/skel and /etc/login.defs, play a crucial role when using useradd.

/etc/skel is a directory holding default configuration files for new users. When a new user is created, its contents are copied to the user's home directory, setting up their environment. This includes shell settings and UI preferences.

/etc/login.defs is a configuration file that sets default system-wide settings for new user accounts. It influences various aspects like password expiry duration and password length. Changes here affect the behavior of all new user accounts.

Using useradd

Executing useradd leads to several actions: creating a new user entry in /etc/passwd, a new group for the user in /etc/group, copying /etc/skel contents to the user's home directory, and applying configurations from /etc/login.defs.

Customizing User Accounts

useradd allows for account customization. For example, setting a custom home directory is done with useradd -d /path/to/home USERNAME, specifying a default shell with useradd -s /path/to/shell USERNAME, and creating a user without a home directory with useradd -M USERNAME.

Understanding useradd is vital for Linux administration, providing the flexibility to set up user accounts according to system requirements.

Next, we'll move on to the groupadd command, used for creating groups in Linux, another important aspect of user management.

The groupadd Command

In Linux, the groupadd command is used for creating new groups. Groups are a powerful way to manage and assign permissions to multiple users at once. Understanding how to use groupadd effectively is important for managing access to system resources and organizing users.

Basic Usage of groupadd

The groupadd command follows a simple syntax:

groupadd [options] GROUPNAME

Here, [options] are various flags for customizing the group, and GROUPNAME is the name of the new group you want to create.

Options for Customizing Groups

You can use different options with groupadd to tailor the group according to your needs. For example:

  • Setting a specific group ID (GID): groupadd -g [GID] GROUPNAME
  • Creating a system group with a GID lower than the value defined in /etc/login.defs: groupadd -r GROUPNAME

Group Configuration in Linux

Groups in Linux are defined in the /etc/group file. This file contains group information including the group name, group ID, and the members of the group. When you create a new group using groupadd, a new entry is added to this file.

Adding Users to Groups

While groupadd creates a group, adding users to the group is done using other commands, like usermod or gpasswd. For instance, you can add a user to a group with usermod -a -G GROUPNAME USERNAME.

Practical Implications

Understanding and using groupadd is key for organizing users who need similar access rights. By grouping users, you can simplify permission management. For example, you might create a group for users who need access to a particular directory or a group for users who require administrative privileges.

The groupadd command, in conjunction with user management commands, forms the basis of effective user and group management in Linux, ensuring a structured and secure environment.

Next, we'll explore the passwd command, focusing on managing passwords for user accounts, including setting and changing passwords, and securing accounts by locking and unlocking them.

the passwd Command

The passwd command in Linux is a crucial tool for managing user passwords. It's used not just for setting or changing passwords, but also for important aspects of account security, such as locking and unlocking accounts. Mastering the passwd command is essential for maintaining robust security practices in Linux.

Basic Usage of passwd

The primary use of passwd is to change a user's password. The command's basic syntax is:

passwd [options] [username]

If executed without a username, passwd changes the password of the current user. When run by a system administrator, it can change the password for any user.

Setting and Changing Passwords

To set or change a password, simply type passwd followed by the username. The system will prompt you to enter and confirm the new password. Passwords should be strong, typically containing a mix of letters, numbers, and special characters.

Forcing Password Change at Next Login

Administrators can enforce a password change at the next login by using:

passwd -e [username]

This command is particularly useful when creating new accounts or after a security incident.

Locking and Unlocking Accounts

The passwd command can also lock and unlock user accounts, which is vital for managing account access.

  • Locking an account: passwd -l [username] - This command disables a user account by changing the password to a value that does not match any possible encrypted value.
  • Unlocking an account: passwd -u [username] - This reverses the locking process, restoring the user's previous password.

Security Considerations

Managing passwords effectively is key to maintaining system security. Regular password changes, enforcing complex passwords, and timely locking of accounts are all best practices in Linux system administration.

In addition to these functions, passwd also allows for password aging settings, helping enforce regular password updates. These settings are managed in the /etc/shadow file, which stores password information securely.

The passwd command is a versatile tool for managing user passwords and account security. It's an integral part of the system administrator's toolkit in Linux, essential for ensuring that only authorized users have access to the system and its resources.

Having covered passwd, the next and final section of this guide will be a short conclusion, summarizing what we've learned about creating users and groups in Linux, and managing their passwords and account security.


In this guide, we delved into the essentials of managing users and groups in Linux, focusing on the useradd, groupadd, and passwd commands. These tools are fundamental in any Linux administrator's toolkit, enabling the creation and management of user accounts and groups, and ensuring secure access through effective password management. Understanding and effectively using these commands is crucial for maintaining the integrity, security, and efficiency of a Linux system.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.