Course Outline

Debian Distribution

What is Debian?

  • Choosing a Debian version
  • Debian support and help
  • Debian community engagement

Console Basics

  • The shell prompt
  • The shell prompt under X
  • The root account and root shell prompt (su, sudo, running programs as root under X)
  • GUI system administration tools
  • Virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Recovering a functional console
  • Additional package suggestions for new users
  • Creating an extra user account
  • Configuring sudo

The Filesystem

  • Filesystem permissions
  • Control of permissions for newly created files: umask
  • Permissions for groups of users (group)
  • Timestamps
  • Links
  • Named pipes (FIFOs)
  • Sockets
  • Device files
  • Special device files
  • procfs and sysfs

Midnight Commander (MC)

  • Customizing MC for government use
  • Starting MC
  • Using the file manager in MC
  • Command-line tricks in MC
  • The internal editor in MC
  • The internal viewer in MC
  • Auto-start features of MC
  • FTP virtual filesystem of MC

The Basic Unix-like Work Environment

  • The login shell for government systems
  • Customizing bash for enhanced security
  • Special key strokes for efficient navigation
  • The pager for document viewing
  • Setting a default text editor for consistency
  • Exiting vim securely
  • Recording the shell activities for audit purposes
  • Basic Unix commands for system management

The Simple Shell Command

  • Command execution and environment variables in government systems
  • The "$LANG" variable for language settings
  • The "$PATH" variable for command search paths
  • The "$HOME" variable for user directories
  • Command line options for customization
  • Shell globbing for file pattern matching
  • Return value of the command for error handling
  • Typical command sequences and shell redirection for workflow automation
  • Command aliasing for efficiency

Unix-like Text Processing

  • Unix text tools for data manipulation
  • Regular expressions for pattern matching
  • Replacement expressions for data transformation
  • Global substitution with regular expressions for bulk changes
  • Extracting data from text file tables for reporting
  • Script snippets for piping commands for complex operations

Debian Package Management

Debian Package Management Prerequisites

  • Package configuration for government systems
  • Basic precautions to ensure system integrity
  • Life with eternal upgrades and security updates
  • Basics of the Debian archive structure
  • Understanding package dependencies for seamless integration
  • The event flow of the package management process
  • First response to package management issues for quick resolution

Basic Package Management Operations

  • Using apt-get/apt-cache vs. aptitude for government systems
  • Basic package management operations with the command line for efficiency
  • Interactive use of aptitude for detailed control
  • Key bindings of aptitude for faster navigation
  • Package views under aptitude for organized management
  • Search method options with aptitude for precise queries
  • The aptitude regex formula for advanced searches
  • Dependency resolution of aptitude for conflict-free installations
  • Package activity logs for audit trails

Examples of Aptitude Operations

  • Listing packages with regex matching on package names for targeted actions
  • Browsing with the regex matching for efficient exploration
  • Purging removed packages to free up space
  • Tidying auto/manual install status for cleaner system management
  • System-wide upgrades for security and functionality updates

Advanced Package Management Operations

  • Advanced package management operations with the command line for complex tasks
  • Verification of installed package files for integrity checks
  • Safeguarding against package problems for system stability
  • Searching on the package metadata for detailed information

Debian Package Management Internals

  • Archive metadata for transparent operations
  • The top-level "Release" file and authenticity verification for security
  • Archive-level "Release" files for comprehensive data
  • Fetching of the metadata for the package for up-to-date information
  • The package state for APT for tracking installations
  • The package state for aptitude for detailed management
  • Local copies of the fetched packages for offline access
  • Debian package file names for easy identification
  • The dpkg command for low-level operations
  • The update-alternative command for managing alternatives
  • The dpkg-statoverride command for special permissions
  • The dpkg-divert command for redirection

Recovery from a Broken System

  • Incompatibility with old user configuration and resolution strategies
  • Different packages with overlapping files and conflict resolution
  • Fixing broken package scripts for system repairs
  • Rescue operations with the dpkg command for critical fixes
  • Recovering package selection data for system restoration

Tips for Package Management

  • How to pick Debian packages for government systems
  • Packages from mixed sources of archives for diverse needs
  • Tweaking candidate version for specific requirements
  • Updates and Backports for staying current
  • Automatic download and upgrade of packages for streamlined maintenance
  • Limiting download bandwidth for APT to manage resources
  • Emergency downgrading for critical situations
  • Identifying who uploaded the package for accountability
  • The equivs package for creating virtual dependencies
  • Porting a package to the stable system for compatibility
  • Proxy server for APT for secure access
  • Small public package archive for specialized needs
  • Recording and copying system configuration for backups
  • Converting or installing an alien binary package for flexibility
  • Extracting a package without dpkg for quick access
  • Further readings for in-depth knowledge of package management

The System Initialization

  • An overview of the boot process for government systems
  • BIOS, boot loader, and mini-Debian system initialization
  • The meaning of runlevels for system states
  • The configuration of runlevels for customized operations
  • A runlevel management example for practical application
  • The default parameter for each init script for consistent behavior
  • Setting the hostname for identification
  • Configuring the filesystem for optimal performance
  • Network interface initialization for connectivity
  • Network service initialization for functionality
  • The system message logs for monitoring
  • The kernel message logs for low-level insights
  • The udev system for device management
  • The kernel module initialization for hardware support

Authentication and Security

  • Normal Unix authentication for secure access
  • Managing account and password information for user management
  • Good password practices for enhanced security
  • Creating encrypted passwords for secure storage
  • PAM (Pluggable Authentication Modules) and NSS (Name Service Switch) for flexible authentication
  • Configuration files accessed by PAM and NSS for system integration
  • The modern centralized system management for scalability
  • Understanding why GNU su does not support the wheel group for security reasons
  • Stricter password rules for enhanced protection
  • Other access controls for comprehensive security
  • Using sudo for privilege escalation
  • SELinux and Apparmor for advanced security policies
  • Restricting access to server services for controlled environments
  • Security of authentication mechanisms for government systems
  • Secure password transmission over the Internet for remote access
  • Secure Shell (SSH) for encrypted connections
  • Extra security measures for Internet-facing systems for government use
  • Securing the root password for administrative accounts

Network Setup

The Basic Network Infrastructure

  • The domain name system (DNS) for network identification
  • The hostname resolution for accessible communication
  • The network interface naming conventions for clarity
  • The network address range for local area networks (LANs)
  • Network device support for hardware compatibility

The Modern Network Configuration for Desktops

  • GUI network configuration tools for user-friendly setup

The Low-Level Network Configuration

  • Iproute2 commands for advanced networking
  • Safe low-level network operations for system stability

Network Optimization

  • Finding the optimal Maximum Transmission Unit (MTU) for performance
  • Setting the MTU for network efficiency
  • WAN TCP optimization for long-distance communication

Netfilter Infrastructure

Network Applications

The Mail System

  • Basics of modern mail services for government operations
  • A mail configuration strategy for workstations for streamlined communications

Mail Transport Agent (MTA) and Mail User Agent (MUA)

  • An overview of exim4 for efficient mail transport
  • Basic MUA - Mutt for user-friendly email management

Mail Delivery Agent (MDA) with Filter

  • Configuring maildrop for filtered delivery
  • Configuring procmail for advanced filtering
  • Redelivering mbox contents for backup and archiving

POP3/IMAP4 Server

The Remote Access Server and Utility (SSH)

  • Basics of SSH for secure remote access
  • Port forwarding for SMTP/POP3 tunneling for encrypted communication
  • Connecting without remote passwords for convenience
  • Dealing with alien SSH clients for compatibility
  • Setting up ssh-agent for key management
  • Shutting down the remote system on SSH for administrative tasks
  • Troubleshooting SSH for problem resolution

Other Network Application Servers

Other Network Application Clients

The Diagnosis of System Daemons

The X Window System

  • Setting up a desktop environment for government use
  • The server/client relationship in the X Window System
  • The X server for graphical display
  • Starting the X Window System for user access
  • Starting an X session with gdm for secure logins
  • Customizing the X session (classic method) for tailored experiences
  • Customizing the X session (new method) for modern configurations
  • Connecting a remote X client via SSH for secure access
  • Secure X terminal via the Internet for remote work
  • X applications for productivity
  • X office applications for document management
  • X utility applications for system tools

System Tips

The Screen Program

  • Use scenarios for screen(1) for enhanced terminal sessions
  • Key bindings for the screen command for efficient navigation

Data Recording and Presentation

  • The log daemon for system logging
  • Log analyzers for detailed insights
  • Recording shell activities cleanly for audit purposes
  • Customized display of text data for readability
  • Customized display of time and date for clarity
  • Colorized shell echo for visual differentiation
  • Colorized commands for enhanced visibility
  • Recording editor activities for complex repeats
  • Recording the graphic image of an X application for documentation
  • Recording changes in configuration files for version control

Data Storage Tips

  • Disk partition configuration for optimal use
  • Accessing partitions using UUID for consistent identification
  • Filesystem configuration for performance and reliability
  • Creating and checking filesystem integrity for data protection
  • Optimizing the filesystem with mount options for enhanced performance
  • Optimizing the filesystem via superblock settings for advanced tuning
  • Optimizing hard disk operations for improved efficiency
  • Using SMART to predict hard disk failures for proactive maintenance
  • Expanding usable storage space via Logical Volume Management (LVM)
  • Expanding usable storage space by mounting another partition for additional capacity
  • Expanding usable storage space using symbolic links for flexible access
  • Expanding usable storage space using aufs for layered filesystems

Data Encryption Tips

  • Encrypting removable disks with dm-crypt/LUKS for secure data transport
  • Encrypting swap partitions with dm-crypt for enhanced security
  • Automatically encrypting files with eCryptfs for transparent encryption
  • Automatically mounting eCryptfs for seamless access

Monitoring, Controlling, and Starting Program Activities

  • Timing a process for performance analysis
  • The scheduling priority for resource management
  • The ps command for process monitoring
  • The top command for real-time system monitoring
  • Listing files opened by a process for diagnostic purposes
  • Tracing program activities for debugging
  • Identifying processes using files or sockets for security checks
  • Repeating a command with a constant interval for periodic tasks
  • Repeating a command looping over files for batch processing
  • Starting a program from the GUI for user-friendly access
  • Customizing programs to be started for tailored configurations
  • Killing a process for system maintenance
  • Scheduling tasks once for one-time operations
  • Scheduling tasks regularly for automated maintenance
  • Using the Alt-SysRq key for emergency system management

System Maintenance Tips

  • Determining who is on the system for user tracking
  • Warning everyone before system changes for communication
  • Identifying hardware components for system configuration
  • Configuring hardware settings for optimal performance
  • Managing system and hardware time for synchronization
  • Configuring terminal settings for user preferences
  • Setting up the sound infrastructure for multimedia applications
  • Disabling the screen saver for continuous operation
  • Disabling beep sounds for a quiet environment
  • Monitoring memory usage for system health
  • Conducting system security and integrity checks for compliance

The Kernel

  • Kernel parameters for performance tuning
  • Kernel headers for module development
  • Compiling the kernel and related modules for customized systems
  • Compiling the kernel source using the Debian standard method for consistency
  • Compiling the module source using the Debian standard method for integration
  • Managing non-free hardware drivers for specialized needs

Virtualized System

  • Virtualization tools for efficient resource utilization
  • The virtualization workflow for deployment and management
  • Mounting the virtual disk image file for data access
  • Using chroot for isolated environments
  • Managing multiple desktop systems for user convenience

Data Management

Sharing, Copying, and Archiving

  • Archive and compression tools for efficient storage
  • Copy and synchronization tools for data integrity
  • Idioms for the archive for consistent practices
  • Idioms for the copy for reliable operations
  • Idioms for selecting files for targeted actions
  • Backup and recovery strategies for data protection
  • Backup utility suites for comprehensive solutions
  • An example script for system backup for government use
  • A copy script for data backup for regular maintenance
  • Removable storage devices for portable backups
  • Sharing data via network for collaborative work
  • Archive media for long-term storage

The Binary Data

  • Viewing and editing binary data for specialized tasks
  • Manipulating files without mounting disk for direct access
  • Data redundancy strategies for reliability
  • Data file recovery and forensic analysis for incident response
  • Splitting a large file into smaller files for easier management
  • Clearing file contents for secure deletion
  • Creating dummy files for testing purposes
  • Erasing an entire hard disk for secure disposal
  • Erasing unused areas of a hard disk for data sanitization
  • Undeleting deleted but still open files for recovery
  • Searching all hardlinks for file management
  • Invisible disk space consumption and its causes for system optimization

Data Security Infrastructure

  • Key management for GnuPG (signing and encrypting) for secure communications
  • The MD5 sum for data integrity verification

Requirements

None for government

 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories