Linux System Administration in 21 Days
Linux Systems Administrators, who work on Linux operating systems, configure, implement, and deploy systems and take care of security issues, besides managing system backups and adding and removing users. They will be part of a team that handles daily tickets and devises and implements technology solutions.
They need to be good team players with excellent communication skills. Linux Systems Administrators also need to have an analytical bent of mind and competent problem-solving skills.
Course Objectives
- Understand and use essential tools
-
- Access a shell prompt and issue commands with correct syntax
- Use input-output redirection (>, >>, |, 2>, etc.)
- Use grep and regular expressions to analyze text
- Access remote systems using SSH
- Log in and switch users in multiuser targets
- Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2
- Create and edit text files
- Create, delete, copy, and move files and directories
- Create hard and soft links
- List, set, and change standard ugo/rwx permissions
- Locate, read, and use system documentation including man, info, and files in /usr/share/doc
- Create simple shell scripts
-
- Conditionally execute code (use of: if, test, [], etc.)
- Use Looping constructs (for, etc.) to process file, command line input
- Process script inputs ($1, $2, etc.)
- Processing output of shell commands within a script
- Processing shell command exit codes
- Operate running systems
-
- Boot, reboot, and shut down a system normally
- Boot systems into different targets manually
- Interrupt the boot process in order to gain access to a system
- Identify CPU/memory intensive processes and kill processes
- Adjust process scheduling
- Manage tuning profiles
- Locate and interpret system log files and journals
- Preserve system journals
- Start, stop, and check the status of network services
- Securely transfer files between systems
- Configure local storage
-
- List, create, delete partitions on MBR and GPT disks
- Create and remove physical volumes
- Assign physical volumes to volume groups
- Create and delete logical volumes
- Configure systems to mount file systems at boot by universally unique ID (UUID) or label
- Add new partitions and logical volumes, and swap to a system non-destructively
- Create and configure file systems
-
- Create, mount, unmount, and use vfat, ext4, and xfs file systems
- Mount and unmount network file systems using NFS
- Extend existing logical volumes
- Create and configure set-GID directories for collaboration
- Configure disk compression
- Manage layered storage
- Diagnose and correct file permission problems
- Deploy, configure, and maintain systems
-
- Schedule tasks using at and cron
- Start and stop services and configure services to start automatically at boot
- Configure systems to boot into a specific target automatically
- Configure time service clients
- Install and update software packages from a remote repository, or from the local file system
- Work with package module streams
- Modify the system bootloader
- Manage basic networking
-
- Configure IPv4 and IPv6 addresses
- Configure hostname resolution
- Configure network services to start automatically at boot
- Restrict network access using firewall-cmd/firewall
- Manage users and groups
-
- Create, delete, and modify local user accounts
- Change passwords and adjust password aging for local user accounts
- Create, delete, and modify local groups and group memberships
- Configure superuser access
- Manage security
-
- Configure firewall settings using firewall-cmd/firewalld
- Create and use file access control lists
- Configure key-based authentication for SSH
- Set enforcing and permissive modes for SELinux
- List and identify SELinux file and process context
- Restore default file contexts
- Use boolean settings to modify system SELinux settings
- Diagnose and address routine SELinux policy violations
- Manage containers
-
- Find and retrieve container images from a remote registry
- Inspect container images
- Perform container management using commands such as podman and skopeo
- Perform basic container management such as running, starting, stopping, and listing running containers
- Run a service inside a container
- Configure a container to start automatically as a systemd service
- Attach persistent storage to a container
Target Audience
- System Engineer
- IT Professionals
Course Pre-Requisites :
- Operating System Concepts
- Networking Fundamental
- Computer Hardware Concepts
- TCP/IP Protocols
Course Summary
Course Fee
৳ 12,000
Training Method
Offline/Online
Total Modules
21
Course Duration
52 Hours
Total Session
21
Class Duration
2 Hours
Details Course Outlines
Day 1
Introduction to UNIX & LINUX
- Introduction to Operating Systems
- Parts of Operating System
- Kernel, Shell & File
- History of UNIX and LINUX
- Linux and GNU Project
- Basic Concepts of Linux
- Identification of various Linux distributors
- Working with Linux Distributions
Day 2
Preparing Linux Installation & Lab Setup
- Planning a Linux Installation
- System Requirements & Capabilities
- Download Linux Stream 9 OS
- Preparing Installation Media (DVD/ISO/USB)
- Linux Installation Method (MBR & GPT)
- Required Partitions for Linux Installation
- Linux Lab Setup Concept (Virtual & Physical)
- Building home Lab using VMware Workstation
Day 3
Linux Installations & Basic Configure
- Introduction to VMware Workstation
- Introduction Virtualization Technology
- Create VM on VMware Workstation for Linux
- Installation of Linux on VMware Workstation
- Install Linux instance of AWS cloud
- Configure BIOS/UEFI options for OS booting
- Details discussion about OS booting options
- Details discussion about Installation Summary
- Linux Installation Method (MBR and GPT)
- Configure Post installation on Linux
Day 04
Getting started with Linux
- The GNOME Desktop Environment
- Working with terminal and command console
- Introduction to Linux shells and terminal
- Linux Virtual Console/Terminal
- Logging remote system through SSH
- Logging web interface using cockpit
- Linux Command Syntax, Options, Argument
- Examples of Simple Commands
- Powering Off, Reboot and Logout System
- Linux Directory & File System introduction
- Navigating Linux Directory Paths
- Command-line File & Directory Management
- Files & Directory handling commands
Day 05
Linux Text Processing Tools
- Standard Input, Output and Error Concept
- Redirecting Output to a File
- Constructing and Using Pipelines
- Working with tail, head, cat, less, wc, echo
- Working with Regular Expressions 'grep'
- Familiar with Linux 'find', ' and 'locate'
- Documentation for Commands
Day 06
Linux Text Editors
- Why need text editor
- Different types of text editors
- Introduction to 'vi/vim' and 'gedit'
- Linux Text Editor Utilities (vim, gedit, nano)
- Working with Different 'vi/vim' Modes
- Editing, Replacing, Searching with 'vi/vim'
- Working with ‘vim’ advanced features
Day 07
User and Group Administration
- Users and Groups Introduction
- Linux User Types and Database
- Primary Groups and Supplementary Groups
- Gaining Super user Access
- Running commands as root with SUDO
- Managing Local User Accounts
- Managing Local Group Accounts
- Managing User Passwords
- Managing User's Password Aging
Day 08
Linux File Permissions and ACL
- Explore Linux File & Directory Types
- Linux standard file permissions
- Hard Link and Soft Link concepts
- Viewing File/Directory Permission and Ownership
- Linux User, Group and Other permission Concept
- Set permission using read, write and execute
- Linux Special Permissions SUID, SGID, Sticky bit
- Securing Files with ACLs
- Creating, modifying and deleting ACL’s
Day 09
Linux Boot, Process and Services
- Step by step Linux booting procedures
- Explain and Controlling the Boot Process
- Working with GRUB2 Boot loader
- Working with Linux Kernel (CentOS)
- Update Linux Kernel (CentOS)
- Introducing Linux Systemd
- Controlling Linux daemon & Services
- Enabling/Disabling System Daemons at boot
- Recovering Root Password
- Linux process management introduction
- Parent processes and child processes
- System process and user processes
- Details explain of "TOP" command
- Graphical process monitoring system
- Background and Foreground Processes
- Controlling jobs using ‘bg’, ‘fg’, ‘ctrl+z’, ‘ctrl+c’
- Monitoring & Killing Process Activities
- Process priority and 'nice' concepts
- Managing priority of Linux Process
Day 10
Linux File Systems Management
- Identifying File Systems and Devices
- Understanding Linux file systems
- Managing MBR Partitions with 'fdisk'
- Managing GPT Partitions with 'gdisk'
- Creating File System (xfs, ext4, swap)
- Mount Points and ‘/etc/fstab’ - Details
- Mounting and Un-mounting File Systems
- Working with USB, DVD, ISO Devices
Day 11
Linux LVM & Swap Management
- Limitation of Standard Partitions
- Importance of Logical Volume Management (LVM)
- Preparing storage partitions for LVM
- Creating Physical volumes (PV)
- Creating Volume Group (VG)
- Creating Logical Volume (LV)
- Extend Volume Group (VG)
- Extend Logical Volumes
- Resizing Logical Volumes
- Remove Logical Volumes
- Why need swap partition
- Create additional ‘swap’ space
Day 12
Linux Network Management
- Describing Networking Concepts
- Describe Network Interface Names
- Validate Network Configuration
- Working with NetworkManager Services
- Configure Networking using ‘nmcli’ & ‘nmtui’
- Edit Network Configuration Files
- Configuring Host Name and Name Resolution
- Managing Networking Environment
Day 13
Linux Package Management System
- The Linux Package Management system
- Explain and Investigate RPM Packages
- RPM Install, Queries and verifying
- Dependency problems and Resolution
- Concept of RPM Repositories
- Configure DVD/ISO Local repository
- Packages Install and Remove using DNF
- Use CentOS public repositories
- Enable Third-party Software Repositories (EPEL)
Day 14
Configuring OpenSSH Service
- What is the Secure Shell (SSH)?
- How SSH (Secure Shell) works?
- SSH Host Keyes (Public and Private)
- Configuring SSH Key-based Authentication
- Password less SSH Login
- Customizing SSH Service Configuration
- Restricting SSH Logins (root)
- Putty and Open SSH Clients
- Secure Copy Through 'scp'
Day 15
Managing Network Security (Firewalld)
- Introduction to Firewall Technologies
- Netfilter and Firewalld concepts
- Network based and Host based firewall
- Introducing Linux ‘firewalld’
- Working with ‘firewalld’ zones
- Managing & configure ‘firewalld’ service
- IP, ICMP, Port, Service Filtering using ‘firewalld’
Day 16
SELinux Security
- Introducing SELinux Security
- Explanation of SELinux Modes
- Set enforcing and permissive modes for SELinux
- List and identify SELinux file and process context
- Restore default file contexts
- Manage SELinux port Labels
- Working with SELinux Boolean
- Diagnose & address routine SELinux policy violations
Day 17
Access NFS Share and Auto Mount
- Network File System (NFS) Introduction
- Install and Configure NFS Server
- Create Share for Public & Private Access
- Setup an NFS server and export directories
- Allow NFS Share through Firewalld
- Review /etc/exports parameters and options
- NFS Client Configuration to access NFS Share
- Mount and unmount network file systems using NFS
- Configure AutoFS
Day 18
Linux Scripting with Bash
- Introduction to Shell Scripting
- Creating and Executing First Shell Script
- Working with Shell Variables
- Passing Arguments to the Bash Script
- Executing Shell Commands with Bash
- Reading User Input in Bash Shell
- Working with Bash Statement
- Bash Conditional and Control Structures
- Working with Login and Non-Login shells
- Creating user using Shell Script
Day 19
Working with Backup, Archive, Log Files
- Why need backup & Archives?
- Different types of Backup method
- Working with Compressed ‘tar’ Archive
- Compress and De-compress using ‘gz, bz2, xz’
- Transfer Files Between Systems Securely (SCP)
- Synchronize Files Between Systems (Rsync)
- Describe System Log Architecture
- Review Syslog Files & Facility
- Review System Journal Entries
- Preserve the System Journal
- Manage tuning profiles
Day 20
NTP Service & Scheduling Future Tasks
- Introduction to Chrony Suite
- Configure Chrony as a NTP Server
- Using Chronyc to control ‘chronyd’
- Administer Local clocks and Time Zones
- Configure NTP client
- Verifying NTP client is synchronized
- Introduction to Linux Scheduling
- Schedule tasks using ‘at’ and ‘cron’
- Explain Cron job file format
- Running commands at particular times
- Use shell script in cronjob
Day 21
Linux Container Technology
- Introducing Container Technology
- Why Need Container Technology
- Limitation of Virtual Machines
- Virtualization vs Container Technology
- Different types of Container Technology
- Linux Containerization using Podman
- Inspect container images
- Manage container registries
- Perform basic container management
- Run a service inside a container
- Build a container from a Container file
- Attach persistent storage to a container
- Configure a container to start automatically as a systemd service