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
Loops in Bash: for, while
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