Skip to content

MO-gaber23/Linux_System_Admin_course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐧 Linux Administration Course

Instructor: Mostafa Hamouda

Level: Beginner to Intermediate

Status: Active

📖 About The Course

Welcome to the Linux Administration Course repository. This curriculum is designed and taught by Mostafa Hamouda to take you from a Linux novice to a capable System Administrator.

Whether you are looking to manage servers, deploy applications, or automate tasks, this course covers the essential skills required in the modern IT infrastructure landscape (DevOps, Cloud, and On-Premise).

🎯 Learning Objectives

By the end of this course, students will be able to:

  • Install and configure Linux Enterprise systems (RHEL/CentOS/Ubuntu).

  • Master the Command Line Interface (CLI).

  • Manage users, groups, and permissions securely.

  • Configure networking, firewalls, and SSH.

  • Manage software packages and repositories.

  • Handle storage, disk partitioning, and LVM.

  • Perform basic Bash scripting and task automation.

  • Troubleshoot common system issues.

🛠 Prerequisites

To get the most out of this course, you should have:

Hardware: A computer (Windows, Mac, or Linux) with at least 8GB RAM to run Virtual Machines.

Software: VirtualBox or VMWare Workstation installed.

Mindset: A willingness to learn through trial and error!

Note: No prior Linux experience is required. We start from scratch.

📚 Course Syllabus

Module 1: Introduction & Installation

  • History of Unix/Linux.

  • The Linux Kernel vs. Distributions.

  • Setting up the Lab Environment (VirtualBox).

  • Installing Linux (Manual Partitioning vs. Automatic).

Module 2: The Command Line Interface (CLI)

  • Shell basics and syntax.

  • Navigation (cd, ls, pwd).

  • File management (cp, mv, rm, touch, mkdir).

  • Viewing file content (cat, less, head, tail).

Module 3: System Administration Basics

  • User Management: Creating users, modifying defaults, and user locking (useradd, usermod).

  • Group Management: Understanding groups and /etc/group.

  • Permissions: Symbolic vs. Numeric permissions (chmod, chown, chgrp).

  • Special Permissions: SUID, SGID, and Sticky Bit.

Module 4: Process & Service Management

  • Understanding Processes (PID, PPID).

  • Monitoring system activity (top, htop, ps).

  • Managing background/foreground jobs.

  • Systemd: Starting, stopping, and enabling services (systemctl).

Module 5: Package Management

  • RPM/YUM/DNF: Managing packages on Red Hat based systems.

  • APT/DPKG: Managing packages on Debian/Ubuntu based systems.

  • Compiling software from source (Tarballs).

Module 6: Storage Management

  • Disk partitioning (fdisk, gdisk).

  • File Systems (ext4, xfs).

  • Mounting and unmounting (mount, /etc/fstab).

  • LVM (Logical Volume Manager): Creating PVs, VGs, and LVs.

Module 7: Networking & Security

  • Network configuration (Static IP vs DHCP).

  • Hostname resolution (/etc/hosts).

  • SSH: Secure remote access and key-based authentication.

  • Firewall: Basic configuration using firewalld or ufw.

Module 8: Bash Scripting Automation

  • Shebang and script execution.

  • Variables and user input.

  • Conditional statements (if/else).

  • Loops (for, while).

  • Cron jobs and scheduling.

💻 Lab Setup

  • We will be using virtual machines for all exercises to prevent data loss on your personal computer.

  • Download the ISO image ( via official vendor site ).

  • Create a VM with 2 CPU Cores and 4GB RAM.

  • Bridge the network adapter (optional) or use NAT.

🤝 Contributing

Students are encouraged to fork this repository and submit Pull Requests if they find typos or want to add useful scripts to the community_scripts folder.

Fork the Project

Create your Feature Branch (git checkout -b feature)

Commit your Changes (git commit -m 'Add some ')

Push to the Branch (git push origin feature)

Open a Pull Request

Happy Learning!

About

This repo is for content about redhat linux system administration and engineering courses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages