Операционные системы и виртуализация (Linux) (семинары)
HomeWork 1. Установка ОС Ubuntu в виртуальной машине. Работа в SSH-клиенте
Задание:
Установить Ubuntu Desktop на виртуальную машину.
Установить гостевые дополнения ОС.
Установить Midnight Commander.
Установить SSH-соединение с виртуальной машиной из хостовой.
Результат:
Текстовый файл (*.txt) с кодом команды, выводящей информацию о версии ОС (вместе с результатом работы этой команды). Также привести текст остальных использованных команд.
HomeWork 2. Работа с файлами и ссылками
Задание:
-
Создать каталоги students и mentors в домашней директории, а в них — текстовые файлы students_list.txt и mentors_list.txt соответственно.
-
Открыть созданные в п.1 файлы в любом текстовом редакторе и заполнить их (в соответствии с названием) списком Ваших одногруппников и наставников на данном потоке.
-
Переместите файл mentors_list.txt в папку students.
-
Удалите папку mentors.
-
Переименуйте папку students в students_and_mentors.
-
Удалите папку students_and_mentors вместе с содержимым.
-
- Создать файл file1 и наполнить его произвольным содержимым. Скопировать его в file2. Создать символическую ссылку file3 на file1. Создать жёсткую ссылку file4 на file1. Посмотреть, какие inode у файлов. Удалить file1. Что стало с остальными созданными файлами? Попробовать вывести их на экран.
-
- Дать созданным файлам другие, произвольные имена. Создать новую символическую ссылку. Переместить ссылки в другую директорию.
Результат: Текст команд, которые применялись при выполнении задания. Присылаем в формате текста выполненных команд и результатов их выполнения из терминала (простые файлы *.txt, созданные в блокноте). Без скриншотов.
HomeWork 3. Права доступа и безопасность
- Управление пользователями:
a) создать нового пользователя;
b) убедиться, что информация о нем появилась в соответствующих файлах в системе;
c) удалить созданного пользователя;
- Управление группами:
a) создать группу;
b) попрактиковаться в смене групп у пользователей;
c) добавить пользователя в группу, не меняя основной;
d) удалить пользователя из группы.
- Работа с группами.
a) Создать пользователя с правами суперпользователя. Проверить результат.
b) * Создать группу developer и нескольких пользователей, входящих в неё. Создать директорию для совместной работы. Сделать так, чтобы созданные одними пользователями файлы могли изменять другие пользователи этой группы.
c) * Создать в директории для совместной работы поддиректорию для обмена файлами, но чтобы удалять файлы могли только их создатели.
HomeWork 4. Подключение сторонних репозиториев, ручная установка пакетов
-
Подключить репозиторий с nginx любым удобным способом, установить nginx и потом удалить nginx, используя утилиту dpkg.
-
Установить пакет на свой выбор, используя snap.
-
Создать с помощью nano файл test.txt. Настроить автоматический бэкап этого файла раз в 10 минут в файл с названием test.txt.bak с использованием cron.
Решение присылаем в виде текста использованных команд (можно без результатов вывода). Без скриншотов!
HomeWork 5. Настройка сети в Linux. Работа с IPtables iptables
-
Настроить iptables: разрешить подключения только на 22-й и 80-й порты.
-
Настроить проброс портов локально с порта 80 на порт 8080.
-
Запретить любой входящий трафик с IP-адреса 3.4.5.6.
Сигналы процессам
- Запустите mc. Используя ps, найдите PID процесса, завершите процесс, передав ему сигнал 9.
HomeWork 6. Запуск стека для веб-приложения
Задание:
-
Установить Nginx
-
*настроить Nginx на работу с PHP-FPM.
-
Установить Apache.
-
*Настроить обработку PHP. Добиться одновременной работы с Nginx.
-
Настроить схему обратного прокси для Nginx (динамика - на Apache).
-
Установить MySQL. Создать новую базу данных и таблицу в ней.
-
*Установить пакет phpmyadmin и запустить его веб-интерфейс для управления MySQL.
Результат:
Текст команд, которые применялись при выполнении задания. При наличии: часть конфигурационных файлов, которые решают задачу. Присылаем в формате текстового документа: задание и команды для решения (без вывода и без скриншотов).
HomeWork 7. Запуск веб-приложения из контейнеров
-
Переустановить операционную систему (по желанию, для дополнительной практики)
-
Установить Docker.
-
Запустить контейнер с Ubuntu.
-
- Используя Dockerfile, собрать связку nginx + PHP-FPM в одном контейнере.