Terminals Consoles Shells and Commands 
 
Getting Help Man Pages (man type help apropos) 
 
Quiz for Getting Help in Linux 
 
Mastering the Terminal: The TAB Key 
 
Mastering the Terminal: Keyboard Shortcuts 
 
Commands - Keyboard Shortcuts 
 
Quiz for Mastering the Terminal 
 
Mastering the Terminal: The Bash History 
 
Running Commands Without Leaving a Trace 
 
Recording the Date and Time for Each Line in History 
 
Commands - The Bash History 
 
root vs. Non-privileged Users. Getting root Access (sudo su passwd) 
 
Commands - Getting root access 
 
Quiz for Bash history and root access 
 
Intro to The Linux Files System 
 
The Filesystem Hierarchy Standard (FHS) 
 
Absolute vs. Relative Paths. Walking through the File System (pwd cd tree) 
 
Quiz for The Linux File System 
 
The LS Command In Depth (ls) 
 
Understanding File Timestamps: atime mtime ctime (stat touch date) 
 
Sorting Files by Timestamp 
 
File Types in Linux (ls -F file) 
 
Commands - File Types and Timestamps 
 
Quiz for LS File Types and Timestamps 
 
Viewing Files - Part 1 (cat) 
 
Viewing Files - Part 2 (less) 
 
Viewing Files - Part 3 (tail head watch) 
 
Creating Files and Directories (touch mkdir) 
 
Copying Files and Directories (cp) 
 
Moving and Renaming Files and Directories (mv) 
 
Removing Files and Directories (rm shred) 
 
Commands - touch mkdir cp mv rm shred 
 
Quiz for mkdir cp mv rm shred 
 
Working With Pipes in Linux (| wc) 
 
Command Redirection (> >> 2> &> cut tee) 
 
Commands - Piping and Redirection 
 
Quiz for Piping and Command Redirection 
 
Finding Files and Directories - Part 1 (locate which) 
 
Finding Files and Directories - Part 2 (find) 
 
Searching for String Patterns in Text Files (grep) 
 
Searching for Strings in Binary Files (strings) 
 
Quiz for locate find and grep 
 
Comparing Files (cmp diff sha256) 
 
The Basics of VIM Text Editor 
 
The VIM Editor In Depth - Part 1 
 
The VIM Editor In Depth - Part 2 
 
Compressing and Archiving Files and Directories (tar gzip) 
 
Hard Links and the Inode Structure 
 
Working With Symlinks. Symlinks vs. Hard Links 
 
Quiz for Hard and Symlinks 
 
Understanding passwd and shadow files 
 
Understanding Linux Groups (groups id) 
 
Creating User Accounts (useradd) 
 
Changing and Removing User Accounts (usermod userdel) 
 
Group Management (groupadd groupdel groupmod) 
 
User Account Monitoring (whoami who am i who id w uptime last) 
 
Commands - Account Management 
 
Quiz for Accounts Management 
 
Understanding File Permissions 
 
Octal (Numeric) Notation of File Permissions 
 
Changing File Permissions (chmod) 
 
The Effect of Permissions on Directories 
 
Combining Find and Chmod Commands Together 
 
Changing File Ownership (chown chgrp) 
 
Understanding SUID (Set User ID) 
 
Understanding SGID (Set Group ID) 
 
Understanding the Sticky Bit 
 
Understanding Files Attributes (lsattr chattr) 
 
Commands - File Permissions 
 
Quiz for File Permissions 
 
Processes and The Linux Security Model 
 
Listing Processes (ps pstree) 
 
Commands - ps pstree pgrep 
 
Getting a Dynamic Real-Time View of the Running System (top htop) 
 
Signals and Killing Processes (kill pkill killall pidof) 
 
Foreground and Background Processes 
 
Commands - kill pkill killall jobs fg bg nohup 
 
Quiz for Process Management 
 
Getting Information about the Network Interfaces (ip ifconfig) 
 
Configuring the Network On The Fly (ifconfig ip route) 
 
Commands - ifconfig ip route 
 
Quiz for Network Interfaces 
 
Setting Up Static IP on Ubuntu (netplan) 
 
Testing and Troubleshooting Network Connectivity 
 
Securing the OpenSSH Server (sshd) 
 
Copying Files Over the Network (scp) 
 
Synchronizing Files and Directories using rsync 
 
Using rsync Over the Network 
 
Checking for Listening Ports (netstat ss lsof telnet nmap) 
 
Commands - wget netstat ss nmap 
 
Quiz for SSH scp rsync netstat 
 
Task Automation and Scheduling Using Cron (crontab) 
 
Scheduling Tasks Using Anacron (anacron) 
 
Quiz for Cron and Anacron 
 
Mounting and Unmounting File Systems (df mount umount fdisk gparted) 
 
Working With Device Files (dd) 
 
Getting System Hardware Information (lwhw lscpu lsusb lspcidmidecodehdparm) 
 
Commands - Getting Hardware Information 
 
Quiz for Getting Hardware Information 
 
Service Management (systemd and systemctl) 
 
Commands - systemd systemctl 
 
Quiz for systemd and systemctl 
 
Overview: The Big Picture 
 
Running a Linux Server in the Cloud 
 
Securing SSH with Key Authentication 
 
Diving into the DNS Protocol and Installing a DNS Server (Bind9) 
 
Setting Up the Authoritative BIND9 DNS Server 
 
Installing a Web Server (Apache2) 
 
Setting Up Virtual Hosting 
 
Securing Apache with OpenSSL and Digital Certificates 
 
Installing and Securing the MySql Server 
 
Installing a Web Application (WordPress) 
 
Intro to Bash Shell Scripting 
 
The Bash Shebang and Comments 
 
Quiz for Bash Shell Basics 
 
Special Variables and Positional Arguments 
 
Coding - Variables in Bash 
 
If Elif and Else Statements 
 
Testing Conditions For Numbers 
 
Multiple Conditions and Nested If Statements 
 
Comparing Strings in If Statements 
 
Lab: Testing Network Connections 
 
Coding - If...Elif...Else Statements 
 
Quiz for If...Elif...Else Statements 
 
Lab: Dropping a List of IP addresses Using a For Loop 
 
Variable Scope in Functions 
 
Menus in Bash. The Select Statement 
 
Lab: System Administration Script using Menus 
 
Using the Readarray Command 
 
Project: Account Creation 
 
Running a DoS Attack Without root Access (ulimit) 
 
Scanning Networks with Nmap 
 
ARP Scanning (arp-scan and netdiscover) 
 
Hacking Google Searches (Google Dorks) 
 
Using Wireshark for Packet Sniffing and Analyzing 
 
Capture Traffic Using tcpdump 
 
Introduction to Netfilter and Iptables 
 
Chain Traversal in a Nutshell 
 
Iptables Options (Flags) - Part 1 
 
Iptables Options (Flags) - Part 2 
 
Where Do We Write Iptables Rules 
 
Setting the Default Policy 
 
Intro to Stateful Firewalls (Connection Tracking) 
 
Implementing Stateful Firewalls with Iptables 
 
The ACCEPT and DROP Targets