---
# System prepended metadata

title: Практическая работа № 2
tags: [pt, linux]

---

# Практическая работа № 2

###### tags: `pt` `linux`

## 1. Мониторинг ОС Linux при помощи утилит df, du, free, iostat, mpstat, vmstat, w, htop.

### df

Выдает отчет о доступном и используемом дисковом пространстве на файловых системах

![](https://i.imgur.com/em2OGcG.png)

---

#### df -a

![](https://i.imgur.com/w2G75Wd.png)

> включенает в список файловые системы с размером блоков равным 0 (псевдофайловые системы специального назначения и фс типа "ignore" и "auto")

---

#### df -B [size] // df --block-size=[size]

![](https://i.imgur.com/9IQGhnR.png)

> выдачет информации о размерах фс в указанном размере

---

#### df -h // df --human-readable

![](https://i.imgur.com/wtygVrT.png)

> форматирует размер фс, приводя их к стандартным размерам в KiB, MiB, GiB...
1 KiB = 1 K = 1024 Bytes
1 KB = 1000 Bytes

---

#### df -H // df --si

![](https://i.imgur.com/Lu8s0CN.png)

> форматирует размер фс, приводя их к размерам единиц измерения в системе SI, т.е. в килобайтах, мегабайтах...
1 KiB = 1 K = 1024 Bytes
1 KB = 1000 Bytes

![](https://i.imgur.com/LV7zLlG.png)

---

#### df -i // df --inode

![](https://i.imgur.com/bQJp2QP.png)

> выдает информацию об используемых в фс inode'ов

---

#### df -k

![](https://i.imgur.com/M2nIbzX.png)

> устанавливает размер блока в 1 Кибибайт (1024 байт)

---

#### df -l // df --local

![](https://i.imgur.com/sO1lGPb.png)

> выдает информацию только о локальных фс

---

#### df -m

![](https://i.imgur.com/xm2Nysz.png)

> устанавливает размер блока в 1 Мебибайт (1024 КиБ)

---

#### df --sync

![](https://i.imgur.com/YmNSTKf.png)

> делать системный вызов sync перед получением данных об используемом дисковом пространстве (на некоторых фс данный метод может предоставить более точные показания с потерей скорости выполнения команды)

---

#### df --output=[field]

![](https://i.imgur.com/DyITVQv.png)

> указывает формат вывода информации об интересуемых полях

---

#### df -P // df --portability

![](https://i.imgur.com/y4RyNAW.png)

> использует формат  вывода по стандарту POSIX

___

#### df --total

![](https://i.imgur.com/QRpcTep.png)

> добавляет строчку total с информацией обо всей ОС

---

#### df -T // df --print-type

![](https://i.imgur.com/hxxE1Jj.png)

> выдает тип каждой фс

---

#### df -t [fs_type] //df --type=[fs_type]

![](https://i.imgur.com/ltdfrxY.png)

> выдает информацию о выбранных фс

---

#### df -x [fs_type] // df --exclude-type=[ds_type]

![](https://i.imgur.com/9aurNaZ.png)

> не выдает информацию о выбранных фс

---

#### df --help

![](https://i.imgur.com/T2mblp4.png)

> выдает информацию об используемых опциях команды df

---

#### df --version

![](https://i.imgur.com/7GZLg5P.png)

> выдает информацию о версии программы

---

#### Задания из практики

###### df

![](https://i.imgur.com/pI1gsuo.png)

###### df -h

![](https://i.imgur.com/lZh6faV.png)

###### df -a

![](https://i.imgur.com/tm87zhV.png)

###### df -x tmpfs

![](https://i.imgur.com/N5K3h4A.png)

###### df -a -x tmpfs -x bpf

![](https://i.imgur.com/reRXNSD.png)

###### df -t tmpfs

![](https://i.imgur.com/ZC5dt9Z.png)

###### df -h /dev/sda1

![](https://i.imgur.com/ehV3yb9.png)

###### df -hi /dev/sda1

![](https://i.imgur.com/q4hKSp0.png)

###### df -h /

![](https://i.imgur.com/LYOYTdh.png)

> df не применима к директориям (информация будет выводится о фс, чаастью которой является данная директория)

### du

Оценка места на диске, занятого файлами / каталогами

---

#### du -a // du --all

![](https://i.imgur.com/ymqLnCW.png)

>  показывает размеры всех файлов, а не только каталогов

---

#### du -b // du --bytes

![](https://i.imgur.com/hVqG03o.png)

> показывает размеры в байтах, а не кибибайтах

---

#### du --block-size=[size]

![](https://i.imgur.com/lhBfPOt.png)

> выдает размеры в блоках заданной длины

---

#### du -c // du --total

![](https://i.imgur.com/CqcnAE1.png)

> выдает дополнительную информацию о сумме размеров аргументов программы

---

#### du --exclude [dir] // du --exclude=[dir]

![](https://i.imgur.com/uEwZFOf.png)

> не выдает информацию об указанной директории

---

#### du -h // du --human-readable

![](https://i.imgur.com/PNBqD3J.png)

> форматирует размер данных, переводя их в Кибибайты, Мебибайты и т.д.

---

#### du --si

![](https://i.imgur.com/qfEAtyr.png)

> форматирует размер данных, переводя их в систему SI: Килобайты, Мегабайты и т.д.

---

#### du --max-depth=[n_recurse]

![](https://i.imgur.com/9M8luqO.png)

> выдает информацию о вложенных каталогах (файлах при опции -a) при указанной степени глубины/рекурсии осмотра основной директории

---

#### du -S // du --separate-dirs

![](https://i.imgur.com/ZAEki9a.png)

> выдает отдельно размеры каждой директории не включая размеры подкаталогов

---

#### Задания из практики

###### du

![](https://i.imgur.com/ErwGJzh.png)

###### du Documents

![](https://i.imgur.com/XN4gDVC.png)

###### du Documents Pictures .zshrc

![](https://i.imgur.com/5iyyPEz.png)

###### du -a Pictures

![](https://i.imgur.com/BKSUiov.png)

###### du -h /var

![](https://i.imgur.com/G8dsppO.png)

###### du -sh /var

![](https://i.imgur.com/Vw8e5w3.png)

###### du -csh /var/local /var/log /var/lib

![](https://i.imgur.com/KWMJxhh.png)

###### du -h --max-depth=1 /var

![](https://i.imgur.com/PBKvsUM.png)

###### du -sh --apparent-size /var/lib

![](https://i.imgur.com/79MQxaC.png)

###### du -csh Do*

![](https://i.imgur.com/N70BX1Z.png)

###### du -h /var | sort -rh | head -5

![](https://i.imgur.com/ROVAnSz.png)

---

### free

Предоставление информации об общем объеме физической памяти и памяти подкачки , а также о свободной и используемой памяти

![](https://i.imgur.com/iAH4tAk.png)

---

#### free -h // free --human

![](https://i.imgur.com/pWq61aQ.png)

> выдает размер памяти в формате KiB, MiB, GiB

---

#### free -b // free --bytes

![](https://i.imgur.com/QZC3Yck.png)

> выдает размер памяти в байтах

---

#### free -k // free --kibi

![](https://i.imgur.com/xMRz3F1.png)

> выдает размер памяти в Кибибайтах

---

#### free --kilo/mega/giga

![](https://i.imgur.com/YhEnIy1.png)

> выдает размер памяти в килобайтах, мегабайтах и гигабайтах

---

#### free -k/m/g

![](https://i.imgur.com/EqhpdNW.png)

> выдает размер памяти в кибибайтах, мебибайтах и гигибайтах

---

#### free --si

![](https://i.imgur.com/LntJflJ.png)

> выдает размер памяти, используя систему SI (1 K = 1000 bytes)

---

#### free -t // free --total

![](https://i.imgur.com/VwMlPjf.png)

> выдает дополнительную строчку информации, суммируя разные разделы памяти

---

#### free -s [sec]

![](https://i.imgur.com/ME33ayq.png)

> позволяет выводить информацию о памяти раз в заданное количество секунд

---

#### free -s [sec] -c [num]

![](https://i.imgur.com/2zKhcih.png)

> позволяет выводить информацию о памяти раз в заданное количество секунд определенное количество раз

---

#### Задания практики

###### free -s 5 -c 5

![](https://i.imgur.com/70iD8r0.png)

###### free -h--si -s 5 -c 4

![](https://i.imgur.com/q4vH1aa.png)

###### watch free- h

![](https://i.imgur.com/LArCb9B.png)

![](https://i.imgur.com/OnPfHQK.png)

---

### iostat

Отчет по статистике процессора и статистике ввода/вывода для устройств и разделов.

![](https://i.imgur.com/NXCAaHt.png)

---

#### iostat -c

![](https://i.imgur.com/2uAw7ko.png)

> отображает информацию об использовании процессора

---

#### iostat -d

![](https://i.imgur.com/H5fhp9F.png)

> отображает информацию об использовании устройств

---

#### iostat -h

![](https://i.imgur.com/58hBLOZ.png)

> форматирует размеры данных, переводя их в читаемый вид

---

#### iostat -m

![](https://i.imgur.com/izswHhe.png)

> форматирует размеры данных, переводя их в мегабайты

---

#### iostat -k

![](https://i.imgur.com/YObvVw4.png)

> форматирует размеры данных, переводя их в килобайты

---

#### iostat -o JSON

![](https://i.imgur.com/l1YYqqs.png)

> представляет информацию о процессах и устройствах в формате JSON

---

#### iostat -p

![](https://i.imgur.com/pkYse8C.png)

> отображает информацию о блочных устройствах и всех их разделов

---

#### iostat -x

![](https://i.imgur.com/3ixYRSI.png)

> показывает расширенную статистику

---

#### iostat -y [num]

![](https://i.imgur.com/2xOxOVY.png)

> выводит информацию о процессорах и устройствах раз в num секунд с момента запуска утилиты

---

#### iostat -z

![](https://i.imgur.com/i9XzSBm.png)

> не выводит информацию о дисках, на которых нет активности

---

#### Задания практики

###### iostat -h

![](https://i.imgur.com/wRKkW6A.png)

###### iostat /dev/sda1

![](https://i.imgur.com/bZ2ei42.png)

###### iostat -p /dev/sda1

![](https://i.imgur.com/0nIEs8t.png)

###### iostat -p /dev/sda1 1

![](https://i.imgur.com/TNSsOEz.png)

###### iostat -p -y /dev/sda1 3

![](https://i.imgur.com/Q9fYEOe.png)

###### iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}' >> iostat.log &

![](https://i.imgur.com/8dVOMby.png)

###### iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}'

![](https://i.imgur.com/AANa4W6.png)

---

### mpstat

Отчет по статистике, связанной с процессорами.

![](https://i.imgur.com/XUuxRnF.png)

---

#### mpstat -A // mpstat -I ALL -u -P ALL

![](https://i.imgur.com/eN7R2Vq.png)

> выводит информацию о всех процессорах, их прерываниях и параметров, указанных в опции -u

---

#### mpstat -P ALL

![](https://i.imgur.com/V1281r3.png)

> выводит информацию о всех процессорах/ядрах

---

#### mpstat -P [num]

![](https://i.imgur.com/EzRwvXK.png)

> выводит информацию о процессоре/ядре под определенным номером

---

#### mpstat -V

![](https://i.imgur.com/05QZcXK.png)

> указывает версию программы

---

#### mpstat --help

![](https://i.imgur.com/WqEOq8S.png)

> выводит обзорную информацию о возможных опциях команды

---

### vmstat

Отчет о статистике виртуальной памяти

![](https://i.imgur.com/0KiuYBu.png)

---

#### vmstat -a

![](https://i.imgur.com/CZeJOsX.png)

> выводит информацию об активной/неактивной памяти

---

#### vmstat -f

![](https://i.imgur.com/Gi96ew5.png)

> выводит количество fork-процессов.

---

#### vmstat -s

![](https://i.imgur.com/Ffmfhtm.png)

> выводит общую статисктику в табличном виде

---

#### vmstat -d

![](https://i.imgur.com/4IMCrMs.png)

> выводит информацию о памяти на определенных дисках

---

#### vmstat -D

![](https://i.imgur.com/55lO07V.png)

> выводит статистику по дискам

---

#### vmstat -w

![](https://i.imgur.com/WUqh04u.png)

> выводит информацию в более удобном широком виде

---

#### vmstat [num] [count]

![](https://i.imgur.com/3UCGVzl.png)

> выводит обновляемую раз в "num" секунд "count" раз

---

### w

Показывает, кто вошел в систему и что они делают (какой процесс запущен)

![](https://i.imgur.com/Z1gdupx.png)

---

#### w -h // w --no-header

![](https://i.imgur.com/QErUA9o.png)

> выводит информацию без заголовка

---

#### w -u // w --no-current

![](https://i.imgur.com/erGdFVZ.png)

> игнорирует имена пользователей в последнем процессе и времени этого процесса

---

#### w -s // w --short

![](https://i.imgur.com/CcjCOdn.png)

> не выводит колонки JCPU и PCPU

---

#### w -f // w --from

![](https://i.imgur.com/OR0FlIF.png)

> в зависимости от ОС убирает/добавляет колонку "FROM"

---

#### w -i // w --ip-addr

![](https://i.imgur.com/YY2cYWn.png)

> при возможности выводит ip-адрес вместо имени хоста

#### w -o // w --old-style

![](https://i.imgur.com/BHi2cjh.png)

> выводит информацию в старом стиле (не выводит значения меньше одной минуты)

---

#### w -V // w --version

![](https://i.imgur.com/nM1BRIb.png)

> выводит версию программы

---

### htop

Интерактивный просмотрщик процессов

![](https://i.imgur.com/4e2IvjH.png)

---

#### htop -d [num]

![](https://i.imgur.com/ddOKSqD.png)

> обновляет информацию раз в num-десятых секунды

---

#### htop -t

![](https://i.imgur.com/2oVggw1.png)

![](https://i.imgur.com/F1NlmZJ.png)

> вывод процессы в виде дерева зависимостей

---

## 2. Установка и настройка сервера SSH в Linux

### Установка

![](https://i.imgur.com/PMPN0Vw.png)

### Настройка конфигов: изменен порт, отключена возможность подключения по root-пользователю

![](https://i.imgur.com/9ZaztFq.png)

### Проверка доступности ssh-сервера, используя Xshell

![](https://i.imgur.com/fXP0aYu.png)

![](https://i.imgur.com/EDIL9cE.png)

## 3. Установка и настройка SSH-authorized_keys

### Создание ключей SSH на SSH-сервере

![](https://i.imgur.com/SoS82lW.png)

### Копирование открытого ключа с хоста на ssh-сервер с помощью ssh-copy-id и подключением по паролю

![](https://i.imgur.com/1CYR20j.png)

### Появление открытого ключа хоста на ssh-сервере в файле authorized_keys

![](https://i.imgur.com/8a8Hqwv.png)

### Настройки ssh-сервера

![](https://i.imgur.com/kxTVHUG.png)

### Возможность подключиться с удаленного хоста по ключам с отключенной возможностью подключения по паролю

![](https://i.imgur.com/PUjzT8B.png)

![](https://i.imgur.com/PiEYLaa.png)

### Передача открытого ключа удаленного хоста на ssh-сервер, используя пароль

![](https://i.imgur.com/Z6B9FXW.png)

### Возможность подключиться с удаленного хоста по ключам с отключенной возможностью подключения по паролю

![](https://i.imgur.com/6DiQG8u.png)

![](https://i.imgur.com/JxuFZzC.png)

![](https://i.imgur.com/5l2O8g8.png)

### Доказательство того, что Xshell установлен на основном хосте

![](https://i.imgur.com/xeE3Iwl.jpg)

## 4. Сбор информации о Linux и WGET

#### cat /etc/*release

![](https://i.imgur.com/GkFEetV.png)

> Информация о дистрибутиве и его версии

---

### uname -a

![](https://i.imgur.com/W19fUOl.png)

> версия ядра

---

### whoami

![](https://i.imgur.com/ik7JE3l.png)

> просмотр имя пользователя

---

### uptime

![](https://i.imgur.com/7H0jBZA.png)

> время работы устройства

---

### ls -la /home

![](https://i.imgur.com/F8o3mDN.png)

> просмотр прав на директорию

---

### chmod o-rx /home/kali

![](https://i.imgur.com/ODVa2za.png)

> ограничение прав в каталоге

---

### ip neighbor

![](https://i.imgur.com/FIn3aqT.png)

> показывает соседей в сети, чьи ip/mac-адреса известны

---

### ss -tunlp

![](https://i.imgur.com/HB4RsJi.png)

> просмотр портов и их состояний

---

### sudo -l

![](https://i.imgur.com/ur6TwkF.png)

> просмотр возможностей пользователя

---

### find / -user root -perm -4000 -exec lb -ldb {} \; 2> /dev/null

![](https://i.imgur.com/k24H0t3.png)

---

### wget "https://downloads.cisofy.com/lynis/lynis-3.0.6.tar.gz"

![](https://i.imgur.com/b63l108.png)

> установка утилиты для мониторинга системы

---

### tar -xvf lynis-3.0.6.tar.gz

![](https://i.imgur.com/sE4gTIZ.png)

> распаковка архива

---

### sha256sum lynis-3.0.6.tar.gz

![](https://i.imgur.com/WtdWuzZ.png)

> проверка достоверности пакета по хеш-сумме

---

### ./lynis audit system

![](https://i.imgur.com/kJSIX4W.png)

> запуск утилиты анализа системы

![](https://i.imgur.com/wGOCzoD.png)

> log-файлы

![](https://i.imgur.com/gi4XDFE.png)

---

### dpkg -l

![](https://i.imgur.com/5kpnnGS.png)

> просмотр пакетов

---

### dpkg -L coreutils

![](https://i.imgur.com/K0yLNhX.png)

> просмотр системных утилит

---

### /bin/dir --help

![](https://i.imgur.com/fMSjkdC.png)

> просмотр утилиты dir

---

### mv /bin/dir /bin/dir1 ; cp /bin/false /bin/dir

![](https://i.imgur.com/lfsPRCn.png)

> создание бэкапа программы и замена ее на другую программу

---

### dir ; echo $?

![](https://i.imgur.com/5JXou89.png)

> просмотр работы утилиты dir

---

### debsums -ac coreutils ; debsums -cs coreutils ; debsums -ac

![](https://i.imgur.com/XkmlVRJ.png)

> проверка пакетов на изменение системной утилиты

---

### dpkg --verify coreutils

![](https://i.imgur.com/F9hEnAq.png)

> проверка пакетов на изменение системной утилиты

---

### find / -printf "%T@;%Tc;%p\\n"

![](https://i.imgur.com/tLb7emw.png)

> вывод и фильтрация данных

---

### find / -printf "%T@;%Tc;%p\\n" > timeline.csv

![](https://i.imgur.com/11AvPAj.png)

> перенаправление данных в таблицу

---

### head timeline.csv

![](https://i.imgur.com/VwVTawl.png)

> попытка поиска информации о создании файла

---

### sort -nr timeline.csv | less

![](https://i.imgur.com/y94pt99.png)

> сортировка по времени = видим создание файла timeline.csv

---

### cat timeline.csv | grep *.csv

![](https://i.imgur.com/nQUFFZz.png)

> создание файла timeline.csv

---

## 5. Переменные окружения в Linux .bashrc, .bash_profile и .bash_login

### printenv

![](https://i.imgur.com/FWdLkTT.png)

> переменные окружения

---

### env HOME=/home/kali

![](https://i.imgur.com/OUefArz.png)

> изменение значения переменной окружения

---

### TESTKALI=/home/kali

![](https://i.imgur.com/W7xnUDT.png)

> добавление новой переменной

---

### unset TESTKALI

![](https://i.imgur.com/DWvfQfz.png)

> отключение новой переменной

---

### nano ~/.zshrc

![](https://i.imgur.com/XzRnnj6.png)

> изменения файла конфигурации переменных окружения

---

### source .zshrc

![](https://i.imgur.com/LZbs7Bz.png)

> применение настроек и проверка

---

### nano /etc/profile

![](https://i.imgur.com/ww6Y5Vu.png)

> применение настроек и проверка

![](https://i.imgur.com/DAemLJ2.png)
