Skip to content

jd-shadowops/automated-desktop-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’» Automated Linux Desktop Setup Script (Ubuntu/Debian)

🎯 Project Goal: Foundational Automation and Resilience

This project contains a robust Bash script that automates the initial setup of a Linux desktop environment.

It handles system updates, package installation, user onboarding, and basic UFW firewall hardening. The goal of this project is to build a solid foundation in Linux administration and automation, while preparing for more advanced tools like Ansible and DevOps workflows.


πŸ”§ What This Script Automates

Feature Key Function & Resilience Demonstrated
1️⃣ System Preparation Validates root access, updates & upgrades the system, and installs essential tools silently.
2️⃣ Package Verification Each installed application is checked using dpkg -s to ensure accurate reporting and prevent silent installation failures.
3️⃣ User Onboarding Creates a new user, sets password, adds user to the sudo group, and validates that privilege assignment succeeded using resilience checks.
4️⃣ Security Baseline Uses UFW to deny incoming traffic, allow outgoing, and allow SSH access, providing a minimal secure configuration.

πŸ“¦ Usage

Prerequisites

  • Ubuntu or Debian system
  • Internet access
  • Run as root or with sudo

Execution

chmod +x setup.sh
sudo ./setup.sh