3.8 KiB
🛠 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) orGet-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
StrongorWeak
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:
failederrorunauthorized
-
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,ufwin Linux;WinRM,wuauservin Windows) -
For each service:
- Check if it is running
- Print
OKorNOT 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
nin 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.