Day 06 — Users, Groups & System-Level Commands in Linux
🎯 Goal
Understand how Linux manages:
- Users and permissions
- Access control
- System-level operations
This is critical for:
- Security
- Multi-user systems
- Production server management
🧠 Mental Model
Linux is a multi-user operating system.
Every action happens in this chain:
User → Group → Permissions → System Access
You are never just running commands —
you are running them as a user with privileges.
1️⃣ System-Level Commands (Core OS Interaction)
These commands help you understand who you are, where you are, and system state.
uname — System Information
uname -aWhat it does:
Shows kernel, OS, architecture.
Why it matters:
- Identify system after SSH login
- Debug compatibility issues
uptime — System Running Time
uptimeWhat it shows:
- How long system is running
- Load average (CPU usage trend)
date — Current Time
dateUsed for:
- Debugging logs
- Checking timezone issues
who — Logged-in Users
whoShows:
- Active sessions
- TTY
- Login time
whoami — Current User
whoamiVery important in scripts and debugging.
which — Command Location
which pythonWhat it does:
Shows path of executable.
id — User Identity
idOutput example:
uid=1000 gid=1000 groups=1000,27
Why it matters:
- Shows user ID and group memberships
sudo — Run as Superuser
sudo apt updateWhat it does:
Executes command with elevated privileges.
Why it matters:
- Required for admin operations
shutdown — Power Off System
sudo shutdown now
sudo shutdown -h +10reboot — Restart System
sudo reboot2️⃣ Package Management Commands
Used to install and manage software.
Debian/Ubuntu (apt)
sudo apt update
sudo apt install nginx
sudo apt upgradeRHEL/CentOS (yum / dnf)
sudo yum install nginx
sudo dnf updateArch (pacman)
sudo pacman -S nginxGentoo (portage)
emerge nginx3️⃣ Users & Groups — Core Concepts
Every file/process has:
- Owner (user)
- Group
- Permissions
User Types
| Type | Description |
|---|---|
| root | Superuser |
| normal user | login user |
| system user | service accounts |
4️⃣ User Management Commands
useradd — Create User
sudo useradd username
sudo useradd -m usernameCreates home directory with -m.
passwd — Set Password
sudo passwd usernamesu — Switch User
su username
sudo suSwitch to another user or become root.
userdel — Delete User
sudo userdel username
sudo userdel -r username-r removes home directory.
5️⃣ Group Management Commands
groupadd — Create Group
sudo groupadd devopsgroupdel — Delete Group
sudo groupdel devopsgpasswd — Manage Groups
Add user to group
sudo gpasswd -a user groupAdd multiple users
sudo gpasswd -M user1,user2 groupCheck groups
groups username6️⃣ File Ownership (Important)
Even though detailed permissions come later, basic idea:
ls -lExample output:
-rw-r--r-- 1 user group file.txt
Meaning:
- user owns file
- group owns file
🧪 Day-6 Lab
# system info
uname -a
uptime
date
who
whoami
id
# command location
which python
# user creation
sudo useradd -m devuser
sudo passwd devuser
# switch user
su devuser
whoami
# create group
sudo groupadd devops
# add user to group
sudo gpasswd -a devuser devops
# check groups
groups devuser
# delete user
sudo userdel -r devuser🧠 Key Takeaways
- Linux is multi-user by design
- Permissions define system security
- sudo controls privilege escalation
- Users and groups control access
- Package managers manage software lifecycle
✅ Outcome
You can now:
- Understand user identity and permissions
- Create and manage users
- Manage groups
- Use sudo correctly
- Install and manage software
- Perform system-level operations
Next → File Management & Permissions 🚀