Project — Linux Administration Toolkit¶
Intermediate portfolio build — a CLI for everyday Linux administration tasks.
Project Overview¶
Goal: Ship rebash-admin with subcommands for users, packages, services, and log rotation helpers — dry-run by default where actions are privileged.
Deliverable for your portfolio:
- Entrypoint:
bin/rebash-admin <command> - Commands:
users,packages,services,logs,report - Shared logging, config file (
config/admin.conf), exit taxonomy - Dry-run defaults for mutating commands
- Smoke tests and sample config
Estimated cost: £0 (local VM).
Goals¶
- Subcommands share
lib/*.sh(no copy-pasted logging) - Mutating actions require
--apply(default dry-run) -
reportwrites a dated summary underout/ - Unsupported OS/package manager fails clearly
- README includes threat notes (what the toolkit does not do)
Stack¶
| Piece | Choice |
|---|---|
| Language | Bash |
| Layout | bin/rebash-admin, lib/, cmd/, config/, out/ |
| Privileges | sudo only when --apply on a lab VM |
Prerequisites¶
- Tutorials: Linux Admin Automation, Functions, Parameters, and Locals, Production Shell Scripting, Scheduling — cron, at, and Timers
- Labs: User Management Script, Automate Software Installation, Rotate Logs, Service Health Checker
- Project: Linux Automation Scripts
Milestones¶
Milestone 1 — CLI skeleton¶
case/getopts parsing, global --config, --help, --version.
Milestone 2 — Users and packages¶
Dry-run create/list/disable sketches; idempotent package install detection.
Milestone 3 — Services and logs¶
systemctl is-active wrappers; log rotate helper for lab paths only.
Milestone 4 — Report + release notes¶
Aggregate checks into out/report-YYYYMMDD.md; document cron/timer usage.
Success criteria¶
rebash-admin reportruns without root--applyis required for changes- Install via README in under 10 minutes on a clean Ubuntu VM
Related¶
- Next: Production Operations Toolkit
- Lab: Linux Operations Toolkit
- Cheat sheet: Shell Scripting