CYSE 270 – Linux Systems for Cybersecurity

Lab 1 – Installing Linux VM

This lab introduced me to setting up a Linux virtual machine and installing Kali Linux. I learned how a virtual machine allows me to run Linux on my computer without replacing my main operating system. I also became more familiar with using virtualization software and going through the steps needed to get Kali Linux installed and running.

One challenge was making sure everything was installed and configured correctly so that the virtual machine would work properly. After completing the setup, I had a better understanding of how virtual machines are used to create a separate environment for working with Linux. This lab gave me the foundation I needed to use Kali Linux for the rest of the course and helped me understand why virtual machines are useful in cybersecurity.

Lab 2 – Working with Command Line

This lab helped me become more familiar with using the Linux command line. I practiced navigating through different directories, listing files, creating directories and files, and copying, renaming, and deleting files. I also learned the difference between using absolute and relative paths when moving between directories.

One challenge I had was remembering which commands to use for each task and making sure I was in the correct directory before running them. As I worked through the lab, the commands started to make more sense and I became more comfortable using the terminal. Overall, this lab gave me a better understanding of how to navigate and manage files in Linux, which are basic skills I will need as I continue learning cybersecurity.

Lab 3 -Working with VI Editor

This lab introduced me to using the VI editor in Linux. I practiced opening and editing a file, switching between command and insert modes, and moving around within a document. I also learned how to search for words, delete text, copy and paste lines, replace text, and save my changes.

The biggest challenge for me was getting used to the different VI commands and remembering which mode I was in. VI works differently from most text editors I am used to, so it took some practice. By the end of the lab, I felt more comfortable navigating and making changes to files directly from the Linux terminal. This lab showed me why knowing how to use a terminal-based text editor is an important Linux skill.

Lab 4 – Group and User Management

This lab taught me how user and group accounts are managed in Linux. I practiced creating a new user, setting a password, changing the user’s default shell, and adding the user to a group. I also worked with creating and renaming groups, checking group memberships, and changing the group ownership of a file.

One challenge was keeping track of the different commands and options needed when working with users and groups. I had to pay attention to what account I was using and make sure I did not accidentally change existing group memberships. Overall, this lab helped me understand how Linux controls user accounts, groups, and access to files. I can see how these skills are important in cybersecurity because managing who has access to a system is an important part of keeping it secure.

Lab 5 – Password Cracking

This lab gave me hands-on experience with password security and password cracking in Linux. I created several user accounts with passwords that had different levels of complexity, including simple words, numbers, uppercase and lowercase letters, and symbols. I then used John the Ripper with a wordlist to test how easily some of the passwords could be cracked.

What stood out to me the most was seeing how the complexity of a password can affect how difficult it is to crack. This lab helped me better understand why simple and predictable passwords can be a security risk. Overall, it showed me how password-cracking tools can be used in cybersecurity to test password strength and identify weak passwords before they can be taken advantage of.

Lab 6 – File Permissions

This lab helped me understand how file and directory permissions work in Linux. I created different users and groups and practiced setting permissions to control who could read, write, or access files in a shared directory. I also used commands such as umask and worked with SGID permissions to see how group permissions affect files that are shared between users.

One challenge was understanding how the different permission settings affected what each user was allowed to do. Switching between accounts and testing access helped me see the permissions actually working instead of just reading about them. Overall, this lab helped me understand why file permissions and user access are important for protecting information on a Linux system, especially in cybersecurity.

Lab 7 – Storage Management

This lab taught me how storage devices and partitions are managed in Linux. I practiced checking the existing hard disks and partitions on my virtual machine and then added a new virtual hard disk. I also learned how to create a partition, create a filesystem, mount the new partition to a directory, and check that it was mounted correctly.

One challenge was understanding how the virtual disk, partition, filesystem, and mount point all work together. Going through each step helped me see how Linux recognizes and uses additional storage. Overall, this lab gave me a better understanding of how storage is set up and managed in Linux, which is useful when working with systems in cybersecurity.

Lab 8 – Shell Script

This lab introduced me to shell scripting in Linux. I learned how to create a shell script using an editor, make the script executable, and run it from the terminal. I also practiced using conditional statements to make a script respond differently depending on the input and created another script that could check whether a file or directory existed.

One challenge was making sure the script was written correctly because even a small mistake could cause it not to run the way I expected. Working through the scripts helped me better understand how Linux commands can be combined to automate tasks instead of entering each command manually. Overall, this lab gave me a better understanding of basic scripting and how automation can be useful when working with Linux and cybersecurity.

Lab 9 – Task Automation

This lab taught me how to automate tasks in Linux using shell scripts and crontab. I created a script that backed up a user’s home directory, added the date and time to the backup filename, compressed the backup, and stored it in the system’s backup directory. I then used crontab to schedule the script to run automatically.

One challenge was making sure the script and crontab were set up correctly so the backup would run at the scheduled time. Seeing the backup files being created automatically helped me understand how task automation works in Linux. Overall, this lab showed me how automation can save time and make sure important system tasks, such as backups, are performed consistently without having to run them manually.

Lab 10 – Network Basics

This lab helped me understand the basics of subnetting and how IP addresses are divided into networks. I practiced using an IP address and subnet mask to determine the network address, broadcast address, first and last usable IP addresses, and the maximum number of hosts on a network. I also worked with converting IP address information between decimal and binary formats.

Subnetting was challenging at first because there are several steps and calculations to keep track of. Working through the problems helped me better understand how the subnet mask determines the size and range of a network. Overall, this lab gave me a better understanding of how IP addresses and networks are organized, which is important when working with networking and cybersecurity.

Lab 11 – Basic Network Configuration

This lab gave me hands-on experience with basic network configuration in Linux. I practiced using different commands to view my IP address, MAC address, network mask, routing table, and active network connections. I also tested network connectivity using ping, performed a DNS lookup, and looked at the system’s hostname and DNS information.

One challenge was understanding the differences between NAT and bridged network modes and how changing the setting affected the virtual machine’s network information. Comparing the results helped me better understand how a Linux system connects and communicates with a network. Overall, this lab helped me become more comfortable using Linux networking commands and troubleshooting basic network connections.