# Linux. Практическая работа № 5
## 5.0 Развертывание машин.
Лабораторию будем развертывать на базе Oracle VirtualBox.
## 5.1 Установить Debian11
Укажем имя и тип машины

---
Подключим установочный диск с Debian11

---
Установку будем производить в графическом режиме

---
Выберем язык

---
Укажем расположение

---
Установим локаль

---
Сконфигурируем клавиатуру

---
Пошел процесс загрузки компонентов с установочного носителя

---
Укажем имя машины

---
Определим домен

---
Установим пароль root

---
Добавим пользователя user

---
Установим пароль пользователя

---
Настроим часовой пояс

---
Не будем создавать LMV. В разбиении диска будем следовать советам установщика

---
Выберем физический диск, он пока один

---
Создадим несколько разделов

---
Запишем информацию о разделах на диск


---
Пошла базовая установка

---
Новых установочных ресурсов не будем добавлять

---
Сконфигурирум установщик пакетов - укажем страну зеркала

---
Выберем debian.org

---
Машина не за прокси

---
Процесс конфигурирования установщика пакетов

---
Установка ПО

---
Отказываемся от сбора статистики

---
Продолжается установка

---
Установим только стандартый набор без графики

---
Процесс установки пакетов

---
Процесс установки загрузчика

---
Установим загрузчик на основной диск



---
Окончание процесса установки


---
Перезагрузка в систему

---
Зайдем в систему


Установка завершена
Установка второй машины аналогична
## 5.2 Создать snapshot
Создадим снимок вирутальной машины
Укажем имя и описание и посмотрим состояние

---
Снимок создан

---
## 5.3 Включить пользователя в группу sudo
Установим sudo

Добавим user в sudoers


## 5.4 Выделить место на Oracle VirtualBox под новые HDD
Свободное место ресурс ограниченный, поэтому много выделять не будем
Для первого диска

---
И для второго диска

---
## 5.5. Создать два новых HDD
Добавим два дополнительных диска для виртуальной машины





---
## 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
```
Результат

---
## 5.6 Создать директорию "Data, bigData"
```bash=
# создадим точки для монтирования
mkdir /mnt/{Data,bigData}
#
ls -l /mnt
```
Результат

---
## 5.7-9 Примонтировать первый диск к bigData, второй к Data, смапить папку в папку --bind
```bash=
# посмотрим диски и разделы
fdisk -l
# n - new partition содадим партицию на диске sdb
fdisk /dev/sbd
# посмотрим результат создания партиции
fdisk -l
```
Результат



---
```bash=
# n - new partition создадим партицию на диске sdс
fdisk /dev/sdс
# посмотрим результат создания партиции
fdisk -l
```
Результат


---
```bash=
# создадим файловую систему на первом разделе
mkfs.ext4 /dev/sdb1
# отформатируем и второй раздел
mkfs.ext4 /dev/sdc1
```
Результат

---
```bash=
# смонтируем первый раздел только на чтение
mount -r /dev/sdb1 /mnt/bigData
# второй смонтируем нормально
mount /dev/sdc1 /mnt/Data
# создадим точку для биндинга
mkdir /mnt/Data/folderToBindBigData
# смаппим один каталог на другой
mount --bind /mnt/bigData /mnt/Data/folderToBindBigData
```
Результат

---
## 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
```
Результат

---
## 5.13-16 Создать нового пользователя, назначить пароль, включить пользователя в группу PT, убедиться, что в домашнем каталоге создана директория с новым пользователем
```bash=
# добавим еще пользователя, назовем его seconduser
adduser seconduser
# добавим пользователя в группу PT
usermod -aG PT seconduser
# убедимся что для пользователя создан домашний каталог
ls /home
```
Результат

---
## 5.17-18 Назначить права для нового пользователя, залогиниться и проверить назначение прав
```bash=
# посмотрим содержимое каталого mnt
# с описанием групп и владельцев
ls -l /mnt
# запретим остальным пользователям просматривать каталог Data, право просмотра вложенных каталогов оставим
chmod o-r /mnt/Data
# посмотрим резльтат
ls -l /mnt
```
Результат

---
Проверим что seconduser не может просматривать каталог Data, но может просматривать вложенные в него каталоги. Пользователь не обладает правом просмотра на каталог Data, но у него есть право исполнения, благодаря чему он может просматривать вложенные каталоги.
Результат

---
## 5.19 Установка и настройка сервера ssh
Установим клиент и сервер ssh
```bash=
apt install openssh-server
```
Результат


---
Проверим запуск демона
```bash=
service sshd status
```
Результат

---
Зададим нестандартный порт и адрес прослушки, настроим использование ключей, отключим использование паролей, доступ для root и установим алиасы.

```bash=
# включим только IPv4
AddressFamily inet
# что будем прослушивать
ListenAddress 192.168.1.75:1271
# включим ассиметричную аутентификацию
PubkeyAuthentication yes
# ключи в профиле пользователя
AuthorizedKeysFile %h/.ssh/authorized_keys
# отключим аутентификацию по паролю
PasswordAuthentication no
# дополнительно запретим пустые пароли
PermitEmptyPasswords no
# отключим доступ руту
PermitRootLogin no
```


---
На хостовой машине (Linux) создадим алиас подключения.



---
Cгенерируем ключи на хостовой машине

---
Cкопируем ключи с хоста на сервер

---
Рестартуем sshd на сервере
```bash=
service sshd restart
```
sshd стартовал

---
## 5.20 Подключимся из основной машины (у меня Linux) к серверу



----
## 5.21 Конфигурирование fstab
Определим UUID дисков sdb1, sdc1

___
Для обеспечения монтирования наших дисков и маппинга каталогов после перезагрузки внесем необходимые записи в файл /etc/fstab
Создадим запись в fstab и проверим командой
```bash=
mount -a
```
Результат

---
После перезагрузки диски успешно монтируются, директория мапится


---
На этом данная работа завершена