Практическая работа №2.1
df -a

df- aBM

df -ah

df -aH

df -i /dev

df -k

df --output file /dev

df -P

df --total

df -t ext4

df -x ext4

df

df -h

df -a

df -x tmpfs

df -x tmpfs -x devtmpfs

df -t ext4

df -h /dev/sda1

df -h /home

2\. Команда du в Linux
du ~/Documents

du ~/Documents ~/Pictures ~/.zshrc

du -a ~/Documents

sudo du -h /var

sudo du -sh /var

sudo du -csh /var/log /var/lib

sudo du -h --max-depth=1 /var/lib

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

sudo du -csh ~/Do*

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

3\. Команда free в Linux
free

free -w

free -h

free [опции отображения единиц измерения]
- b , --bytes

- -kilo

- --mega

- --giga

- --tera

- k , --kibi

- m , --mebi

- g , --gibi

- -tebi

- -pebi

- -si

free -h -t

free -s 5

free -s 1 -c 10

### 3.1 Команда free в Linux с примерами
Автоматизируйте команду free и запускайте ее непрерывно или периодически Еще одна отличная особенность – возможность автоматизировать команду. Есть два варианта, которые помогают нам настроить этот инструмент:
Есть параметр ‘-s’, которая запускает команду free в течение заданного интервала секунд, пока пользователь не закроет программу (^ + C). Существует также «-c», который можно использовать отдельно или в сочетании с параметром секунд. Если вы введете только «-c» и целое число (n), команда будет запускаться n раз. По умолчанию используются интервалы в одну секунду. Допустим, вы хотите открыть серию приложений и посмотреть, как влияет ваша память. Для тестового вывода мы будем использовать читаемый человеком формат, используя степени 1000 (Gb) вместо 1024 (GiB). Мы собираемся записать в течение 20 секунд, чтобы проанализировать воздействие. Мы собираем данные каждые 5 секунд, и будем делать это за 4 цикла. Вот этот пример, отформатированный для командной строки и ее вывода:
free -h --si -s 5 -c 4

Если вы хотите постоянно отслеживать использование памяти командой free, но не хотите, чтобы ее вывод загромождал экран, вы можете использовать команду watch вместе с командой free.
Это покажет вам только один вывод для команды free, но этот вывод будет изменяться через регулярные промежутки времени.
watch free -h

4\. iostat
Установка
sudo apt-get install sysstat

запуск
iostat

Синтаксис iostat
iostat опции устройство интервал
- с - отобразить только информацию об использовании процессора;

- d - отобразить только информацию об использовании устройств;

- h - выводить данные в отчёте в удобном для чтения формате;

- k - выводить статистику в килобайтах;

- m - выводить статистику в мегабайтах;

- o JSON - выводить статистику в формате JSON;

- p - вывести статистику по устройству и всех его разделам;

- x - вывести расширенную статистику;

- y - отображать статистику с момента запуска утилиты, а не системы;

- z - спрятать информацию о дисках, у которых нет активности.

sudo iostat -h

sudo iostat /dev/nvme0n1

sudo iostat -p /dev/nvme0n1

sudo iostat -p /dev/nvme0n1 1

sudo iostat -y -p /dev/nvme0n1 1

4.1 Профилирование нагрузки на файловую систему с помощью iostat
**Строчка для получения лог файла:**
iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}' >> iostat.log &

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

5\. mpstat

### 5.1 Отображение всей информации

mpstat -A
### 5.2 Показать статистику CPU индивидуального процессора (или) ядра

mpstat -P ALL
### 5.3 Для отображения статистически о конкретном CPU или ядре, используйте опцию «-P», как показано ниже:

mpstat -P 0
### 5.4 Можно выполнить «mpstat -V» чтобы показать версию утилиты:

6\. vmstat

vmstat -a

vmstat -f

vmstat -d

vmstat -D

vmstat --help

vmstat 1

7\. Утилита/команда " w "

w -h

w -u

w -s

w -f

w -i

w -o

w -V

8\. Утилита htop
Как установить htop
sudo apt install htop

Как просмотреть все процессы в Linux
htop

Как ускорить или замедлить частоту обновления htop
sudo htop -d 1

Как вывести процессы в виде дерева
sudo htop -t

Практическая работа №2.2
- Установить, настроить SSH-сервер, клиент.
Устанавливаем сервис ssh

- Отключить доступ по root-пользователю.
Откроем файл ssh_config
sudo nano /etc/ssh/sshd_config
и раскоментируем данную строчку

- Сменить порт по умолчанию на любой другой.
В этом же файле раскоментируем строчку Port и изменим значение на произвольное в пределах 1024-65535

Перезапустим сервис ssh

- Подключиться к серверу linux c хостовой операционной системы через Putty.
Чтобы подключиться нам нужно знать ip ssh сервера так что смотрим его

Выбираем способ подключения и вставялем соответсвующие данные в поля ip address и port

Подключаемся
Подтверждаем, что мы доверяем этому серверу и нажимаем accept

Логинимся под учеткой

Вводим пароль

соединение установлено!

Практическая работа №2.3
Cначала сгенерируем ключ ssh на хостовой машине и указваем где будет храниться ключ

Дальше нужно перекинуть публичный ключ с помощью ssh-copy-id

пробуем зайти без пароля на удаленный хост

соединение установилось, и все работает, если не брать во внимания что debian плоховато интерпритирует zsh, это можно поправить переключившись на стандартную оболочку

теперь отключим доступ ssh по паролю
заходим на ssh сервер и отключаем доступ по паролю

рестартим сервис

теперь доступ к ssh серверу настроен только через ключи
Практическая работа №2.4
1.Базовый сбор информации
cat /etc/*release

uname -a

whoami

uptime

ls -la /home

sudo chmod o-rx /home/kali

ip neigh

sudo ss -tlnp

sudo -l

2.Суидные файлы
sudo find / -user root -perm -4000 -exec ls -ldb {} \; 2> /dev/null

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

tar xfv lynis-3.0.6.tar.gz

SHA256 hash: 98373a4cc9d0471ab9bebb249e442fcf94b6bf6d4e9c6fc0b22bca1506646c63

cd lynis
ls

sudo ./lynis audit system


./lynis show options

/var/log/lynis-report.dat

3\. Проверка целостностей пакетов
dpkg -l

dpkg -L coreutils

/bin/dir --help

sudo mv /bin/dir /bin/dir.bak

sudo cp /bin/false /bin/dir

dir
echo $?

sudo apt install debsums

debsums -a

debsums -e

debsums -s

debsums -ac coreutils

debsums -cs coreutils

dpkg --verify coreutils

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

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

head timeline.csv

sort -rn timeline.csv | less

Практическая работа №2.5
apt install coreutils

printenv

2\. Запуск команд с указанием нового значения переменной окружения
env HOME=/home/vlxxx

2.1 Установка и удаление локальных переменных окружения
TESTKALI=/home/vlxx

echo $TESTKALI

unset TESTKALI
echo $TESTKALI

nano .bashrc

export TESTKALI='/home/kali'

echo TESTKALI

2.3 Создание и удаление системных переменных окружения
nano /etc/profile

TESTKALI2=/home/kali12345

echo $TESTKALI
