User Management in Ubuntu/Debian

Karthik S
3 min readOct 14, 2024

--

Managing users in Linux is a fundamental task for anyone working with the operating system. Whether you’re administering a server or a local machine, understanding how to create, modify, and manage users is crucial for maintaining a secure and organized environment.

In this guide, I’ll walk you through the core aspects of user management in Linux, from adding users to managing groups and permissions.

1. Adding a New User

Creating a new user in Linux is quite simple using the useradd command. This command allows you to set up a new user account with options to specify home directory, shell type, and other details.

sudo useradd -m -s /bin/bash <username>

Here’s what we’re doing

  • -m: Creates a home directory for the user.
  • -s: Sets the user’s default shell to /bin/bash.

Once the user is created, you’ll need to set a password using the passwd command.

sudo passwd <username>

2. Modifying User Accounts

There are times when you might need to modify an existing user — whether to change their home directory, update their shell, or add them to additional groups. For this, the usermod command comes in handy.

Change the home directory

sudo usermod -d /path/to/new/home/directory <username>

Add the user to a group (like sudo, to grant administrative privileges)

sudo usermod -aG sudo <username>

3. Deleting Users

If a user account is no longer needed, it’s essential to delete it properly, especially when it comes to security. The userdel command helps us remove user accounts safely.

sudo userdel -r <username>

-r: This option ensures that the user's home directory is removed along with the user account.

4. Managing Groups

Linux groups are a powerful way to manage permissions for multiple users. You can create and modify groups using a few straightforward commands.

Creating a group

sudo groupadd groupname

Adding a user to a group

sudo usermod -aG groupname <username>

Removing a user from a group

sudo gpasswd -d <username> groupname

This approach helps ensure that permissions can be easily managed across many users who share the same access level for certain files or resources.

5. Viewing User and Group Information

Sometimes you’ll need to verify user or group details. Linux offers a few commands to retrieve this information quickly.

View details of a specific user

id <username>

List all users

cat /etc/passwd

List all groups

cat /etc/group

6. Switching Between Users

There are scenarios where you might need to switch between users without logging out. This can be done using the su (substitute user) command.

su username

7. Managing File Permissions

File permissions are key to Linux security. Permissions dictate what actions users and groups can take on files and directories. Use the chown command to change file ownership and chmod to modify permissions.

Change ownership

sudo chown username:group file

Modify permissions

The permissions for each category are represented as

  • r: Read
  • w: Write
  • x: Execute

Each permission type has an associated number

  • r = 4
  • w = 2
  • x = 1
chmod [octal notation] file

Replace [octal notation] with the appropriate number (e.g., 755, 644).

Conclusion

User management is an essential skill for anyone using or administering a Linux system. Whether you’re adding a new user, adjusting permissions, or managing groups, the commands I’ve shared here will help you take control of your system.

Linux provides robust tools for managing users, and mastering these can make your environment more secure and easier to maintain.

--

--

Karthik S
Karthik S

Written by Karthik S

🚀 DevOps Engineer | Exploring cloud, automation, and infrastructure

No responses yet