Description

3 credit/unit hours – Three hours of lecture weekly; one term

This course provides students with the fundamental concepts of system administration using the Linux operating system. The course is designed to help students prepare for professional careers in the information and communication technology (ICT) field. It also helps prepare individuals seeking to pass the Computing Technology Industry Association’s (CompTIA) Linux+ certification exam (XK0-004).

Learning Objectives

Upon completion of this course the student will be able to:

  • Customize and utilize both GUI (Graphical User Interface) and CLI (Command Line Interface);
  • Set general and advance permissions on files and directories;
  • Use filename generation standards and best practices;
  • Use pipes and redirection along with input output helper commands;
  • Control processes locally and remotely via the network;
  • Manage user accounts and groups;
  • Maintain system time and logging;
  • Manage server services (e.g., SMTP);
  • Manage printers and printing;
  • Work with shells, manage data, and implement basic shell scripts;
  • Automate system administration tasks by scheduling jobs;
  • Customize basic and advanced networking and software management;
  • Utilize command line search, utilities, file system management, and configuration modification
  • Install and configure a workstation (including X) and connect it to a LAN;
  • Work with Internet protocols;
  • Setup host security; and
  • Secure data using encryption

Main Topics

1.0 Hardware and System Configuration:

  • Linux boot process concepts:
    • Boot loaders
    • Boot options
    • File locations
    • Boot modules and files
    • Kernel panic
  • Install, Configure, and Monitor Kernel Modules:
    • Commands
    • Locations
  • Install, Configure, and Verify Network Connection Parameters:
    • Diagnostic tools
    • Configuration files
    • Bonding
  • Manage Storage in a Linux Environment:
    • Basic partitions
    • File system hierarchy
    • Device mapper
    • Tools
    • Location
    • File system types
  • Cloud and Virtualization Concepts and Technologies:
    • Templates
    • Bootstrapping
    • Storage
    • Network considerations
    • Types of Hypervisors
    • Tools
  • Configure Localization Options:
    • File locations
    • Commands
    • Environment variables
    • Character sets

2.0 System Operation and Maintenance:

  • Conduct Software Installations, Configurations, Updates and Removals:
    • Package types
    • Installation tools
    • Build tools
    • Repositories
    • Acquisition commands
  • Manage Users and Groups:
    • Creation
    • Modification
    • Deletion
    • Queries
    • Quotas
    • Profiles
    • Important files and file contents
  • Create, Modify, and Redirect Files:
    • Text editors
    • File readers
    • Output redirection
    • Text processing
    • File and directory operations
  • Manage Services:
    • systemd management
    • SysVinit
  • Summarize and Explain Server Roles:
    • NTP
    • SSH
    • Web
    • Certificate Authority
    • Name Server
    • DHCP
    • SNMP
    • File servers
    • Authentication server
    • Proxy
    • Logging
    • Containers
    • VPN
    • Monitoring
    • Database
    • Print server
    • Mail server
    • Load balancer
    • Clustering
  • Automate and Schedule Jobs:
    • cron
    • at
    • crontab
    • fg
    • bg
    • &
    • Kill
    • Ctrl+c
    • Ctrl+z
    • Nohup
  • Explain the Use and Operation of Linux Devices:
    • Types of devices
    • Monitoring and configuration tools
    • File locations
    • Hot pluggable devices
  • Compare and Contrast Linux Graphical User Interfaces:
    • Servers
    • GUI
    • Remote desktop
    • Console redirection
    • Accessibility

3.0 Security:

  • Apply or Acquire the Appropriate User and/or Group Permissions and Ownership:
    • File and directory permissions
    • Context-based permissions
    • Privilege escalation
    • User types
  • Configure and Implement Appropriate Access and Authentication Methods:
    • PAM
    • SSH
    • TTYs
    • PTYs
    • PKI
    • VPN as a client
  • Summarize Security Best Practices in a Linux Environment:
    • Boot security
    • Additional authentication methods
    • Importance of disabling root login via SSH
    • Password-less login
    • Chroot jail services
    • No shared IDs
    • Importance of denying hosts
    • Separation of OS data from application data
    • Change default ports
    • Importance of disabling or uninstalling unused and unsecure services
    • Importance of enabling SSl/TLS
    • Importance of enabling auditd
    • CVE monitoring
    • Discouraging use of USB devices
    • Disk encryption
    • Restrict cron access
    • Disable Ctl+Alt+Del
    • Add banner
    • MOTD
  • Implement Logging Services:
    • Key file locations
    • Log management
    • lastb
  • Implement and Configure Linux Firewalls:
    • Access control lists
    • Technologies
    • IP forwarding
    • Dynamic rule sets
    • Common application firewall configurations
  • Backup, Restore, and Compress Files:
    • Archive and restore utilities
    • Compression
    • Backup types
    • Off-site/off-system storage
    • Integrity checks

4.0 Linux Troubleshooting and Diagnostics:

  • Analyze System Properties and Remediate Accordingly:
    • Network monitoring and configuration
    • Storage monitoring and configuration
    • CPU monitoring and configuration
    • Memory monitoring and configuration
    • Lost root password
  • Analyze System Processes in Order to Optimize Performance:
    • Process management
  • Analyze and Troubleshoot User Issues:
    • Permissions
    • Access
    • Authentication
    • File creation
    • Insufficient privileges for authorization
    • Environment and shell issues
  • Analyze and Troubleshoot Application and Hardware Issues:
    • SELinux context violations
    • Storage
    • Firewall
    • Permission
    • Dependencies
    • Troubleshooting additional hardware issues

5.0 Automation and Scripting:

  • Deploy and Execute basic BASH Scripts:
    • Shell environment and shell variables
    • #!/bin/bash
    • Sourcing scripts
    • Directory and file permissions
    • Extensions
    • Commenting
    • File globbing
    • Shell expansions
    • Redirection and piping
    • Exit codes
    • Metacharacters
    • Positional parameters
    • Looping constructs
    • Conditional statements
    • Escaping characters
  • Carry Out Version Control Using Git:
    • Arguments
    • Files
  • Summarize Orchestration Processes and Concepts:
    • Agent
    • Agentless
    • Procedures
    • Attributes
    • Infrastructure automation
    • Infrastructure as code
    • Inventory
    • Automated configuration management
    • Build automation