28072 - Laboratory of System Administration T

Course Unit Page

Academic Year 2015/2016

Learning outcomes

Students will acquire the ability to deal with the problems related to the management of networked multiuser/multitasking systems. Particular emphasis is placed on the security aspects and on the integration of heterogeneous operating systems. Main outcomes include the ability to diagnose network faults, to monitor resource usage, to plan, implement and configure small/medium-sized networks. Abilities will include both theoretical competences and practical knowkedge about the most common tools used to perform and to automate the aforementioned tasks.

Course contents

The goal of this course is to present the main subjects related to system administration, and to provide some fundamental skills needed to configure and monitor GNU/Linux systems in particular. The common thread of the lectures is an attention to safety/security, i.e. the ability to make systems resilient to faults, errors, and malicious attacks as well, starting from considerations that apply to isolated systems and proceeding to discuss their existence within a network.
The program is composed of six main areas:
 - Local administration: hardware set-up and physical security, user account management, authorization mechanisms on the Unix and NTFS filesystems, overview of the typical origin of vulnerabilities, command line tools to configure processes and to monitor resource usage, standard daemons used for the automation of the administration tasks (e.g. scheduled execution, logging, ...);
- Information security: a short introduction to the key concepts in classical and modern cryptography, with examples of day-to-day use;
- Network management: interface and routing configuration, connection monitoring tools, packet sniffing tools, firewall architectures for the filtering of traffic;
- Centralized monitoring: a short introduction to the platforms used in large and/or heterogeneous installations, the SNMP protocol;   
- Centralized configuration: protocols used for automatic network configuration (RARP, BOOTP, DHCP), centralized authentication and distribution of configuration parameters at the application level by means of LDAP, a short overview of Active Directory;
- High availability distributed systems: basic concepts about availability, tools for reliable data storage (RAID, backup techniques), cluster architectures for the highly available provisioning of network services.

Bash shell programming is introduced and discussed in some depth during the whole course: it is the foundation for practical activities regarding the theoretical subjects.

Readings/Bibliography

Handouts by the teacher, on-line manuals on the lab workstations, and material available on the course website, linked from http://lia.disi.unibo.it/Courses/ under the current academic year. 

Guidebooks published for free by Truelite: https://labs.truelite.it/projects/truedoc/wiki

Two book suggestions (not covering 100% of the program):

  • "Unix and Linux System Administration Handbook - 4th edition" di Evi Nemeth, Garth Snyder, Trent R. Hein e Ben Whaley, ed. Prentice Hall (2010)

  • "Microsoft Windows Server Administration Essentials" di Tom Carpenter”, ed. Sybex (2011)

Teaching methods

The course yields 9 CFU/ECTS corresponding to 90 hours of lectures and guided lab activities, typically in 3 to 4 hours batches.  The theoretical bases of the techniques of system administration are presented during approximately 35 hours of traditional lectures. The remaining 55 hours are spent in the laboratory. During each session, the command line tools in the GNU/Linux environment, useful to deal with the subjects treated in the lectures, are introduced. Then, students are guided to design and implement scripts to solve proposed study cases, to improve their problem-solving skills in real-world scenarios. Please note that according to the ECTS definition, each credit represents 25 hours of student effort: students are expected to contribute 135 hours of individual study and autonomous lab activity to the improvement of their skills. To this end, extensions to the guided lab activities are regularly suggested. Solutions are publicly discussed during the last lab sessions of the course; besides, students are welcome to discuss the assignments during office hours.

Assessment methods

The examination consists of a test of the candidate's practical skills, followed by a test regarding the theoretical aspects of the discipline. The admission to the latter test is conditioned to the positive outcome of the former.
The practical test is carried out in the same working environment as that used for the lab activities. It proposes a problem, and suggests the general architecture of the solution, so that in the end the candidate has to design and implement components that closely resemble the scripts and the configuration operations already seen during the course.
The theoretical test is carried out as a 30-minutes oral exam; exceptionally, it may be proposed as a written exam (open questions or multiple choice). The test may involve any subject presented during the course, with a strong attention to those presented during lectures.

Teaching tools

Lessons: projection of slideshows and practical demonstrations of the tools object of the discussion. Practical laboratory activity: the teacher will guide the students to learn tools and solve problems regarding almost every subject of the course. A virtualized environment is available, allowing to simulate realistic architectures made of clients, servers, and routing devices, where students can work with administrative privileges. Students can deploy the same virtual machines on their computers, thus being able to access at home the same work environment they find in the laboratory.

Links to further information

http://lia.disi.unibo.it/Courses/

Office hours

See the website of Marco Prandini