### Отчет Никита Кузенков
## Занятие 2. Администрирование Linux
### Задача к практической работе 2.1:
1. Команда df в linux
Чтобы посмотреть доступное пространство на всех примонтированных разделах и информацию о них достаточно набрать
Утилита отображает стандартный набор колонок, но понять в ее выводе что-то с первого раза сложно. Все данные выводятся в килобайтах. Теперь давайте попросим утилиту выводить данные в более читаемом формате:
`df -h`
Это самое популярное сочетание опций, потому что оно дает максимально понятную информацию и уже можно судить о том, что происходит на диске. Например, мы видим, что в домашней папке уже занято 87% места и, возможно, пора что-то удалить. Если задать опцию -a, вы можете получить информацию обо всех файловых системах известных ядру, которые были смонтированы:
`df -a`

Здесь отображается огромное количество виртуальных файловых систем ядра. Если вы хотите вывести только информацию про реальные файловые системы на жестком диске можно использовать опцию -x чтобы отфильтровать все tmpfs:
`df -x tmpfs`
Также можно отфильтровать две файловые системы:
`df -x devtmpfs -x tmpfs`
Или же указать файловую систему, которую нужно отображать:
`df -t ext4`
Также можно указать интересующий вас раздел, как вы видели в синтаксисе команды:
`df -h /dev/sdb6`
С помощью опции -i вы можете посмотреть информацию про состояние inode в вашей файловой системе:
`df -hi /dev/sdb6`
Вывести объем доступного пространства в каталоге:
`df -h /home`
Команда df – очень простой в освоении, но эффективный инструмент, позволяющий всегда быть в курсе использования дискового пространства в ваших системах.

2. Команда du в Linux
**Команда du** , сокращение от «использование диска», сообщает приблизительный объем дискового пространства, используемого данными файлами или каталогами. Это практически полезно для поиска файлов и каталогов, занимающих большие объемы дискового пространства.
`du [OPTIONS]... FILE...`
Если данный FILE является каталогом, du будет суммировать использование диска для каждого файла и подкаталога в этом каталоге. Если *FILE* не указан, *du* сообщит об использовании диска в текущем рабочем каталоге .
При выполнении без какой-либо опции du отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах.
`du ~/Documents`
Вы также можете передать команде du несколько файлов и каталогов в качестве аргументов:
`du ~/Documents ~/Pictures ~/.zshrc`
Если вы запустите du для файла или каталога, для которого у вас нет прав, вы получите что-то вроде «du: невозможно прочитать каталог». В этой ситуации вам нужно будет добавить к команде sudo .
**du много опций, я выделю только наиболее часто используемые.**
Параметр -a указывает du сообщать об использовании дискового пространства каждым файлом в каталоге.
`du -a ~/Documents`
Обычно вы хотите отображать только пространство, занимаемое данным каталогом, в удобочитаемом формате. Для этого используйте параметр *-h* .
Например, чтобы получить общий размер */var/lib* и всех его подкаталогов, вы должны выполнить следующую команду:
`sudo du -h /var`

Чтобы сообщить только общий размер указанного каталога, а не подкаталогов, используйте параметр -s
Параметр -c указывает du сообщать общую сумму. Это полезно, когда вы хотите получить объединенный размер двух или более каталогов.
Если вы хотите отобразить использование диска подкаталогами n-уровня, используйте параметр --max-depth и укажите уровень подкаталогов.

По умолчанию утилита du повторно использует дисковое пространство, используемое каталогом или файлом. Чтобы узнать очевидный размер файла, используйте переключатель --apparent-size . «Видимый размер» файла — это фактический объем данных в файле.
du также позволяет использовать шаблон оболочки.
**Использование du с другими командами**
Команду *du* можно комбинировать с другими командами с конвейерами.
Например, чтобы напечатать 5 самых больших каталогов внутри каталога */var* вы должны передать вывод du в команду sort чтобы отсортировать каталоги по их размеру, а затем передать результат в команду head которая распечатает только 5 верхних каталогов

3. Команда free в Linux
free
Вывод будет включать три строки, заголовок, одну строку для памяти и одну для свопа
Доступно — оценка объема памяти, доступного для запуска новых приложений без подкачки.
По умолчанию команда free показывает информацию о памяти в килобайтах. Чтобы просмотреть информацию в удобочитаемом формате (обычно в мегабайтах и гигабайтах), используйте параметр -h
Например, чтобы отобразить результат в мегабайтах, введите --mega
Чтобы отобразить строку, показывающую итоги столбца, используйте параметр -t . Это дает вам сумму памяти и свопа в столбцах total, used и free.
Чтобы постоянно отображать информацию о памяти на экране, вызовите free с параметром -s ( --seconds ), за которым следует число, определяющее задержку.
Например, чтобы распечатывать информацию о памяти каждые пять секунд, вы должны выполнить:
`free -s 5`
free команда будет продолжать отображать результат, пока вы не нажмете CTRL+C Это похоже на поведение команды watch .
Чтобы отображать результат определенное количество раз, используйте параметр -c ( --count ). В примере ниже команда выведет результат десять раз:
`free -s 5 -c 10`

3.1 Команда free в Linux с примерами


4. iostat
`sudo iostat`
В первой части отчёта находится информация о загруженности процессора. Тут есть такие колонки:
- %user - процент использования процессора программами, запущенными на уровне пользователя;
- %nice - процент использования процессора программами запущенными тоже в пространстве пользователя, но только с изменённым приоритетом;
- %system - процент использования процессора ядром;
- %iowait - процент времени затраченного на ожидание завершения операций ввода/вывода;
- %steal - процент простоя виртуального процессора, пока гипервизор отдаёт мощность другому виртуальному процессору;
- %idle - процент времени пока процессор не занят ничем.
- tps - означает количество запросов на чтение или запись к устройству в секунду;
- KB_read/s, MB_read/s - количество килобайт или мегабайт, прочитанных с устройства за секунду;
- KB_wrtn/s, MB_wrtn/s - количество килобайт или мегабайт записанных на устройство в секунду;
- KB_dscd/s, MB_dscd/s - скорость освобождения блоков данных на устройстве, килобайт или мегабайт в секунду;
- KB_read, MB_read - общее количество прочитанных данных с диска с момента загрузки системы;
- KB_wrtn, MB_wrtn - количество записанных данных с момента загрузки системы;
- KB_dscd, MB_dscd - количество освобождённых блоков на диске в результате выполнения операции trim в килобайтах или мегабайтах.


Для просмотра данных в удобном формате выполните:
`sudo iostat -h`

Чтобы посмотреть данные по нужному устройству просто укажите это устройство:
`sudo iostat /dev/nvme0n1`
Можно посмотреть статистику по каждому разделу устройства, тогда надо воспользоваться опцией -p:
`sudo iostat -p /dev/nvme0n1`
Чтобы утилита автоматически обновляла данные каждую секунду просто добавьте интервал. Например:
`sudo iostat -p /dev/nvme0n1 1`

Если вы не хотите чтобы утилита суммировала все данные с момента запуска операционной системы, то можно использовать опцию -y. Но работает она только если задан интервал:
`sudo iostat -y -p /dev/nvme0n1 1`

4.1 Профилирование нагрузки на файловую систему с помощью iostat


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

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

5.3 Для отображения статистически о конкретном CPU или ядре

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

5.5 Дополнительные опции

6. vmstat

Приведенный ниже пример иллюстрирует применение vmstat для обнаружения программ, которые потребляют слишком много ресурсов CPU.
**vmstat -a**
(active/inactive memory) - активная/неактивная память
**vmstat -f**
(number of forks since boot) - количество вилок с момента загрузки
**vmstat -d**
(disk statistics) - статистика диска
**vmstat -D**
(summarize disk statistics) - (общая статистика диска)


7. Утилита/команда " w "
В таблице для каждого пользователя выводятся следующие поля:
```
USER — имя пользователя.
TTY — название терминала.
FROM — название удаленного компьютера или IP-адрес.
LOGIN — время входа в систему.
IDLE — время бездействия.
JCPU — время, использованное всеми процессами, подключенными к tty. Оно не включает завершенные фоновые задания, но включает фоновые задания, работающие в данный момент.
PCPU — время, использованное текущим процессом, который указан в поле WHAT.
WHAT — текущий процесс (командная строка текущего процесса).
```
- h
Не выводить заголовок у таблицы.
- u
Игнорировать имена пользователей при определении времени текущего процесса и времени CPU.
- s
Использовать сокращенный формат вывода. Не выводить колонки JCPU и PCPU.
- f
Включить или выключить вывод поля from, которое соответствует имени удаленного хоста (remote hostname). В зависимости от дистрибутива Linux (версии утилиты w), поле from может выводиться или не выводиться по умолчанию.
- i
Выводить в поле from IP-адрес вместо имени хоста (hostname), если это возможно.
- o
Выводить информацию в старом формате. Время, которое меньше 1 минуты, не выводится.
- V
Вывести версию утилиты w.

8. Утилита htop
**В самом верху показана нагрузка на каждое ядро центрального процессора (цифры от 1 до 12).**`
```
Mem — это общее количество оперативной памяти и используемая память.
Task — обобщённая статистика по процессам
Swp — уровень занятости файла подкачки (если он есть)
Load average — средняя загрузка центрального процессора
Uptime — время работы операционной системы с момента последней загрузки
```

### Практическая работа №2.2
1. Установка пакетов SSH


2. Настройка SSH




по паролю

4. Для генерации ключей используется утилита ssh-keygen:


5. Подключиться к серверу linux c хостовой операционной системы через Putty.


по ключу

### Практическая работа №2.3
2. Создание ключей SSH

3. Как скопировать открытый ключ на ваш сервер

Аутентификация на сервере с использованием ключей SSH

5. Отключение аутентификации с помощью пароля на сервере

6. Копирование открытого ключа с помощью SSH

### Практическая работа №2.4
1. Базовый сбор информации
Начнём со сбора информации о дистрибутивах

**По ядру linux можно понять следующее:**
**uname -a**

Команда uptime покажет, когда и сколько система работала и соответственно, если она работала без перерыва 3 года, то злоумышлинник может воспользоваться старыми уязвимостями для получения доступа или внедрения кода.

Давайте посмотри права директории /home

Чтобы ограничить права другим пользователям делаем следующее
sudo chmod o-rx /home/kali

ip neigh - показывает с какими компьютерами происходит обмен данными
sudo ss -tlnp - показывает какие сервисы и с какими портами запущены
sudo -l - позволяет нам понять, что есть в этом машинки и что пользователь может

2. Суидные файлы







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









### Практическая работа №2.5
1. Просмотр списка системных переменных окружения

2. Запуск команд с указанием нового значения переменной окружения

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

2.2 Добавление и удаление пользовательских переменных


