Для успешного изучения дисциплины требуется предварительно ознакомиться с материала курса Архитектура ОС UNIX
Курс является направленным на получение практических навыков администрирования, поэтому начиная со 2-го занятия материалы будут излагаться в интерактивной форме на занятиях параллельно с выполнением на виртуальных машинах. Используемая виртуальная машина - VirtualBox. Рабочий дистрибутив - Debian/GNU Linux версии 11.2 (bullseye).
Зачет - выставляется на основе лабораторных работ (скачать в формате .pdf) выданных на самостоятельное изучение (обновлено). Для выполнения лабораторных работ требуется более подробно ознакомиться с литературой.
Экзамен - будет проходить в практической форме и состоять из двух частей: исправление неисправностей при загрузке ОС Linux и настройка сетевой службы по указанному в билете сценарию. Список возможных сетевых служб: FTP, CIFS(Samba), DNS, WEB. Конкретные требования по необходимым навыкам будут появляться по мере изучения материалов курса.
Материалы к лекциям
Вводная лекция.(скачать в формате .pdf) . Темы лекции:
- Основные задачи администрирования
- Пользователи и группы
- Окружение пользователя
- Процедура загрузки ОС Linux
В практической части рассматривались механизмы контроля процесса загрузки, для сброса пароля суперпользователя (root). Прочитать об этих методах можно, например, по ссылке.
Вторая лекция+практика. Темы лекции:
- Установка операционной системы
- Разбиение жесткого диска на разделы
- Создание пользователей
- Добавление зеркал пакетов и установка ПО
- Текстовые редакторы nano и vim
В практической части производили установку операционной системы Debian 11.2 (bullseye) на виртуальной машине VirtualBox. Ознакомиться с процессом установки можно по ссылке. Установка производилась в интерактивном CLI режиме без графического установщика.
После проведения установки был изменен шрифт через команду: dpkg-reconfigure console-setup на Terminus. Пример данной конфигураций приведен на сайте.
Далее требуется установить пакет текстового редактора vim, через команду: apt-get install vim
Последним этапом необходимо пройти обучающий tutorial по текстовому редактору: vimtutor ru.
Третья лекция+практика. Темы лекции:
- Добавление сетевых интерфейсов в ОС
- Статическое конфигурирование сетевых интерфейсов
- Конфигурирование DHCP сервера
- Установка tftp сервера
- Настройка сервера установки по сети через PXE
- Фильтрация сетевых клиентов по vendor ID.
В практической части производили добавление дополнительного сетевого интерфейса в VirtualBox и его статическое конфигурирование через /etc/network/interfaces для дальнейшего создания сервера DHCP.
После переконфигурирования был установлен сервер isc-dhcp-server. Детально про установку сервера можно прочитать по ссылке. Базовая настройка позволит клиентам локальной сети получать динамически IP-адреса.
Для пересылки загрузочного образа по сети требуется дополнительно установить TFTP-сервер.
Полная документация по настройке DHCP, TFTP для сетевой загрузки описана на английском и более устревший вариант на русском
Для проверки сценария был развернут установочной архив netboot.tar.gz от операционной системы Linux/Debian (bullseye) в каталог /srv/tftp.
В VirtualBox режим дополнительного сетевого интерфейса изменен на intranet, для того чтобы проверить возможность сетевой загрузки из BIOS виртуальной машины.
Четвертая лекция+практика. Темы лекции:
- Администрирование учетных записей пользователей и групп
- Пользовательское окружение
- Пременные командного интерпретатора
- Смена пользовательского контекста (su, sudo)
- Справочная система man, поиск документации
В практической части управляли аккаунтами пользователей и групп в ОС Linux.
Настраивали пользовательское окружение .
Настраивали смену временного контекста пользователя через sudo . Смена контекста пользователя в рамках работающей сессии через su.
Поиск в справочной системе руководста с использованием команд man, apropos, whatis.
Пятая лекция+практика. Темы лекции:
- Дисковые накопители
- Таблица разделов и представление накопителей как файлов
- Технология RAID и программные RAID
- Технология LVM для создания динамических томов
- Файловые системы создание и проверка
В практической части создавали дополнительные дисковые накопители в виртульной машине VirtualBox.
Создавали несколько тестовых динамических разделов с применением технологии LVM.
Создавали файловые системы ext4 и FAT32. Для работы с файловой системой FAT32 потребовалось установить пакет dosfstools.
Шестая лекция+практика. Темы лекции:
- Установка FTP-сервера vsftpd
- Локальные учетные записи и пользователи FTP
- Chroot в FTP
- Анонимные пользователи
- Загрузка файлов
В практической части перенастроили VirtualBox для работы по сети с Host операционной системой windows в режим Virtual-Host Adapter.
Установили сервер vsftpd, пример, можно увидеть по ссылке. Проверили работоспособность с авторизацией в ftp-сервере локальных пользователей UNIX. Добавили загрузку файлов на сервер из-под пользователя. Ограничили домашнюю директорию через chroot, чтобы исключить возможность выхода пользователя на ftp за пределы своей домашней директории.
Включили анонимных пользователей на ftp, доступных под пользователем anonymous. Изучили привязку пользователя anonymous к аккаунту "ftp" на сервере. Реализовали сценарий загрузки анонимным пользователем данных в каталог upload и запрету именения и удаления файлов в других директориях, посредством настройки прав доступа UNIX.
Седьмая лекция+практика. Темы лекции:
- Виртуальные пользователи FTP
- PAM модули
- Chroot и виртуальные пользователи
- pam-pwdfile
В практической части настраивали виртуальных (гостевых пользователей) без привязки к реальным аккаунта в UNIX-системе. Для авторизации использовали модуль PAM pwdfile (пакет libpam-pwdfile), через базу виртуальных пользователей в формате htpasswd (apache2-utils), через функцию CRYPT. Примеры настройки сервера с виртуальными пользователями на ОС Debian GNU/Linux.
Восьмая лекция+практика. Темы лекции:
- Настройка квотирования файлов пользователей
- Мягкие и жесткие квоты
- Монтирование файловых систем с поддержкой квотирования
- Grace period при квотировании
В практической части установили пользовательский пакет quota, включающий в себя утилиты для управления квотированием. Активировали квотирование для доступных разделов: корневой(/) и пользовательский(/home). Задавали и тестировали лимиты на объем и количество файлов, через команду dd. Тестировали grace period после превышения мягкой квоты. Примеры настройки дисковых квот.
Девятая лекция+практика. Темы лекции:
- Установка web-сервера apache2
- Настройка механизма виртуальных сайтов
- Настройка базовой аутентификации для сайтов
В практической части установили веб-сервер apache2. Проверяли работоспособность сайта с default-конфигурацией по IP-адресу. Активировали механизм виртуальных хостов и создали два сайта: lab306.com и lab307.com, для доступа к этим сайтам модифицировали файл hosts в ОС Windows. Пример настройки виртуальных сайтов. Далее установили пакет apache2-utils, для добавления команды htpasswd, через которую выполняется создание виртуальных пользователей для Apache. Для использования базовой аутентификации требуется создать файл .htpasswd в корневой директори сайта, чтобы файл обрабатывался сервером, требуется добавить параметр "AllowOverride All" для директории сайта в файл конфигурации. Пример настройки аутентификации.
Десятая лекция+практика. Темы лекции:
- Настройка сертификатов SSL в apache2
- Установка модулей поддержки динамических сайтов php
В практической части генерировали самоподписанные SSL сертификаты, через скрипт make-ssl-cert, для обеспечения шифрования трафика при обмене данными с веб-сайтом. Активировали модуль ssl в apache2, через a2enmod и перезапустили процесс. Добавили default-ssl в доступные сайты через a2ensite. Сгенерировали самоподписанные сертификаты, для сайтов lab306.com и lab307.com и проверили их работоспособность через операционную систему windows. Дополнительно установили модуль поддержки динамических сайтов на php, через модуль libapache2-mod-php.Для существующего сайта с доменом lab306.com создали динамическую страницу на php, содержащую вызов функции phpinfo();
Одиннадцатая лекция+практика. Темы лекции:
- Служба разрешения доменных имен DNS.
- Типы DNS записей.
- Использование DNS для повышения доверия к домену при пересылке почты.
- Установка сервера DNS bind9.
- Настройка прямой зоны DNS.
В практической части установили dns сервер bind, через apt-get install bind9. Создали прямую зону DNS lab309.com, в /var/lib/bind/db.lab309 на основе файла с прямой зоной из localhost (/etc/bind/db.local) и добавили описание в конфигурацию /etc/bind/named.conf.local. В файле с зоной присутствовали следующие типы записей: NS, A, MX включая поддомены www, mail, ftp на основной адрес внутри локальной сети. Проверили конфигурационный файл и файл с зоной на ошибки, через named-checkconf и named-checkzone. Проверили работоспособность домена и поддоменов, а также MX записи, через nslookup и dig.
Двенадцатая лекция+практика. Темы лекции:
- Служба доступа к файлам и принтерам SAMBA.
- Типы учетных записей и права доступа к файлам.
- Гостевые учетные записи и общие каталоги пользователей.
- Система печати CUPS.
- Общие принтеры.
В практической части установили samba сервер, через apt-get install samba. Добавляли учетную запись пользователя связанную с UNIX-аккаунтом, через smbpasswd. Тестировали локальные скрытые директории пользовательских аккаунтов в UNIX-системе. Добавили привязку гостевой учетной записи к локальной учетной записи пользователя ftp, для того чтобы пользователи без локальных аккаунтов могли пользовать общими директориями на файловом сервере. Установили систему печали cups и виртуальный принтер cups-pdf. Сконфигурировали принтер через web-браузер. Протестировали печать из-под учетной записи пользоваля root и непривелигированного пользователя. Напечатанные документы хранятся в виде PDF файлов в каталогах ~/PDF.
На четвертой практике были выданы лабораторные для выполнения дома. Выполнение лабораторных обязательно для получения зачета. ВСЕ выданные лабораторные обязательны для выполнения как для студентов посещающих занятия, так и обучающихся в заочной формы (не посещающих). Выполнять их можно либо в печатном виде, либо в pdf-просмотровщике через аннотации, либо скопировав в редактор типа Word и заполняя требуемые пункты.
Основной список литературы
- Кетов Д. В. Внутреннее устройство Linux. Санкт-Петербург: БХВ-Петербург, 2021.
Опорный конспект по архитектуре и администрированию без сетевых служб.
Список команд и описание командного интерпретатора на русском.