About the course
This comprehensive 4-day training course is designed for individuals with existing basic Linux knowledge and scripting experience who wish to build in-depth administration skills. It covers the essential concepts, tools, and practices needed to effectively manage, maintain, and secure Linux systems in professional environments, from small servers to large-scale infrastructure.
You will dive deep into core administration areas including detailed filesystem management, understanding permissions (including ACLs and special permissions), and robust package management - with your choice of using apt for Debian/Ubuntu and dnf/yum for RHEL/CentOS/Fedora.
The course provides extensive coverage of user, group, and process management, leveraging systemd for controlling services, and configuring secure administrative access with sudo. Essential networking configuration, deep-dive storage management (including disk partitioning and LVM), and crucial system security topics like firewalls (UFW, firewalld/iptables), basic SELinux/AppArmor, and effective logging with systemd-journald and logrotate are covered with ample hands-on practice.
The workshop also focuses heavily on automation through advanced Bash scripting and task scheduling with cron and systemd timers, with an introduction to configuration management concepts. Significant hands-on labs throughout the four days provide practical experience in configuration, troubleshooting, and applying learned concepts. By the end of the course, you will have the comprehensive knowledge and practical skills to confidently administer, troubleshoot, and secure Linux systems in a professional capacity.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand the roles of a Linux administrator and key differences between major distributions.
- Manage the Linux filesystem hierarchy, permissions (including ACLs), and configure persistent mounts.
- Perform comprehensive package management using apt and dnf/yum on different distributions.
- Create, modify, and manage user and group accounts and configure sudo access securely.
- Monitor and manage processes and services using systemd.
- Configure network interfaces, troubleshoot networking issues, and secure SSH access.
- Manage disk storage using partitioning and Logical Volume Management (LVM).
- Configure firewalls (UFW, firewalld/iptables) and understand basic SELinux/AppArmor concepts.
- Manage system logging (systemd-journald, journalctl, logrotate) and perform basic log analysis.
- Write and schedule Bash scripts for system automation using cron and systemd timers.
- Apply general troubleshooting methodology to diagnose system issues.
- Understand the concepts of configuration management tools.
- Understand the basics of virtualisation and containers (if covered in optional modules).
-
This comprehensive 4-day course is designed for individuals with existing basic Linux command line and shell scripting experience who need to develop strong Linux administration skills. It is ideal for:
Aspiring Linux System Administrators
IT Professionals transitioning to Linux environments
Developers and DevOps Engineers needing deeper Linux knowledge for server management
Anyone responsible for managing, maintaining, or securing Linux servers in a professional capacity.
-
Participants should have attended our Linux Intro and Bash Shell Scripting training courses or have equivalent experience:
Working knowledge of Linux command line basics (navigating the filesystem, using essential commands).
Experience with basic Shell Scripting (writing and executing simple scripts).
Familiarity with common text editors (e.g., nano, vim).
No prior experience with Linux system administration tasks is required, as the course builds from foundational concepts.
-
This Linux admin course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Foundations, Filesystem, and Package Management
Introduction to Linux Administration & Essentials
The Role and Responsibilities of a Linux Administrator in modern IT environments.
Overview of Major Linux Distribution Families (e.g., Red Hat/CentOS/Fedora and Debian/Ubuntu): Understanding key differences relevant to administration (package managers, service management).
Choosing the Right Distribution for specific tasks and environments.
Command Line Essentials Refresher: Advanced navigation, effective use of man pages, powerful text processing with grep, awk, sed for admin tasks.
Users, Groups, and File Permissions Refresher.
Linux Filesystem and Permissions Deep Dive
The Filesystem Hierarchy Standard (FHS) in detail: Understanding the purpose of key directories (/etc, /var, /opt, /usr, /proc, /sys, etc.).
Common Filesystem Types (e.g., ext4, XFS): Features, benefits, and use cases.
Mounting and Unmounting Filesystems: Manual mounting, configuring persistent mounts via /etc/fstab, understanding mount options.
File and Directory Permissions: Detailed review of rwx permissions, ownership (chown, chgrp), and special permissions (SUID, SGID, Sticky Bit) and their security implications.
Access Control Lists (ACLs): Implementing more granular permissions beyond standard UGO permissions.
Hands-On Lab: Extensive practice navigating the filesystem, setting standard and special permissions, configuring fstab, implementing and managing ACLs.
Package Management, Users, and Processes
Package Management - Installing and Managing Software
Introduction to Package Management Concepts: Repositories, Dependencies, Package Formats (.deb, .rpm).
Using apt (Debian/Ubuntu): Searching, Installing, Updating, Upgrading, Removing Packages; Managing software repositories and sources.
Using yum / dnf (RHEL/CentOS/Fedora): Searching, Installing, Updating, Removing Packages; Managing repositories and modules.
Resolving and Handling Dependencies.
Managing Software Updates, Security Patches, and Version Pinning.
Handling Package Conflicts and Errors.
Hands-On Lab: Performing comprehensive package operations using both apt and dnf, adding/removing repositories, managing updates.
User, Group, and Process Management
User and Group Management:
Creating, Modifying, and Deleting User Accounts and Groups from the command line.
Managing User Passwords and Account Aging Policies.
Understanding User and Group IDs (UIDs, GIDs).
Configuring Secure Administrative Access with sudo: Understanding the /etc/sudoers file and granting specific privileges.
Process Management:
Monitoring Processes and System Load (ps, top, htop, uptime).
Managing Processes (sending signals like kill, killall, changing priority nice/renice).
Introduction to systemd: The standard for managing services and processes.
Managing Services with systemctl (starting, stopping, restarting, enabling, disabling, checking status).
Analysing system state and troubleshooting services with systemd.
Hands-On Lab: Creating and managing users/groups, configuring sudo access, monitoring and managing processes and systemd services.
Networking and Storage Administration
Networking Configuration and Troubleshooting
Network Interface Configuration: Configuring static IP addresses, DHCP, network aliases using modern tools (ip, nmcli).
DNS Configuration: Client-side name resolution (/etc/resolv.conf), understanding DNS lookup process.
Hostname Management.
Essential Network Troubleshooting Tools (ping, traceroute, netstat / ss, nmtui, ip a, ip r, dig, host).
Configuring and Securing SSH:
SSH Client configuration and best practices.
SSH Server configuration (sshd_config hardening).
Key-based Authentication setup and management.
Basic Network Services Configuration: Configuring the system as an NTP client for time synchronisation.
Hands-On Lab: Configuring network interfaces, troubleshooting connectivity issues, securing SSH access with key pairs.
Storage Management Deep Dive
Disk Partitioning: Using command-line tools (fdisk or parted) to create and manage partitions.
Understanding Logical Volume Management (LVM):
Concepts: Physical Volumes (PVs), Volume Groups (VGs), Logical Volumes (LVs).
Creating, Resizing (Extending and Reducing), and Managing Logical Volumes.
Filesystem Creation and Integrity Checks (mkfs, fsck).
Mounting Filesystems (Manual and persistent via /etc/fstab).
Monitoring Disk Usage (df, du) and Performance (iostat, vmstat).
Troubleshooting Common Storage Issues.
Hands-On Lab: Partitioning disks, setting up LVM from scratch, creating/resizing logical volumes, managing filesystems, monitoring disk space.
Security, Automation, and Maintenance
System Security and Logging
Introduction to Linux Security Principles: Principle of Least Privilege, Attack Surface Reduction.
Firewall Configuration:
Using UFW (Uncomplicated Firewall) for simpler firewall management.
Using firewalld or iptables for more complex rule sets.
SELinux / AppArmor Basics: Understanding Mandatory Access Control concepts, common modes, and basic troubleshooting steps.
System Logging Architecture:
systemd-journald: The modern logging daemon, using journalctl for querying and filtering logs.
Traditional Syslog (rsyslog / syslog-ng): Configuration basics.
Log Rotation (logrotate): Configuring and managing log files.
Basic Log Analysis using command-line tools (grep, awk, sed).
Basic System Hardening Steps (e.g., disabling unnecessary services, keeping software updated, physically securing servers).
Hands-On Lab: Configuring firewalls, querying and analysing logs, setting up log rotation, implementing basic hardening.
Automation, Scripting, and Course Wrap-up
Bash Scripting for Administration: Applying scripting knowledge to automate common administrative tasks (e.g., backups, monitoring checks, user management scripts - more complex examples).
Task Scheduling:
Using cron for recurring tasks and different cron configurations.
systemd Timers: Using systemd unit files for scheduled tasks as an alternative to cron.
Introduction to Configuration Management Concepts: (Brief overview of tools like Ansible, Puppet, Chef and their role in automating fleet management).
General Linux Troubleshooting Methodology: A systematic approach to diagnosing and resolving system issues.
Basic Performance Monitoring: Using tools to identify performance bottlenecks (CPU, Memory, Disk I/O, Network).
Optional Topics Overview: Introduction to Virtualisation and Containers (Overview of VMs, Docker basics - as per your original optional section).
Final Project Discussion / Introduction: Planning and initial steps for the optional final project (if applicable to the course structure).
Course Review, Q&A, and Next Steps for Continued Learning.
Hands-On Lab: Writing and scheduling more complex scripts, using systemd timers, general troubleshooting exercises.
-
The Linux Documentation Project (TLDP) - https://www.tldp.org/
Red Hat Enterprise Linux Documentation - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
Debian Documentation - https://www.debian.org/doc/
Ubuntu Documentation - https://www.google.com/search?q=https://ubuntu.com/documentation
Online man pages (e.g., manpages.ubuntu.com or search for specific commands)
systemd Documentation - https://www.freedesktop.org/wiki/Software/systemd/
Trusted by



