# Занятие 2. Администрирование Linux ## Практическая работа №2.1 ### 1. Команда df в linux Показывает сведения о файловой системе, на которой расположен каждый из файлов, или обо всех файловых системах: ![](https://i.imgur.com/crEXNBu.png) Посмотрим доступное пространство на всех примонтированных разделах и информацию о них: ![](https://i.imgur.com/Cdc0gRr.png) Более читаемый формат: ![](https://i.imgur.com/WKITzrr.png) Информация обо всех файловых системах известных ядру, которые были смонтированы: ![](https://i.imgur.com/67Er0TG.png) Можно использовать опцию -x для фильтра: ![](https://i.imgur.com/BEQmIbH.png) Можно указать файловую систему, которую нужно отображать: ![](https://i.imgur.com/7kg609f.png) С помощью опции -i можно посмотреть информацию про состояние inode в файловой системе: ![](https://i.imgur.com/NbxXu22.png) Вывести объем доступного пространства в каталоге: ![](https://i.imgur.com/WVku0RH.png) ### 2. Команда du в Linux ![](https://i.imgur.com/9cTQNXn.png) При выполнении без какой-либо опции du отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах: ![](https://i.imgur.com/XnBaqHu.png) Использование дискового пространства каждым файлом в каталоге: ![](https://i.imgur.com/cIoHFId.png) Отобразить только пространство, занимаемое данным каталогом, в удобочитаемом формате: ![](https://i.imgur.com/r7espFe.png) Сообщить только общий размер указанного каталога, а не подкаталогов: ![](https://i.imgur.com/3TNlWBY.png) Объединенный размер каталогов: ![](https://i.imgur.com/MPAsdI5.png) Отобразить использование диска подкаталогами n-уровня: ![](https://i.imgur.com/pOeovHo.png) Получить размер всех каталогов, начинающихся с «Do»: ![](https://i.imgur.com/tF7FklR.png) Использование du с другими командами: ![](https://i.imgur.com/n1LcriW.png) ### 3. Команда free в Linux ![](https://i.imgur.com/ek0dca0.png) Отображает информацию о памяти и подкачке в килобайтах: ![](https://i.imgur.com/6lgklYT.png) Просмотреть информацию в удобочитаемом формате: ![](https://i.imgur.com/WosmNPW.png) Отображает строку, показывающую итоги столбца: ![](https://i.imgur.com/U7Op1mi.png) Непрерывно печатать результат: ![](https://i.imgur.com/RVaJ2UK.png) Анализ памяти каждые 5 секунд 4 цикла в удобном формате со степенью 1000Гб: ![](https://i.imgur.com/O8FbKqY.png) ### 4. iostat Установка: ![](https://i.imgur.com/nbT5LkN.png) Запуск: ![](https://i.imgur.com/JO6AgdV.png) Просмотр данных в удобном формате: ![](https://i.imgur.com/aqmV4gB.png) Просмотр данных по нужному устройств: ![](https://i.imgur.com/DxJHSEf.png) Можно посмотреть статистику по каждому разделу устройства: ![](https://i.imgur.com/vuxSMLq.png) Автоматическое обновление данных каждую секунду: ![](https://i.imgur.com/ZCQv5P6.png) Без суммирования всех данных с момента запуска операционной системы: ![](https://i.imgur.com/HLOEB1r.png) Профилирование нагрузки на файловую систему с помощью iostat. Для начала нужно сохранить df -hl: ![](https://i.imgur.com/TYFITrN.png) Получение лог файла и ввод лога: ![](https://i.imgur.com/m1iOEzB.png) ### 5. mpstat Отображение всей информации: ![](https://i.imgur.com/ZkRZjUN.png) Показать статистику CPU индивидуального процессора (или) ядра: ![](https://i.imgur.com/1leItKV.png) Отображение статистически о конкретном CPU или ядре: ![](https://i.imgur.com/aCVwnZN.png) Показать версию утилиты: ![](https://i.imgur.com/7PqDqmE.png) ### 6. vmstat: Краткуая информация о различных ресурсах системы и связанных с ними неполадках, приводящих к снижению производительности: ![](https://i.imgur.com/c5mqRLY.png) активная/неактивная память: ![](https://i.imgur.com/ueH5qJZ.png) количество вилок с момента загрузки: ![](https://i.imgur.com/hG19rkn.png) статистика диска: ![](https://i.imgur.com/r9hagoe.png) общая статистика диска: ![](https://i.imgur.com/JN1fInB.png) ### 7. Утилита/команда " w " Выводит краткую сводку о работающих в системе в данный момент пользователях (залогиненных пользователях), а также о том, какие процессы у них запущены: ![](https://i.imgur.com/AFoMnMh.png) Не выводить заголовок у таблицы: ![](https://i.imgur.com/GWbfa3v.png) Игнорировать имена пользователей при определении времени текущего процесса и времени CPU: ![](https://i.imgur.com/skRAGgn.png) Использовать сокращенный формат вывода: ![](https://i.imgur.com/lnqR9qI.png) Включить или выключить вывод поля from: ![](https://i.imgur.com/URPMAt9.png) Выводить в поле from IP-адрес вместо имени хоста: ![](https://i.imgur.com/s6Kn7Ax.png) Выводить информацию в старом формате: ![](https://i.imgur.com/yJcJwQ5.png) Вывести версию утилиты w: ![](https://i.imgur.com/O02Y4lk.png) ### 8. Утилита htop Установка: ![](https://i.imgur.com/BlhMYG6.png) Просмотреть все процессы в Linux: ![](https://i.imgur.com/pdHDpZG.png) Ускорить или замедлить частоту обновления htop (каждую секунду): ![](https://i.imgur.com/Xjh2Up5.png) Вывести процессы в виде дерева: ![](https://i.imgur.com/YLiOjyJ.png) ## Практическая работа №2.2. Установка и настройка сервера SSH в Linuxh ### 1. Установка пакетов SSH ![](https://i.imgur.com/N8XGhsq.png) Проверим автоматический запуск SSH-сервер в режиме демона: ![](https://i.imgur.com/jr5xHhY.png) ### 2. Настройка SSH Поменяем порт соединения (чтобы он не сканировался роботами). Отключим парольный доступ и root-доступ: ![](https://i.imgur.com/22v5NPe.png) Для применения сделанных настроек перезапустим SSH-сервер: ![](https://i.imgur.com/D7HxvRt.png) Попробуем зайти на сервер с Ubuntu: ![](https://i.imgur.com/6Lo9ZJk.png) ### 3. Настройка и использование клиента SSH Создадим алиас для пользователя alexa: ![](https://i.imgur.com/BBo6XOe.png) Подключимся к серверу от имени пользователя: ![](https://i.imgur.com/tVHOgyy.png) ### 4. Для генерации ключей используется утилита ssh-keygen: Сгенерируем ключ: ![](https://i.imgur.com/eJ5ngdz.png) Скопируем открытый ключ на сервер: ![](https://i.imgur.com/32dxKt7.png) Мы запустили защищённый сеанс удалённого управления. ## Практическая работа №2.3. Установка и настройка SSH-authorized_keys ### 1. Создание ключей SSH Сгенерируем на локальном компьютере пару ключей SSH: ![](https://i.imgur.com/RwY9uaT.png) ### 2. Как скопировать открытый ключ на ваш сервер ![](https://i.imgur.com/SaUJDB3.png) ### 3. Аутентификация на сервере с использованием ключей SSH ![](https://i.imgur.com/zZ4Vas1.png) Нам удалось войти в свою учетную запись через SSH без ввода пароля, это означает, что мы успешно настроили для своей учетной записи аутентификацию на базе ключей SSH. ### 4. Отключение аутентификации с помощью пароля на серверe Отключим вход по паролю и перезапустим сервер: ![](https://i.imgur.com/FXDGtLt.png) ## Практическая работа №2.4. Сбор информации о Linux и WGET ### 1.Базовый сбор информации Начнём со сбора информации о дистрибутивах: ![](https://i.imgur.com/fiAFpQh.png) По ядру linux можно понять следующее: ![](https://i.imgur.com/IJ2gLtJ.png) Имя пользователя для эффективного идентификатора пользователя: ![](https://i.imgur.com/A0gstft.png) Посмотрим когда и сколько система работала: ![](https://i.imgur.com/O5dKfMm.png) Посмотри права директории /home: ![](https://i.imgur.com/FwnSoZK.png) Чтобы ограничить права другим пользователям делаем следующее: ![](https://i.imgur.com/QX0Dti4.png) Посмотрим с какими компьютерами происходит обмен данными: ![](https://i.imgur.com/G1QiAeY.png) Какие сервисы и с какими портами запущены: ![](https://i.imgur.com/XDqB4u2.png) Посмотрим список прав пользователя: ![](https://i.imgur.com/fsmsDqD.png) ### 2.Суидные файлы Сбор информации: ![](https://i.imgur.com/WXKaAhb.png) Скачаем инструмент аудита безопасности: ![](https://i.imgur.com/3iJTCSN.png) Разархивируем скаченный пакет: ![](https://i.imgur.com/dH3TWT4.png) Проверим контрольную сумму: ![](https://i.imgur.com/qMjjEJK.png) Переходим в директорию lynis: ![](https://i.imgur.com/qUGTNkW.png) Запускаем утилиту lynis: ![](https://i.imgur.com/yLkRzAo.png) Вывод report-отчёт: ![](https://i.imgur.com/OdmJLPm.png) ### 3. Проверка целостностей пакетов Просмотрим пакеты в системе: ![](https://i.imgur.com/KW2QSeX.png) Посмотрим установленные утилиты: ![](https://i.imgur.com/2oUK5c9.png) Симитируем подмену или правку кода программы: ![](https://i.imgur.com/pkdeyZZ.png) Проверем файл: ![](https://i.imgur.com/lhJkMaP.png) Посмотрим, когда и с какими файлами проводилась работа: ![](https://i.imgur.com/XDxGZvD.png) По одному конкретному пользователю: ![](https://i.imgur.com/SVBHH8P.png) ![](https://i.imgur.com/Проверяем изменения: ![](https://i.imgur.com/eG5TETK.png) cjGjGS8.png) ## Практическая работа №2.5. Переменные окружения в Linux .bashrc, .bash_profile и .bash_login ### 1. Просмотр списка системных переменных окружения Раскроем список всех переменных окружения: ![](https://i.imgur.com/7V0faf4.png) ### 2. Запуск команд с указанием нового значения переменной окружения Можно самостоятельно на время изменить опцию любого параметра: ![](https://i.imgur.com/gxrFNu2.png) Установка и удаление локальных переменных окружения: ![](https://i.imgur.com/OtBWP7e.png) ### Добавление и удаление пользовательских переменных Рассмотрим классы переменных, которые хранятся в конфигурационных файлах: ![](https://i.imgur.com/u2m9miI.png) Отредактируем пользовательскую конфигурацию: ![](https://i.imgur.com/q9jValb.png) ### Создание и удаление системных переменных окружения Откроем конфиурационный файл системных переменных окружения: ![](https://i.imgur.com/9KHLUFV.png) Проверяем изменения: ![](https://i.imgur.com/eG5TETK.png)