Example Curriculum
Available in
days
days
after you enroll
Available in
days
days
after you enroll
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
Available in
days
days
after you enroll
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
Available in
days
days
after you enroll
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
Available in
days
days
after you enroll
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)
Available in
days
days
after you enroll
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
Available in
days
days
after you enroll
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
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
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)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
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)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
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)
Available in
days
days
after you enroll
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)
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)
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)
Available in
days
days
after you enroll
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)
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll
Available in
days
days
after you enroll