Практическая работа: Модуль 21. Файловая система в Linux. Работа с блочными устройствами и LVM

См. также Требования, правила и цели выполнения практической работы

Практические задания

Задание 1.

Просмотрите все логи командой less в папке /var/log, чтобы понять какие данные записываются

Задание 2.

  • Просмотрите логи wtmp

  • Просмотрите логи last

  • Просмотрите журнал загрузки

Задание 3.

  • Запустим просмотр журнала в реальном времени в первом окне

  • Отправим событие для теста в другом окне терминала через logger приоритет kern.error

  • Попробуйте разные источники и уровни важности, см. man logger или curl cht.sh/logger

Задание 4.

Проверьте, какие процессы используют файлы в директории /var/log

Задание 5.

Откройте графическую утилиту журнала и с помощью фильтра найдите ваши сообщения.

Задание 6.

Соберите информацию о процессах, используя команды из лекции

Задание 7.

Узнайте свободное место и занятые Inode

Задание 8.

Соберите информацию о сетевых соединениях

Задание 9.

  • Получите информацию о настройках межсетевого экрана

  • Разрешите ssh прежде чем включать firewall

Задание 10.

  • Сделайте дамп сетевых соединений

  • Изучите основные часто используемые ключи tcpdump через cht.sh

Задание 11.

  • Сделайте трассировку bash

  • Сделайте трассировку logger чтобы выяснить какой сокет открывает logger

  • Изучите основные часто используемые ключи strace через cht.sh:

  • Просмотрите список библиотек logger

Задание 12.

Восстановление работы загрузчика с загрузочного диска

Практическая работа (c ответами)

Задание 1.

Просмотрите все логи командой less в папке /var/log, чтобы понять какие данные записываются:

Основной журнал, в котором хранятся все сообщения, кроме сообщений об аутентификации и сообщений почтовой службы.

$ less /var/log/syslog

Сокращенная версия файла syslog, сюда записываются несколько типов сообщений: почта, cron, сервисы systemd, сообщения от ядра, pam, аутентификация и др.:abbr:

$ sudo less /var/log/messages

Сообщения об аутентификации служб и пользователей:

$ sudo less /var/log/auth.log

Сообщения, сгенерированные во время загрузки ОС:

$ sudo less /var/log/boot.log

Сообщения от ядра ОС(*):

$ sudo less /var/log/kern.log

Сообщения от различных служб (кроме почты, печати и планировщика cron).

$ sudo less /var/log/daemon.log

Сообщения от команд, выполняемых пользователями, например: (NetworkManager):

$ sudo less /var/log/user.log

Задание 2.

  • Просмотрите /var/log/wtmp командой who

  • Просмотрите /var/log/last командой last

  • Просмотрите журнал загрузки командой sudo dmesg

Задание 3.

Запустим просмотр журнала в реальном времени в первом окне:

$ sudo journalctl -f -o verbose

Отправим событие для теста в другом окне терминала:

$ logger --priority kern.error Test error

Попробуйте разные источники и уровни важности, см. man logger или curl cht.sh/logger

Задание 4.

Проверьте, какие процессы используют файлы в директории /var/log

$ sudo lsof +d /var/log
$ sudo watch -n 1 lsof +d /var/log

Задание 5.

Откройте графическую утилиту журнала и с помощью фильтра найдите ваши сообщения.

:Пуск ‣ Панель управления ‣ Безопасность ‣ Журнал аудита

Задание 6.

Соберите информацию о процессах, используя команды:

cat /proc/1/status

$ ps
$ ps aux
$ sudo ps aux
$ top
$ htop
$ vmstat
$ uptime
$ mpstat
$ pidstat 2 5

Задание 7.

Узнайте свободное место и занятые Inode

$ df -h
$ df -i
$ sudo iostat
$ sudo iotop

Задание 8.

Соберите информацию о сетевых соединениях:

$ ss
$ curl cht.sh/ss
$ ss -tlp
$ sudo ss -tlp
$ sudo lsof -i4
$ ip a
$ ip r

Задание 9.

Получите информацию о настройках межсетевого экрана:

$ sudo ufw
$ sudo ufw status

Разрешите ssh прежде чем включать firewall

$ sudo ufw allow openssh
$ sudo ufw enable
$ sudo ufw status
$ curl cht.sh/ufw

Задание 10.

Сделайте дамп сетевых соединений

$ tcpdump
$ sudo tcpdump
$ sudo tcpdump -D

Изучите основные часто используемые ключи tcpdump через cht.sh:

curl cht.sh/tcpdump

Задание 11.

Сделайте трассировку bash: strace bash -c "echo test"

Сделайте трассировку logger чтобы выяснить какой сокет открывает logger

$ strace logger test
$ strace logger test | grep /dev/log

Изучите основные часто используемые ключи strace через cht.sh:

curl cht.sh/strace

Просмотрите список библиотек logger:

ldd "$(which logger)"

Задание 12.

Восстановление работы загрузчика

  1. создайте копию в dd

    $ sudo dd if=/dev/sda of=/mnt/data/sda_boot.bkp bs=512 count=4
    
  2. затрите диск первые 512 байт

    $ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
    $ sudo reboot
    
  3. Загрузитесь установочного с диска и зайдите в busybox

  4. При Монтируем наш второй диск

    $ mount /dev/sdb /mnt
    
  5. Восстановим наш загрузчик

    $ dd if=/mnt/sda_boot.bkp of=/dev/sda
    
  6. Перезагрузим виртуальную машину

** Дополнительно попробуйте восстановить все неработающие состояния из текста лекции