Модуль 1. Основы работы в операционной системе Linux
История Unix. Создание GNU. Обзор основных принципов лицензии GPL. История появления Linux. Краткий обзор существующих дистрибутивов. Загрузка системы и введение в графическое окружение. Терминалы, представление в Linux. Виртуальные консоли. Выполнение команд. Виды документации и средства доступа. man, info, поиск информации. Иерархия каталогов и перемещение по ним. Абсолютные и относительные пути. Сбор информации о файлах и каталогах с применением различных средств. Работа с файлами и каталогами, команды: cp, mv, rm, mkdir, rmdir. Описание командного процессора. Дополнения и история команд. Стандартный ввод и вывод. Переменные. Чтение файлов. Редакторы Vi и Vim. Основы работы в редакторе vi. Основы работы в редакторе Nano. Основы работы в редакторе Emacs. Безопасность в Linux. Пользователи и группы. Суперпользователь. Полномочия на файловую систему. Управление разрешениями. Разделы и файловые системы. Понятие индексного дескриптора. Ссылки. Использование сменных накопителей. Архивирование и сжатие данных. Углублённое изучение текстового редактора vi. Настройка командного процессора. Локальные переменные и переменные окружения. Специальные разрешения. UID и GID. Переключение контекста пользователя. Umask и права доступа. Работа со строками. Обработка результатов работы программ. Проверка орфографии. Нахождение изменений в версиях файлов. Регулярные выражения. grep, sed. locate - программа для поиска файлов. find, как мощный инструмент для поиска файлов. Выполнение операций на найденными файлами. Введение в процессы. Дерево процессов. Управление процессами. Планировщик cron и at. Создание shell-скриптов. Основные конструкции. Примеры использования сценариев. Графическое окружение. Приложения для работы с сетью.Офисные приложение. Перспективы развития ОС Linux.
Модуль 2. Системное администрирование Linux
Значение администрирования. Базовые принципы. Аппаратные архитектуры. Установка ОС Linux. Удаленное управление установкой Linux (VNC). Автоматическая установка Linux (Kickstart Installation). Установка Linux по сети (PXE). Загрузка, выключение, приостановка и гибернация системы. Управление загрузчиком GRUB. Управление загрузчиком GRUB2. Парольная защита загрузчика GRUB2. Управление уровнями выполнения. Демон инициализации systemd. Управление службами и таргетами systemd. Поиск оборудования. Подключение и настройка. Файловая система /dev. Файловая система /proc. Типы систем хранения. Управление разделами дисков. Управление программным RAID. Управление менеджером логических томов (LVM). Проверка целостности файловых систем. Управление областью подкачки (SWAP). Управление учётными записями пользователей. Управление учётными записями групп. Управление паролями. Конфигурационные файлы /etc/passwd, /etc/group, /etc/shadow, /etc/gshadow. Управление дисковыми квотами. Управление квотами XFS. Сетевая модель OSI. Стек протоколов TCP/IP. Управление сетевыми интерфейсами. Таблица IP маршрутизации. Локальное разрешение имён. Сервер печати – CUPS. Планировщики: crontab и at. Журнальные файлы (syslog/rsyslog.). Резервное копирование (dump/restore). Резервное копирование XFS. Управление пакетами при помощи RPM. Управление репозиториями при помощи YUM. Компиляция программ из исходных кодов. Запуск приложений Windows в среде Linux. Ядро и его функции. Управление модулями. X-сервер и его функции. Менеджер дисплеев. Оконный менеджер. Возникающие проблемы и методика их решения. Использование среды восстановления системы.
Модуль 3. Сетевое администрирование Linux
Стек протоколов TCP/IP.Настройка оборудования. Настройка сети (ifconfig). Таблица IP маршрутизации. Локальное разрешение имён. Основные положения и концепции DHCP.Настройка DHCP-сервера. Основные положения и концепции DNS. DNS-сервер BIND. Настройка параметров DNS-сервера BIND. Настройка зон DNS-сервера BIND. Вспомогательные утилиты. Участники почтовой пересылки. Протокол SMTP. SMTP-сервер Postfix. Борьба с вирусами и спамом. IMAP/POP3-сервер Dovecot.Веб-клиенты. Общие концепции протокола HTTP. Apache HTTP Server. Модули Apache HTTP Server.Виртуальные узлы. SSL. Общие концепции проксирования траффика. Proxy-сервер squid. Основные концепции протокола FTP. FTP-сервер vsftpd. Основные концепции протокола NFS. NFS-сервер nfsd. NFS-клиент. Основные концепции протоколов SMB/CIFS. SMB-сервер samba. Основные концепции процедуры аутентификации. Система Name Service Switch. PAM. Настройка PAM. PAM-модули. Система NIS. Настройка NIS. Основные концепции протокола LDAP. Инструменты для работы с OpenLDAP. Настройка сервера OpenLDAP. Реализации служб каталога. Основные правила безопасности. Шаги к безопасности. Сетевое обслуживание. Противодействие. Атака типа MITM. SELinux. Контекст SELinux. Режимы работы SELinux. Изменение контекста. Резервное копирование. Bacula. Всегда под угрозой. Маршрутизация. Сетевой фильтр iptables. Цепочки iptables. Состояния пакетов. Команды iptables. Критерии iptables. Действия iptables. Протокол-ориентированные критерии. Дополнительные параметры. Модули iptables. Сетевая трансляция. Средства диагностики. Мониторинг. Анализ файловой системы. Права доступа к файлам. Дополнительные атрибуты ext*. logwatch. sar. mpstat и iostat. Aide. Безопасность сервиса. Конфигурирование libwrap. Программа denyhosts. Шифрование. Цифровые сертификаты.
Модуль 4. Основы программирования на Python для сетевых инженеров
Введение в Python. Настройка среды разработки. Типы данных, переменные, операторы. Функции и модули в Python. Типовые алгоритмические задачи. . Решение типовых алгоритмических задач. Элементы объектно-ориентированного программирования. Классы и методы в Python. Взаимодействие с приложениями и устройствами. Понятие API, протоколов и форматов сериализации. Параллельное выполнение. Понятие и проблемы асинхронного выполнения кода. Автоматизация. Решение задач, имеющих отношение к практике. Обзор типовых задач автоматизации. Обзор типовых задач конфигурации сети. Решение типовых задач автоматизации средствами Python. Решение типовых задач конфигурации сети средствами Python.
Модуль 5. Основы разработки shell-сценариев для командного интерпретатора BASH
Введение, задачи, решаемые с помощью shell-сценариев. Использование переменных, переменные окружение, правила именования. Организация диалога с пользователем. Команды echo и printf. Ввод данных помощью команд read и select. Условное выполнение; понятие "истина" и "ложь". Арифметические операции, работа со случайными значениями. Понятие цикла, циклы for и while. Отладка сценария, специализированные опции bash. Анализ командной строки. Использование функций. Работа с массивами. Работа со строками. Использование sed и awk. Операции с файлами.
Модуль 6. Практикум по программированию на языке сценариев командного интерпретатора BASH
Создание базовых скриптов. Использование переменных в скриптах. Использование различных опций вывода в скриптах. Использование различных опций ввода в скриптах. Использование условных конструкций в скриптах. Использование арифметических операций в скриптах. Использование циклов в скриптах. Использование обработки ошибок в скриптах. Использование функций в скриптах. Использование массивов в скриптах. Управление строками в скриптах. Управление файлами в скриптах.
Модуль 7. Автоматизация задач администрирования ОС семейства Linux с использованием Ansible
Концепции Ansible. Установка Ansible. Настройка Ansible. Основные возможности Ansible. Структура проектов Ansible. Структура конфигурации Ansible. Конфигурационный файл Ansible. Инвентаризация. Вызов команд по требованию. Синтаксис рабочих книг. Повышение привилегий. Проверка и выполнение рабочих книг. Управление файлами и каталогами. Управление правами файлов. Управление архивами. Определение переменных в рабочих книгах. Определение переменных во внешних файлах. Шифрование контента при помощи Ansible Vault. Использование фактов. Волшебные переменные. Определение переменных во внешних файлах. Регулярные выражения. Управление строками текста. Управление блоками текста. Условные конструкции. Циклы. Блоки условных конструкций в рабочих книгах Ansible. Управление пользователями и группами с использованием рабочих книг Ansible. Репозиторий. Управление пакетами и репозиториями. Управление процессами и службами. Управление и настройка межсетевого экрана. Создание и применение правил экранирования. Управление дисками разделами и файловыми системами. Управление томами LVM. Монтирование разделов и томов. Введение в шаблоны Jinja2. Синтаксис шаблонов Jinja2. Циклы, последовательности и условные конструкции в шаблонах Jinja2. Особенности создания комплексных проектов Ansible. Советы и практические рекомендации. Примеры. Встроенные роли Ansible: характеристика, особенности и примеры использования. Роли Ansible для автоматизации задач. Рекомендации по созданию и применению Примеры.