Example Curriculum
Section 00 - Getting Started
Available in
days
days
after you enroll
Section 01 - Setting Up the Environment
Available in
days
days
after you enroll
Section 02 - The Linux Terminal in Depth
Available in
days
days
after you enroll
- Terminals, Consoles, Shells and Commands (9:33)
- Linux Command Structure (6:55)
- Getting Help, Man Pages (man, type, help, apropos) (11:09)
- Quiz for Getting Help in Linux
- Mastering the Terminal: The TAB Key (6:41)
- Mastering the Terminal: Keyboard Shortcuts (4:57)
- Quiz for Mastering the Terminal
- Mastering the Terminal: the Bash History (8:40)
- Running Commands Without Leaving a Trace (6:30)
- Recording the Date and Time for Each Line in History (3:01)
- root vs. non-Privileged Users. Getting root Access (sudo, su, passwd) (11:24)
- Quiz for Bash History and root Access
- Unlimited Updates
Section 03 - Challenges - The Linux Terminal
Available in
days
days
after you enroll
Section 04 - The Linux File System
Available in
days
days
after you enroll
- Intro to The Linux Files System (5:28)
- The Filesystem Hierarchy Standard ( FHS) (9:39)
- Absolute vs. Relative Paths. Walking through the File System (pwd, cd, tree) (13:10)
- Quiz for The Linux File System
- The LS Command In Depth (ls) (8:22)
- Understanding File Timestamps: atime, mtime, ctime (stat, touch, date) (9:44)
- Sorting Files by Timestamp (1:54)
- File Types in Linux (ls -F, file) (7:32)
- Quiz for LS, File Types and Timestamps
- Viewing Files - Part 1 (cat) (4:27)
- Viewing Files - Part 2 (less, more) (3:50)
- Viewing Files - Part 3 (tail, head, watch) (6:17)
- Quiz for Viewing Files
- Creating Files and Directories (touch, mkdir) (7:10)
- Copying Files and Directories (cp) (6:19)
- Moving and Renaming Files and Directories (mv) (7:46)
- Removing Files and Directories (rm, shred) (9:27)
- Quiz for mkdir, cp, mv, rm, shred
- Working With Pipes in Linux (|, wc) (8:07)
- Command Redirection (>, >>, 2> &>, cut, tee) (14:31)
- Quiz for Piping and Command Redirection
- Finding Files and Directories - Part 1 (which, plocate) (11:26)
- Finding Files and Directories - Part 2 (find) (11:43)
- Find and Exec (4:24)
- Searching for String Patterns in Text Files (grep) (12:32)
- Searching for Strings in Binary Files (strings) (3:39)
- Quiz for locate, find and grep
- Comparing Files (cmp, diff, sha256) (9:54)
- The Basics of VIM Text Editor (8:46)
- The VIM Editor In Depth - Part 1 (8:56)
- The VIM Editor In Depth - Part 2 (5:49)
- Quiz for VIM Editor
- Compressing and Archiving Files and Directories (tar, gzip) (14:15)
- Hard Links and the Inode Structure (9:29)
- Working With Symlinks. Symlinks vs. Hard Links (5:22)
- Course Check-In
Section 05 - Challenges - The Linux File System
Available in
days
days
after you enroll
Section 06 - Mastering sed and Regex in Linux
Available in
days
days
after you enroll
Section 07 - User Accounts Management
Available in
days
days
after you enroll
- Understanding /etc/passwd and /etc/shadow files (8:51)
- Understanding Linux Groups (groups, id) (4:56)
- Creating User Accounts (useradd) (8:17)
- Changing and Removing User Accounts (usermod, userdel) (6:12)
- Creating Admin Users (2:48)
- Group Management (groupadd, groupdel, groupmod) (3:36)
- User Account Monitoring (whoami, who am i, who, id, w, uptime, last) (7:21)
- Quiz for Accounts Management
Section 08 - Challenges - User Account Management
Available in
days
days
after you enroll
Section 09 - Linux File Permissions
Available in
days
days
after you enroll
- Understanding File Permissions (7:21)
- Octal (Numeric) Notation of File Permissions (5:51)
- Changing File Permissions (chmod) (8:59)
- The Effect of Permissions on Directories (7:24)
- Combining Find and Chmod Commands Together (3:30)
- Changing File Ownership (chown, chgrp) (6:54)
- Understanding SUID (Set User ID) (10:26)
- Understanding SGID (Set Group ID) (5:53)
- Understanding the Sticky Bit (5:40)
- Umask (5:11)
- Understanding Files Attributes (lsattr, chattr) (7:15)
Section 10 - Challenges - File Permissions
Available in
days
days
after you enroll
Section 11 - Linux Process Management
Available in
days
days
after you enroll
- Processes and The Linux Security Model (8:39)
- Listing Processes (ps, pstree) (12:23)
- Getting a Dynamic Real-Time View of the Running System (top, htop) (13:12)
- Signals and Killing Processes (kill, pkill, killall, pidof) (11:27)
- Foreground and Background Processes (4:37)
- Job Control (jobs, fg, bg) (7:27)
- Quiz for Process Management
Section 12 - Challenges - Linux Processes
Available in
days
days
after you enroll
Section 13 - Networking in Linux
Available in
days
days
after you enroll
- Getting Information about the Network Interfaces (ip, ifconfig) (7:20)
- Configuring the Network On The Fly (ifconfig, ip, route) (7:15)
- Quiz for Network Interfaces
- Setting Up Static IP on Ubuntu (netplan) (7:38)
- Testing and Troubleshooting Network Connectivity (9:49)
- Using SSH (8:04)
- Troubleshooting SSH (8:07)
- Securing the OpenSSH Server (sshd) (11:36)
- Copying Files Over the Network (scp) (12:01)
- Synchronizing Files and Directories using rsync (11:56)
- Using rsync Over the Network (6:51)
- Using wget (9:31)
- Checking for Listening Ports (netstat, ss, lsof, telnet, nmap) (9:37)
- Quiz for SSH, scp, rsync, netstat
Section 14 - Challenges - Networking in Linux
Available in
days
days
after you enroll
Section 15 - Software Management
Available in
days
days
after you enroll
Section 16 - Challenges - Software Management
Available in
days
days
after you enroll
Section 17 - System Administration
Available in
days
days
after you enroll
- Task Automation and Scheduling Using Cron (crontab) (14:50)
- Scheduling Tasks Using Anacron (anacron) (6:45)
- Quiz for Cron and Anacron
- Mounting and Unmounting File Systems (df, mount, umount, fdisk, gparted) (11:05)
- Working With Device Files (dd) (10:20)
- Getting System Hardware Information (lwhw, lscpu, lsusb, lspci, dmidecode, hdparm) (13:13)
- Quiz for Getting Hardware Information
- Intro to systemd (3:28)
- Service Management (systemd and systemctl) (7:05)
- Quiz for systemd and systemctl
- Exercise: Imposter Syndrome (2:55)
Section 18 - Challenges - System Administration
Available in
days
days
after you enroll
Section 19 - Using AI and Natural Language to Administer Linux Systems (ChatGPT & ShellGPT)
Available in
days
days
after you enroll
Section 20 - Bash Shell Scripting
Available in
days
days
after you enroll
- Bash Shell Scripting Examples
- Bash Aliases (7:09)
- Intro to Bash Shell Scripting (7:33)
- The Bash Shebang and Comments (5:50)
- Running Scripts (3:50)
- Quiz for Bash Shell Basics
- Variables in Bash (10:48)
- Environment Variables (7:24)
- Getting User Input (5:12)
- Special Variables and Positional Arguments (8:28)
- Quiz for Bash Variables
- If, Elif and Else Statements (9:24)
- Testing Conditions For Numbers (3:12)
- Multiple Conditions and Nested If Statements (6:12)
- Command Substitution (5:58)
- Comparing Strings in If Statements (8:53)
- Lab: Testing Network Connections (4:26)
- Quiz for If...Elif...Else Statements
- For Loops (8:09)
- Lab: Dropping a List of IP addresses Using a For Loop (4:26)
- While Loops (9:42)
- Quiz for Loops
- Case Statement (9:18)
- Functions in Bash (7:56)
- Variable Scope in Functions (2:58)
- Menus in Bash. The Select Statement (5:52)
- Lab: System Administration Script using Menus (10:03)
Section 21 - Challenges - Bash Scripting
Available in
days
days
after you enroll
Section 22 - Setting Up the Environment for the Hands-On Projects
Available in
days
days
after you enroll
Section 23 - Getting Started with Containers Using Podman
Available in
days
days
after you enroll
Section 24 - Project #1: Running Containerized Applications with Docker
Available in
days
days
after you enroll
- Project Overview (5:31)
- What is Docker? Why use it? (4:58)
- Installing Docker (8:10)
- The Docker Client (3:57)
- Pulling Images and Running Containers (11:13)
- Lab: Running a Web Server in a Docker Container (5:03)
- Listing Images and Containers (4:19)
- Removing Images and Containers (8:11)
- Getting Shell Access to a Container (6:23)
- Executing Commands in a Running Container (3:13)
- Getting Information about the Running Containers (6:31)
- Committing Container Changes into a New Image (6:25)
- Tagging and Pushing Custom Images to Docker Hub (4:47)
- Image Structure and Layers (4:27)
- Creating Custom Images using Dockerfile (10:52)
- Persistent Data: Volumes (5:02)
Section 25 - Challenges: Docker
Available in
days
days
after you enroll
Section 26 - Project #2: Securing and Hardening a Linux System
Available in
days
days
after you enroll
- Project Overview (2:21)
- Linux Security Checklist (5:48)
- Securing the OpenSSH Server (sshd) (11:36)
- Securing the Boot Loader (Grub) (6:11)
- Enforcing Password Policy (9:11)
- Locking or Disabling User Accounts (6:55)
- Giving Limited root Privileges (sudoers and visudo) - Part 1 (6:36)
- Giving Limited root Privileges (sudoers and visudo) - Part 2 (9:20)
- Setting Users’ Limits (Running a DoS Attack Without root Access) (5:44)
- Intro to Cracking Passwords (4:14)
- Cracking Linux Passwords using John The Ripper (7:47)
- Checking Files Integrity with AIDE - Part 1 (11:32)
- Checking Files Integrity with AIDE - Part 2 (4:36)
- Scanning for Rootkits (rkhunter and chkrootkit) (8:57)
- Scanning for Viruses with ClamAV (10:38)
- Full Disk Encryption Using dm-crypt and LUKS (12:12)
- Unlocking LUKS Encrypted Drives With A Keyfile (4:20)
- Symmetric Encryption Using GnuPG (9:45)
- Steganography Explained (10:02)
- Steganography In Depth (7:17)
- Hide Secret Messages Through Steganography with Steghide (9:07)
- Scanning Networks with Nmap (9:39)
- Nmap Advanced (9:24)
Section 27 - Project #3: Securing Internet Traffic With VPNs: WireGuard VPN
Available in
days
days
after you enroll
- Securing Your Internet Traffic Using a VPN (3:51)
- Introduction to WireGuard VPN (3:29)
- Environment Setup and Installing WireGuard VPN on Linux (4:09)
- Configuring the WireGuard VPN Server (Linux) (9:42)
- Configuring the WireGuard VPN Client (Linux) (4:26)
- Starting, Testing, and Troubleshooting WireGuard VPN (6:48)
- Forcing All Traffic From the Client to Go Through the VPN - Part 1 (10:33)
- Forcing All Traffic From the Client to Go Through the VPN - Part 2 (8:19)
- Installing and Setting Up the WireGuard VPN Client on Windows (11:50)
Section 28 - Project #4: Setting Up a Web and DNS Server
Available in
days
days
after you enroll
- Project Overview: The Big Picture (2:58)
- Getting a Domain Name (13:23)
- Diving into the DNS Protocol and Installing a DNS Server (BIND9) (10:21)
- Setting Up the Authoritative BIND9 DNS Server (15:00)
- Installing a Web Server (Apache2) (3:30)
- Setting Up Virtual Hosting (11:00)
- Securing Apache with OpenSSL and Digital Certificates (9:21)
- Access Control by Source IP Address (8:08)
- The 'Files' Directive (8:24)
- The .htaccess File (7:52)
- HTTP Digest Authentication (6:25)
- The Options Directive and Indexing (13:40)
- HTTP Compression (5:56)
- SetHandler and Server Status (5:05)
- Installing PHP (3:13)
- Installing and Securing the MySql Server (4:51)
- Installing phpMyAdmin (9:22)
- Securing phpMyAdmin (4:05)
- Installing a Web Application (WordPress) (8:58)
- Securing WordPress (5:14)
Section 29 - Challenges - DNS and WEB
Available in
days
days
after you enroll
Section 30 - Project #5: Automating Linux Administrative Tasks With Ansible
Available in
days
days
after you enroll
- Intro to Ansible (3:24)
- Prerequisites (2:19)
- Ansible Inventory File (12:01)
- Ansible Ad-Hoc Commands: The Shell Module (5:55)
- Ansible Ad-Hoc Commands: The Script Module (4:18)
- Ansible Ad-Hoc Commands: The APT Module (5:28)
- Ansible Ad-Hoc Commands: The Service Module (3:34)
- Ansible Ad-Hoc Commands: The User Module (5:32)
Section 31 - Challenges: Automation with Ansible
Available in
days
days
after you enroll
Section 32 - Bonus: IPFS - The InterPlanetary File System
Available in
days
days
after you enroll
Section 33 - Bonus: SSH Public Key Authentication
Available in
days
days
after you enroll
Section 34 - Where To Go From Here?
Available in
days
days
after you enroll