Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Linux Administration: Build 5 Hands-On Linux Projects

via Udemy


Save Over 40% with an Annual Subscription to Udemy Personal Plan.
Learn Linux by Doing with 5 Projects: Docker, Secure Linux, Run Web and DNS Servers, Run a Mail System, Automate Linux

What you'll learn:
  • Become a professional Linux Engineer by Building 5 Hands-On Linux Projects.
  • Learn how to run containerized applications with Docker.
  • Learn to manage Docker images and containers.
  • Learn to tag and push images to Docker Hub.
  • Learn to build custom Docker images using Dockerfile.
  • Learn how to secure and harden Linux Systems.
  • You will MASTER Network Security Key Concepts (Encryption, Steganography, Reconnaissance, Iptables Firewall ...).
  • Learn to configure an authoritative DNS server (BIND9).
  • Learn to configure a Web Server (Apache2).
  • Learn to install and secure WordPress.
  • Learn to run a Mail System (Potsfix, Dovecot, MySql, OpenSSL, SMTP AUTH, Rspamd, ClamAV).
  • Acquire the skills to automate the most common Linux administrative tasks using Bash scripting and Ansible.
  • Learn to use Ansible in large Networks for Network Automation.
  • By the end of this course you will have a deep understand of the Linux operating system and be able to apply that knowledge in Real-World projects.

This practical Linux Administration course consists of Building 5 Hands-On Linux projects from scratch! It’s the 2nd part of “Linux Administration: The Complete Linux Bootcamp” and requires basic Linux knowledge. The course is not recommended for complete beginners!

This course IS NOT like any other Linux Administration course you can take online. This course is focused on learning by doing. You’ll learn what matters and you’ll get the skills to get ahead and gain an edge.

Enrolling now in this project-focused Linux Administration course is the best investment in your career!

By the end of this course, you'll have an in-depth knowledge of building real-world projects in Linux.

This course is for you if you already have some basic Linux Knowledge and want to advance and dive deeper into Linux and learn how to build projects for the real world.

You'll have access to my closed and Exclusive Online Group to provide you with improved, faster, and better support for your course-related questions.

This course is taught by me, a Senior Network Engineer and a Professional Trainer. Why should you learn from me?

  • I'm a Practitioner and an Enthusiast. Welcome to the real world! I’ve been using Linux for the last 15 years in real-world projects. I’m not just a random guy who teaches Linux Administration. Just imagine that during this time I’ve learned and applied more and more almost on a daily basis. And now I’m giving everything to you!

  • I'm an Educator and I know how to make a Syllabus. I know exactly what is important and what is not. For the last 10 years, I've trained thousands of people on Linux Administration, Security, Networking, and Programming.

  • After this course, you'll be an effective Linux System Engineer or Administrator!

You'll have lifetime access and you can return and look at a specific Linux project anytime you want. And let's not forget, if you don't like the course, you are covered by a 30-day money-back guarantee, full refund, no questions asked!

Project #1 - Running Containerized Applications with Docker

- What is Docker? Why use it?

- Installing Docker

- The Docker Client

- Pulling Images and Running Containers

- Lab: Running a Web Server in a Docker Container

- Listing Images and Containers

- Removing Images and Containers

- Getting Shell Access to a Container

- Executing Commands in a Running Container

- Getting Information about the Running Containers

- Committing Container Changes into a New Image

- Tagging and Pushing Custom Images to Docker Hub

- Image Structure and Layers

- Creating Custom Images using Dockerfile

- Persistent Data: Volumes

Project #2 - Securing and Hardening a Linux System

- Linux Security Checklist

- Securing the OpenSSH Server (sshd)

- Securing the Boot Loader (Grub)

- Enforcing Password Policy

- Locking or Disabling User Accounts

- Giving Limited root Privileges (sudoers and visudo)

- Setting Users’ Limits (Running a DoS Attack Without root Access)

- Intro to Cracking Passwords

- Cracking Linux Passwords Using John the Ripper

- Checking Files Integrity with AIDE - Part

- Scanning for Rootkits (rkhunter and chkrootkit)

- Scanning for Viruses with ClamAV

- Full Disk Encryption Using dm-crypt and LUKS

- Unlocking LUKS Encrypted Drives With A Keyfile

- Symmetric Encryption Using GnuPG

- Using an Encrypted Text Editor (EncryptPad)

- Steganography Explained

- Steganography In Depth

- Hide Secret Messages Through Steganography with Steghide

- Scanning Networks with Nmap

- Nmap Advanced

- Introduction to Linux Firewalls

- Securing Your Linux System with a Firewall (Netfilter/Iptables)

- Chains, Tables, Matches, and Targets In Depth

- Stateful Firewall In Depth

Project #3: Setting Up a Web and DNS Server

- Getting a Domain Name

- 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

- Access Control by Source IP Address

- The Directive

- The .htaccess File

- HTTP Digest Authentication

- The Options Directive and Indexing

- HTTP Compression

- SetHandler and Server Status

- Installing PHP

- Installing and Securing the MySql Server

- Installing a Web Application (WordPress)

- Securing WordPress

Project #4 - Running a Virtual Mail Server

- Overview of a Complete Virtual Mail System

- Mail and DNS: MX Records and Reverse DNS

- Checking the Prerequisites

- Installing Software Packages

- Configuring MySql and Connect it With Postfix

- Configuring Postfix Using the Postconf Command

- Configuring SMTP AUTH (SASLAUTHD and MySql)

- Configuring Dovecot (POP3/IMAP)

- Adding Domains and Virtual Users. Testing the System

- Enabling SMTPS Port 465 in Postfix For Email Submission

- Troubleshooting

- Virus Scanning Using Amavis and ClamAV

- Testing Amavis and ClamAV

- Fighting Against Spam: Postfix Access Restrictions

- Fighting Against Spam: Postfix HELO Restrictions

- Fighting Against Spam: Postfix Sender Restrictions

- Fighting Against Spam: Postfix Recipient Restrictions

- Fighting Against Spam: Using Public RBLs

- Intro to Spam Filtering Systems

- Installing Rspamd and Postfix Integration

- Configuring and Testing Rspamd

- Postfix Log Monitoring Using pflogsumm

Project #5 - Automating Linux Administrative Tasks

- Intro to Ansible

- Prerequisites

- Ansible Inventory File

- Ansible Ad-Hoc Commands: The Shell Module

- Ansible Ad-Hoc Commands: The Script Module

- Ansible Ad-Hoc Commands: The APT Module

- Task Automation and Scheduling Using Cron (crontab)

- Scheduling Tasks Using Anacron

- Dropping Packets Based on Source IP Address

- Dropping a List of IP Addresses

- System Administration Script using Bash Menus

- Intro to Ansible

- Ansible Inventory File

- Ansible Ad-Hoc Commands

- Ansible modules: raw, shell, command, script

Every project is complete and includes all the scripts and configuration files, a command section, lots of quizzes, slides, and many practice challenges.

The skills you’ll learn will boost your career and make you more valuable in the job market.

See you in the courses!

Taught by

Andrei Dumitrescu and Crystal Mind Academy


4.6 rating at Udemy based on 684 ratings

Start your review of Linux Administration: Build 5 Hands-On Linux Projects

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.