Introduction to Linux Systems
This course provides an overview of Linux Systems, which is a free, open-source operating system modelled on Unix principles, designed for stability, multitasking, and multi-user support. It powers a wide range of devices, from servers and desktops to smartphones, offering strong security, reliability, and flexibility. Throughout the course, I’ve constantly been learning unfamiliar commands as well as concepts that have led to a better understanding of Linux virtual systems.
Below are some of the labs I’ve completed in CYSE 270:
Assignment 1: Installing Linux in VM
Week 1 Lab
The assignment was a new experience for me. I had never operated a virtual machine, let alone downloaded a virtual machine onto my computer. This assignment helped me learn how to properly download a virtual machine into my computer without harming the current Windows software. Some challenges included being unfamiliar with Linux systems. Overall takeaways I took from this assignment were feeling more informed on Linux systems.
Assignment 2: Working with Command Line
This Linux assignment was an introduction to the different commands involved in Linux systems. I was introduced to:
- pwd→ Shows the current working directory (where you are).
• ls→ Lists files and directories in the current location.
• cd→ Changes directory.
• mkdir→ Creates a new directory.
• cat→ Displays the contents of a file.
• rm→ Removes a file.
• echo→ Prints text to the terminal
Similar to assignment 1 was the unfamiliarity with Linux commands, as some of my challenges were in understanding the content. Overall, I followed the instructions displayed in our slideshow to better understand the various Linux commands.
Assignment 3: Working with the VI editor
Linux Assignment Week 3This assignment utilised the vi editor in Linux; it’s a powerful, lightweight text editor that comes pre-installed on most systems. It operates in two main modes: command mode and insert mode, which are used for editing text. VI is used for editing configuration files and scripts directly from the command line. Some challenges I faced were forgetting to switch between insert mode and editing mode, which led to an extended period of time for the assignment. My overall takeaways for this assignment were learning how to use the VI editor and how could properly edit text, and how to navigate in a VI file.
Below are some of the commands I learned in VI:
vi filename→ Open a file in vi
• i→ Switch to insert mode to start editing
• Esc→ Return to command mode
•:w → Save changes
•:q → Quit vi
•:wq → Save and quit
•:q! → Quit without saving
• dd→ Delete the current line
• yy→ Copy (yank) the current line
• p→ Paste copied or deleted text
• /word→ Search for a word in the file
Assignment 4: Group and User Management
Assigment 4This assignment dealt with tasks of managing user and group accounts in Linux. I learned experience in creating, modifying, and deleting accounts, as well as managing group memberships and permissions. I learned how to ensure only authorised users or groups can access or modify system resources. Challenges I faced with this assignment were figuring out how to successfully create a group with multiple members who also have different access to information. Overall takeaways from this assignment were a greater understanding of user privileges and how to allow multiple users with different permissions.
- -adduser [username] → Create a new user
• passwd [username]→ Set or change a user’s password
• usermod→ Add a user to a group
• groups→ Show groups a user belongs to
•id → Display UID, GID, and group memberships
• groupass→ Create a new group
• userdel/ → Remove a user
• groupdel→ Delete a group
Assignment 5: Password Cracking
Assignment 5 password crackingThis lab dealt with the understanding of cracking passwords using the “John the Ripper” tool to create numerous users with different passwords. Using the tool to determine the vulnerabilities of each user’s passwords. A specific challenge I faced was incorporating the file into the password cracking tool. I struggled to run the command until I determined I had created the users without putting the passwords into a file where the cracking tool could run. Overall takeaways from this assignment were understanding how complex passwords are less susceptible to brute force attacks.
Assignment 6: File Permissions
CYSE 270_ Linux System for CybersecurityThis lab dealt with File permissions in Linux that control how users and groups interact with files and directories. Each file has three types of permissions: read (r), write (w), and execute (x), which are assigned separately to the file’s owner, the group, and others. I used this system to ensure that only authorised users can view, modify, or run files, creating three users with differing permissions. A challenge I faced with this assignment was the number of re-running commands and becoming confused. I had to constantly be careful with which user to run the command with, restarting the command line several times. The overall takeaway from this assignment is how tedious creating users and their permissions is in groups.
Assignment 7: Storage Management
CYSE 270_ Linux System for Cybersecurity (1)In this Linux assignment, I learned to manage local storage involving organising, mounting, and maintaining disks and partitions so the operating system and users can access data efficiently. Storage devices are represented as files under /dev and partitions. I used fdisk to modify partitions and to format them with a filesystem (ext4, xfs, etc.). Most of the assignment went smoothly, and I had no issues with any of the commands. My biggest takeaway from the assignment was the creation of another storage device within the virtual machine. We can use these smaller storage to house less important information to reduce misuse.
Assignment 8: Shell Script
Linux Week 8 AssignmentThis assignment was made to create a shell script that would inform the user if a file or directory existed. Additionally, if it did not exist, a new directory or file would be created. I learned how to properly write a script that could run a command with the use of keywords. I had a challenge with some of the coding and understanding the spacing and how small mistakes will cause the entire system to fail. My overall takeaway from this assignment was the importance of being organised and vigilant in making mistakes. A small infraction in the code will ultimately fail to run the script properly.
Assignment 9: Task Automation
CYSE 270_ Linux System for Cybersecurity Assignment 9In this assignment, I learned how to automate a task to run at a certain time, specifically, three-minute increments. The use of these automation scripts is important for reducing manual effort and ensuring consistency. My biggest challenge was incorporating the sudo command to run my shell script every three minutes. Creating a user with permission to run was confusing at first because I had attempted to run the script without the sudo command, thus leading to no action. My biggest takeaway from this assignment is learning the importance of creating tasks that are constantly running in order to focus on more important systems. By creating this automation script, we save time, money, and energy effectively.
Assignment 10: Networking Basics
CYSE-270- Linux System For Cybersecurity NetworkingWithin this assignment, I learned about IP addresses and how they receive their “values”, and no IP address is the same. I learned how to convert Network, broadcast, first IP, Last IP, and MaxHosts in the
network to Binary format. Subnetting is the process of dividing a large network into smaller, more manageable subnets to improve efficiency, security, and resource allocation. I struggled with using the calculator provided and with how to properly insert the values to receive the binary conversion. The biggest takeaway from this assignment was understanding the importance of subnetting to allocate IP addresses more effectively, reduce wasted addresses, and control traffic flow.
Assignment 11: Basic Network Configuration
CYSE 270_ Linux System for Cybersecurity Lab 11This lab allowed me to identify some of the differences between a NAT network and a Bridged Network. I learned that NAT uses an internal IP, while Bridged gets the IP from the physical network. The key difference between NAT and Bridged is the different routing paths. I didn’t struggle with any of the steps in the assignment. My biggest takeaway from the assignment was understanding the difference between the two networks. NAT is certainly the superior network, while bridged has several limitations. If I were at ODU, my network would most likely fail with bridged.