upd lab4
@@ -31,8 +31,8 @@
|
||||
#align(center)[Направление подготовки 11.03.02]
|
||||
\
|
||||
\
|
||||
#align(center)[Лабораторная работа №2]
|
||||
#align(center)[Создание и использование размерных типов данных]
|
||||
#align(center)[Лабораторная работа №3]
|
||||
#align(center)[Подсистема хранения]
|
||||
\
|
||||
\
|
||||
\ //#align(center)[Вариант 19]
|
||||
|
||||
BIN
labs/lab4/assets/1.png
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
labs/lab4/assets/10.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
labs/lab4/assets/11.png
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
labs/lab4/assets/12.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
labs/lab4/assets/13.png
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
labs/lab4/assets/14.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
labs/lab4/assets/15.png
Normal file
|
After Width: | Height: | Size: 200 KiB |
BIN
labs/lab4/assets/16.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
labs/lab4/assets/17.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
labs/lab4/assets/18.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
labs/lab4/assets/19.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
labs/lab4/assets/2.png
Normal file
|
After Width: | Height: | Size: 131 KiB |
BIN
labs/lab4/assets/20.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
labs/lab4/assets/21.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
labs/lab4/assets/22.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
labs/lab4/assets/23.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
BIN
labs/lab4/assets/24.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
labs/lab4/assets/25.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
labs/lab4/assets/26.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
labs/lab4/assets/27.png
Normal file
|
After Width: | Height: | Size: 189 KiB |
BIN
labs/lab4/assets/28.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
labs/lab4/assets/29.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
labs/lab4/assets/3.png
Normal file
|
After Width: | Height: | Size: 149 KiB |
BIN
labs/lab4/assets/30.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
labs/lab4/assets/31.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
labs/lab4/assets/32.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
labs/lab4/assets/33.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
labs/lab4/assets/34.png
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
labs/lab4/assets/35.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
labs/lab4/assets/36.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
labs/lab4/assets/37.png
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
labs/lab4/assets/38.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
labs/lab4/assets/39.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
labs/lab4/assets/4.png
Normal file
|
After Width: | Height: | Size: 173 KiB |
BIN
labs/lab4/assets/40.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
labs/lab4/assets/41.png
Normal file
|
After Width: | Height: | Size: 261 KiB |
BIN
labs/lab4/assets/42.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
labs/lab4/assets/5.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
labs/lab4/assets/6.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
labs/lab4/assets/7.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
labs/lab4/assets/8.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
labs/lab4/assets/9.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
labs/lab4/report.pdf
Normal file
255
labs/lab4/report.typ
Normal file
@@ -0,0 +1,255 @@
|
||||
#set text(size: 1.3em)
|
||||
#set page(footer: context {
|
||||
if counter(page).get().first() > 1 [
|
||||
#align(center)[
|
||||
#counter(page).display("1")
|
||||
]
|
||||
]
|
||||
})
|
||||
|
||||
|
||||
#show raw.where(block: false): box.with(
|
||||
fill: luma(240),
|
||||
inset: (x: 3pt, y: 0pt),
|
||||
outset: (y: 3pt),
|
||||
radius: 2pt,
|
||||
)
|
||||
|
||||
#show raw.where(block: true): block.with(
|
||||
fill: luma(240),
|
||||
inset: 10pt,
|
||||
radius: 4pt,
|
||||
)
|
||||
|
||||
// title
|
||||
|
||||
#align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики]
|
||||
\
|
||||
\
|
||||
\
|
||||
#align(center)[Факультет инфокоммуникационных технологий]
|
||||
#align(center)[Направление подготовки 11.03.02]
|
||||
\
|
||||
\
|
||||
#align(center)[Лабораторная работа №4]
|
||||
#align(center)[Элементы безопасности в Linux]
|
||||
\
|
||||
\
|
||||
\ //#align(center)[Вариант 19]
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
#align(right)[Выполнил:]
|
||||
#align(right)[Дощенников Никита Андреевич]
|
||||
#align(right)[Группа: К3221]
|
||||
#align(right)[Проверил:]
|
||||
#align(right)[Береснев Артем Дмитриевич]
|
||||
\
|
||||
\
|
||||
#align(center)[Санкт-Петербург]
|
||||
#align(center)[2025]
|
||||
|
||||
#pagebreak()
|
||||
|
||||
=== Цель работы:
|
||||
|
||||
Получить практические навыки работы с сетевой подсистемой в Linux, научится управлять пользователями, правами на файлы и каталоги, научиться
|
||||
настраивать сетевые интерфейсы, NAT и настраивать ssh.
|
||||
|
||||
=== Часть 1. Подготовка конфигурации.
|
||||
|
||||
У себя на машине я создал новую виртуальную сеть:
|
||||
|
||||
```bash
|
||||
virsh net-define /tmp/intnet.xml
|
||||
virsh net-autostart intnet
|
||||
virsh net-start intnet
|
||||
```
|
||||
|
||||
Содержание файла `/tmp/intnet.xml`:
|
||||
|
||||
```xml
|
||||
<network>
|
||||
<name>intnet</name>
|
||||
<forward mode='none'/>
|
||||
</network>
|
||||
```
|
||||
|
||||
К первой машине я добавил дополнительный интерфейс, подключенный к сети intnet:
|
||||
|
||||
```bash
|
||||
virsh attach-interface --domain ubuntu24.04 --type network --source intnet --model virtio --config --live
|
||||
```
|
||||
|
||||
Вторую машину я полностью перевел во внутреннюю сеть:
|
||||
|
||||
```bash
|
||||
virsh detach-interface --domain ubuntu24.04-clone --type network --mac 52:54:00:76:1f:db --config --live
|
||||
virsh attach-interface --domain ubuntu24.04-clone --type network --source intnet --model virtio --config --live
|
||||
```
|
||||
|
||||
#align(center)[#image("assets/1.png")]
|
||||
#align(center)[#image("assets/2.png")]
|
||||
|
||||
На `c7-1`:
|
||||
|
||||
#align(center)[#image("assets/3.png")]
|
||||
#align(center)[#image("assets/5.png")]
|
||||
#align(center)[#image("assets/6.png")]
|
||||
#align(center)[#image("assets/8.png")]
|
||||
|
||||
На `c7-2`:
|
||||
|
||||
#align(center)[#image("assets/4.png")]
|
||||
#align(center)[#image("assets/7.png")]
|
||||
#align(center)[#image("assets/9.png")]
|
||||
|
||||
|
||||
=== Часть 2. Создание пользователей и настройка OpenSSH Server (sshd).
|
||||
|
||||
Я создал пользователя на каждой машине:
|
||||
|
||||
#align(center)[#image("assets/10.png")]
|
||||
#align(center)[#image("assets/11.png")]
|
||||
|
||||
Затем я настроил `ssh` на обеих машинах:
|
||||
|
||||
#align(center)[#image("assets/12.png")]
|
||||
|
||||
И перезапустил daemon:
|
||||
|
||||
#align(center)[#image("assets/13.png")]
|
||||
|
||||
Все те же действия я проделал на второй машине.
|
||||
|
||||
Попробовал подключиться с `c7-1` на `c7-2`:
|
||||
|
||||
#align(center)[#image("assets/14.png")]
|
||||
|
||||
=== Часть 3. Подключение к виртуальной машине c7-1 по ssh через NAT VirtualBox.
|
||||
|
||||
У себя на машине:
|
||||
|
||||
#align(center)[#image("assets/15.png")]
|
||||
|
||||
#align(center)[#image("assets/16.png")]
|
||||
#align(center)[#image("assets/17.png")]
|
||||
|
||||
Копирование файла с `c7-2` на `c7-1`:
|
||||
|
||||
#align(center)[#image("assets/18.png")]
|
||||
|
||||
Копирование с `c7-2` на `c7-1`:
|
||||
|
||||
#align(center)[#image("assets/19.png")]
|
||||
|
||||
=== Часть 4. Установка и настройка NAT в iptables.
|
||||
|
||||
Я установил `iptables`:
|
||||
|
||||
#align(center)[#image("assets/20.png")]
|
||||
|
||||
Настроил клиентский NAT, то есть настроил связь между `10.0.0.0/24` и `enp1s0` через роутер `c7-1`.
|
||||
|
||||
#align(center)[#image("assets/21.png")]
|
||||
|
||||
Затем я разрешил форвардинг трафика на `c7-1`:
|
||||
|
||||
#align(center)[#image("assets/22.png")]
|
||||
|
||||
После этого я проверил работу интернета с `c7-2`:
|
||||
|
||||
#align(center)[#image("assets/23.png")]
|
||||
|
||||
Я настроил проброс порта:
|
||||
|
||||
#align(center)[#image("assets/24.png")]
|
||||
|
||||
На `c7-1`:
|
||||
|
||||
#align(center)[#image("assets/25.png")]
|
||||
|
||||
Локально:
|
||||
|
||||
#align(center)[#image("assets/26.png")]
|
||||
|
||||
Текущие правила:
|
||||
|
||||
#align(center)[#image("assets/27.png")]
|
||||
|
||||
Настройки не сбрасываются после перезагрузки:
|
||||
|
||||
#align(center)[#image("assets/28.png")]
|
||||
|
||||
=== Часть 5. Настройка прав на файлы и каталоги.
|
||||
|
||||
Я создал скрипт `mkuser.sh`:
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
count="${1:?}"
|
||||
start="${2:?}"
|
||||
for ((i=0;i<count;i++)); do
|
||||
n=$((start+i))
|
||||
u="u${n}"
|
||||
p="DerParol${n}"
|
||||
id -u "$u" >/dev/null 2>&1 || adduser --disabled-password --gecos "" "$u"
|
||||
echo "${u}:${p}" | chpasswd
|
||||
done
|
||||
```
|
||||
|
||||
#align(center)[#image("assets/29.png")]
|
||||
#align(center)[#image("assets/30.png")]
|
||||
|
||||
Затем я создал группу:
|
||||
|
||||
#align(center)[#image("assets/31.png")]
|
||||
|
||||
Членам группы я выдал полный доступ, а остальным только чтение:
|
||||
|
||||
#align(center)[#image("assets/32.png")]
|
||||
#align(center)[#image("assets/33.png")]
|
||||
|
||||
Проверим:
|
||||
|
||||
#align(center)[#image("assets/34.png")]
|
||||
|
||||
Я сделал так, чтобы в `/DATA/sec1` любой мог писать, но удалять - только свои файлы:
|
||||
|
||||
#align(center)[#image("assets/35.png")]
|
||||
|
||||
Проверим:
|
||||
|
||||
#align(center)[#image("assets/36.png")]
|
||||
|
||||
`/DATA/sec2` настроен на полный доступ для спец. пользователя, для пользователей `uN` только чтение, для прочих нельзя.
|
||||
|
||||
#align(center)[#image("assets/37.png")]
|
||||
|
||||
Проверим:
|
||||
|
||||
#align(center)[#image("assets/38.png")]
|
||||
|
||||
В `/DATA/sec3` скопировал `nano` и любой пользователь смог изменять с помощью его файлы в нем.
|
||||
|
||||
#align(center)[#image("assets/39.png")]
|
||||
|
||||
Проверим:
|
||||
|
||||
#align(center)[#image("assets/40.png")]
|
||||
#align(center)[#image("assets/41.png")]
|
||||
|
||||
Права:
|
||||
|
||||
#align(center)[#image("assets/42.png")]
|
||||
|
||||
=== Часть 6. Настройка аутентификации по ключу.
|
||||
|
||||
=== Часть 7. Sudo.
|
||||
|
||||
=== Часть 8. Получение информации о пользователях.
|
||||