Files
2026-01-22 21:36:02 +01:00

180 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🛠 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 **23 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.*