Базовое администрирование Linux

Весна 2020

Цель курса — курс направлен на приобретение студентами навыков работы в среде linux на уровнях базового администрирования и оценки работоспособности системы. Эти знания должны помочь начинающим разработчикам проще находить и решать проблемы разработки веб-приложений совместно с администраторами их эксплуатирующими, либо стать основой для развития администратора.

После прохождения курса студенты получат знания о том, как устанавливать, настраивать и использовать linux в работе, так же получат знания об администрировании linux-систем и приложений, используемых для создания веб-сервисов, управления пользователями и организации доступа к сети.

Подробнее

Курс предназначен для студентов со знаниями linux от нулевых до продвинутых. Для тех, кто впервые знакомится с linux, в ходе курса будут рассмотрены основные вопросы, возникающие при переходе с windows на linux; также будут разбираться типовые задачи, которые регулярно решаются при эксплуатации linux-систем, и вопросы, с которыми приходится сталкиваться при строительстве web-приложений и админиcтрировании платформы для них…

В ходе прохождения курса, разбитого на 3 части, будут выполняться домашние работы и контрольные работы, являющиеся частью итоговых заданий.



Для получения сертификата о прохождении курса вам необходимо получить не менее 50 баллов. При пересчете баллов студенты могут получить итоговую оценку: 0–49 неудовлетворительно, 50–59 удовлетворительно, 60–84 хорошо, 85–100 отлично.

Подробнее

Преподаватели

Сергей Шаленко Сергей Шаленко

None

Программа

занятие Часы в ауд. + сам. работа

Смешанное занятие №1: Знакомство   + ДЗ №1

Знакомство
Знакомство с профессией и рассказ о примерах реального применения навыков о которых пойдет речь в курсе
Установка linux в виртуалбокс
Этапы запуска linux (bios/mbr/grub/initramfs/kernel/init)
Устройство linux (кернель, описание дерева каталогов, что такое программы в linux, что такое пакеты и пакетный менеджер, краткое знакомство с apt)
Начало работы с linux (man, apropos, —help -h, touch, cd, cat, ls, vim)
Просмотр основных ресурсов сервера df, du, top, free, ethtool, dmidecode


 
Домашнее задание №1: ДЗ №1
В виртуал боксе собственноручно установить linux
Установить mysql
Посмотреть из какие файлов состоит пакет mysql, найти его бинарь, файлы конфигурации, скрипты запуска
Поправить значение max_connections в mysql посредством vim
4 часа + 1 часа СР

Лекция №1: Лекция  

Дополнительная лекция
4 часа

Смешанное занятие №2: Знакомство с системой   + ДЗ №2

Продолжение знакомства с linux. Система прав chmod/chown/chattr. Дополнительные биты, такие как setuid
Перенаправления ввода/вывода. Stdout, strerr
Копируем nginx access.log и начинаем его парсить посредством grep, sed, awk, sort, uniq
Краткое введение в простые регулярные выражения
Настройка сети в Linux (dhcp в netplan/interfaces - думаю есть смысл показать оба варианта). ip a, ifconfig, arp
Поднятие/выключение линков. Поднятие и убирание айпишников на интерфейсах.
Маршруты, ip r. Добавить/удалить маршрут.
traceroute (не только показажу а и расскажу принцип работы), mtr
Домашнее задание №2: ДЗ № 2
Заменить в nginx access.log все «HTTP 200OK» на слово test123
Найти IP адрес который больше всего сделал запросов к nginx
Попробовать написать простую регулярку для выборки IP адресов из nginx access.log
4 часа

Смешанное занятие №3: Ресурсы системы   + ДЗ №3

Краткое повторение того, что мы прошли, вопросы студентов.
 
Домашнее задание №3: ДЗ №3
У кого были проблемы на семинаре - дам дополнительное задание которое им поможет подтянуться.
 
4 часа

Лекция №2: Linux: пользователи, доступ и системные настройки   + ДЗ №4

l2. IP пакет (рассмотрение на картинке из чего состоит этот пакет)
tcp/udp/icmp. Рассмотрение из чего состоят пакеты.tcp-handshake. Показ tcp-handshake к mail.ru на примере в tcpdump
l3. rip, bird
Поднятие айпишника на lo. Настройка анонса средствами bird. Показ анонса наглядно в tcpdump
AS
DNS, типы записей. Показ ДНС наглядно в tcpdump
iptables/ipset
Домашнее задание №4: ДЗ № 4
Заблокировать в своей виртуалке весь траффик. Открыть траффик на 80/443 порты на диапазон из 100 адресов
Настроить персистентное хранение правил iptables
Разобраться в синтаксисе bird конфига, который мы создадим на лекции
Запустить tcpdump и посмотреть наглядно траффик, который будет бегать при: telnet mail.ru 443
Попробовать отфильтровать вывод с помощью фильтров tcpdump
4 часа + 1 часа СР

Смешанное занятие №4: Linux и сеть #1   + ДЗ №5

Скачивание посредством wget/curl CMS opencart
Установка nginx
Установка php-fpm
Простейшая настройка nginx (2 локейшена - один в php, второй на статику)
Простейшая настройка php-fpm
Установка Mysql
Загрузка на сервер CMS (scp/rsync)
Установка opencart
Знакомство c mysql клиентом
Просмотр структуры базы данных opencart
Простые SQL запросы в таблицы opencart
Создание дампа mysqldump, восстановление из дампа. Cron
Домашнее задание №5: ДЗ № 5
Установка нужного софта для работы wordpress (включая модули php-fpm)
Установка wordpress
Попробовать переименовать своего пользователя посредством UPDATE запроса в mysql
Настроить cron на бэкап MYSQL
4 часа + 1 часа СР

Смешанное занятие №5: Linux и сеть #2  

Краткое повторение что мы прошли, вопросы студентов.
 
4 часа + 1 часа СР

Контрольное занятие №1: Итоговое занятие  

Защита устной и практической части курса
4 часа + 3 часа СР