---
# System prepended metadata

title: Untitled

---

1 Изучение работы утилит df, du, free, iostat, mpstat, vmstat, w, htop.

df - утилита, которая показывает список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования.
![](https://i.imgur.com/iEDr7RK.png)
![](https://i.imgur.com/XJxkCTD.png)

du - команда, отображает использование диска. Этот инструмент может отображать использование диска для отдельных каталогов в Linux, давая более детальное представление об использовании вашего диска.
![](https://i.imgur.com/izDtdjy.png)

free - команда, которая позволяет ознакомиться с информацией об использовании как физической памяти RAM, так и памяти из раздела или файла подкачки подкачки (SWAP), расположенного на жестком диске или накопителе
![](https://i.imgur.com/Lxdj7VD.png)
![](https://i.imgur.com/FK7oasD.png)

iostat – утилита, предназначенная для мониторинга использования дисковых разделов. Она сообщает об использовании ЦП и статистику ввода/вывода дисков, а также собирает данные из файловой системы ргос, выдавая по одной строке для каждого физического устройства.
![](https://i.imgur.com/GKcmCKm.png)
![](https://i.imgur.com/nUQRCUm.png)
![](https://i.imgur.com/SaUfE41.png)
![](https://i.imgur.com/eg721Lv.png)

mpstat - утилита, которая позволяет посмотреть подробную статистику по использованию процессора. Можно посмотреть не только информацию по каждому из ядер, но и куда используются ресурсы - на ввод/вывод, ядро или программы пространства пользователя.
![](https://i.imgur.com/4ky38EA.png)
![](https://i.imgur.com/wMB16kQ.png)
vmstat - утилита, которая сообщает информацию о процессах, памяти, виртуальной памяти, вводе-выводе, дисках и активности процессора.
![](https://i.imgur.com/ocBJTs7.png)
w - команда, которая выводит  краткую сводку о работающих в системе в данный момент пользователях, а также о том, какие процессы у них запущены.
![](https://i.imgur.com/arAYHmc.png)
htop - команда, которая показывает информацию о процессах в реальном времени, выводят данные о потреблении системных ресурсов и позволяют искать, останавливать и управлять процессами.
![](https://i.imgur.com/tyO0GbD.png)
![](https://i.imgur.com/dl0VZSx.png)

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

Установка ssh и проверка его работы:
![](https://i.imgur.com/qFMEd1t.png)
![](https://i.imgur.com/TIi80p6.png)
![](https://i.imgur.com/8UmZ5kc.png)


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

На другой машине я сгенерировал пару ключей и загрузил открытый ключ на сервер. После этого отключил аундефикацию по паролю и спокойно подключился при помощи ключа.
![](https://i.imgur.com/KKgYyuY.png)
![](https://i.imgur.com/WESfNHG.png)
![](https://i.imgur.com/WzfnpLY.png)
![](https://i.imgur.com/WRK9sA6.png)


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

cat /etc/release - показывает информация о дистрибутиве и какая у него версия

uname — утилита командной строки, которая печатает основную информацию об имени операционной системы и системном оборудовании

uptime — утилита, показывающая текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут.

ls -la /home выводит подробный листинг директории /home, включая скрытые файлы
![](https://i.imgur.com/GWuxHt1.png)

chmod o-rx <путь> - запрещает остальным пользователям чтение и выполнение файла

ip neigh - показывает с какими компьютерами происходит обмен данными
![](https://i.imgur.com/CXE5ofa.png)

sudo ss -tlnp - показывает какие сервисы и с какими портами запущены

sudo -l - выводит список доступных команд для удалённых пользователей
![](https://i.imgur.com/3ERzT6T.png)

Lynis — это инструмент для аудита безопасности в Unix и Linux ОС. Он выполняет глубокие проверки безопасности. Он работает на самом хосте, поэтому он выполняет более обширные проверки безопасности, чем сканеры уязвимостей.

Для начала скачаю его:
![](https://i.imgur.com/KF8p9L8.png)
![](https://i.imgur.com/HgLQHvH.png)
![](https://i.imgur.com/btGOKUT.png)
И запущу его командой:
sudo ./lynis audit system
![](https://i.imgur.com/LcNIOQr.png)
![](https://i.imgur.com/jAjKl0i.png)
![](https://i.imgur.com/qJPJrEI.png)

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

Dpkg - основная программа управления пакетами в Debian linux. Она используется для установки, сборки, удаления и управления пакетами.

dpkg -l  - список установленных пакетов
![](https://i.imgur.com/1deJ4pV.png)

dpkg -L coreutils - список всех штатных утилит
![](https://i.imgur.com/eLpNUqi.png)

Также существует утилита /bin/dir , которая позволяет работать как с ls
![](https://i.imgur.com/PRAn3Z3.png)
Поменяю /dir/dir на /dir/false, сымитируя подмену кода программы. Тогда при запуске dir ничего не будет происходить, кроме как если посмотреть логическую ложь, то будет ошибка
![](https://i.imgur.com/FDnAFZJ.png)
Чтобы быстро проверить этот пакет, воспользуюсь debsums - программой для нахождения  изменённых  администратором  файлов установленных в системе пакетов или повреждённых файлов.
![](https://i.imgur.com/UvjIBsV.png)
![](https://i.imgur.com/1TIpE2G.png)
(флаг -a проверяет все файлы, -c выводит список измененных файлов, -s выводит только ошибки)

Также можно проверить утилитой:
dpkg --verify coreutils
![](https://i.imgur.com/KBieGAk.png)

Если кто-то смог проникнуть в систему и что-то деал в ней нам поможет команда find
Например, если нам надо рассмотреть какой либо инцидент:
sudo find / -printf "%T@;%Tc;%p\\n"
где:
-prinf - то где мы будем искать
%T@ - время ввиде числа
%Tc - время человека читаемое
%p\\n - путь до файла
![](https://i.imgur.com/3m6ORRR.png)
![](https://i.imgur.com/eGL43KV.png)

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

Чтобы посмотреть список всех переменных окружения, в утилите coreutils есть команда printenv
![](https://i.imgur.com/2hnbwiP.png)

Можно самостоятельно изменить опцию любого параметра с помощью команды:
env <переменная>=<значение>
Так, я присвоил HOME значение /home/igor
![](https://i.imgur.com/PIcrxNA.png)

Также можно содвать и удалять локальные переменные окружения:
<переменная>=<значение> - для создания
unset <переменная> - для удаления
![](https://i.imgur.com/Df4veiO.png)

Пользовательскую конфигурацию можно редактировать через:
sudo nano .bashrc.
Там можно посмотреть вес переменные, которые там хранятся, а также создать свои
![](https://i.imgur.com/92Y9DkQ.png)
Обновление конфигурации произойдет после повторного старта файла, а делается это через:
source .bashrc.
![](https://i.imgur.com/etFZ7yH.png)
В теории сказано , что удаление параметров происходит примерно также (надо удалить строку или закоментировать ее и перезапустить файл), но у меня полчилось удалить этот параметр только с помощью команды unset

Также можно создавать и удалять системные переменные, которые находятся в файле /etc/profile
![](https://i.imgur.com/yxkJTX5.png)
достаточно вписать туда
<переменная>=<значение>
и после применить команду source к файлу.
![](https://i.imgur.com/hAZaLU7.png)
