Linux (CentOS). Уровень 1. Основы администрирования и безопасности
Предварительная подготовка:
Желательно знакомство с линукс любой версии и небольшим опытом взаимодействия.
История создания UNIX и Linux;
Основные дистрибутивы Linux и их различия;
Особенности CentOS, его место среди дистрибутивов;
Архитектура ОС Linux: ядро, оболочка, файловая система;
Лицензирование и сообщество Open Source;
Требования к оборудованию и планирование установки;
Установка CentOS с локальных носителей;
Разметка дисков при установке;
Сетевая установка по PXE;
Автоматизированная установка с помощью Kickstart;
Первоначальная настройка системы после установки;
Терминал и командная оболочка bash;
Структура команд, аргументы и опции;
Навигация по файловой системе: cd, ls, pwd;
Работа с переменными окружения;
История команд и автодополнение;
Перенаправление ввода-вывода и конвейеры;
Справочная система man и info;
Всё есть файл: философия Linux;
Типы файлов: обычные, каталоги, устройства, сокеты, каналы;
Команды для работы с файлами: cp, mv, rm, touch, mkdir;
Просмотр содержимого файлов: cat, less, head, tail;
Команды поиска файлов: find, locate, whereis;
Модель безопасности Linux: пользователи, группы, права;
Файлы /etc/passwd, /etc/shadow, /etc/group;
Команды chmod, chown, chgrp;
Числовое и символьное представление прав доступа;
Специальные биты: SUID, SGID, Sticky bit;
Архитектура подключаемых модулей аутентификации PAM;
Конфигурационные файлы в /etc/pam.d;
Типы модулей: auth, account, password, session;
Настройка политик паролей через PAM;
Примеры ограничения доступа пользователей;
Создание и удаление пользователей: useradd, userdel, usermod;
Управление группами: groupadd, groupdel, groupmod;
Назначение пользователей в группы;
Настройка домашних каталогов и шаблонов /etc/skel;
Управление паролями и сроками их действия: passwd, chage;
Ограничения стандартной модели прав;
Что такое ACL и когда их использовать;
Команды getfacl и setfacl;
Назначение прав для конкретных пользователей и групп;
ACL по умолчанию для каталогов;
Проверка и диагностика ACL;
Понятие процесса, идентификатор PID;
Жизненный цикл процесса: создание, выполнение, завершение;
Фоновые и интерактивные процессы;
Команды ps, top, htop для мониторинга процессов;
Управление процессами: kill, killall, nice, renice;
Сигналы и их назначение;
Планировщик cron: синтаксис crontab и примеры расписаний;
Пользовательские и системные задачи cron;
Планировщик at для однократных заданий;
Anacron для систем с нерегулярной работой;
Таймеры systemd как альтернатива cron;
Утилита tar: создание и распаковка архивов;
Сжатие данных: gzip, bzip2, xz;
Удалённое копирование файлов: scp и rsync;
Основы работы с rsync: синхронизация каталогов;
Практические сценарии передачи данных между серверами;
Протокол SSH: назначение и принцип работы;
Подключение к удалённому серверу: ssh;
Генерация ключей: ssh-keygen;
Аутентификация по ключам вместо паролей;
Конфигурационный файл ~/.ssh/config;
Настройка сервера sshd: /etc/ssh/sshd_config;
Проброс портов и туннелирование;
Иерархия файловой системы Linux (FHS);Основные каталоги: /, /etc, /var, /home, /usr, /tmp;
Понятие inode;
Жёсткие ссылки: создание и ограничения;
Символические ссылки: создание командой ln -s;
Различия между жёсткими и символическими ссылками;
Разметка дисков: fdisk и gdisk;
Таблицы разделов MBR и GPT;
Создание файловых систем: mkfs.ext4, mkfs.xfs;
Монтирование и размонтирование: mount, umount;Файл /etc/fstab и автоматическое монтирование;
Создание и управление swap-областью;
Обзор форматов сжатия: gzip, bzip2, xz;
Создание сжатых архивов через tar;
Сравнение степени и скорости сжатия;
Утилита zip/unzip для совместимости с Windows;
Практические сценарии резервного копирования;
Архитектура LVM: физические тома, группы томов, логические тома;
Создание PV, VG, LV: pvcreate, vgcreate, lvcreate;
Расширение и уменьшение логических томов;
Создание снимков (snapshot) LVM;
Преимущества LVM для серверного администрирования;
Уровни RAID: 0, 1, 5, 6, 10;Программный RAID с помощью mdadm;
Создание, сборка и мониторинг RAID-массивов;
Восстановление при выходе диска из строя;
Комбинирование RAID и LVM;
Пакетная система RPM: установка, удаление, запросы;
Менеджер пакетов yum/dnf: поиск, установка, обновление;
Подключение и настройка репозиториев;
Работа с локальными репозиториями;
Сравнение RPM/yum с dpkg/apt из Debian-систем;
Последовательность загрузки: BIOS/UEFI, загрузчик, ядро, initramfs;
Загрузчик GRUB2: конфигурация и восстановление;
Ядро vmlinuz и начальная файловая система initramfs;
Переход от SysVinit к systemd;
Уровни загрузки (targets) в systemd;
Архитектура systemd: юниты и их типы;
Управление сервисами: systemctl start, stop, enable, disable;
Просмотр состояния и журналов сервисов;
Создание пользовательских unit-файлов;
Зависимости между юнитами;
Таймеры systemd;
Монолитное ядро Linux и модульная архитектура;
Просмотр загруженных модулей: lsmod;
Загрузка и выгрузка модулей: modprobe, insmod, rmmod;
Конфигурация модулей в /etc/modprobe.d;
Параметры ядра: sysctl и /proc/sys;
Концепция сервисов (демонов) в Linux;
Управление сервисами через systemctl;
Автоматический запуск сервисов при загрузке;
Анализ зависимостей сервисов;
Маскирование сервисов;
Просмотр журналов сервисов через journalctl;
Сетевые интерфейсы и их именование;
Настройка IP-адресов: nmcli и конфигурационные файлы;
NetworkManager и его использование;
Настройка DNS-клиента: /etc/resolv.conf;
Диагностика сети: ping, traceroute, ss, ip;
Настройка маршрутизации;
Система логирования rsyslog: конфигурация и правила;
Файлы журналов в /var/log;
Служба journald: бинарные журналы systemd;
Команда journalctl: фильтрация и просмотр логов;
Ротация логов: logrotate;
Настройка удалённого логирования;
Мониторинг CPU: top, htop, mpstat;
Мониторинг памяти: free, vmstat;
Мониторинг дисков: iostat, iotop, df, du;
Мониторинг сети: iftop, nethogs, ss;
Утилита sar для сбора статистики;
Комплексный анализ узких мест производительности;
Методология поиска неисправностей;
Загрузка в режиме восстановления (rescue mode);
Восстановление загрузчика GRUB2;
Сброс пароля root;
Восстановление файловой системы: fsck;
Анализ журналов при диагностике сбоев;
Демонстрация преподавателем практических примеров по каждой теме курса;
Самостоятельные лабораторные работы для закрепления навыков;
Работа на учебных стендах в среде CentOS Linux;