Archive
Every article and guide published on this site, newest first.
Linux File Permissions, Ownership & umask Explained
The rwx permission model, chmod symbolic vs. octal notation, chown/chgrp, setuid/setgid/sticky bits, and how umask sets your defaults.
Cron & systemd Timers: Scheduling Jobs in Linux
Crontab syntax, special strings, run-parts directories, and modern systemd timer units — with a direct comparison of when to use each.
SSH Hardening: Key-Based Auth, Fail2ban & Bastion Hosts
Disabling password auth, key-based login, sshd_config hardening, fail2ban jails, and bastion-host architecture for production access.
LVM: Logical Volume Management from Scratch
Physical volumes, volume groups, and logical volumes — creating, extending, and shrinking storage without unmounting production filesystems.
AWS IAM Fundamentals: Users, Roles, Policies & Least Privilege
Users vs. roles vs. groups, identity-based vs. resource-based policies, policy evaluation logic, and applying least privilege in practice.
EC2 Instance Types & Purchasing Options
Instance family naming (m6i, c7g, r6g), On-Demand vs. Reserved vs. Spot vs. Savings Plans, and picking the right combination for a real workload.
S3 Storage Classes & Lifecycle Policies
Standard, Intelligent-Tiering, Glacier and Deep Archive compared on cost/retrieval time, plus lifecycle rules that move and expire objects automatically.
VPC Networking: Subnets, Route Tables & Security Groups
CIDR planning, public vs. private subnets, route tables, internet/NAT gateways, security groups vs. NACLs, and a reference 2-tier VPC design.
Git Branching Strategies: Git Flow vs. Trunk-Based Development
Git Flow's branch model compared against trunk-based development with short-lived feature branches and feature flags — with a decision framework.
Docker Compose for Multi-Container Applications
compose.yaml services, networks, volumes, environment files, healthchecks, and dependency ordering for a real app + database + cache stack.