CYSE 270

Linux Systems for Cybersecurity

Assignment 1 – Install Linux VM

This lab was pretty self explanatory as it mainly involved downloading the necessary software and setting up the virtual environment.I followed the instructions to install Kali Linux on the VM and configure the basic settings so it could run properly.

One of the key skills I learned was how virtualization works and how operating systems can run within another system using tools like VirtualBox or VMware.

A small challenge I faced was making sure all the settings were configured correctly, such as allocating enough memory and ensuring the ISO file was properly connected. It took a bit of double-checking, but overall it wasn’t too difficult. This lab helped me understand the importance of virtual machines in cybersecurity and IT environments.

Assignment 2 – Working with Command Line

This lab helped me become more comfortable using the Linux terminal and basic command-line instructions. I practiced navigating directories, checking file types, listing files in different ways, and managing files and folders using commands such as pwd, cd, ls, file, tail, and mkdir.

The experience was useful because it showed me how important the command line is for system administration and cybersecurity work. One challenge I faced was keeping track of when to use an absolute path versus a relative path, especially when moving between /etc, /etc/skel, and my home directory. This lab taught me the importance of precision when working in the terminal.

Assignment 3 – Working with vi editor

This lab introduced me to using the vi editor in Linux and helped me practice working in both command mode and insert mode. I learned how to open a file in vi, move through the document, insert text, delete text, search for words, and save changes correctly. This was helpful because it showed me how important vi is for editing files directly in the terminal.

One challenge I faced was remembering when I was in insert mode versus command mode, since vi works differently from normal text editors. This lab improved my confidence in editing files from the command line and gave me more practice with essential Linux text-editing skills

Assignment 4 – Group and User Management

This lab helped me practice the basic tasks involved in managing users and groups in Linux. I worked with commands to view account information, create and modify a user, add the user to the sudo group, and then create and manage groups and file ownership.

The experience showed me how user and group management supports system administration and cybersecurity. One challenge I faced was remembering which commands required administrative privileges and which options were needed to avoid replacing existing group memberships.Overall, this lab helped me understand how Linux handles accounts, permissions, and group membership.

Assignment 5 – Password Cracking

This lab was one of my favorites and it demonstrated how weak passwords can be vulnerable in a controlled Linux environment.The most important concept I learned was that Linux stores password hashes separately from normal account information, and strong password policies are essential for protecting user accounts.

One challenge was understanding the difference between user accounts and password hashes. Overall, this lab helped me see how password security works at a practical level.

Assignment 6 – File Permissions

This lab helped me understand how Linux permissions control collaboration between users. I learned how group ownership, special permissions, and umask work together to determine whether users can read, write, or share files in a common directory.

One challenge was understanding why a file copied into a shared folder may still be inaccessible to other group members if the directory is not configured correctly. Overall, this lab showed me that secure file sharing in Linux depends on careful permission planning.

Assignment 7 – Storage Management

This assignment helped me understand how Linux detects disks, partitions, and mounted filesystems. The experience was useful because it connected the commands in class to real storage management tasks. I learned how to attach a new virtual disk, create a partition, format it as ext4, mount it to a directory, and verify the mount with df.

One challenge I faced was making sure I selected the correct disk before creating a partition, since choosing the wrong device could cause data loss. Overall, this lab helped me understand the workflow for preparing storage in Linux.

Assignment 8 – Shell Script

This lab taught me the basics of writing conditional logic in Bash scripts. I created scripts that used read, if statements, and file tests like -d and -f to handle user input and file operations. My experience showed me how practical automation can be for system administration. I learned that scripts can check conditions and make decisions, like testing if a number is greater than 10 or determining if a path is a file or directory.

One challenge was remembering the correct test operators, such as -gt for numeric comparison and -f for regular files. This lab helped me understand how shell scripts make repetitive tasks easier and more reliable. It showed me the foundation for automating Linux administration and cybersecurity tasks.

Assignment 9 – Task Automation

This assignment helped me understand how Linux automation can be used to make backups more efficient and consistent. The experience showed me how useful automation is in system administration. Instead of manually backing up files each time, I saw how a shell script can combine commands, add timestamps to backup filenames, and store the results in /var/backups for easier management.

One challenge I faced was keeping track of the different steps in the script, especially creating the filename from the MIDAS name and date and then moving and compressing the archive. Overall, this lab reinforced the importance of scripting and scheduling in Linux.

Assignment 10 – Networking Basics

This lab helped me practice subnetting calculations, which is essential for network design and cybersecurity. I worked through converting IP addresses to binary, applying subnet masks, and finding network addresses, broadcast addresses, first usable IPs, last usable IPs, and maximum hosts for given subnets.

One challenge was converting the fourth octet to binary correctly and remembering that the first and last addresses are reserved. This lab reinforced how subnetting optimizes networks and limits broadcast domains.

Assignment 11 – Basic Network Configuration

This lab showed me how to explore and configure Linux networking. I practiced using ifconfig, route, netstat, ping, and host commands to view IP addresses, routing tables, connections, and DNS resolution. The experience highlighted the difference between NAT and bridge networking modes in a VM.

One challenge was switching between NAT and bridge modes and understanding why the IP address and default gateway changed. This lab helped me understand how network settings affect connectivity and security.