Advanced Linux Administration and
Shell Scripting Course
Advanced Linux Administration and Shell Scripting Course Content
---
Module 1: Introduction to Linux
- What is Linux?
- History and Evolution of Linux
- Open Source Philosophy
- Popular Linux Distributions and Use Cases
- Installation of Linux (Ubuntu, CentOS, RHEL)
- Introduction to Terminal and Command Line Interface
Lab:
- Install Ubuntu/CentOS in VirtualBox/VMware
- Basic terminal navigation and file exploration
---
Module 2: Linux File System Structure and File Management
- Linux Directory Hierarchy Explained
- File Types, Links (Hard & Soft), and Hidden Files
- File and Directory Permissions
- Ownership and Permission Modifications
- File Searching and Text Processing (find, grep, awk, sed)
Lab:
- Use of chmod, chown, chgrp, umask
- Create symbolic and hard links
- Practice grep, awk, and sed for log analysis
---
Module 3: User and Group Management
- User Lifecycle Management (adduser, deluser, usermod)
- Group Administration
- Password Policies and Account Expiry
- Sudoers and Delegated Admin
- PAM (Pluggable Authentication Modules)
Lab:
- Create users/groups and manage their access
- Implement password policies and user restrictions
---
Module 4: Package and Software Management
- RPM, YUM, DNF (CentOS/RHEL)
- APT, Snap, Flatpak (Debian/Ubuntu)
- Building software from source
- Managing software repositories
Lab:
- Install, remove, and update software
- Add and configure third-party repositories
---
Module 5: Disk Management and File Systems
- Understanding Disk Devices
- Partitioning Tools (fdisk, parted)
- Creating and Mounting File Systems (ext4, xfs, btrfs)
- Swap Management
- Logical Volume Management (LVM)
- Persistent Mounting with /etc/fstab
Lab:
- Create, format, and mount a new partition
- Configure LVM with volume groups and logical volumes
---
Module 6: Process and Job Management
- Process Lifecycle and Signals
- Foreground, Background, and Daemon Processes
- Scheduling with cron, at, and anacron
- systemd and service units
Lab:
- Monitor and kill processes
- Write cron jobs for periodic backups
---
Module 7: Networking in Linux
- Understanding TCP/IP Stack and OSI Model
- Network Configuration (ip, ifconfig, nmcli, netplan)
- Network Services (DHCP, DNS, NTP)
- Port and Connection Monitoring (netstat, ss, lsof)
- Network File Systems: NFS and Samba
Lab:
- Configure static and dynamic IPs
- Setup a basic DHCP and DNS client
- Mount remote directories using NFS and Samba
---
Module 8: Advanced Networking and Troubleshooting
- VLANs and Bonding
- Bridging and Routing
- iptables, firewalld, and nftables
- Packet Capturing and Analysis (tcpdump, Wireshark)
- Network Diagnostics (ping, traceroute, dig, nslookup)
Lab:
- Setup network bridges and bonded interfaces
- Create iptables rules for custom firewall policies
- Analyze traffic with tcpdump
---
Module 9: System Monitoring and Performance Tuning
- Monitoring Tools (top, htop, vmstat, iostat, sar)
- Log Files and Journaling (journalctl, rsyslog)
- Disk, Memory, and CPU Optimization Techniques
- Kernel Tuning with sysctl
Lab:
- Generate system reports with sar and top
- Configure rsyslog for remote logging
---
Module 10: Shell Scripting with Bash
- Introduction to Shell Scripting
- Variables and Operators
- Conditional Statements and Loops
- Functions and Exit Codes
- Debugging and Script Optimization
Lab:
- Write system information and health scripts
- Automate file backups and user creation
- Create a menu-driven system management script
---
Module 11: Security and Hardening
- SSH Hardening and Key-based Authentication
- Firewall and Intrusion Detection
- AppArmor and SELinux
- File Integrity Monitoring
- Securing Services and Daemons
- Security Updates and Patch Management
Lab:
- Configure key-based SSH login and disable root access
- Enable SELinux/AppArmor and define profiles
- Install and configure fail2ban
---
Module 12: Backup, Recovery and Disaster Management
- Backup Types and Strategies
- Tools: rsync, tar, dd, Bacula
- Disaster Recovery Planning
- Automated Backups with cron
Lab:
- Full and incremental backups with rsync and tar
- System restore from backups
---
Module 13: Virtualization and Containers
- Introduction to KVM, QEMU, and libvirt
- Managing Virtual Machines with virt-manager
- Introduction to Docker
- Containers vs. Virtual Machines
- Creating and Managing Docker Containers
Lab:
- Launch a virtual machine using KVM
- Create Docker containers and run custom images
---
Module 14: Linux Boot Process and Troubleshooting
- Boot Process Phases (BIOS, GRUB, Kernel, systemd)
- Common Boot Issues and Recovery
- Rescue and Emergency Modes
- Kernel Modules and Logs
Lab:
- Analyze boot logs with journalctl
- Boot into rescue mode and repair filesystem
---
Module 15: Automation and Advanced Shell Projects
- Interactive Scripting with Dialog/Whiptail
- Logging, Email Alerts, and Notifications
- Integrating with APIs via curl and jq
- Building Complete Toolkits in Bash
Project Labs:
- System Audit and Health Monitoring Script
- Real-Time Log Watcher with Email Alerts
- Interactive User and Group Management Tool
- Auto-deployment Script with Service Configuration
---
Final Project and Capstone Assignment
- Complete System Setup and Hardening
- Configure and Secure Network Services
- Implement Monitoring and Alert System
- Automate Administration Tasks with Scripts
- Documentation and Live Demonstration
---
This advanced course is designed to give learners hands-on mastery of Linux
administration, including in-depth networking, system security, and real-world scripting
projects to confidently manage and automate Linux environments in production.