Linux System Administration


Course Code: hsts-c28

Course Description

Students learn how to install, configure and maintain an Enterprise Linux system in a networked environment. Basic administrative tasks are covered such as: creating and managing users, creating and maintaining file systems, determining and implementing security measures and performing software installation and package management. Linux networking topics include installing and supporting SSH, NFS, Samba and the Apache Web server. Common security issues are discussed and several software tools are introduced such as the PAM modules that help secure the operating system and network environment. Comprehensive hands on exercises are performed throughout the course to reinforce learning and develop skills and competency. Upon successful completion of this course, students will be prepared to maintain Linux systems in a networked business environment.

Although the course includes installing and configuring a CentOS 7 / RHEL 7 Linux system, much of the course content also applies to Oracle, Ubuntu, Scientific and other current versions of mainstream Linux distributions. Labs include user and group maintenance, system backups and restoration, software management, administration tasks automation, file system creation and maintenance, managing remote access, working with cron, and configuring basic file sharing and Web services, as well as working with system logging utilities such as rsyslog and much more.

You will learn:

  • Installing the Linux operating system and configuring peripherals
  • Performing and modifying startup and shutdown processes
  • Configuring and maintaining basic networking services
  • Creating and maintaining system users and groups
  • Understanding and administering file permissions on directories and regular files
  • Planning and creating disk partitions and file systems
  • Performing maintenance on file systems
  • Identifying and managing Linux processes
  • Automating tasks with cron
  • Performing backups and restoration of files
  • Working with system log files
  • Troubleshooting system problems
  • Analyzing and taking measures to increase system performance
  • Configuring file sharing with NFS
  • Configuring Samba for file sharing with the Windows clients
  • Setting up a basic Web server
  • Understanding the components for setting up a LAMP server
  • Implementing basic security measures

Course Prerequisites

Experience with common UNIX/Linux user-level commands, such as for moving, copying and editing files. Experience with the vi editor is a plus. Attendance at the UNIX/Linux Fundamentals workshop provides a solid foundation.

Related Training and Courses

- PHP and MySQL Coding
- SQL Programming and DB Management
- Korn Shell and Bash Shell Programming
- PHP Programming Language
- Learn the Fundamentals of UNIX and Linux

Class Info

Highlights

  • 10 sessions each 1.5 hours with hands-on training led by experienced instructors
  • Digital courseware and online course tracking
  • Final course project delivery
  • Certificate of Completion for each course
  • Session-based assignment

Enrollment Fee

$29 per class hour or $390 per course

Location

  • In Person at HacDC's office (1525 Newton St, NW, Ste 212 Washington DC, 20010) located 2 blocks from the Columbia Height metro
  • Private custom training on site or at your location
  • Project based training cn site or at your location

Time

  • In Person: 9AM-3:00PM (1 hour Lunch)
  • Private custom & project based training: your preference

Software Versions

Our classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 240-200-6131

Online Registration Form

Submit below form if you wish to register to our coding classes. The courses are filled on first come, first served basis.



Course Outline

1- System Administration Overview

  • UNIX, Linux and Open Source
  • Duties of the System Administrator
  • Superusers and the Root Login
  • Sharing Superuser Privileges with Others (su and sudo Commands)
  • TCP/IP Networking Fundamentals
  • Online Help

2- Installation and Configuration

  • Planning: Hardware and Software Considerations
  • Site Planning
  • Installation Methods and Types
  • Installation Classes
  • Partitions
  • Logical Volume Manager - LVM
  • File System Overview
  • Swap Partition Considerations
  • Other Partition Considerations
  • The Linux Boot Loader: grub
  • Software Package Selection
  • Adding and Configuring Peripherals
  • Printers
  • Graphics Controllers
  • Basic Networking Configuration
  • Booting to Recovery Mode

3- Booting and Shutting Down Linux

  • Boot Sequence
  • The systemd Daemon
  • The systemctl Command
  • Targets vs. Run Levels
  • Modifying a Target
  • Service Unit Scripts
  • Changing System States
  • Booting into Rescue Mode
  • Shutdown Commands

4- Managing Software and Devices

  • Identifying Software Packages
  • Using rpm to Manage Software
  • Using yum to Manage Software
  • Installing and Removing Software
  • Identifying Devices
  • Displaying Device and System Information (PCI, USB)
  • Plug and Play Devices
  • Device Configuration Tools

5- Managing Users and Groups

  • Setting Policies
  • User File Management
  • The /etc/passwd file
  • The /etc/shadow file
  • The /etc/group file
  • The /etc/gshadow file
  • Adding Users
  • Modifying User Accounts
  • Deleting User Accounts
  • Working with Groups
  • Setting User Environments
  • Login Configuration Files

6- The Linux File System

  • Filesystem Types
  • Conventional Directory Structure
  • Mounting a File System
  • The /etc/fstab File
  • Special Files (Device Files)
  • Inodes
  • Hard File Links
  • Soft File Links
  • Creating New File Systems with mkfs
  • The lost+found Directory
  • Repairing File Systems with fsck
  • The Journaling Attribute
  • File and Disk Management Tools

7- Linux File Security

  • File Permissions
  • Directory Permissions
  • Octal Representation
  • Changing Permissions
  • Setting Default Permissions
  • Access Control Lists (ACLs)
  • The getfacl and setfacl commands
  • SUID Bit
  • SGID Bit
  • The Sticky Bit

8- Controlling Processes

  • Characteristics of Processes
  • Parent-Child Relationship
  • Examining Running Processes
  • Background Processes
  • Controlling Processes
  • Signaling Processes
  • Killing Processes
  • Automating Processes
  • cron and crontab
  • at and batch
  • System Processes (Daemons)

9- Working with the Linux Kernel

  • Linux Kernel Components
  • Types of Kernels
  • Kernel Configuration Options
  • Recompiling the Kernel

10- Shell Scripting Overview

  • Shell Script Fundamentals
  • Bash Shell Syntax Overview
  • Shell Script Examples

The following topics may be included at the discretion of your instructor.


11- System Backups

  • Backup Concepts and Strategies
  • User Backups with the tar Command
  • System Backup Options
  • The xfsdump and xfsrestore Commands

12- Troubleshooting the System

  • Common Problems and Symptoms
  • Troubleshooting Steps
  • Repairing General Boot Problems
  • Repairing the GRUB 2 Boot Loader
  • Hard Drive Problems
  • Restoring Shared Libraries
  • System Logs and rsyslogd

13- Basic Networking

  • Networking Services Overview
  • NetworkManager Introduction
  • Network Configuration Files Locations and Formats
  • Enabling and Restarting Network Services with systemtcl
  • Configuring Basic Networking Manually
  • Configuring Basic Networking with NetworkManager

14- LAMP Server Basics

  • LAMP Overview
  • Configuring the Apache Web Server
  • Common Directives
  • Apache Virtual Hosting
  • Configuring an Open Source Database
    • MySQL
    • MariaDB
  • PHP Basics
  • Perl CGI Scripting

15- Introduction to System Security

  • Security Overview
  • Maintaining System Security
  • Server Access
  • Physical Security
  • Network Security
  • Security Tools
  • Port Probing with nmap
  • Intrusion Detection and Prevention
  • PAM Security Modules
  • Scanning the System
  • Maintaining File Integrity
  • Using Firewalls
  • Introduction to firewalld

16- The Samba File Sharing Facility

  • Configure Samba for Linux to Linux/UNIX File Sharing
  • Configure Samba for Linux to Windows File Sharing
  • Use the smbclient Utility to Transfer Files
  • Mount/Connect Samba Shares to Linux and Windows Clients

17- Networked File Systems (NFS)

  • Using NFS to Access Remote File Systems
  • Configuring the NFS Server
  • Configuring the NFS Client
  • Exporting File Systems from the NFS Server to the NFS Client