Autoplay
Autocomplete
Previous Lesson
Complete and Continue
DevOps Bootcamp: Learn Linux & Become a Linux Sysadmin
Getting Started
DevOps Bootcamp Series: Linux System Administrator (2:05)
Course Outline (5:50)
Exercise: Meet Your Classmates and Instructor
ZTM Plugin + Understanding Your Video Player
Set Your Learning Streak Goals
Setting Up the Environment
Linux Distributions (7:26)
Installing Ubuntu in a VM (11:08)
Things to Do After Installing Ubuntu (10:16)
Ubuntu and Linux Mint Download Links (OVA Files)
Migrating to Linux (6:56)
Quiz for Setting up the Environment
Let's Have Some Fun (+ More Resources)
The Linux Terminal in Depth
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
Challenges - The Linux Terminal
The Linux Terminal
The Linux File System
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
Challenges - The Linux File System
Challenges - Paths, ls, File Timestamps and Types, Viewing Files
Challenges - cp, mv, rm, shred
Challenges - tar, ln
Challenges - locate, find
Implement a New Life System
User Accounts Management
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
Challenges - User Account Management
Challenges - User Accounts
Linux File Permissions
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)
Challenges - File Permissions
Challenges - File Permissions
Linux Process Management
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
Challenges - Linux Processes
Challenges - Linux Processes
Networking in Linux
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
Challenges - Networking in Linux
Challenges - Network Interfaces
Challenges - SSH, scp, rsync
Software Management
DPKG (Debian and Ubuntu Based Distros) (9:12)
Intro to APT (1:50)
Using APT (Advanced Package Tool) (11:59)
Quiz for dpkg and apt
Compiling Programs from Source Code vs. Package Manager (4:58)
Compiling C Programs (3:28)
Compiling Software from Source Code: Lab ProFTPD (15:35)
Challenges - Software Management
Challenges - dpkg, apt
System Administration
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)
Challenges - System Administration
Challenges - System Administration
Using AI and Natural Language to Administer Linux Systems (ChatGPT & ShellGPT)
Project Introduction (3:55)
Installing and Configuring ShellGPT (10:58)
Using ShellGPT Like a Pro (12:12)
The Chat Feature of ShellGPT (7:57)
Bash Shell Scripting
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)
Challenges - Bash Scripting
Bash Scripting Basics
Flow Control (if...elif...else) and Command Substitution
Loops in Bash: for, while
Functions and Menus in Bash
Setting Up the Environment for the Hands-On Projects
Running a Linux Server in the Cloud (7:26)
Securing SSH with Key Authentication (5:08)
DigitalOcean Referral Link, Ubuntu and CentOS Download Links (OVA Files)
Getting Started with Containers Using Podman
Introduction to Podman (5:22)
Getting Started with Podman (6:47)
Running an Nginx Server on Alpine in a Podman Container (9:23)
Diving into Pods: A Real-World Example (6:11)
Monitoring Your Pods and Containers (6:45)
Ensuring Data Persistence with Volumes (4:36)
Project #1 - Running Containerized Applications with Docker
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)
Challenges - Docker
Challenges - Docker
Project #2 - Securing and Hardening a Linux System
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)
Project #3 - Securing Internet Traffic With VPNs: WireGuard VPN
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)
Project #4: Setting Up a Web and DNS Server
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)
Challenges - DNS and WEB
Challenges - DNS and BIND
Challenges - Apache2
Project #5 - Automating Linux Administrative Tasks With Ansible
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)
Challenges - Automation with Ansible
Ansible
Bonus: IPFS - The InterPlanetary File System
What is IPFS and How It Works (9:39)
Installing IPFS on Linux (7:43)
Running an IPFS Node on Linux (6:59)
Pinning Objects (4:02)
Bonus: SSH Public Key Authentication
SSH Public Key Authentication Overview (4:25)
Generating SSH Key Pair on Windows (4:58)
Generating SSH Key Pair on Linux (3:58)
What about macOS?
Configuring SSH Public Key Authentication on Linux (11:29)
Where To Go From Here?
Thank You! (1:17)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Getting Help, Man Pages (man, type, help, apropos)
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures