<h1>OS Linux basic. Практическая работа №2 </h1> <h2>Часть 1 - Основы мониторинга OS Linux с помощью утилит df, du, free, iostat, mpstat, vmstat, w, htop.</h2> `df` ![](https://i.imgur.com/JWocIuj.png) `df -h` ![](https://i.imgur.com/4jVa8HM.png) `df -a` ![](https://i.imgur.com/begMueU.png) `df -x tmpfs` ![](https://i.imgur.com/yBTZnkX.png) `df -x devtmpfs -x tmpfs` ![](https://i.imgur.com/KjdXm32.png) `df -t ext4` ![](https://i.imgur.com/AsYM2mR.png) `df -h /dev/sda5` ![](https://i.imgur.com/rHbl4XA.png) `df -hi /dev/sda5` ![](https://i.imgur.com/u4fyhRX.png) `df -h /home` ![](https://i.imgur.com/5EN7RJ3.png) ### Команда du `du` ![](https://i.imgur.com/d5H6k17.png) `du ~/Documents` ![](https://i.imgur.com/sIW6V3A.png) `du ~/Documents ~/Pictures ~/.zshrc` ![](https://i.imgur.com/CE4qBi7.png) `du -a ~/Documents` ![](https://i.imgur.com/nbm9Xrt.png) `sudo du -h /var` ![](https://i.imgur.com/XuFJ1jb.png) `sudo du -sh /var` ![](https://i.imgur.com/tZH8xtE.png) ``` sudo du -csh /var/log /var/lib ``` ![](https://i.imgur.com/KcoYXoO.png) ``` sudo du -h --max-depth=1 /var/lib ``` ![](https://i.imgur.com/MXOMo7a.png) ``` sudo du -sh --apparent-size /var/lib ``` ![](https://i.imgur.com/azsL2Bx.png) ``` sudo du -csh ~/Do* ``` ![](https://i.imgur.com/5qgeNSb.png) **Использование du с другими командами** ``` sudo du -h /var/ | sort -rh | head -5 ``` ![](https://i.imgur.com/xc5TvQS.png) ### 3 Команда free `free` ![](https://i.imgur.com/wdIka3l.png) `free -w` ![](https://i.imgur.com/j8yTlEL.png) `free -h` ![](https://i.imgur.com/NwvrB7E.png) `free -h -t` ![](https://i.imgur.com/2YFZTNK.png) `free --mega` ![](https://i.imgur.com/kcLGJva.png) free -s 5 ![](https://i.imgur.com/nR88a9Y.png) `free -h --si -s 5 -c 4` ![](https://i.imgur.com/cf48DYo.png) `watch free -h` ![](https://i.imgur.com/z1bwtHk.png) ### 4. iostat apt install sysstat ![](https://i.imgur.com/YgAiWMK.png) `sudo iostat` ![](https://i.imgur.com/ySTHBVD.png) `sudo iostat -h` ![](https://i.imgur.com/jK1M3Zk.png) `sudo iostat /dev/nvme0n1` ![](https://i.imgur.com/mktJyrx.png) `sudo iostat -p /dev/nvme0n1` ![](https://i.imgur.com/PymVq99.png) `sudo iostat -p /dev/nvme0n1 1` ![](https://i.imgur.com/8JznsOs.png) ### 4 Профилирование нагрузки на файловую систему с помощью iostat df -hl ![](https://i.imgur.com/ROfxpN7.png) **Строчка для получения лог файла:** `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}`' ![](https://i.imgur.com/w8QBplP.png) ### 5. mpstat `mpstat -A` ![](https://i.imgur.com/TOErfI6.png) `mpstat -P ALL` ![](https://i.imgur.com/9Riqhvm.png) `mpstat -P 0` ![](https://i.imgur.com/jzr1l3z.png) `mpstat -V` ![](https://i.imgur.com/CfbPzyC.png) `mpstat --help` ![](https://i.imgur.com/d8aNwhF.png) ### 6. vmstat vmstat ![](https://i.imgur.com/cl6mjN3.png) vmstat -a ![](https://i.imgur.com/RwDTyEK.png) vmstat -f ![](https://i.imgur.com/Hw7mzCY.png) vmstat -d ![](https://i.imgur.com/XEIXH3j.png) vmstat -D ![](https://i.imgur.com/A5D4zpT.png) vmstat --help ![](https://i.imgur.com/XBvyOjp.png) vmstat 1 ![](https://i.imgur.com/vUPpInW.png) ### 7. Утилита/команда " w " w ![](https://i.imgur.com/K3OZrJA.png) - h ![](https://i.imgur.com/C7LkM0V.png) - u ![](https://i.imgur.com/z7VLpkp.png) - s ![](https://i.imgur.com/DnhwW4d.png) - f ![](https://i.imgur.com/UHYGZHP.png) - i ![](https://i.imgur.com/BKrIxY3.png) - o ![](https://i.imgur.com/yNXH0SB.png) - V ![](https://i.imgur.com/IL7WcNV.png) ### 8. Утилита htop **Как просмотреть все процессы в Linux** ` htop` ![](https://i.imgur.com/DlaI6WD.png) `sudo htop` ![](https://i.imgur.com/QnhRySu.png) `htop -d 1` ![](https://i.imgur.com/3rYaBNB.png) `htop -d 50` ![](https://i.imgur.com/CJKwB7l.png) `htop -t` ![](https://i.imgur.com/LMwEktW.png) <h2>Часть 2 - Установка и настройка сервера SSH в Linux</h2> установим ssh apt install ssh ![](https://i.imgur.com/XKO1iNv.png) проверим статус systemctl status ssh service sshd status ![](https://i.imgur.com/rDzyLHe.png) Настроим ssh ![](https://i.imgur.com/0WsfA3D.png) ![](https://i.imgur.com/blPEGJo.png) Проверим подключение linux ![](https://i.imgur.com/4ZwkTUJ.png) Проверим подключение windows после смены порта ![](https://i.imgur.com/dX2I9l7.png) Создаем ключи ![](https://i.imgur.com/uAdV9zA.png) <h2>Часть 3 - Практическая работа "Установка и настройка SSH-authorized_keys"</h2> Генерируем ключи ![](https://i.imgur.com/gTuSznt.png) отправляем ключи на сервер ![](https://i.imgur.com/lKI1hvc.png) заходим по ключу с парольной фразой ![](https://i.imgur.com/2NxhWhJ.png) Создаем новый ключ но с пустой парольной фразой после удаления старого ключа ![](https://i.imgur.com/mB4uG3y.png) отправляем его на сервер ![](https://i.imgur.com/OJozpo4.png) и подключаемся по ключу без парольной фразы ![](https://i.imgur.com/oolYCHk.png) <h2>Часть 4 - Практическая работа "Сбор информации о Linux и WGET"</h2> ### 1.Базовый сбор информации Начнём со сбора информации о дистрибутивах *cat /etc/release - информация о дистрибутиве и какая версия его* ![](https://i.imgur.com/ah8gJvd.png) **uname -a** ![](https://i.imgur.com/HGPCsn8.png) **whoami** ![](https://i.imgur.com/czAfid3.png) **uptime** ![](https://i.imgur.com/rwNezWj.png) **ls - la /home** ![](https://i.imgur.com/05MXoEx.png) **Чтобы ограничить права другим пользователям делаем следующее sudo chmod o-rx /home/kali** ![](https://i.imgur.com/7FOYq55.png) **ip neigh** ![](https://i.imgur.com/vPCJEWc.png) **sudo ss -tlnp ** ![](https://i.imgur.com/h7eSfvk.png) **sudo -l ** ![](https://i.imgur.com/3Z1fxpD.png) ### 2.Суидные файлы `wget https://downloads.cisofy.com/lynis/lynis-3.0.6.tar.gz` ![](https://i.imgur.com/JzLKVov.png) tar xfv lynis-3.0.3.tar.gz ![](https://i.imgur.com/kFdmdiV.png) затем давайте проверим контрольную сумму с сайта и то, что мы скачали ![https://i.imgur.com/eytkmHj.png](https://i.imgur.com/eytkmHj.png) `sha256sum lynis-3.0.6.tar.gz` ![](https://i.imgur.com/ucELcdw.png) **далее переходим в директорию lynis** ``` cd lynis ls ``` ![](https://i.imgur.com/M3mhghU.png) **далее запускаем утилиту lynis** `sudo ./lynis audit system` ![](https://i.imgur.com/lKUYFqq.png) ![https://i.imgur.com/m0vi5yo.png](https://i.imgur.com/m0vi5yo.png) *Это вывод report-отчёт* ![](https://i.imgur.com/BOAkHWj.png) **Перенаправлять файлы лучше через стандартный report утилиты:** `nano /var/log/lynis-report.dat` ![](https://i.imgur.com/Rfjx1rU.png) ### 3. Проверка целостностей пакетов Для просмотра пакетов в системе ``` dpkg -l ``` ![](https://i.imgur.com/bVDZwd6.png) для просмотра установленных утилит необходимо набрать следующую команду ``` dpkg -L coreutils ``` ![](https://i.imgur.com/1hsEpXs.png) сделаем backup sudo mv /bin/dir /bin/dir.bak ![](https://i.imgur.com/iC1qdLw.png) вводим команду sudo cp /bin/false /bin/dir ![](https://i.imgur.com/NlwYhp5.png) теперь при запуске dir мы можем уыидеть, что ничего не будет происходить, кроме как если посмотреть логическую ложь, то будет ошибка ``` echo $? ``` ![](https://i.imgur.com/hf3L7RD.png) соответственно, чтобы нам быстро проверить этот пакет мы можем выполнить команду `debsums -ac coreutils` `debsums -cs coreutils` ![](https://i.imgur.com/jcl7hgL.png) можно также проверить утилитой ``` dpkg --verify coreutils ``` ![](https://i.imgur.com/PPoJUtW.png) Если кто-то смог проникнуть в систему и что-то деал в ней нам поможет команда find Например, если нам надо рассмотреть какой либо инцидент: `sudo find / -printf "%T@;%Tc;%p\\n"` ![](https://i.imgur.com/HW5idgE.png) Далее если надо сделать по одному конкретному пользователю необходиму следующие: `sudo find /home/kali/ -printf "%T@;%Tc;%p\\n" > timeline.csv` ![](https://i.imgur.com/04CcO9K.png) Но давайте отсортируем данный файл с помощью команды: `sort -rn timeline.csv | less` ![](https://i.imgur.com/lgc1uNM.png) где флаг `-r` как раз будет указывать, что последнее изменение будет первым ![](https://i.imgur.com/a2qD630.png) <h2>Часть 5 - Практическая работа "Переменные окружения в Linux .bashrc, .bash_profile и .bash_login"</h2> ### Просмотр списка системных переменных окружения Воспользуемся командой `printenv`, чтобы раскрыть список всех переменных окружения. ![](https://i.imgur.com/TdIV1o5.png) ### Запуск команд с указанием нового значения переменной окружения ![](https://i.imgur.com/6577Kbo.png) ### Установка и удаление локальных переменных окружения Добавим новую переменную окружения ![](https://i.imgur.com/tYIf7nx.png) Проверим ее значение ![](https://i.imgur.com/Y56wdCi.png) Теперь удалим ее и проверим удаление ![](https://i.imgur.com/Od48j6U.png) ### 2.2 Добавление и удаление пользовательских переменных Откроем .bashrc ![](https://i.imgur.com/lPSdWSC.png) И запишем в конец новую переменную ![](https://i.imgur.com/CmOcYXd.png) Обновим конфигурацию `source .bashrc.` и проверим значение переменной ![](https://i.imgur.com/QHfNyfv.png) ### Создание и удаление системных переменных окружения Откроем`nano /etc/profile` Внесём `TESTKALI2=/home/kali12345` Сохраняем и выходим. Пишем команду `source /etc/profile` - чтобы изменения вступили в силу. Проверяем: `echo $TESTKALI2=/home/kali12345` ![](https://i.imgur.com/WhBovno.png) Создадим 2 файла .bash_profile и .bash_login ![](https://i.imgur.com/j1YqFrq.png) пропишем вот таку команду ![](https://i.imgur.com/DMtnPFH.png) а в файлы положим /usr/games/fortune при подключении по ssh видим надпись ![](https://i.imgur.com/LHnRoAC.png) удалим .bash_profile ![](https://i.imgur.com/vcxH7Qs.png) и все равно увидим надпись потому что отработал файл .bash_login ![](https://i.imgur.com/TOSrVMx.png)