CYSE 270 – Linux Systems for Cybersecurity
Lab 1 – Create a Virtual Machine
This lab was my introduction to working with Linux in a virtual environment. I installed Kali Linux using Oracle VirtualBox and learned how to set up a virtual machine that I could use for the rest of the course. I also practiced basic Linux commands such as echo, date, ls, and pwd.
At first, setting up the virtual machine took some getting used to because I had to make sure the settings for things like memory and CPU were correct. The terminal commands were easier to understand after I practiced them a few times.
The biggest takeaway from this lab was learning how to create and work inside a Linux virtual machine. This is useful in cybersecurity because virtual machines allow you to safely practice different tools and techniques without changing your main computer. The lab’s main goal was to install the Linux operating system that would be used throughout the course.
Lab 2 – Linux Commands and File Management
This assignment gave me more practice navigating the Linux file system and working with files and directories. I used commands to check my current directory, move between directories, list files, create directories, copy files, rename directories, create files, and delete files.
One challenge was remembering the difference between absolute and relative paths. I also had to pay attention to where I was in the file system before running commands because using the wrong directory could cause the command to do something different than expected.
Overall, this assignment helped me become more comfortable using the Linux terminal. I learned that basic file management commands are important because Linux users and cybersecurity professionals often need to manage systems without using a graphical interface. The assignment included tasks such as navigating to /etc, listing files, working with /etc/group, creating a directory, copying files, and deleting files.
Lab 3 – VI Editor
This lab introduced me to the VI editor in Linux. I learned how to open files, edit text, and move between insert mode and command mode. At first, VI was a little confusing because it works differently from a normal text editor.
One challenge I had was remembering the commands for saving and exiting the editor. After practicing, I became more comfortable with commands like :w, :q, and :wq. It took some time to get used to not being able to edit a file the same way I normally would.
The main thing I took away from this lab was learning how to edit files directly through the Linux terminal. This is useful in cybersecurity and system administration because sometimes you need to make changes to configuration files without having access to a graphical interface.
Lab 4 – User and Group Accounts
This lab focused on managing users and groups in Linux. I practiced creating new users, setting passwords, changing login shells, adding users to groups, and viewing account information. I also created and modified groups and learned how users can have different group memberships.
The challenging part was keeping track of the different users, groups, and permissions. Some commands also required specific options, so I had to pay attention to how each command was being used.
This lab showed me how important account management is for cybersecurity. Users should only have the access they actually need, and understanding groups makes it easier to manage permissions across a system. The lab specifically focused on creating, modifying, and deleting user and group accounts and managing group memberships.
Lab 5 – Password Cracking
This lab introduced me to password security and password cracking. I created several test accounts with different types of passwords and then used John the Ripper with a wordlist to see how many of the passwords could be cracked.
What stood out to me was how much password complexity can affect security. Simple passwords and common words were much easier to target than passwords that used a combination of uppercase and lowercase letters, numbers, and symbols.
The main challenge was learning how the password hashes and John the Ripper worked together. This lab helped me understand why strong passwords are important and why organizations should avoid using simple or easily guessed passwords. The lab required testing different password formats and using John the Ripper with rockyou.txt to see which passwords could be cracked.
Lab 6 – File Permissions
This lab focused on Linux file permissions, groups, and shared directories. I created different groups and user accounts and then configured a shared project directory. I practiced changing permissions, assigning group ownership, using umask, and working with SGID and sticky bit permissions.
At first, Linux permissions were a little confusing because I had to understand what the different permission values meant and how they affected different users. Working through the examples made it easier to understand how permissions control access.
The biggest thing I learned from this lab was how important proper permissions are for protecting files. Giving users too much access can create security problems, while properly setting group permissions allows people to share files without giving everyone full access. The lab also gave me practice with shared groups, rwxrwx--- permissions, SGID, and the sticky bit.
Lab 8 – Shell Scripting
This lab introduced me to shell scripting in Linux. I wrote scripts that used input, conditional statements, and file and directory checks. I also learned how to make a script executable and run it from the terminal.
One challenge was getting the syntax correct. A small mistake in a script could prevent it from working correctly, so I had to pay attention to things like the if statements and the commands being used.
This lab helped me understand how scripting can make repetitive tasks easier. Instead of typing every command manually, a script can perform multiple steps automatically. This is especially useful in cybersecurity and system administration where automation can save time. The assignment included conditional statements, checking whether files or directories exist, and creating files through scripts.
Lab 9 – Backup Your System Using Crontab
This assignment focused on system backups and scheduling tasks in Linux. I worked with creating a user, writing a shell script to back up a home directory, creating a compressed archive, and moving the backup into the /var/backups directory. I also used crontab to schedule the backup task.
The part I found most challenging was understanding how the different commands worked together. I had to use variables, dates, tar archives, compression, and scheduled jobs in the same assignment.
My main takeaway was how useful automation can be for system administration. Backups are important because they give you a way to recover files if something goes wrong. Using crontab also showed me how Linux can automatically perform tasks on a schedule instead of relying on someone to remember to do them. The assignment specifically required creating a backup of Alice’s home directory, compressing the archive, placing it in /var/backups/, and scheduling the task with crontab.
Lab 10 – Networking Basics: Subnetting
This assignment focused on subnetting and understanding how IP addresses are divided into networks. I worked with IP addresses and netmasks to determine the network address, broadcast address, first usable IP, last usable IP, and maximum number of hosts.
Subnetting was probably one of the more challenging parts because it required me to work with both decimal and binary representations of IP addresses. It took some practice to understand how the subnet mask changes the available range of addresses.
The biggest takeaway from this assignment was getting a better understanding of how networks are organized. Subnetting is an important cybersecurity skill because knowing how IP addresses and networks work makes it easier to understand network traffic, identify devices, and troubleshoot network problems. The assignment required working with addresses such as 192.168.100.4/28 and 170.1.0.0/26.
Lab 11 – Network Basics Configuration
This lab helped me practice basic Linux networking commands and understand how different parts of a network work together. I worked with concepts such as IP addresses, routing, TCP connections, ping, and DNS.
One challenge was understanding what all the different networking commands were showing me. Some of the output looked confusing at first, but going through each command and understanding its purpose made it easier to follow.
The biggest takeaway from this lab was becoming more comfortable with network troubleshooting from the Linux terminal. I learned that commands like ping can be used to test connectivity, while other commands can provide information about IP addresses, routes, TCP connections, and DNS. These are important skills for cybersecurity because understanding normal network activity makes it easier to recognize and troubleshoot problems.
Overall Reflection
Throughout CYSE 270, I became much more comfortable working with Linux and using the terminal. At the beginning, many of the commands and Linux concepts were unfamiliar, but practicing them through the labs made them easier to understand.
The course helped me build skills in Linux administration, user accounts, permissions, password security, shell scripting, backups, and networking. I also learned that cybersecurity is not just about security tools. Understanding how operating systems and networks actually work is a big part of being able to secure them.
Overall, CYSE 270 gave me a stronger foundation in Linux and helped me see how these skills connect to cybersecurity. I think the experience will be useful as I continue learning more advanced cybersecurity topics and prepare for a career in the field.