Course objectives and plans
The objective of the course is to teach the future engineers to configure,
administer and use efficiently and securely Linux desktops, servers
and high performance computational clusters.
Every week, there will be one lecture and
two or three scheduled recitations for practical hands-on exercises and
projects. Each students should attend the lecture and one of the recitations.
Introduction to the course. Basic concepts of the operating system.
Introduction, course agenda, text books, practical recitation schedule. Commands, shells and processes; users and groups;
file system and directories.
Demonstrations and laboratory exercises with Unix commands.
Week 2: System installation, configuration and upgrade
Installation stages; network installation; disk partitioning;
post-install system customization and upgrade; dpkg and APT package installation,
remove, upgrade and query; semi-automatic system installation.
Week 3: Kernel
Kernel tasks; managing kernel modules at runtime; kernel configuration and compilation; boot loaders GRUB and LILO;
Week 4: Linux Networking
Basic concepts of networking:
Network packets, TCP/IP protocol suit, address resolution protocol (ARP); IP addresses and network mask; subnets and routing; IPV4 and network classes; ports.
Configuring Linux machine on the network; arp, ifconfig and netstat commands. Network services and tools:
telnet, rsh, ftp, rcp, ssh, rsync, inetd.conf; opening and closing
Week 5: Network File System (NFS)
File system sharing over the network;
Remote Procedure Call (RPC) service; NFS server and client sides;
NFS installation and configuration; static mount and automount configurations;
troubleshhoting NFS; security and performance optimization.
Week 6: Network Information Service (NIS)
Centralized authentication systems; sharing user and host information over the network; NIS server and client sides; NIS installation and configuration; compatibility mode; netgroups; security issues.
Week 7: Integrating Linux and Windows
Elements of Windows networking: NetBIOS, SMB/CIFS protocols, Domain Controller; Samba server on Linux for centralized Windows logon,
file sharing and printing; Samba client; Samba installation and configuration; Unix and Windows passwords. Dual boot: running Windows and Linux on the same PC; GRUB and NT boot loaders; accessing Windows file system from Linux and vice versa.
Week 8: Lightweight Directory Access Protocol (LDAP)
Overview of Unix Authentication and Naming services; introduction to LDAP:
domain component (dc), organizational unit (ou), common names (cn), schemas, ldif format,
services, ports and commands; Server and client sides; OpenLDAP installation and configuration; LDAP applications.
Midterm Exam (in-class, open book)
Week9: Shell scripting
Syntax of bash; looping; case statement; function; command substitution; awk, grep, sed.
Week 10: Startup and Run Levels. Scheduled jobs.
Bootup and login process sequence; run levels; startup scripts; Scheduling jobs with at and cron.
Week 11: Linux Security
System vulnerabilities; port scanning; encryption, encrypted services
and connections; PGP/GPG. Intrusion protection: tcp-wrappers, IP-firewalls (iptables), NAT and DMZ; Intrusion detection systems: tripwire; Secure system management practices.
Week 12: Email Server
Steps of Email transaction; Email envelope and headers; SMTP servers;
IMAP and POP3 servers; E-mail relay; Postfix configuration; spam and viruses.
Week 13: Linux Computational Clusters
Overview of Linux clusters and clustering tools;
High Performance Computational Clusters;
Message Passing Interface (MPI) for parallel programming;
MPI compilation and installation; Scheduling and queue systems, Sun Grid Engine (SGE); cluster management tools.
Week 14: Doman Name Server (DNS)
Host name resolution; domain name hierarchy; DNS zones;
configuration of master, slave and caching DNS servers with BIND 9.
Final Exam (in-class, open book)