# Linux. Практическая работа № 5 ## 5.0 Развертывание машин. Лабораторию будем развертывать на базе Oracle VirtualBox. ## 5.1 Установить Debian11 Укажем имя и тип машины ![](https://i.imgur.com/x2U6lpG.png) --- Подключим установочный диск с Debian11 ![](https://i.imgur.com/fRhaRVl.png) --- Установку будем производить в графическом режиме ![](https://i.imgur.com/mHZV6hU.png) --- Выберем язык ![](https://i.imgur.com/QMDm4jm.png) --- Укажем расположение ![](https://i.imgur.com/hmkYuvP.png) --- Установим локаль ![](https://i.imgur.com/tJHHZhF.png) --- Сконфигурируем клавиатуру ![](https://i.imgur.com/AYyAT4a.png) --- Пошел процесс загрузки компонентов с установочного носителя ![](https://i.imgur.com/qjrcXFx.png) --- Укажем имя машины ![](https://i.imgur.com/sA8tpec.png) --- Определим домен ![](https://i.imgur.com/HQ7fWdk.png) --- Установим пароль root ![](https://i.imgur.com/HSA723L.png) --- Добавим пользователя user ![](https://i.imgur.com/OwYx4uz.png) --- Установим пароль пользователя ![](https://i.imgur.com/gwBpPHT.png) --- Настроим часовой пояс ![](https://i.imgur.com/sz410Xd.png) --- Не будем создавать LMV. В разбиении диска будем следовать советам установщика ![](https://i.imgur.com/0qQ7FPx.png) --- Выберем физический диск, он пока один ![](https://i.imgur.com/6MjmAce.png) --- Создадим несколько разделов ![](https://i.imgur.com/Oi1FFyx.png) --- Запишем информацию о разделах на диск ![](https://i.imgur.com/RuWUDlC.png) ![](https://i.imgur.com/N5hQiIu.png) --- Пошла базовая установка ![](https://i.imgur.com/JJq9Ks3.png) --- Новых установочных ресурсов не будем добавлять ![](https://i.imgur.com/89DjboU.png) --- Сконфигурирум установщик пакетов - укажем страну зеркала ![](https://i.imgur.com/SQ6yx9F.png) --- Выберем debian.org ![](https://i.imgur.com/JOHfMBU.png) --- Машина не за прокси ![](https://i.imgur.com/PPCETAn.png) --- Процесс конфигурирования установщика пакетов ![](https://i.imgur.com/etYqcIm.png) --- Установка ПО ![](https://i.imgur.com/bMczhyQ.png) --- Отказываемся от сбора статистики ![](https://i.imgur.com/CGQKVL3.png) --- Продолжается установка ![](https://i.imgur.com/ytxzbbb.png) --- Установим только стандартый набор без графики ![](https://i.imgur.com/esDk20W.png) --- Процесс установки пакетов ![](https://i.imgur.com/bcWDOeW.png) --- Процесс установки загрузчика ![](https://i.imgur.com/BaZ371z.png) --- Установим загрузчик на основной диск ![](https://i.imgur.com/LlOqOCr.png) ![](https://i.imgur.com/IQAk0gT.png) ![](https://i.imgur.com/bMUMVlf.png) --- Окончание процесса установки ![](https://i.imgur.com/Vbn7IEE.png) ![](https://i.imgur.com/HRJJnhr.png) --- Перезагрузка в систему ![](https://i.imgur.com/Y0DpfPK.png) --- Зайдем в систему ![](https://i.imgur.com/UmQvzM1.png) ![](https://i.imgur.com/KIQcRzb.png) Установка завершена Установка второй машины аналогична ## 5.2 Создать snapshot Создадим снимок вирутальной машины Укажем имя и описание и посмотрим состояние ![](https://i.imgur.com/nPBqDJY.png) --- Снимок создан ![](https://i.imgur.com/Uhpr8Em.png) --- ## 5.3 Включить пользователя в группу sudo Установим sudo ![](https://i.imgur.com/uFykmmg.png) Добавим user в sudoers ![](https://i.imgur.com/ClIqM9C.png) ![](https://i.imgur.com/AwRZAAH.png) ## 5.4 Выделить место на Oracle VirtualBox под новые HDD Свободное место ресурс ограниченный, поэтому много выделять не будем Для первого диска ![](https://i.imgur.com/4NShe6w.png) --- И для второго диска ![](https://i.imgur.com/WfUJZIq.png) --- ## 5.5. Создать два новых HDD Добавим два дополнительных диска для виртуальной машины ![](https://i.imgur.com/0qRQInU.png) ![](https://i.imgur.com/AbKoDmj.png) ![](https://i.imgur.com/WfUJZIq.png) ![](https://i.imgur.com/4NShe6w.png) ![](https://i.imgur.com/1hB6fAR.png) --- ## 5.5.1-2 Примонтировать диски ```bash= # смонтируем первый раздел только на чтение mount -r /dev/sdb1 /mnt/bigData # второй смонтируем нормально mount /dev/sdc1 /mnt/Data # создадим точку для биндинга mkdir /mnt/Data/folderToBindBigData # смаппим один каталог на другой mount --bind /mnt/bigData /mnt/Data/folderToBindBigData ``` Результат ![](https://i.imgur.com/ub8ZzWM.png) --- ## 5.6 Создать директорию "Data, bigData" ```bash= # создадим точки для монтирования mkdir /mnt/{Data,bigData} # ls -l /mnt ``` Результат ![](https://i.imgur.com/zQjEb9w.png) --- ## 5.7-9 Примонтировать первый диск к bigData, второй к Data, смапить папку в папку --bind ```bash= # посмотрим диски и разделы fdisk -l # n - new partition содадим партицию на диске sdb fdisk /dev/sbd # посмотрим результат создания партиции fdisk -l ``` Результат ![](https://i.imgur.com/3y7cJpE.png) ![](https://i.imgur.com/zOFhd22.png) ![](https://i.imgur.com/OQSTRyd.png) --- ```bash= # n - new partition создадим партицию на диске sdс fdisk /dev/sdс # посмотрим результат создания партиции fdisk -l ``` Результат ![](https://i.imgur.com/8mcHdxd.png) ![](https://i.imgur.com/BxDH7VG.png) --- ```bash= # создадим файловую систему на первом разделе mkfs.ext4 /dev/sdb1 # отформатируем и второй раздел mkfs.ext4 /dev/sdc1 ``` Результат ![](https://i.imgur.com/DZcoRua.png) --- ```bash= # смонтируем первый раздел только на чтение mount -r /dev/sdb1 /mnt/bigData # второй смонтируем нормально mount /dev/sdc1 /mnt/Data # создадим точку для биндинга mkdir /mnt/Data/folderToBindBigData # смаппим один каталог на другой mount --bind /mnt/bigData /mnt/Data/folderToBindBigData ``` Результат ![](https://i.imgur.com/ub8ZzWM.png) --- ## 5.10-12 Создать группу PT, создать папку 23 в директории Data, назначить данную папку 23 группе PT ```bash= # добавим группу PT groupadd PT # создадим каталог 23 mkdir /mnt/Data/23 # посмотрим права ls -l /mnt/Data # сменим группу на каталоге 23 на PT chgrp PT /mnt/Data/23 # посмотрим права после смены группы ls -l /mnt/Data ``` Результат ![](https://i.imgur.com/Glvqt9M.png) --- ## 5.13-16 Создать нового пользователя, назначить пароль, включить пользователя в группу PT, убедиться, что в домашнем каталоге создана директория с новым пользователем ```bash= # добавим еще пользователя, назовем его seconduser adduser seconduser # добавим пользователя в группу PT usermod -aG PT seconduser # убедимся что для пользователя создан домашний каталог ls /home ``` Результат ![](https://i.imgur.com/oNlVM1S.png) --- ## 5.17-18 Назначить права для нового пользователя, залогиниться и проверить назначение прав ```bash= # посмотрим содержимое каталого mnt # с описанием групп и владельцев ls -l /mnt # запретим остальным пользователям просматривать каталог Data, право просмотра вложенных каталогов оставим chmod o-r /mnt/Data # посмотрим резльтат ls -l /mnt ``` Результат ![](https://i.imgur.com/lI4XcUz.png) --- Проверим что seconduser не может просматривать каталог Data, но может просматривать вложенные в него каталоги. Пользователь не обладает правом просмотра на каталог Data, но у него есть право исполнения, благодаря чему он может просматривать вложенные каталоги. Результат ![](https://i.imgur.com/tqKi80k.png) --- ## 5.19 Установка и настройка сервера ssh Установим клиент и сервер ssh ```bash= apt install openssh-server ``` Результат ![](https://i.imgur.com/XJLP9SR.png) ![](https://i.imgur.com/6XeYrnS.png) --- Проверим запуск демона ```bash= service sshd status ``` Результат ![](https://i.imgur.com/6wBwORd.png) --- Зададим нестандартный порт и адрес прослушки, настроим использование ключей, отключим использование паролей, доступ для root и установим алиасы. ![](https://i.imgur.com/AxKGEbD.png) ```bash= # включим только IPv4 AddressFamily inet # что будем прослушивать ListenAddress 192.168.1.75:1271 # включим ассиметричную аутентификацию PubkeyAuthentication yes # ключи в профиле пользователя AuthorizedKeysFile %h/.ssh/authorized_keys # отключим аутентификацию по паролю PasswordAuthentication no # дополнительно запретим пустые пароли PermitEmptyPasswords no # отключим доступ руту PermitRootLogin no ``` ![](https://i.imgur.com/QsZga5Q.png) ![](https://i.imgur.com/ymZH9wR.png) --- На хостовой машине (Linux) создадим алиас подключения. ![](https://i.imgur.com/tymWKKI.png) ![](https://i.imgur.com/Mepbq4D.png) ![](https://i.imgur.com/PSTEeBe.png) --- Cгенерируем ключи на хостовой машине ![](https://i.imgur.com/se5npMS.png) --- Cкопируем ключи с хоста на сервер ![](https://i.imgur.com/cR8ASJi.png) --- Рестартуем sshd на сервере ```bash= service sshd restart ``` sshd стартовал ![](https://i.imgur.com/BccqzfF.png) --- ## 5.20 Подключимся из основной машины (у меня Linux) к серверу ![](https://i.imgur.com/mf9tuh2.png) ![](https://i.imgur.com/MumFFDt.png) ![](https://i.imgur.com/wfhdsgz.png) ---- ## 5.21 Конфигурирование fstab Определим UUID дисков sdb1, sdc1 ![](https://i.imgur.com/y7XSJRu.png) ___ Для обеспечения монтирования наших дисков и маппинга каталогов после перезагрузки внесем необходимые записи в файл /etc/fstab Создадим запись в fstab и проверим командой ```bash= mount -a ``` Результат ![](https://i.imgur.com/kOP2rEY.png) --- После перезагрузки диски успешно монтируются, директория мапится ![](https://i.imgur.com/0xUH7LS.png) ![](https://i.imgur.com/8MsR7Q5.png) --- На этом данная работа завершена