COMP 3044 & COMP 3066 โ Linux Essentials & System Administration
A series of hands-on Linux administration labs completed across two courses โ COMP 3044 (Linux Essentials) and COMP 3066 (Linux System Administration). Each lab targeted a specific administration domain, building from initial server deployment through to user management, network service configuration, security hardening, and Bash-based automation. All labs were performed on Ubuntu Server 22.04 LTS in a virtual environment.
COMP 3044 โ Linux Essentials
A+
Spring 2025
COMP 3066 โ Linux System Admin
C
Fall 2025
Server Deployment & Initial Configuration
Installed Ubuntu Server 22.04 LTS in a VirtualBox VM. Configured hostname, static IP via Netplan, locale settings, and network interface to establish base connectivity.
User & Group Management
Created user accounts with useradd, assigned groups with usermod, set file ownership and permissions with chmod/chown, and configured sudo access via the sudoers file.
SSH Hardening & Remote Access
Configured OpenSSH for key-based authentication, disabled password login and root SSH access in sshd_config, and tested secure remote access from a client machine.
UFW Firewall Configuration
Enabled UFW, configured rules to allow SSH (22), HTTP (80), and HTTPS (443) while blocking all other inbound traffic. Verified rules with ufw status verbose.
Apache Web Server Setup
Installed and configured Apache2 with virtual hosting. Created a custom index.html, enabled sites with a2ensite, and verified the server was reachable from the client browser.
Bash Scripting & Automation
Wrote Bash scripts to automate system backup, user provisioning, log rotation cleanup, and disk usage reporting. Scripts were scheduled with cron for automated execution.
System Monitoring & Package Management
Used top, htop, df, du, and journalctl to monitor system performance and logs. Managed packages with apt, performed upgrades, and removed orphaned dependencies.
# Create user and add to sudo group sudo useradd -m -s /bin/bash rohail sudo usermod -aG sudo rohail # Configure SSH key authentication ssh-keygen -t ed25519 -C "rohailbt@gmail.com" ssh-copy-id rohail@192.168.1.10 # UFW firewall rules sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable # Apache virtual host setup sudo apt install apache2 -y sudo a2ensite rohail.conf sudo systemctl restart apache2 # Bash backup script snippet #!/bin/bash BACKUP_DIR="/var/backups" DATE=$(date +%Y-%m-%d) tar -czf $BACKUP_DIR/backup-$DATE.tar.gz /home/rohail echo "Backup complete: $DATE"