CS 469 Unix/Linux Administration and Networking

From Computer Science at Indiana State University
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Catalog Description

Includes installation and configuration of Unix/Linux operating system software; set-up of hardware and software for Unix/Linux networking including TCP/IP, FTP, Telnet, DNS, DHCP, and Apache; Unix/Linux administration tasks including directories, users, tuning, backup, security, and networking. Prerequisite - C or better in CS 201.

Prerequisites

Basic Unix skills, some prior programming experience

Standard Content

Course Outline

  • Wild-cards and regular expressions
  • Files and directories:
  • The file-system tree, path traversal, links
  • Unix permissions and ACLs
  • The FHS standard: where things go in the file-system
  • Bash scripting
  • Invocation and startup, job control
  • Command lists, pipelines, redirection
  • Positional parameters and special variables, data types, the environment
  • Functions, variable scope
  • Conditionals and loops
  • Bash built-ins: read, printf, alias, etc
  • The core-utilities: sed, col, grep, tr, basename, dirname, etc.
  • Processes and threads:
  • Attributes of processes: understanding ps,top, etc output
  • /proc filesystem
  • Signals
  • Resource limits
  • Memory layout: security issues: buffer overflows, ASLR
  • Libraries
  • The boot process: boot loaders, the kernel, init, runlevels, init scripts
  • Disks: Block devices, partitioning, making file-systems, mounting/unmounting them, checking them, configuring fstab
  • Swap and virtual memory
  • RAID: levels, MD devices and mdadm
  • Basic MySQL administration: DB and user administration and backing up/archiving databases
  • Common Administrative tasks:
  • User/group administration
  • Log files, accounting files and reporting
  • Quotas
  • Networking:
  • SSH and related tools for key generation and management, scp, rsync
  • Various networking terms / OSI model
  • SSL/TLS certificates (openssl), creating signed certificates, setting up a CA purpose of certs, anatomy of a cert
  • IPv4 networking: Packets, Ethernet, ARP, DNS, CIDR, basic routing
  • The Linux Firewall (iptables) (time permitting)

Learning Outcomes

  • Comprehensive overview of command line tools used by a system administrator
  • More advanced bash scripting
  • Ability to install and configure a Linux system
  • Some Virtual Machine experience

Important Assignments and/or Exam Questions

  • Various man page reading assignments
  • Bash scripts: iterate over command line parameters and do something with them, find the largest file in a directory tree, etc.
  • Create a Virtual Machine and install Linux onto it.
  • Root administration tasks on a provided VM:
  • Setup and configure accounts
  • Setup and configure services: http and mysql
  • Install and web service(s) requiring a working web server and mysql instance
  • Create a certificate authority and sign other students cert requests

Standard resources

  • The Unix man pages
  • Tutorials Point