Подготовка курса Основы администрирования операционных систем

Подготовка курса Основы администрирования операционных систем

2024-09-03 · 9 мин. для прочтения
blog computer-science

Подготовка курса Основы администрирования операционных систем.

Содержание

1 Активности

1.1 Внешние курсы

1.1.1 Общая информация

  • Внешний курс даёт дополнительные баллы к курсу.

1.1.2 Рекомендованные платформы для внешних курсов

1.1.3 Курс Системный администратор Linux с нуля

  1. Курс

  1. Разделы курса

    • Раздел 1
      • Введение в системное администрирование
      • Базовые команды Linux
      • Файлы и каталоги
    • Раздел 2
      • Получение справки
      • Управление пользователями
      • Управление доступом
      • Управление процессами
    • Раздел 3
      • Настройка сети и SSH
      • Управление пакетами
      • Управление логами
      • Контейнеризация

1.1.4 Необходимо для прохождения

  • Пройти курс.
  • Сертификат или скриншот о прохождении курса.
  • Записать видео (с записью камерой лица) по прохождению контрольных мероприятий (тесты и задания) по каждому разделу + итоговая презентация по каждому этапу.
  • Написать отчёт по прохождению контрольных мероприятий (тесты и задания) по каждому разделу.

1.1.5 Требования к оформлению отчёта по прохождению внешнего курса

  • Отчёт должен соответствовать следующим требованиям:
    • должен быть оформлен в Markdown с использованием шаблона для оформления лабораторных работ (https://github.com/yamadharma/academic-laboratory-report-template);
    • должен содержать описание всех заданий, выполненных при прохождении внешнего курса.
  • Для каждого тестового вопроса в отчет должны быть включены:
    • скриншоты с формулировкой вопроса и подтверждающие прохождение теста;
    • пояснения по выбору ответа на вопрос теста.
  • Для каждого интерактивного задания в отчет должны быть включены:
    • скриншоты с формулировкой задания и подтверждающие его прохождение;
    • пояснения по выполнению интерактивного задания.
  • Отчёт считается неполным, если в нём отсутствуют какие-либо элементы:
    • скриншоты с формулировкой;
    • скриншоты, подтверждающие прохождение;
    • пояснения по выполнению активности.

1.1.6 Список элементов (чек-лист) для загрузки в LMS

  • В качестве ответа на лабораторную работу необходимо представить:
    1. Ссылка на плейлист (https://rutube.ru/ + https://vkvideo.ru/ + https://www.plvideo.ru/).
    2. Отдельные ссылки на скринкасты по каждому этапу (https://rutube.ru/ + https://vkvideo.ru/ + https://www.plvideo.ru/):
      • ссылка на скринкаст прохождения внешнего;
      • ссылка на скринкаст защиты презентации по каждому этапу;
      • ссылка на скринкаст процесса подготовки отчёта;
      • ссылка на скринкаст процесса подготовки презентации.
    3. Ссылка на репозиторий (https://github.com/):
      • ссылка на весь репозиторий;
      • ссылка на конкретный релиз.
    4. Следует представить отдельными файлами для каждого этапа (3 файла отчёта и 3 файла презентации в формате pdf):
      • отчёт в markdown (в каталоге git и в файлах релиза);
      • отчёт в docx (сделанный из markdown) (в файлах релиза);
      • отчёт в pdf (сделанный из markdown) (приложено к ответу и в файлах релиза);
      • архив с исходными материалами markdown (текстовые файлы, скриншоты и т. д., в файлах релиза);
      • презентацию в pdf (сделанную из markdown) (приложено к ответу и в файлах релиза);
      • презентацию в html (сделанную из markdown) (в файлах релиза);
      • презентацию в markdown (в каталоге git и в файлах релиза).
    5. Приложенный файл сертификата (1 файл в формате pdf).
    6. Ссылка на сертификат на внешнем сайте.
    7. Ссылка на проект на собственном сайте научно-инженерного работника (см. Учебный проект Сайт научника), оформленная в виде проекта с подробным описанием прохождения.
    8. Итого:
      • приложить 7 файлов;
      • видео: 12 ссылок + 3 ссылки на плейлисты;
      • ссылка на репозиторий;
      • ссылка на релиз.

1.1.7 Пакет для оценки

  • Приложенный файл (скриншот), подтверждающий прохождение (далее сертификат).
  • Вставленное в форму ответа видео по каждому разделу (3 видео, каждое на 2-х платформах).
  • Файлы отчётов прохождения внешнего курса по каждому этапу (3 отчёта) (в формате pdf).
  • Ссылка на проект на собственном сайте научно-инженерного работника (см. Учебный проект Сайт научника), оформленная в виде проекта с подробным описанием прохождения.

1.1.8 Критерии оценки

  • Максимальная оценка за внешний курс — 24 балла.
Таблица 1: Критерии оценки прохождения внешнего курса
Разделы0248
Раздел 1Нет сертификата или нет (видео + файлы)Сертификат + (видео или файлы)Сертификат + видео + файлы с недостаткамиСертификат + видео + файлы + размещено на сайте
Раздел 2Нет сертификата или нет (видео + файлы)Сертификат + (видео или файлы)Сертификат + видео + файлы с недостаткамиСертификат + видео + файлы + размещено на сайте
Раздел 3Нет сертификата или нет (видео + файлы)Сертификат + (видео или файлы)Сертификат + видео + файлы с недостаткамиСертификат + видео + файлы + размещено на сайте

1.2 Содержание для РПД

1.2.1 Введение в операционную систему Linux. Установка Linux. Принципы организации ОС типа виртуальной машины. Архитектура ОС типа клиент-сервер

Общее представление о Linux: история, дистрибутивы (Red Hat, Debian, Ubuntu, CentOS), лицензия GPL. Рассматриваются этапы установки (разметка диска, выбор пакетов, настройка сети, создание первого пользователя). Объясняется концепция виртуальной машины: гипервизоры (тип 1 и 2), создание гостевой ОС, сетевые мосты и NAT. Вводится архитектура клиент-сервер на примере сетевых служб (SSH, HTTP, NFS), роль демонов и сокетов.

1.2.2 Управление пользователями и группами

Изучаются локальные учётные записи: файлы /etc/passwd, /etc/shadow, /etc/group. Команды useradd, usermod, userdel, groupadd, groupmod, groupdel. Типы пользователей (root, системные, обычные), UID и GID, первичная и дополнительные группы. Рассматриваются механизмы смены пароля (passwd, chage), политики сложности паролей, блокировка учётной записи. Обсуждаются конфигурационные файлы /etc/login.defs и /etc/default/useradd.

1.2.3 Настройка прав доступа

Разбираются стандартные права доступа к файлам и каталогам: чтение (4), запись (2), выполнение (1) для владельца, группы и остальных. Команды chmod (символьный и абсолютный режимы), chown, chgrp. Специальные биты: SUID, SGID, sticky bit (действие на файлах и каталогах). Вводятся списки ACL (Access Control Lists) — команды getfacl, setfacl, расширение стандартной модели прав. Обсуждаются маски прав (umask) и их настройка.

1.2.4 Работа с программными пакетами. Управление программным обеспечением, роли и задачи

Системы управления пакетами. Рассматриваются два основных формата: DEB (dpkg, apt, apt-get, aptitude) и RPM (rpm, yum, dnf). Изучаются операции: установка, удаление, обновление, поиск пакета, просмотр информации. Обсуждаются зависимости пакетов, разрешение конфликтов, подключение репозиториев (репозитории ОС, сторонние, EPEL). Вводится понятие ролей: минимальная установка, сервер с графикой, рабочая станция. Демонстрируется работа с модулями (AppStream) и группами пакетов.

1.2.5 Управление системными службами

Изучается система инициализации systemd (замена SysV init). Рассматриваются unit-файлы (service, socket, target, timer). Команды systemctl: start, stop, restart, enable, disable, status, is-active, is-enabled. Понятие цели (target) по аналогии с runlevel (multi-user.target, graphical.target). Обсуждаются зависимости между службами, порядок запуска, изоляция цели. Вводятся средства журналирования служб (journalctl для конкретного unit).

1.2.6 Процессы. Управление процессами

Даётся определение процесса: PID, PPID, состояние (running, sleeping, zombie, stopped). Команды ps (aux, -ef), pstree, top, htop, glances. Управление процессами через сигналы (kill, pkill, killall): SIGTERM, SIGKILL, SIGHUP, SIGSTOP, SIGCONT. Приоритеты процессов (nice, renice) — диапазон от -20 до 19. Фоновый и интерактивный режим ( &, jobs, fg, bg). Ограничение ресурсов через ulimit.

1.2.7 Управление журналами событий в системе

Системное журналирование. Рассматривается служба rsyslog (или syslog-ng): конфигурация /etc/rsyslog.conf, правила фильтрации и назначения (файлы, удалённый сервер, консоль). Формат сообщений: facility (kern, user, mail, auth) и severity (emerg, alert, crit, err, warning, notice, info, debug). Вводится journald — журнал systemd: journalctl (просмотр по времени, по unit, по приоритету, по boot). Обсуждается постоянное хранение журнала, ротация логов (logrotate).

1.2.8 Планировщики событий

Изучаются средства отложенного и периодического запуска задач. Команда at (однократные задачи): atd, файлы /var/spool/at, управление доступом через at.allow/at.deny. Планировщик cron: системные задачи (/etc/crontab, /etc/cron.d/*) и пользовательские (crontab -e). Синтаксис cron-строк (минуты, часы, дни, месяцы, дни недели). Специальные директории /etc/cron.hourly, .daily, .weekly, .monthly. Разбираются переменные окружения в crontab, ограничения доступа cron.allow/cron.deny.

1.2.9 Управление SELinux

Вводится концепция SELinux (Security-Enhanced Linux) как мандатного контроля доступа (MAC). Режимы работы: enforcing, permissive, disabled. Команды getenforce, setenforce. Контексты безопасности: пользователь, роль, тип, уровень (для файлов — user:role:type:level). Команды ls -Z, chcon, restorecon, semanage fcontext. Разбираются политики (targeted, strict). Анализ нарушений: аудит-логи, sealert, setroubleshoot. Булевы переменные (getsebool, setsebool) для точечного изменения политики.

1.2.10 Основы работы с модулями ядра ОС

Модули ядра позволяют добавлять драйверы и функциональность без перекомпиляции ядра. Команды: lsmod (список загруженных модулей), modinfo (информация), insmod/rmmod (ручная загрузка/выгрузка), modprobe (автоматическое разрешение зависимостей). Файлы конфигурации etc/modules-load.d/.conf и etc/modprobe.d/.conf (параметры модулей, чёрные списки). Демонстрируется сборка внешнего модуля (например, драйвер) с использованием kernel-devel.

1.2.11 Управление загрузкой системы

Рассматривается процесс загрузки Linux: BIOS/UEFI → загрузчик (GRUB2) → инициализация ядра → запуск systemd. Настройка GRUB2: файл /etc/default/grub, команда grub2-mkconfig. Редактирование параметров ядра (однопользовательский режим, emergency mode). Восстановление загрузчика, сброс пароля root через rd.break или init=/bin/bash. Понятие initramfs (initial RAM filesystem), его пересборка (dracut, mkinitrd). Обсуждаются загрузочные цели (rescue.target, emergency.target).

1.2.12 Настройки сети в Linux

Базовая сетевая конфигурация. Команды: ip (addr, link, route) и устаревший ifconfig/route. Настройка интерфейсов через NetworkManager (nmcli, nmtui, GUI) или systemd-networkd. Конфигурационные файлы: /etc/sysconfig/network-scripts/ifcfg-* (для Red Hat-семейства) или /etc/netplan/* (Ubuntu). Статический и динамический (DHCP) адреса. Настройка DNS (/etc/resolv.conf), hostname (hostnamectl), файл /etc/hosts. Диагностика сети: ping, traceroute, ss, netstat, tcpdump.

1.2.13 Пакетный фильтр. Виды пакетных фильтров. Настройка пакетных фильтров

Вводится понятие межсетевого экрана (брандмауэра) на примере netfilter (в ядре Linux) и frontend’ов: iptables (legacy), nftables (современный), firewalld. Классификация пакетных фильтров: stateless (фильтрация по заголовкам) и stateful (отслеживание соединений). Основные цепочки (INPUT, OUTPUT, FORWARD) и таблицы (filter, nat, mangle, raw). Базовые правила: source/destination IP, порты, протоколы, состояние соединения (established, related). Демонстрируется настройка с помощью iptables (добавление, удаление, сохранение правил). Обзор firewalld: зоны (public, internal, dmz), сервисы, маскирующий NAT.

1.2.14 Монтирование файловых систем. Точки монтирования. Виртуальные файловые системы

Рассматривается иерархия файловой системы Linux (FHS). Команда mount: привязка устройства (например, /dev/sda1) к точке монтирования (/mnt, /media). Файл /etc/fstab (автомонтирование): поля (устройство, точка монтирования, тип ФС, опции, дамп, fsck). Типы ФС: ext4, xfs, btrfs, vfat, ntfs-3g. Виртуальные файловые системы: proc (/proc — информация о процессах и ядре), sysfs (/sys — устройства и драйверы), tmpfs (оперативная память), devtmpfs (/dev). Команды df (свободное место), du (использованное), lsblk (блочные устройства).

1.2.15 Управление логическими томами

Рассматривается LVM (Logical Volume Manager). Уровни: физические тома (PV) — разделы или диски, группы томов (VG), логические тома (LV). Команды: pvcreate, vgcreate, lvcreate, pvs/vgs/lvs, pvdisplay/vgdisplay/lvdisplay. Расширение и уменьшение LV: lvextend, lvreduce, изменение файловой системы (resize2fs, xfs_growfs). Снятие снапшотов (lvcreate –s). Миграция данных между PV (pvmove). Обсуждаются преимущества LVM: гибкость изменения размера, возможность объединения дисков, упрощение резервного копирования.

1.2.16 Программный RAID

Изучается программный RAID на основе md (multiple device). Уровни RAID: 0 (чередование, увеличение скорости), 1 (зеркалирование, отказоустойчивость), 5 (чётность, баланс), 6 (двойная чётность), 10 (зеркало + чередование). Команды: mdadm — создание массива (–create), просмотр (–detail), добавление/удаление дисков, мониторинг. Создание конфигурационного файла /etc/mdadm.conf. Сборка массива после сбоя, замена отказавшего диска. Сравнение программного RAID с аппаратным, влияние на производительность.

2 Оценивание

3 Ресурсы

3.1 Запись занятий

3.2 Материалы курса

Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.