# 🛠 Bonus Sysadmin Projects — Bash & PowerShell Fundamentals This README documents a set of **bonus sysadmin-oriented projects** designed to be completed **after Week 1 and before Week 2**. These projects are practical, security-focused, and closely aligned with **real Linux/Windows system administration, automation, and security analysis tasks**. They reinforce core programming concepts (loops, conditionals, validation, algorithms) in both **Bash (Linux)** and **PowerShell (Windows)** environments. --- ## 🎯 Purpose of These Projects These bonus projects exist to: * Bridge theory → real-world sysadmin work * Strengthen Bash and PowerShell scripting confidence * Apply algorithmic thinking to system tasks * Build habits required for **A+ → CCNA → Security+** paths * Prepare for Week 2 (Data Structures & Algorithms) They simulate tasks performed by: * Linux and Windows system administrators * Security analysts / SOC engineers * DevOps and cloud engineers * Blue team / hardening roles --- ## 🧰 Project 1 — User Audit Script ### Goal Audit local users and identify potentially unsafe usernames. ### Tasks * Read usernames from `/etc/passwd` (Linux) or `Get-LocalUser` (PowerShell) * Extract the username field * Validate usernames using rules: * Letters only * Length ≤ 20 * Starts with a letter * Print only invalid usernames ### Skills Reinforced * File reading / system commands * Field parsing * Loops and validation logic * Defensive system auditing --- ## 🔐 Project 2 — Password Policy Checker (Simulation) > ⚠️ No real passwords — this is a simulation exercise ### Goal Validate whether a password string meets a security policy. ### Tasks * Prompt user for a password * Enforce rules such as: * Minimum length (e.g., ≥ 12) * At least one letter * At least one digit * At least one special character * Output `Strong` or `Weak` ### Skills Reinforced * Multiple counters / flags * Regex checks * Early exit logic * Secure input validation --- ## 📄 Project 3 — Log File Scanner ### Goal Scan a log file for suspicious activity indicators. ### Tasks * Read a log file line by line * Detect keywords such as: * `failed` * `error` * `unauthorized` * Count occurrences of each keyword * Print a summary report ### Skills Reinforced * File iteration * Pattern matching * Counters * Incident response fundamentals --- ## 🖥 Project 4 — Service Status Monitor ### Goal Verify whether critical system services are running. ### Tasks * Define an array/list of services (e.g., `ssh`, `cron`, `ufw` in Linux; `WinRM`, `wuauserv` in Windows) * For each service: * Check if it is running * Print `OK` or `NOT RUNNING` ### Skills Reinforced * Arrays / collections * Command execution and exit code checking * Automation patterns in Bash and PowerShell --- ## 📊 Project 5 — Algorithm Reflection (Written) ### Goal Build the habit of analyzing performance in real scripts. ### Tasks For **one of the projects above**, answer: * What is `n` in this script? * What is the time complexity? * What happens if the input doubles? ### Example ``` T(n) = n T(2n) = 2n Big-O: O(n) ``` --- ## ✅ Completion Guidelines * These projects are **optional but strongly recommended** * Completing **2–3 projects** is sufficient before Week 2 * Focus on: * Correctness * Readability * Defensive coding * Clear logic * Implement each project in **both Bash and PowerShell** if possible for dual practice --- ## 🔜 What Comes Next After completing the bonus projects: * Proceed to **Week 2 — Data Structures & Early Algorithms** * Arrays, maps, sets * Searching algorithms * Clear math explanations with real system examples --- 📌 *These bonus sysadmin projects are designed to turn programming fundamentals into practical Linux and Windows administration and security skills.*