Время зомби 🧟
Зомби-процессы в Linux иногда также называют несуществующими или мертвыми процессами. В Linux существует таблица всех запущенных процессов вместе с их состояниями.
R - эти процессы в данный момент запущены или могут быть запущены
S/D - это процессы, которые ожидают события:
T - остановлено: Мы можем остановить процесс Linux, отправив соответствующий сигнал.
Зомби - Z: Когда процесс завершает свою задачу, он освобождает системные ресурсы, которые он использовал, и очищает свою память.
Мы можем определить список зомби с помощью команды ps:
~]# ps ux | awk '{if($8=="Z") print}'
Другим удобным методом проверки количества и списка процессов-зомби является использование команды top :
~]# top
Мы не можем убить зомби-процесс, поскольку он уже мертв. Однако есть несколько обходных путей, которые мы можем использовать для очистки зомби-процесса.
Мы можем вручную отправить SIGCHLD родительскому процессу-зомби. Для поиска родительского идентификатора несуществующего процесса, используйте:
~]# ps -A -ostat,pid,ppid | grep -e '[zZ]'
Далее отправьте сигнал SIGCHLD родительскому процессу (из 3го столбца)
~]# kill -s SIGCHLD 123
Если метод, описанный выше, не может очистить несуществующий процесс, нам следует рассмотреть возможность уничтожения его родительского процесса:
~]# kill -9 123
Уничтожение родительского процесса может повлиять на все его дочерние процессы.
Зомби-процессы в Linux иногда также называют несуществующими или мертвыми процессами. В Linux существует таблица всех запущенных процессов вместе с их состояниями.
R - эти процессы в данный момент запущены или могут быть запущены
S/D - это процессы, которые ожидают события:
T - остановлено: Мы можем остановить процесс Linux, отправив соответствующий сигнал.
Зомби - Z: Когда процесс завершает свою задачу, он освобождает системные ресурсы, которые он использовал, и очищает свою память.
Мы можем определить список зомби с помощью команды ps:
~]# ps ux | awk '{if($8=="Z") print}'
Другим удобным методом проверки количества и списка процессов-зомби является использование команды top :
~]# top
Мы не можем убить зомби-процесс, поскольку он уже мертв. Однако есть несколько обходных путей, которые мы можем использовать для очистки зомби-процесса.
Мы можем вручную отправить SIGCHLD родительскому процессу-зомби. Для поиска родительского идентификатора несуществующего процесса, используйте:
~]# ps -A -ostat,pid,ppid | grep -e '[zZ]'
Далее отправьте сигнал SIGCHLD родительскому процессу (из 3го столбца)
~]# kill -s SIGCHLD 123
Если метод, описанный выше, не может очистить несуществующий процесс, нам следует рассмотреть возможность уничтожения его родительского процесса:
~]# kill -9 123
Уничтожение родительского процесса может повлиять на все его дочерние процессы.
Что нужно знать о /proc
❗️ Главное, что необходимо знать о каталоге /proc - не является настоящей файловой системой, это виртуальная файловая система. В каталоге содержаться информация о процессах и системная информация.
/proc является конструированным разделом и монтируется во время загрузки ОС. Если посмотреть содержимое /proc
~]# ls /proc/
вы увидите файлы и пронумерованные каталоги. Эти пронумерованные каталоги и являются номерами процессов - PID.
А какие файлы и что они несут в себе?
/proc/cmdline — параметры загрузки ОС
/proc/consoles — информация об используемой консоли
/proc/devices — драйверы устройств, работающие в данный момент
/proc/filesystems — файловые системы, поддерживаемые текущей версией ядра
/proc/iomem — здесь содержится текущая карта системной памяти для устройств
/proc/ioports — зарегистрированные диапазоны портов и устройства, которые их используют.
/proc/loadavg — показывает нагрузку на систему в разрезе времени, а так же количество запущенных процессов и PID последнего процесса.
/proc/locks — файлы заблокированные ядром
/proc/meminfo — информация о системной памяти.
/proc/modules — загруженные в данный момент модули ядра.
/proc/mounts — точки монтирования, используемые системой.
/proc/partitions — информация о разделах, доступных системе.
/proc/pci — информация о pci-устройствах.
/proc/stat — записи и различная статистическая информация, хранящаяся с момента последней перезагрузки.
/proc/swaps — информация о месте в разделе Swap.
/proc/uptime — информация о времени работы с момента запуска системы ( в секундах)
/proc/version — версия ядра, версия GCC и установленный дистрибутив
Более подробную информацию можно получить:
~]# man 5 /proc/имя_файла
/proc является конструированным разделом и монтируется во время загрузки ОС. Если посмотреть содержимое /proc
~]# ls /proc/
вы увидите файлы и пронумерованные каталоги. Эти пронумерованные каталоги и являются номерами процессов - PID.
А какие файлы и что они несут в себе?
/proc/cmdline — параметры загрузки ОС
/proc/consoles — информация об используемой консоли
/proc/devices — драйверы устройств, работающие в данный момент
/proc/filesystems — файловые системы, поддерживаемые текущей версией ядра
/proc/iomem — здесь содержится текущая карта системной памяти для устройств
/proc/ioports — зарегистрированные диапазоны портов и устройства, которые их используют.
/proc/loadavg — показывает нагрузку на систему в разрезе времени, а так же количество запущенных процессов и PID последнего процесса.
/proc/locks — файлы заблокированные ядром
/proc/meminfo — информация о системной памяти.
/proc/modules — загруженные в данный момент модули ядра.
/proc/mounts — точки монтирования, используемые системой.
/proc/partitions — информация о разделах, доступных системе.
/proc/pci — информация о pci-устройствах.
/proc/stat — записи и различная статистическая информация, хранящаяся с момента последней перезагрузки.
/proc/swaps — информация о месте в разделе Swap.
/proc/uptime — информация о времени работы с момента запуска системы ( в секундах)
/proc/version — версия ядра, версия GCC и установленный дистрибутив
Более подробную информацию можно получить:
~]# man 5 /proc/имя_файла
Please open Telegram to view this post
VIEW IN TELEGRAM
disk.png
175.3 KB
Создание раздела
При работе с большим объемом дисков, мы стараемся создавать новую пустую таблицу разделов GPT и после добавляем новый раздел. Примерно это выглядит так:
~]# fdisk /dev/sdd
Команда (m для справки): g
Команда (m для справки): n
Команда (m для справки): w
В итоге Вы получаете:
~]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc 8:32 0 5G 0 disk
└─sdc1 8:33 0 5G 0 part
Если поразмыслить и представить что у Вас 10 дисков на которых предстоит выполнить данную манипуляцию, согласитесь, это утомит.
Что бы вас это не утомило, выполните:
~]# echo -e "o\ng\nn\np\n1\n\n\nw" | fdisk /dev/sdc
echo передаст все аргументы необходимые для ввода
Желаю удачи!! Оптимизируете свои трудозатраты!!
При работе с большим объемом дисков, мы стараемся создавать новую пустую таблицу разделов GPT и после добавляем новый раздел. Примерно это выглядит так:
~]# fdisk /dev/sdd
Команда (m для справки): g
Команда (m для справки): n
Команда (m для справки): w
В итоге Вы получаете:
~]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc 8:32 0 5G 0 disk
└─sdc1 8:33 0 5G 0 part
Если поразмыслить и представить что у Вас 10 дисков на которых предстоит выполнить данную манипуляцию, согласитесь, это утомит.
Что бы вас это не утомило, выполните:
~]# echo -e "o\ng\nn\np\n1\n\n\nw" | fdisk /dev/sdc
echo передаст все аргументы необходимые для ввода
Желаю удачи!! Оптимизируете свои трудозатраты!!
К сердцу самых скрываемых данных от лишних глаз!
Не однократно, Вы сталкиваетесь с ситуацией, когда Вы не желаете что бы злоумышленник овладел вашими данными. Первым делом, Вы, что делаете?
Правильно, удаляете информацию.
Представим, Вы решили сохранить логины/пароли в самом не приметном месте дискового пространства в Linux. После чего вы чувствуете, совершено проникновение и Вы приступает к немедленному удалению данных с диска.
~]# rm SecretData.txt
Вы считаете, миссия окончена. Нет файла нет проблем.
А теперь постарайтесь мыслить как «плохиш», он на перед знает ход ваших действий.
Он знает, Вы его скоро обнаружите. Именно по этой причине он не станет просматривать содержимое файлов/документов, а подготовит почву для экстренного переноса информации.
Первым делом при обнаружении интересных документов для злоумышленника, он узнает физическое место расположение файла
~]# filefrag -b512 -v /tmp/SecretData.txt
FILEFRAG - входит в состав e2fsprogs и устанавливается при минимальных установках ОС.
«Плохиш» смотрит и сохраняет параметр phisical_offset и диск на котором он нашел его.
Продолжая свой путь, вы обнаружили «плохиша» и начинаете удалять данные.
Плохиш, первый кто увидит отсутствие данных.
Пора приступать к отходу и забирать найденное богатство)
Правильно, могли подумать, что Вы не оставили ничего, что могло бы Вас скомпрометировать. Но не совсем так, из поля видимости Вы безусловно удалили данные, но не для «плохиша»
~]# dd if=/dev/mapper/cs-root skip=14144896 status=none count=8
Будьте аккуратны с тем, что вы храните в ОС!!
Желаю удачи, думаю Вам есть над чем размыслить ))
Не однократно, Вы сталкиваетесь с ситуацией, когда Вы не желаете что бы злоумышленник овладел вашими данными. Первым делом, Вы, что делаете?
Правильно, удаляете информацию.
Представим, Вы решили сохранить логины/пароли в самом не приметном месте дискового пространства в Linux. После чего вы чувствуете, совершено проникновение и Вы приступает к немедленному удалению данных с диска.
~]# rm SecretData.txt
Вы считаете, миссия окончена. Нет файла нет проблем.
А теперь постарайтесь мыслить как «плохиш», он на перед знает ход ваших действий.
Он знает, Вы его скоро обнаружите. Именно по этой причине он не станет просматривать содержимое файлов/документов, а подготовит почву для экстренного переноса информации.
Первым делом при обнаружении интересных документов для злоумышленника, он узнает физическое место расположение файла
~]# filefrag -b512 -v /tmp/SecretData.txt
FILEFRAG - входит в состав e2fsprogs и устанавливается при минимальных установках ОС.
«Плохиш» смотрит и сохраняет параметр phisical_offset и диск на котором он нашел его.
Продолжая свой путь, вы обнаружили «плохиша» и начинаете удалять данные.
Плохиш, первый кто увидит отсутствие данных.
Пора приступать к отходу и забирать найденное богатство)
Правильно, могли подумать, что Вы не оставили ничего, что могло бы Вас скомпрометировать. Но не совсем так, из поля видимости Вы безусловно удалили данные, но не для «плохиша»
~]# dd if=/dev/mapper/cs-root skip=14144896 status=none count=8
Будьте аккуратны с тем, что вы храните в ОС!!
Желаю удачи, думаю Вам есть над чем размыслить ))
Расширяем диск без LVM - XFS
Предположим, у вас в системе зарегистрирован диска sda, при этом партиция sda1 принадлежит точке монтирования /.
Давайте представим как это выглядит:
sda
|__sda1
|__XFS
Средствами виртуализации, Вы расширили диск на условные обьем - это диск SDA. Созданная ранее партиция, об этом нечего не знает. Выполните:
~]# growpart /dev/sda1
Ну и теперь собственно расширяем файловую систему:
~]# xfs_growfs -d /
Проверяем
~]# df -h /
Предположим, у вас в системе зарегистрирован диска sda, при этом партиция sda1 принадлежит точке монтирования /.
Давайте представим как это выглядит:
sda
|__sda1
|__XFS
Средствами виртуализации, Вы расширили диск на условные обьем - это диск SDA. Созданная ранее партиция, об этом нечего не знает. Выполните:
~]# growpart /dev/sda1
Ну и теперь собственно расширяем файловую систему:
~]# xfs_growfs -d /
Проверяем
~]# df -h /
Как настроить Multipath
Предположим, сервер с двумя картами HBA, подключенными к контроллеру хранения с одним портом на каждой карте HBA. Один лун, назначенный одному серверу через два номера обеих карт. Таким образом, ОС обнаруживает два устройства: /dev/sdb и /dev/sdc. После того, как мы установили Device Mapper Multipathing. DM-Multipath создает одно устройство с уникальным WWID. Таким образом, при сбое с любым из этих путей ввода-вывода данные могут быть доступны с помощью доступного пути ввода-вывода.
Установка:
~]# yum -y install device-mapper-multipath
Базовая конфигурация:
Файл конфигурации - /etc/multipath.conf
defaults {
user_friendly_names yes
}
blacklist {
devnode “sda”
}
Черный список включает в себя устройства, которые не должны быть настроены в Multipathing. Например, скажем, наш установленный диск ОС - /dev/sda. Таким образом, первая запись в черном списке исключит их.
Генерация multipath конфиг:
~]# mpathconf --enable --user_friendly_names y
Запуск и автозагрузка:
~]# systemctl start multipathd
~]# systemctl enable multipathd
Проверка статуса:
~]# multipath -ll
А как же LVM?
Сканируем новые девайсы
~]# ls /sys/class/scsi_host/ | while read host ; do echo "- - -" > /sys/class/scsi_host/$host/scan ; done
Создаем Linux LVM partition
~]# fdisk /dev/mapper/DATA-DISK
(См.выше: Создание разделов)
Создаем Linux LVM
~]# pvcreate /dev/mapper/DATA-DISKp1
~]# vgcreate DATAVG /dev/mapper/DATA-DISKp1
~]# lvcreate -n LV03 -l 100%FREE DATAVG
~]# mkfs.xfs /dev/DATAVG/LV03
Предположим, сервер с двумя картами HBA, подключенными к контроллеру хранения с одним портом на каждой карте HBA. Один лун, назначенный одному серверу через два номера обеих карт. Таким образом, ОС обнаруживает два устройства: /dev/sdb и /dev/sdc. После того, как мы установили Device Mapper Multipathing. DM-Multipath создает одно устройство с уникальным WWID. Таким образом, при сбое с любым из этих путей ввода-вывода данные могут быть доступны с помощью доступного пути ввода-вывода.
Установка:
~]# yum -y install device-mapper-multipath
Базовая конфигурация:
Файл конфигурации - /etc/multipath.conf
defaults {
user_friendly_names yes
}
blacklist {
devnode “sda”
}
Черный список включает в себя устройства, которые не должны быть настроены в Multipathing. Например, скажем, наш установленный диск ОС - /dev/sda. Таким образом, первая запись в черном списке исключит их.
Генерация multipath конфиг:
~]# mpathconf --enable --user_friendly_names y
Запуск и автозагрузка:
~]# systemctl start multipathd
~]# systemctl enable multipathd
Проверка статуса:
~]# multipath -ll
А как же LVM?
Сканируем новые девайсы
~]# ls /sys/class/scsi_host/ | while read host ; do echo "- - -" > /sys/class/scsi_host/$host/scan ; done
Создаем Linux LVM partition
~]# fdisk /dev/mapper/DATA-DISK
(См.выше: Создание разделов)
Создаем Linux LVM
~]# pvcreate /dev/mapper/DATA-DISKp1
~]# vgcreate DATAVG /dev/mapper/DATA-DISKp1
~]# lvcreate -n LV03 -l 100%FREE DATAVG
~]# mkfs.xfs /dev/DATAVG/LV03
Failed to create session: Connection timed out
Вы можете сталкнуться с зарегистрированной ошибкой в /var/log/message и /var/log/secure
Sep 10 15:11:27 tes.examplecrond[29383]: pam_systemd(crond:session): Failed to create session: Failed to activate service 'org.freedesktop.login1': timed out
На это есть 2 варианта исхода событий:
Вариант 1:
~]# systemctl daemon-reload
~]# systemctl status dbus.service
~]# systemctl status polkit.service
Если служба dbus не работает, то системе потребуется перезагрузка.
~]# systemctl reboot
~]# systemctl status dbus.service
Если сервис polkit не работает, то запустите сервис polkit
~]# systemctl start polkit.service
~]# systemctl restart systemd-logind
Вариант 2:
Проверьте устройство предоставляемое услугу дисковой подсистемы, вероятно оно светиться как новогодняя ёлка
Вы можете сталкнуться с зарегистрированной ошибкой в /var/log/message и /var/log/secure
Sep 10 15:11:27 tes.examplecrond[29383]: pam_systemd(crond:session): Failed to create session: Failed to activate service 'org.freedesktop.login1': timed out
На это есть 2 варианта исхода событий:
Вариант 1:
~]# systemctl daemon-reload
~]# systemctl status dbus.service
~]# systemctl status polkit.service
Если служба dbus не работает, то системе потребуется перезагрузка.
~]# systemctl reboot
~]# systemctl status dbus.service
Если сервис polkit не работает, то запустите сервис polkit
~]# systemctl start polkit.service
~]# systemctl restart systemd-logind
Вариант 2:
Проверьте устройство предоставляемое услугу дисковой подсистемы, вероятно оно светиться как новогодняя ёлка
Копирование структуры каталогов без файлов.
Наверняка Вам доводилось создавать структуру каталогов по аналогии с уже существующей иерархией, согласитесь, это утомительно и можно что то упустить. Для того что бы не упустить не один каталог, установите утилиту
~]# yum install tree
А теперь приступим
TREE
~]# tree -dfi —noreport dir1 | xargs -I{} mkdir -p «$HOME/dir2/{}»
FIND
~]# find dir1 -type d | xargs -I{} mkdir -p «$HOME/dir2/{}»
где,
dir1 - откуда
dir2 - куда
Простая, но порой востребованная тема))
Наверняка Вам доводилось создавать структуру каталогов по аналогии с уже существующей иерархией, согласитесь, это утомительно и можно что то упустить. Для того что бы не упустить не один каталог, установите утилиту
~]# yum install tree
А теперь приступим
TREE
~]# tree -dfi —noreport dir1 | xargs -I{} mkdir -p «$HOME/dir2/{}»
FIND
~]# find dir1 -type d | xargs -I{} mkdir -p «$HOME/dir2/{}»
где,
dir1 - откуда
dir2 - куда
Простая, но порой востребованная тема))
Как переместить ОС Linux с диска на диск меньшего объема?
Вероятно, вы сталкивались с не корректной разметкой дискового пространства в системе, когда выделено места больше чем в этом есть необходимость.
Какая информация Вам необходима:
Информация о дисках
Информация об идентификаторах устройств
Новый диск
Вам необходимо на новом диске сделать разметку по аналогии со старым учитывая новый размер диска.
Переведите систему в режим обслуживания (сервисный режим)
Выполните копирование данных со старой партиции, на новую - согласно архитектуре древа каталогов.
Войдите в новую ФС (скопированную) под средством chroot
Отключите контроль доступа
Измените точки монтирования на новые
Установить grub в загрузочный диск
Сконфигурируйте новый файл конфигурации grub
Измените настройки grub согласно вашим новым идентификаторам
Если Вы используете тип FS -XFS, не забудьте сделать для нее проверку и исправление
Не бойтесь написанного, осталось выполнить все действия и написать команды)
Желаю удачи, не забывайте про snapshot или бекап системы!!
Вероятно, вы сталкивались с не корректной разметкой дискового пространства в системе, когда выделено места больше чем в этом есть необходимость.
Какая информация Вам необходима:
Информация о дисках
Информация об идентификаторах устройств
Новый диск
Вам необходимо на новом диске сделать разметку по аналогии со старым учитывая новый размер диска.
Переведите систему в режим обслуживания (сервисный режим)
Выполните копирование данных со старой партиции, на новую - согласно архитектуре древа каталогов.
Войдите в новую ФС (скопированную) под средством chroot
Отключите контроль доступа
Измените точки монтирования на новые
Установить grub в загрузочный диск
Сконфигурируйте новый файл конфигурации grub
Измените настройки grub согласно вашим новым идентификаторам
Если Вы используете тип FS -XFS, не забудьте сделать для нее проверку и исправление
Не бойтесь написанного, осталось выполнить все действия и написать команды)
Желаю удачи, не забывайте про snapshot или бекап системы!!
sda->sdb.rtf
12.8 KB
Это то, что вы должны были написать по предыдущей статье)
Не забывайте об архитектурах)
Не забывайте об архитектурах)
Не освобождается место после удаления файлов
Вы можете столкнуться с ситуацией, когда диск у вас заполнен на 100%. При удаление большого файла (пример - лог файл), файл удаляется, но место не освобождается. Рекомендую, обратиться к файловым дескрипторам.
~]# lsof | grep имя_файла
Условно видим, процесс rsyslog удерживает файл. Но не всегда можно останавливать логирование. Найдем символическую ссылку
~]# ls -l /proc/идентификатор_процесса/fd | grep имя_файла
Найдя дескриптор, стираем
~]# cat /dev/null > /proc/идентификатор_процесса/fd/дескриптор
Проверяем место
~]# df -h
Вы можете столкнуться с ситуацией, когда диск у вас заполнен на 100%. При удаление большого файла (пример - лог файл), файл удаляется, но место не освобождается. Рекомендую, обратиться к файловым дескрипторам.
~]# lsof | grep имя_файла
Условно видим, процесс rsyslog удерживает файл. Но не всегда можно останавливать логирование. Найдем символическую ссылку
~]# ls -l /proc/идентификатор_процесса/fd | grep имя_файла
Найдя дескриптор, стираем
~]# cat /dev/null > /proc/идентификатор_процесса/fd/дескриптор
Проверяем место
~]# df -h
Узнаем причину перезагрузки.
Причиной перезагрузки могут являться многочисленные факторы. Но для начала, нам необходимо собрать информацию для дальнейшего анализа
~]# grep - iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' /var/log/messages /var/log/syslog /var/log/apcupsd * | grep - iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'
Проверяем события audit
~]# ausearch - i - m system_boot , system_shutdown | tail - 4
Анализ журналов systemd
~]# mkdir /var/log/ournal ~]# systemd - tmpfiles -- create -- prefix /var/log/journal 2 > /dev/null ~]# systemctl - s SIGUSR1 kill systemd - journald
Выведем список записанных событий о загрузке системы
~]# journalctl -- list - boots
Для дальнейшего анализа причины конкретной перезагрузки используйте:
~]# journalctl - b { num } –n
Причиной перезагрузки могут являться многочисленные факторы. Но для начала, нам необходимо собрать информацию для дальнейшего анализа
~]# grep - iv ': starting\|kernel: .*: Power Button\|watching system buttons\|Stopped Cleaning Up\|Started Crash recovery kernel' /var/log/messages /var/log/syslog /var/log/apcupsd * | grep - iw 'recover[a-z]*\|power[a-z]*\|shut[a-z ]*down\|rsyslogd\|ups'
Проверяем события audit
~]# ausearch - i - m system_boot , system_shutdown | tail - 4
Анализ журналов systemd
~]# mkdir /var/log/ournal ~]# systemd - tmpfiles -- create -- prefix /var/log/journal 2 > /dev/null ~]# systemctl - s SIGUSR1 kill systemd - journald
Выведем список записанных событий о загрузке системы
~]# journalctl -- list - boots
Для дальнейшего анализа причины конкретной перезагрузки используйте:
~]# journalctl - b { num } –n
Вирусы в Linux
Вирусов адаптивные под Linux составляет около 1,4 млн. Но все их можно разделить по типам
Rootkit
Это вирус, который встраивается в ядро системы и может скрывать своё присутствие. Обычно руткиты используются не сами по себе, а прикрывают какие-либо другие вирусы, например бэкдоры.
Шифровальщики
Они шифруют ваши файлы и требуют перевести определённую суму денег за расшифровку.
Ботнеты
Они используются для выполнения DDoS атак на различные сайты и узлы сети
Бэкдоры
Это программы, которые позволяют хакеру скрытно проникать в вашу систему.
Черви
Они сами распространяются используя различные уязвимости в системе или слабые пароли. Например SSH пароли к серверам очень часто пытаются перебрать различные черви чтобы проникнуть в систему, сделать то, что им надо и атаковать следующие системы.
Вирусов адаптивные под Linux составляет около 1,4 млн. Но все их можно разделить по типам
Rootkit
Это вирус, который встраивается в ядро системы и может скрывать своё присутствие. Обычно руткиты используются не сами по себе, а прикрывают какие-либо другие вирусы, например бэкдоры.
Шифровальщики
Они шифруют ваши файлы и требуют перевести определённую суму денег за расшифровку.
Ботнеты
Они используются для выполнения DDoS атак на различные сайты и узлы сети
Бэкдоры
Это программы, которые позволяют хакеру скрытно проникать в вашу систему.
Черви
Они сами распространяются используя различные уязвимости в системе или слабые пароли. Например SSH пароли к серверам очень часто пытаются перебрать различные черви чтобы проникнуть в систему, сделать то, что им надо и атаковать следующие системы.
Немножко сделаем XAK
Любителям домашних кинопросмотров, посвящается:
1. Переходим на сайт.
2. Выбираем фильм или сериал и переходим ;
3. После «www.» в адресной строке после точки добавляем «w»;
Должно получиться так —« https://www.wkinopoisk.ru » .
4. Переходим по адресу, после чего откроется плеер с выбранным фильмов или сериалом.
5. Наслаждайтесь просмотром😎
Любителям домашних кинопросмотров, посвящается:
1. Переходим на сайт.
2. Выбираем фильм или сериал и переходим ;
3. После «www.» в адресной строке после точки добавляем «w»;
Должно получиться так —
4. Переходим по адресу, после чего откроется плеер с выбранным фильмов или сериалом.
5. Наслаждайтесь просмотром😎
Кинопоиск
Кинопоиск. Онлайн кинотеатр. Фильмы сериалы мультфильмы и энциклопедия
Поиск фильмов, новости кино, отзывы пользователей, афиша кинотеатров, фотографии, постеры, трейлеры, кассовые сборы и многое другое.
Linux. Атрибуты.
Что мы можем увидеть в полном выводе команды ls.
~]# ls -l file.tmp
-rw-r--r-- 1 user group 9 Jun 23 19:42 file.tmp
Первый символ обозначает тип файла, дефис нам сообщает о том, что перед нами обычный файл. Следующие девять символов можно разделить на три группы
• u(users)-разрешения для создателя файла
• g(group)-разрешение для группы пользователей
• o(other) - другие пользователи, не подходящие ни под одну категорию.
В выводе команды ls буквы r,w,x - чтение, запись, выполнение.
В примере, владелец файла может просматривать и изменять файл, группа пользователей только просматривать, все остальные тоже только просматривать.
Следующее поле отображает количество жестких ссылок на файл. В данном случае эта цифра 1 означает, что у файла имеется только одно имя. При создании жесткой ссылки на этот файл счетчик увеличится на еденицу. Символические ссылки не учитываются. У каталога жестких ссылок всегда как минимум две. Одна ведет из родительского каталога, а вторая это "." внутри самого каталога.
Поскольку существует три типа пользователей, нам понадобятся 3 x 3 символа:
owner | owner group | others
Эти разрешения могут быть выражены в восьмеричном виде, где:
read = 4
write = 2
execute = 1
или:
r-- = 4
rw- = 6
rwx = 7
Как конвертировать rwx в понятные для Вас права?
~]# stat -c '%n %a' * /tmp/file.tmp
file.tmp 644
Что мы можем увидеть в полном выводе команды ls.
~]# ls -l file.tmp
-rw-r--r-- 1 user group 9 Jun 23 19:42 file.tmp
Первый символ обозначает тип файла, дефис нам сообщает о том, что перед нами обычный файл. Следующие девять символов можно разделить на три группы
• u(users)-разрешения для создателя файла
• g(group)-разрешение для группы пользователей
• o(other) - другие пользователи, не подходящие ни под одну категорию.
В выводе команды ls буквы r,w,x - чтение, запись, выполнение.
В примере, владелец файла может просматривать и изменять файл, группа пользователей только просматривать, все остальные тоже только просматривать.
Следующее поле отображает количество жестких ссылок на файл. В данном случае эта цифра 1 означает, что у файла имеется только одно имя. При создании жесткой ссылки на этот файл счетчик увеличится на еденицу. Символические ссылки не учитываются. У каталога жестких ссылок всегда как минимум две. Одна ведет из родительского каталога, а вторая это "." внутри самого каталога.
Поскольку существует три типа пользователей, нам понадобятся 3 x 3 символа:
owner | owner group | others
Эти разрешения могут быть выражены в восьмеричном виде, где:
read = 4
write = 2
execute = 1
или:
r-- = 4
rw- = 6
rwx = 7
Как конвертировать rwx в понятные для Вас права?
~]# stat -c '%n %a' * /tmp/file.tmp
file.tmp 644
Правила auditd для регистрации событий
Одним из способов настройки auditd для регистрации всех событий в Linux является следующая конфигурация:
1. Откройте файл конфигурации auditd:
```
sudo vi /etc/audit/auditd.conf
```
2. Установите следующие значения параметров:
з способов настройки auditd для регистрации всех событий в Linux является следующая конфигурация:
1. Откройте файл конфигурации auditd:
```
sudo vi /etc/audit/auditd.conf
```
2. Установите следующие значения параметров:
```
# Приведите текущие значения параметров к желаемым
log_file = /var/log/audit/audit.log
log_format = ENRICHED
log_group = root
priority_boost = 4
flush = INCREMENTAL_ASYNC
freq = 50
num_logs = 10
disp_qos = lossy
dispatcher = /sbin/audispd
name_format = {{audit\_ARCH}}/%F-%H-%M-%S
name = {{audit\_ARCH}}/%F-%H-%M-%S
max_log_file_action = ROTATE
space_left = 75
space_left_action = SYSLOG
verify_email = yes
3. Создайте каталог для журнальных файлов auditd, если он ещё не существует:
бытий
Одним из способов настройки auditd длТеперь auditd будет регистрировать все события в системе. Журнальные файлы будут храниться в каталоге
Одним из способов настройки auditd для регистрации всех событий в Linux является следующая конфигурация:
1. Откройте файл конфигурации auditd:
```
sudo vi /etc/audit/auditd.conf
```
2. Установите следующие значения параметров:
з способов настройки auditd для регистрации всех событий в Linux является следующая конфигурация:
1. Откройте файл конфигурации auditd:
```
sudo vi /etc/audit/auditd.conf
```
2. Установите следующие значения параметров:
```
# Приведите текущие значения параметров к желаемым
log_file = /var/log/audit/audit.log
log_format = ENRICHED
log_group = root
priority_boost = 4
flush = INCREMENTAL_ASYNC
freq = 50
num_logs = 10
disp_qos = lossy
dispatcher = /sbin/audispd
name_format = {{audit\_ARCH}}/%F-%H-%M-%S
name = {{audit\_ARCH}}/%F-%H-%M-%S
max_log_file_action = ROTATE
space_left = 75
space_left_action = SYSLOG
verify_email = yes
3. Создайте каталог для журнальных файлов auditd, если он ещё не существует:
sudo mkdir /var/log/audit
4. Убедитесь, что у каталога правильные разрешения доступа:
sudo chown root:root /var/log/audit
sudo chmod 0700 /var/log/audit
5. Перезапустите службу auditd:бытий
Одним из способов настройки auditd длТеперь auditd будет регистрировать все события в системе. Журнальные файлы будут храниться в каталоге
/var/log/audit/audit.log.This error message indicates that the session scope session-... failed to start due to a connection timeout.
Это сообщение об ошибке указывает на то, что область действия сеанса session-... не удалось запустить из-за тайм-аута подключения.
Служба systemd-logind отвечает за управление входами пользователей в систему, отслеживание сеансов и создание областей сеанса. Области сеанса создаются для каждого пользовательского сеанса, которые могут быть графическими или неграфическими.
Тайм-аут, возникающий во время запуска области сеанса, указывает на то, что произошла задержка или сбой в установлении необходимого соединения между службой systemd-logind и менеджером сеанса или диспетчером отображения, ответственным за сеанс.
Чтобы устранить эту проблему, вы можете попробовать выполнить следующие действия:
1. Перезапустите службу systemd-logind:
```
sudo systemctl restart systemd-logind
```
2. Проверьте журналы на наличие любых связанных с этим ошибок или предупреждений:
to a connection timeout.
Это сообщ3. Убедитесь, что диспетчер сеансов или диспетчер отображения запущен должным образом. Например, если вы используете GNOME, проверьте статус службы gdm:
4. Если вы недавно внесли изменения в систему, такие как обновление пакетов или модификация файлов конфигурации, отмените эти изменения и повторите попытку.
5. Если проблема сохраняется, это может указывать на более сложную проблему, связанную с менеджером сеансов или дисплейным менеджером. В таких случаях вам необходимо повысить версию ОС.
Это сообщение об ошибке указывает на то, что область действия сеанса session-... не удалось запустить из-за тайм-аута подключения.
Служба systemd-logind отвечает за управление входами пользователей в систему, отслеживание сеансов и создание областей сеанса. Области сеанса создаются для каждого пользовательского сеанса, которые могут быть графическими или неграфическими.
Тайм-аут, возникающий во время запуска области сеанса, указывает на то, что произошла задержка или сбой в установлении необходимого соединения между службой systemd-logind и менеджером сеанса или диспетчером отображения, ответственным за сеанс.
Чтобы устранить эту проблему, вы можете попробовать выполнить следующие действия:
1. Перезапустите службу systemd-logind:
```
sudo systemctl restart systemd-logind
```
2. Проверьте журналы на наличие любых связанных с этим ошибок или предупреждений:
to a connection timeout.
Это сообщ3. Убедитесь, что диспетчер сеансов или диспетчер отображения запущен должным образом. Например, если вы используете GNOME, проверьте статус службы gdm:
`
sudo systemctl status gdm4. Если вы недавно внесли изменения в систему, такие как обновление пакетов или модификация файлов конфигурации, отмените эти изменения и повторите попытку.
5. Если проблема сохраняется, это может указывать на более сложную проблему, связанную с менеджером сеансов или дисплейным менеджером. В таких случаях вам необходимо повысить версию ОС.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system
Чтобы исправить это предупреждение, вы можете выполнить следующие действия:
1. Убедитесь, что у вас установлены все необходимые пакеты и зависимости:
-]# sudo apt-get install lsof fuse
~]# yum/dnf install lsof fuse
2. Проверьте, работает ли служба fuse:
~]# systemctl status fuse
Если служба не работает, выполните следующую команду, чтобы ее включить:
~]# systemctl start fuse
3. Перезапустите компьютер и проверьте, исправилось ли предупреждение.
Если эти действия не помогли, попробуйте следующее:
4. Обновите программное обеспечение на вашей системе до последней версии:
~]# sudo apt-get update
~]# sudo apt-get upgrade
или
~]# yum/dnf upgrade
5. Проверьте, что выполнение команды
~]# lsof
Если команда lsof выполняется без ошибок, но по-прежнему выводит предупреждение, других решений может не быть, так как оно обычно связано с ограничениями и политиками безопасности файловой системы.
Чтобы исправить это предупреждение, вы можете выполнить следующие действия:
1. Убедитесь, что у вас установлены все необходимые пакеты и зависимости:
-]# sudo apt-get install lsof fuse
~]# yum/dnf install lsof fuse
2. Проверьте, работает ли служба fuse:
~]# systemctl status fuse
Если служба не работает, выполните следующую команду, чтобы ее включить:
~]# systemctl start fuse
3. Перезапустите компьютер и проверьте, исправилось ли предупреждение.
Если эти действия не помогли, попробуйте следующее:
4. Обновите программное обеспечение на вашей системе до последней версии:
~]# sudo apt-get update
~]# sudo apt-get upgrade
или
~]# yum/dnf upgrade
5. Проверьте, что выполнение команды
lsof не вызывает ошибку:~]# lsof
Если команда lsof выполняется без ошибок, но по-прежнему выводит предупреждение, других решений может не быть, так как оно обычно связано с ограничениями и политиками безопасности файловой системы.
Многопоточный rsync
Для запуска rsync в несколько потоков вы можете использовать опцию -e или --rsh, чтобы указать команду для удаленного выполнения.
1. Запуск rsync с 5 потоками:
~]# rsync -az --progress --rsh='ssh' --rsync-path='rsync' --partial --human-readable --inplace --info=progress2 /path/to/source user@host:/path/to/destination
В этом примере, опция --rsh указывает использовать ssh для удаленного выполнения. Опция --rsync-path задает путь к исполняемому файлу rsync на удаленном хосте. Опция --info=progress2 отображает подробную информацию о процессе копирования.
2. Запуск rsync с 10 потоками, используя локальное выполнение:
~]# rsync -az --progress --partial --human-readable --inplace --info=progress2 --parallel=10 /path/to/source /path/to/destination
В этом примере, опция --parallel указывает количество потоков, которые будут использоваться для копирования.
‼️Обратите внимание, что возможность запуска rsync с несколькими потоками зависит от версии rsync, установленной на вашей системе.
Для запуска rsync в несколько потоков вы можете использовать опцию -e или --rsh, чтобы указать команду для удаленного выполнения.
1. Запуск rsync с 5 потоками:
~]# rsync -az --progress --rsh='ssh' --rsync-path='rsync' --partial --human-readable --inplace --info=progress2 /path/to/source user@host:/path/to/destination
В этом примере, опция --rsh указывает использовать ssh для удаленного выполнения. Опция --rsync-path задает путь к исполняемому файлу rsync на удаленном хосте. Опция --info=progress2 отображает подробную информацию о процессе копирования.
2. Запуск rsync с 10 потоками, используя локальное выполнение:
~]# rsync -az --progress --partial --human-readable --inplace --info=progress2 --parallel=10 /path/to/source /path/to/destination
В этом примере, опция --parallel указывает количество потоков, которые будут использоваться для копирования.
‼️Обратите внимание, что возможность запуска rsync с несколькими потоками зависит от версии rsync, установленной на вашей системе.