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