Занятие 2. Администрирование Linux Практическая работа №2.1 1. Команда df в linux Утилита df поставляется по умолчанию во всех дистрибутивах Linux и имеет очень простой синтаксис. Фактически вы можете просто набрать df и уже получить результат, но чтобы сделать вывод более читаемым используются дополнительные опции. Вот основной синтаксис: `$ df опции устройство` Устройство указывать необязательно, но можно указать раздел диска, о котором мы хотим посмотреть информацию. А теперь рассмотрим основные опции утилиты: - a, –all – отобразить все файловые системы, в том числе виртуальные, псевдо и недоступные; - B – изменить размер одного блока перед выводом данных, например, можно использовать BM, чтобы вывести все данные в мегабайтах; - h – выводить размеры в читаемом виде, в мегабайтах или гигабайтах; - H – выводить все размеры в гигабайтах; - i – выводить информацию об inode; - k – выводить размеры в килобайтах; - –output – использовать специальный формат вывода, если не задано, выводит все поля. Доступны такие варианты: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’; - P – использовать формат вывода POSIX; - –total – выводить всю информацию про использованное и доступное место; - t, –type – выводить информацию только про указанные файловые системы; - x – выводить информацию обо всех, кроме указанных файловых систем; *Основные параметры:* - a, –all. показать все файловые системы. - h. Опция позволяет показать информацию более наглядной. Размеры выводятся в мегабайтах и гигабайтах. - H. Размеры показываются в гигабайтах. - k. Данная опция показывает на экране терминала размеры в килобайтах. - t, –type. Выводит информацию только про указанную файловую систему. - –total. Опция показывает всю информация о дисковом пространстве. ![](https://i.imgur.com/4bff2tR.png) ![](https://i.imgur.com/zn9rSfd.png) ![](https://i.imgur.com/COHx4io.png) ![](https://i.imgur.com/wSJ6zxV.png) ![](https://i.imgur.com/M3b3hsv.png) ![](https://i.imgur.com/AwctREy.png) ![](https://i.imgur.com/GVSWEGx.png) ![](https://i.imgur.com/Uwuh33M.png) ![](https://i.imgur.com/MNlFjf8.png) 2. Команда du в Linux Команда du,сокращение от «использование диска», сообщает приблизительный объем дискового пространства, используемого данными файлами или каталогами. Это практически полезно для поиска файлов и каталогов, занимающих большие объемы дискового пространства. `du [OPTIONS]... FILE...` Если данный FILE является каталогом, du будет суммировать использование диска для каждого файла и подкаталога в этом каталоге. Если *FILE* не указан, *du* сообщит об использовании диска в текущем рабочем каталоге . При выполнении без какой-либо опции du отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах. ![](https://i.imgur.com/huuKINi.png) ![](https://i.imgur.com/gOG4n4l.png) ![](https://i.imgur.com/6n6CoF7.png) 3. Команда free в Linux В системах Linux вы можете использовать команду free чтобы получить подробный отчет об использовании памяти системой. Команда free предоставляет информацию об общем объеме физической памяти и памяти подкачки , а также о свободной и используемой памяти. Синтаксис free команды следующий: `free [OPTIONS]` При использовании без какой-либо опции команда free будет отображать информацию о памяти и подкачке в килобайтах. 1 килобайт (КиБ) равен 1024 байтам. ![](https://i.imgur.com/xsIdCBH.png) ![](https://i.imgur.com/w2LHtXL.png) Автоматизируйте команду free и запускайте ее непрерывно или периодически Еще одна отличная особенность – возможность автоматизировать команду. Есть два варианта, которые помогают нам настроить этот инструмент: Есть параметр ‘-s’, которая запускает команду free в течение заданного интервала секунд, пока пользователь не закроет программу (^ + C). Существует также «-c», который можно использовать отдельно или в сочетании с параметром секунд. Если вы введете только «-c» и целое число (n), команда будет запускаться n раз. По умолчанию используются интервалы в одну секунду. Допустим, вы хотите открыть серию приложений и посмотреть, как влияет ваша память. Для тестового вывода мы будем использовать читаемый человеком формат, используя степени 1000 (Gb) вместо 1024 (GiB). Мы собираемся записать в течение 20 секунд, чтобы проанализировать воздействие. Мы собираем данные каждые 5 секунд, и будем делать это за 4 цикла. Вот этот пример, отформатированный для командной строки и ее вывода: root@kali:~# free -h --si -s 5 -c 4 ![](https://i.imgur.com/66HRrpR.png) ![](https://i.imgur.com/F8AjwG6.png) 4. iostat `$ iostat опции устройство интервал` Параметры устройство и интервал необязательные. Первый указывает по какому устройству показывать статистику, а второй, с каким интервалом обновлять данные. Давайте сначала рассмотрим опции программы, которые могут вам пригодится: - с - отобразить только информацию об использовании процессора; - d - отобразить только информацию об использовании устройств; - h - выводить данные в отчёте в удобном для чтения формате; - k - выводить статистику в килобайтах; - m - выводить статистику в мегабайтах; - o JSON - выводить статистику в формате JSON; - p - вывести статистику по устройству и всех его разделам; - x - вывести расширенную статистику; - y - отображать статистику с момента запуска утилиты, а не системы; - z - спрятать информацию о дисках, у которых нет активности. Самый простой пример использования утилиты, это запустить её без параметров. Она выведет отчёт с со средней статистикой с момента включения системы до момента запуска программы: `sudo iostat` ![](https://i.imgur.com/Px7eOHY.png) ![](https://i.imgur.com/0Ep8OpV.png) ![](https://i.imgur.com/Rn4OLqj.png) ![](https://i.imgur.com/DV80f2S.png) ![](https://i.imgur.com/6A5v9Or.png) 5. mpstat Утилита mpstat для мониторинга производительности Unix/Linux mpstat — отчет о использовании процессоров. Команда mpstat пишет в стандартный вывод на экран о каждом имеющемся процессоре, 0-й процессор будет выведен на первое место. Параметр «interval» определяет количество времени в секундах между каждым отчетом. Значение 0 (или без параметров) показывает статистику о процессорах и отчетность будет представляться с момента запуска системы (загрузки). ![](https://i.imgur.com/q4jqu1z.png) ![](https://i.imgur.com/c8n1AMq.png) 6. vmstat vmstat,предоставляет краткую информацию о различных ресурсах системы и связанных с ними неполадках, приводящих к снижению производительности. Отчет команды vmstat содержит статистическую информацию о нитях ядра, находящихся в очереди выполнения и ожидающих запуска, а также об оперативной памяти, подкачке, дисках, прерываниях, системных вызовах, переключении контекста и работе процессора. В информации о процессоре указывается доля времени, в течение которой процессор работал в пользовательском режиме, системном режиме, простаивал и ожидал завершения операции дискового ввода-вывода. Для получения информации о работе процессора удобнее использовать команду vmstat, а не iostat, так как ее построчный вывод проще анализировать, а в случае, когда к системе подключено много дисков, ее вывод намного менее объемный. Приведенный ниже пример иллюстрирует применение vmstat для обнаружения программ, которые потребляют слишком много ресурсов CPU. ![](https://i.imgur.com/omMekIy.png) 7. Утилита/команда " w " Выводит краткую сводку о работающих в системе в данный момент пользователях (залогиненных пользователях), а также о том, какие процессы у них запущены ![](https://i.imgur.com/uwziVH7.png) 8. Утилита htop Как просмотреть все процессы в Linux Команду htop можно запускать как с правами обычного пользователя: `htop` Так и с привилегиями суперпользователя, для этого используйте sudo: `sudo htop` Права суперпользвоателя нужны только для некоторых действий: для изменения приоритета (nice) процессов, для закрытия процессов других пользователей. ![](https://i.imgur.com/ObNAu8c.png) ![](https://i.imgur.com/fK8JyO2.png) ![](https://i.imgur.com/jBatVXO.png) Практическая работа №2.2 Установка и настройка сервера SSH в Linux 1. Установка пакетов SSH ![](https://i.imgur.com/A1Fro1x.png) 2. Настройка SSH Сменили порт по умолчанию на другой,отключили доступ по root-пользователю,отключили пароль по умолчанию. Доступ по паролю пока не отключали,зайдем через него чрез Putty. ![](https://i.imgur.com/f5Dl5Mw.png) ![](https://i.imgur.com/RGgmdHd.png) Заходит по паролю и через ком.строку Виндовс и через Putty. ![](https://i.imgur.com/oOWiweo.png) ![](https://i.imgur.com/8UJaDfS.png) Практическая работа №2.3 "Установка и настройка SSH-authorized_keys" Организовали аутентификацию к серверу linux через ключи. ![](https://i.imgur.com/QX4yepy.png) После успешного захода по ключам выключили доступ по паролю. ![](https://i.imgur.com/aqdZSUm.png) ![](https://i.imgur.com/CGRcTed.png) Так же настроили доступ через Alias ![](https://i.imgur.com/VKUJjdR.png) Практическая работа №2.4 "Сбор информации о Linux и WGET" 1. Базовый сбор информации ![](https://i.imgur.com/8purepn.png) ![](https://i.imgur.com/vEAo7jm.png) ![](https://i.imgur.com/Tda6vKz.png) ![](https://i.imgur.com/QplIbTY.png) ![](https://i.imgur.com/hGApZyC.png) ![](https://i.imgur.com/JoynYkR.png) ![](https://i.imgur.com/pl8rsyk.png) ![](https://i.imgur.com/DN4jWoW.png) ![](https://i.imgur.com/t5fnOjL.png) 2. Суидные файлы Suid ![](https://i.imgur.com/T6yregp.png) Скачаем,установим и испльзуем утилиту lynis с помощью Wget. ![](https://i.imgur.com/t2gBHrA.png) ![](https://i.imgur.com/BWnVzlE.png) Проверка контрольной суммы. ![](https://i.imgur.com/NSZjDUE.png) ![](https://i.imgur.com/o2xu1aK.png) Запуск утилиты и использование. ![](https://i.imgur.com/hFtcTwE.png) ![](https://i.imgur.com/Zlrl7YJ.png) ![](https://i.imgur.com/zd2tLMK.png) ![](https://i.imgur.com/Ux34Xgo.png) 3. Проверка целостностей пакетов ![](https://i.imgur.com/yJf2ZT5.png) Для просмотра установленных утилит необходимо набрать следующую команду dpkg -L coreutils ![](https://i.imgur.com/riTQziH.png) Расссмотрим утилиту Bin/Dir ![](https://i.imgur.com/GEnLmin.png) Поменяем /bin/false на /bin/dir тем самым с имитируем подмену. ![](https://i.imgur.com/552U8Ti.png) Чтобы быстро проверить этот пакет выполним команду debsums. ![](https://i.imgur.com/Ot5tzXX.png) ![](https://i.imgur.com/zk433dP.png) Проверка утилитой dpkg. ![](https://i.imgur.com/uOXWxjN.png) Ищем дальше измененные файлы. ![](https://i.imgur.com/V25xHSb.png) Отсортируем. sort -rn timeline.csv | less ![](https://i.imgur.com/nZZ7w51.png) ![](https://i.imgur.com/Hli2XD6.png) Практическая работа №2.5 Переменные окружения в Linux .bashrc, .bash_profile и .bash_login 1. Просмотр списка системных переменных окружения ![](https://i.imgur.com/QeTB6vV.png) ![](https://i.imgur.com/bLgx4P7.png) 2. Запуск команд с указанием нового значения переменной окружения. ![](https://i.imgur.com/0w2WZW3.png) 2.1 Установка и удаление локальных переменных окружения. ![](https://i.imgur.com/yEkgilc.png) ![](https://i.imgur.com/eVt0Aj7.png) 3. Добавление и удаление пользовательских переменных. ![](https://i.imgur.com/9Hp9WJI.png) ![](https://i.imgur.com/o2Vkahv.png) ![](https://i.imgur.com/jokzYT3.png)