Практика: 26 человек 17 недель 14 часов
Лабораторные : 13 в группе 17 недель 38 часов
- VirtualBox https://www.virtualbox.org/wiki/Downloads
- Ubuntu Server https://ubuntu.com/download/server
- Шпаргалга по командам Ubuntu Server https://assets.ubuntu.com/v1/d00791ae-ubuntu_cli_cheat_sheet_2025.pdf
- ВСЕ файлы в одном месте https://cloud.mail.ru/public/HSi9/YvBuJzkKP
- Документация по GitHub: https://docs.github.com/ru
- Язык разметки Markdown: шпаргалка по синтаксису с примерами: https://skillbox.ru/media/code/yazyk-razmetki-markdown-shpargalka-po-sintaksisu-s-primerami/
Создайте виртуальную машину с помощью Oracle VM VirtualBox и выполните на ней установку операционной системы Ubuntu.Выполните настройку сети в Ubuntu и убедитесь в наличии доступа в интернет с помощью браузера или менеджера пакетов (например, обновив список пакетов командой sudo apt update).
Задание 2. (5 баллов). Изучение базовых команд Linux.
Задание 3. (5 баллов) Лабораторная работа №2. Терминал и командная оболочка операционной системы Linux
Выполнить задания 3.1-3.7 учебного курса "Введение в Linux". Изучить материал, выполнить задания, продемонстрировать оценку курса и разработанные в процессе его изучения скрипты.Пропорция 4 к 1, 60 баллов заработанных в курсе = 15 балла по предмету
Материалы для изучения: https://cloud.mail.ru/public/w4cU/ZnuZzMk8fКак известно, работа в операционной системе ведётся из-под пользователей, среди которых root имеет неограниченные права.Список базовых команд на самые распространённые случаи:useradd позволяет создавать новых пользователей. Чтобы управлять ими, нужно обладать правами суперадминистратора. При создании пользователей командой useradd автоматически создаётся одноимённая группа и (в некоторых системах) домашний каталог пользователя.groupadd — поможет создать отдельную группу.passwd — изменяет пароль пользователя.usermod — для других изменений пользователя, например, смены группы или домашнего каталога, может быть, блокировки.userdel — удаляет пользователя.Ключи этих команд всегда можно освежить в памяти с помощью man или параметра --help.
Работа выполняется в вашем собственном экземпляре операционной системы Linix.Откройте документ "Основы работы на серверах Linux, работа с командной строкой": https://cloud.mail.ru/public/7NKp/WBuXmaUmBВыполните максимальное количество заданий из этого урока. При необходимости адаптируйте их под возможности своей версии Linux. Напишите отчет о выполненной работе.Формат отчета:Практическая работа "Основы работы на серверах Linux, работа с командной строкой"ФИО, номер группы, датаКраткое описание задания - отчет об исполнении, что получилось. Если не получилось, то почему?
Задание 6 (15 баллов) Docker. Установка Docker.
Архив с заданиями практикума Яндекс: https://cloud.mail.ru/public/k6Tm/1n26WsjC5
Папка "07 Глава 7. Docker-контейнеризация и хранение данных"
Файл "01 Контейнеризация.html" --> Практическая работа №1. Часть 1, 2
Решить возникающие проблемы, от точной формулировки задания можно отходить, не теряя его смысл, если часть ресурсов, необходимых для решения недоступно.
Описать способы решения и проблемы, которые не позволили выполнить какую-то часть задачи.
Задание 7. (10 баллов)
Второе полугодие
Комментарий: gitLab недоступен, соответственно лабораторные на его основе будeт адаптированы под альтернативные платформы, и опубликованы во второй половине семестра.
Нейронные сети не запрещены! Оценка ставится не за решение задачи, а за ее защиту, ответы на вопросы преподавателя.
Тема "Скрипты Python для автоматизации управление архитектурой"
Задание 2.1 (12 баллов)
Изучите скрипт. Его задача: Анализ логов веб-сервера Nginx, выявление IP-адресов, с которых идет подозрительно много 404-х ошибок (попытка сканирования уязвимостей), и отправка оповещения в Telegram.
Подготовьте отчет (в виде страницы на своем github).
Ответьте в отчете на следующие вопросы:
1. (4 балла) Какие библиотеки используются в скрипте? Опишите функции которые они предоставляют.
2. (2 балла) Какое окружение нужно обеспечить, чтобы скрипт заработал?
3. (6 баллов) Модифицируйте скрипт таким образом, чтобы он выполнил хотя бы часть своего функционала. Например анализ лога сервера beget (не обязательно на ошибку 404). Или отправка сообщения.
_________________________________________________
import re
from collections import Counter
import requests
LOG_FILE = "/var/log/nginx/access.log"
TELEGRAM_TOKEN = "your_bot_token"
CHAT_ID = "your_chat_id"
# Поиск IP адресов с ошибками 404
with open(LOG_FILE, "r") as f:
log_content = f.read()
# Ищем IP и код ответа 404
ips = re.findall(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*?" 404', log_content)
# Если какой-то IP совершил более 50 ошибок 404
for ip, count in Counter(ips).items():
if count > 50:
msg = f"Обнаружена подозрительная активность! IP {ip} получил {count} ошибок 404."
requests.post(f"https://telegram.org{TELEGRAM_TOKEN}/sendMessage", json={"chat_id": CHAT_ID, "text": msg})
Задание 2.2 (8 баллов)
Напишите на Python скрипт, который читает из файла link.txt адреса сайтом и проверяет их доступность, выводя результат своей работы в файл report.txt формате: адрес -> статус (Ok, Error).
Решение и условие задачи можно модифицировать, если это не искажает ее суть.
- Изучите базовые команды Git (init, add, commit, push, pull, branch, merge, clone).
- Создайте репозиторий с заданной файловой структурой (README, docs/, src/, .gitignore).
- Оформите не менее 5 коммитов и опубликуйте проект на GitHub.
- Дополнительно: создайте ветку, внесите в неё изменения, слейте с main и оформите Pull Request.
Комментариев нет:
Отправить комментарий