🔐 Linux User Management – Practical DevOps Task
As part of the 100 Days of DevOps challenge on KodeKloud , I worked on a real world scenario involving temporary access control in Linux systems.
📌 Why this task matters:
In production environments, developers or external users often require temporary access to servers.
Instead of manually removing access later (which is error prone), we enforce account expiry policies to improve security and reduce operational risk.
⚙️ Command Used:
sudo useradd -e 2026-12-07 siva
🧠 What this does:
👉 This is a simple but effective security control mechanism
🛠️ Useful options with useradd (commonly used in production):
sudo useradd -m siva # Create home directory
sudo useradd -s /bin/bash siva # Set default shell
sudo useradd -G developers siva # Add to supplementary group
sudo useradd -u 1050 siva # Assign specific UID
sudo useradd -c "Dev User" siva # Add comment/description
👉 Example (more realistic production command):
sudo useradd -m -s /bin/bash -G developers -e 2026-12-07 siva
🔄 Common steps AFTER creating a user (production workflow):
Set password
sudo passwd siva
Force password change on first login
sudo chage -d 0 siva
Verify account details
id siva
chage -l siva
Grant sudo access (if required)
sudo usermod -aG sudo siva
Lock or disable account (if needed early)
sudo usermod -L siva
Delete user after use
sudo userdel -r siva
💡 Key takeaway:
Automating user lifecycle (create → manage → expire → remove) is a core responsibility in DevOps and system administration, especially for maintaining security and compliance.
#Linux #DevOps #SystemAdministration #Security #Cloud #100DaysOfDevOps