월. 8월 4th, 2025

Introduction

Linux is a multi-user system, meaning multiple users can interact with it simultaneously. Proper user and group management is crucial for security, resource allocation, and collaboration. This guide covers core concepts and commands to efficiently administer users and groups.


1. Understanding Users

Every action in Linux is performed by a user. Types include:

  • Root User: Superuser with unrestricted access (UID 0).
  • System Users: Reserved for services/daemons (UID 1–999).
  • Regular Users: Human users (UID ≥ 1000).

Key Files:

  • /etc/passwd: Stores user details (username, UID, home directory).
  • /etc/shadow: Encrypted passwords and expiration policies.

2. Understanding Groups

Groups organize users to share permissions. Benefits:

  • Simplify permission management for shared resources.
  • Define access control for files/directories collectively.

Key Files:

  • /etc/group: Group names, GIDs, and member lists.

3. User Management Commands

Create a User

sudo useradd -m -s /bin/bash username  # -m: Create home dir, -s: Default shell  
sudo passwd username                   # Set password  

Modify a User

sudo usermod -aG developers username   # Add user to "developers" group  
sudo usermod -s /bin/zsh username      # Change default shell  

Delete a User

sudo userdel -r username               # -r: Remove home dir and mail  

4. Group Management Commands

Create a Group

sudo groupadd team-alpha  

Add/Remove Users from a Group

sudo gpasswd -a username team-alpha    # Add user  
sudo gpasswd -d username team-alpha    # Remove user  

Delete a Group

sudo groupdel team-alpha  

5. View User/Group Information

  • Check User UID/GID:
    id username  # Output: uid=1001(username) gid=1001(username) groups=1001(username),1002(developers)  
  • List Group Members:
    getent group developers  
  • Inspect Key Files:
    cat /etc/passwd  
    cat /etc/group  

6. Permissions & Ownership

Users/groups control file/directory access:

  • Change Ownership:
    sudo chown username:groupname file.txt  # Assign owner and group  
  • Modify Permissions:
    chmod 750 directory/  # Owner: rwx, Group: r-x, Others: ---  

7. Best Practices

  1. Avoid Root: Use sudo instead of logging in as root.
  2. Principle of Least Privilege: Grant minimal necessary permissions.
  3. Password Policies: Enforce complexity with passwd -e username (expire password).
  4. Audit Logs: Monitor /var/log/auth.log for suspicious activity.
  5. Group Inheritance: Use primary groups for default permissions, supplementary groups for shared access.

Conclusion

Effective user and group management is foundational to Linux security and efficiency. By leveraging commands like useradd, usermod, groupadd, and chown, administrators can control access, collaborate securely, and maintain system integrity. Test these commands in a safe environment to build confidence!

> Pro Tip: Explore man pages (e.g., man useradd) for advanced options like setting password expiration or custom UID/GID ranges.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다