end of day 5 week 1

This commit is contained in:
2026-01-22 21:36:02 +01:00
parent 82b79336ea
commit 3e23329086
8 changed files with 529 additions and 0 deletions

179
week 1/projects/readme.md Normal file
View File

@@ -0,0 +1,179 @@
# 🛠 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.*