На YouTube-канале GitHub вышло интервью с Линусом Торвальдсом.
В этом интервью, посвящённом 20-летию Git, Линус Торвальдс говорит о следующих темах:
- Создание Git: причины его разработки и важные решения, принятые при создании системы контроля версий.
- Влияние Git: как Git изменил процессы разработки программного обеспечения и стал основой для таких платформ, как GitHub.
- Текущие взгляды: размышления о нынешнем состоянии Git и его роли в сообществе разработчиков.
Также значительная часть интервью посвящена Linux.
Полное интервью можно посмотреть по ссылке.
Приятного просмотра!
@linux_education
В этом интервью, посвящённом 20-летию Git, Линус Торвальдс говорит о следующих темах:
- Создание Git: причины его разработки и важные решения, принятые при создании системы контроля версий.
- Влияние Git: как Git изменил процессы разработки программного обеспечения и стал основой для таких платформ, как GitHub.
- Текущие взгляды: размышления о нынешнем состоянии Git и его роли в сообществе разработчиков.
Также значительная часть интервью посвящена Linux.
Полное интервью можно посмотреть по ссылке.
Приятного просмотра!
@linux_education
🤩2
🔎 Коллекция инструментов для OSINT
Собрание инструментов для киберразведки.
Обширная коллекция, состоящая из нескольких сотен проектов OSINT, распределенных по темам.
🔗 Github (https://github.com/cipher387/osint_stuff_tool_collection)
@linux_education
Собрание инструментов для киберразведки.
Обширная коллекция, состоящая из нескольких сотен проектов OSINT, распределенных по темам.
🔗 Github (https://github.com/cipher387/osint_stuff_tool_collection)
@linux_education
🚀 300 вопросов для оценки навыков работы с Linux и системным администрированием.
На GitHub вы можете найти сборник из 300 вопросов, которые помогут оценить ваш уровень профессионализма в сфере системного администрирования.
Вопросы разнообразные: от довольно общих до более сложных, касающихся внутреннего устройства Linux, зомби-процессов, ключей и сертификатов и многого другого.
Этот сборник будет полезен как для системных администраторов, так и для специалистов по Linux.
• Github (https://github.com/trimstray/test-your-sysadmin-skills)
@linux_education
На GitHub вы можете найти сборник из 300 вопросов, которые помогут оценить ваш уровень профессионализма в сфере системного администрирования.
Вопросы разнообразные: от довольно общих до более сложных, касающихся внутреннего устройства Linux, зомби-процессов, ключей и сертификатов и многого другого.
Этот сборник будет полезен как для системных администраторов, так и для специалистов по Linux.
• Github (https://github.com/trimstray/test-your-sysadmin-skills)
@linux_education
🔥3❤1👍1
🧹 Как избавиться от всех файлов в каталоге Linux, оставив только нужные расширения
Ты хочешь очистить папку, но сохранить .zip, .txt или .odt? В Linux это можно сделать тремя способами:
🔧 1. Расширенные шаблоны Bash (`extglob`)
shopt -s extglob
rm -v !(*.zip|*.odt)
shopt -u extglob
Это удалит все файлы, кроме .zip и .odt. Удобно для быстрого удаления в одной папке.
🔍 2. С помощью `find` — мощный и рекурсивный метод
find . -type f -not -name "*.gz" -delete
Этот способ удалит всё, кроме .gz. Подходит для вложенных директорий и сложных фильтров.
⚙️ 3. Переменная Bash `GLOBIGNORE`
GLOBIGNORE=*.odt:*.txt
rm -v *
unset GLOBIGNORE
Это удалит всё, кроме указанных расширений. Удобно, если ты в Bash и хочешь быстро исключить нужное.
📚 Подробнее (https://uproger.com/%f0%9f%a7%b9-udalenie-vseh-fajlov-v-direktorii-krome-opredelyonnyh-rasshirenij/)
@linux_education
Ты хочешь очистить папку, но сохранить .zip, .txt или .odt? В Linux это можно сделать тремя способами:
🔧 1. Расширенные шаблоны Bash (`extglob`)
shopt -s extglob
rm -v !(*.zip|*.odt)
shopt -u extglob
Это удалит все файлы, кроме .zip и .odt. Удобно для быстрого удаления в одной папке.
🔍 2. С помощью `find` — мощный и рекурсивный метод
find . -type f -not -name "*.gz" -delete
Этот способ удалит всё, кроме .gz. Подходит для вложенных директорий и сложных фильтров.
⚙️ 3. Переменная Bash `GLOBIGNORE`
GLOBIGNORE=*.odt:*.txt
rm -v *
unset GLOBIGNORE
Это удалит всё, кроме указанных расширений. Удобно, если ты в Bash и хочешь быстро исключить нужное.
📚 Подробнее (https://uproger.com/%f0%9f%a7%b9-udalenie-vseh-fajlov-v-direktorii-krome-opredelyonnyh-rasshirenij/)
@linux_education
👍6
☠️ 4chan только что стал жертвой серьезной кибератаки.
Хакер, который осуществил взлом, заявляет, что опубликовал всю базу данных.
🔜 Подробнее (https://old.reddit.com/r/4chan/comments/1jzkjlg/4chan_hacked_hacker_reopens_qa_and_leaks_all/)
@linux_education
Хакер, который осуществил взлом, заявляет, что опубликовал всю базу данных.
🔜 Подробнее (https://old.reddit.com/r/4chan/comments/1jzkjlg/4chan_hacked_hacker_reopens_qa_and_leaks_all/)
@linux_education
🔥4
❓ Что произойдет, если запустить этот скрипт в Linux?
#!/bin/bash
set -e
false | true
echo "Hello"
🔢 Варианты ответа:
A) Hello
B)
Скрипт завершится с ошибкой, echo не будет выполнен.
C)
Скрипт завершится успешно, echo не будет выполнен.
D) Будет ошибка: set: -e: invalid option.
✅ Правильный ответ: A
💡 Почему?
- Команда set -e завершает выполнение скрипта при любой ошибке.
- Однако в пайпах команда set -e игнорирует ошибки, если последняя команда успешна.
- false | true → всё в порядке, это не ошибка для set -e.
📌 Если хотите, чтобы это работало правильно, добавьте set -o pipefail.
@linux_education
#!/bin/bash
set -e
false | true
echo "Hello"
🔢 Варианты ответа:
A) Hello
B)
Скрипт завершится с ошибкой, echo не будет выполнен.
C)
Скрипт завершится успешно, echo не будет выполнен.
D) Будет ошибка: set: -e: invalid option.
✅ Правильный ответ: A
💡 Почему?
- Команда set -e завершает выполнение скрипта при любой ошибке.
- Однако в пайпах команда set -e игнорирует ошибки, если последняя команда успешна.
- false | true → всё в порядке, это не ошибка для set -e.
📌 Если хотите, чтобы это работало правильно, добавьте set -o pipefail.
@linux_education
🔥5🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Ознакомьтесь с размышлениями OpenAI o3 о поиске местоположения, это отличный инструмент для Osint-разведки.
Каждая отдельная деталь увеличивается, анализируется или ищется в интернете, а в итоге мы получаем координаты.
@linux_education
Каждая отдельная деталь увеличивается, анализируется или ищется в интернете, а в итоге мы получаем координаты.
@linux_education
🔥 TeleGraphite — это быстрый и надёжный скрапер для извлечения данных из публичных Telegram-каналов, разработанный на Python.
Вот что он может делать:
- Извлекать посты из нескольких каналов в формате JSON (включая ID, текст, время, ссылки, почты и телефоны)
- Загружать медиафайлы (фото, видео, документы)
- Удалять дубликаты
- Работать в однократном режиме (telegraphite once) и в непрерывном (telegraphite continuous --interval)
- Фильтровать по ключевым словам и типу контента (текст/медиа)
- Планировать запуски по расписанию
- Настраиваться через командную строку и YAML
Чтобы установить:
1) Выполните команду pip install telegraphite
2) Создайте файл .env с API_ID и API_HASH
3) Укажите список каналов в файле channels.txt
Репозиторий: https://github.com/hamodywe/telegram-scraper-TeleGraphite
@linux_education
Вот что он может делать:
- Извлекать посты из нескольких каналов в формате JSON (включая ID, текст, время, ссылки, почты и телефоны)
- Загружать медиафайлы (фото, видео, документы)
- Удалять дубликаты
- Работать в однократном режиме (telegraphite once) и в непрерывном (telegraphite continuous --interval)
- Фильтровать по ключевым словам и типу контента (текст/медиа)
- Планировать запуски по расписанию
- Настраиваться через командную строку и YAML
Чтобы установить:
1) Выполните команду pip install telegraphite
2) Создайте файл .env с API_ID и API_HASH
3) Укажите список каналов в файле channels.txt
Репозиторий: https://github.com/hamodywe/telegram-scraper-TeleGraphite
@linux_education
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
👽 Проведите выходные с пользой. Игры, которые помогут улучшить знание команд в терминале, весело и эффективно:
Terminus (https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html)
Текстовая RPG от MIT: вы — новобранец Академии Магии, и каждое заклинание здесь — это команда Linux. Пройдите обучение, разгадайте тайны подземелий и отточите навыки работы в консоли.
GameShell (https://github.com/phyver/GameShell)
Минималистичная головоломка прямо в терминале от Университета Савойи (Savoie Mont Blanc). Управляйте героем, применяя команды для решения задач и прокладывая путь к победе.
Bashcrawl (https://gitlab.com/slackermedia/bashcrawl)
Консольный рогалик: исследуйте процедурно генерируемые подземелья, сражайтесь с монстрами-мимиками и осваивайте базовые и продвинутые команды Bash, чтобы выжить и выбраться на поверхность.
Попробуйте все — и изучение терминала превратится в настоящее приключение!
@linux_education
Terminus (https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html)
Текстовая RPG от MIT: вы — новобранец Академии Магии, и каждое заклинание здесь — это команда Linux. Пройдите обучение, разгадайте тайны подземелий и отточите навыки работы в консоли.
GameShell (https://github.com/phyver/GameShell)
Минималистичная головоломка прямо в терминале от Университета Савойи (Savoie Mont Blanc). Управляйте героем, применяя команды для решения задач и прокладывая путь к победе.
Bashcrawl (https://gitlab.com/slackermedia/bashcrawl)
Консольный рогалик: исследуйте процедурно генерируемые подземелья, сражайтесь с монстрами-мимиками и осваивайте базовые и продвинутые команды Bash, чтобы выжить и выбраться на поверхность.
Попробуйте все — и изучение терминала превратится в настоящее приключение!
@linux_education
🔥9
Задача: "Исчезающие процессы"
На сервере с Linux (Ubuntu 22.04) установлен некий демон (например, mydaemon), который запускается через systemd unit и, согласно логам, должен работать постоянно.
Но вот странность:
systemctl status mydaemon показывает, что сервис активен.
Однако при выполнении ps aux | grep mydaemon — процесса в списке нет.
top, htop, pgrep, pidof — тоже ничего не показывают.
Но при перезапуске systemd-сервиса (systemctl restart mydaemon) — в логах появляется запись о запуске, ошибок нет, а поведение не меняется.
Вопрос: что происходит и как найти реальный процесс?
Подсказки:
Попробуйте посмотреть, какой тип сервиса указан в systemd unit-файле.
Изучите, куда уходит stdout/stderr.
Подумайте, может ли ExecStart запускать shell-обёртку, а не сам процесс.
Что покажет systemctl show -p MainPID mydaemon?
Подвох и решение:
Часто в unit-файле могут писать:
```ini
Type=simple
ExecStart=/bin/bash -c 'sleep 9999'
```
Systemd считает, что bash — это основной процесс (MainPID), но он сразу завершается, передав выполнение sleep. Однако поскольку Type=simple, systemd не отслеживает дочерние процессы, и MainPID исчезает — ps и pgrep по имени mydaemon ничего не покажут, а дочерний процесс (sleep 9999) работает, но под другим именем.
Решение:
Либо указать Type=forking и использовать PIDFile.
Либо не использовать bash -c, а запускать нужный бинарь напрямую.
Либо использовать Type=exec (в systemd >240) или Type=notify с proper daemon tools.
@linux_education
На сервере с Linux (Ubuntu 22.04) установлен некий демон (например, mydaemon), который запускается через systemd unit и, согласно логам, должен работать постоянно.
Но вот странность:
systemctl status mydaemon показывает, что сервис активен.
Однако при выполнении ps aux | grep mydaemon — процесса в списке нет.
top, htop, pgrep, pidof — тоже ничего не показывают.
Но при перезапуске systemd-сервиса (systemctl restart mydaemon) — в логах появляется запись о запуске, ошибок нет, а поведение не меняется.
Вопрос: что происходит и как найти реальный процесс?
Подсказки:
Попробуйте посмотреть, какой тип сервиса указан в systemd unit-файле.
Изучите, куда уходит stdout/stderr.
Подумайте, может ли ExecStart запускать shell-обёртку, а не сам процесс.
Что покажет systemctl show -p MainPID mydaemon?
Подвох и решение:
Часто в unit-файле могут писать:
```ini
Type=simple
ExecStart=/bin/bash -c 'sleep 9999'
```
Systemd считает, что bash — это основной процесс (MainPID), но он сразу завершается, передав выполнение sleep. Однако поскольку Type=simple, systemd не отслеживает дочерние процессы, и MainPID исчезает — ps и pgrep по имени mydaemon ничего не покажут, а дочерний процесс (sleep 9999) работает, но под другим именем.
Решение:
Либо указать Type=forking и использовать PIDFile.
Либо не использовать bash -c, а запускать нужный бинарь напрямую.
Либо использовать Type=exec (в systemd >240) или Type=notify с proper daemon tools.
@linux_education
❤1👍1
🛡️ CVE становится стабильнее: восстановление финансирования и создание независимого фонда
После недели неопределённости Министерство внутренней безопасности США продлило контракт с MITRE для поддержки базы CVE — ключевой системы идентификации уязвимостей, используемой всеми, от Apache до Google. Но главное событие — это анонс CVE Foundation, некоммерческой организации, которая возьмёт на себя долгосрочное управление проектом, избавив его от зависимости от государственного финансирования.
Этот шаг стал результатом годовой работы коалиции членов CVE Board (включая представителей Linux Foundation, Google и Red Hat), которые были обеспокоены глобальной зависимостью инфраструктуры кибербезопасности от одного источника. Фонд сохранит существующую систему с 453 CNA-участниками, но добавит прозрачности в процесс управления.
🔗 Ссылка - *клик* (https://cve.mitre.org/news/archives/index.html)
@linux_education
После недели неопределённости Министерство внутренней безопасности США продлило контракт с MITRE для поддержки базы CVE — ключевой системы идентификации уязвимостей, используемой всеми, от Apache до Google. Но главное событие — это анонс CVE Foundation, некоммерческой организации, которая возьмёт на себя долгосрочное управление проектом, избавив его от зависимости от государственного финансирования.
Этот шаг стал результатом годовой работы коалиции членов CVE Board (включая представителей Linux Foundation, Google и Red Hat), которые были обеспокоены глобальной зависимостью инфраструктуры кибербезопасности от одного источника. Фонд сохранит существующую систему с 453 CNA-участниками, но добавит прозрачности в процесс управления.
🔗 Ссылка - *клик* (https://cve.mitre.org/news/archives/index.html)
@linux_education
👍5🔥1
🔐 TLS-сертификаты станут недолговечными: введение новых правил CA/Browser Forum.
Крупнейшие компании в сфере интернета согласовали значительное сокращение срока действия TLS-сертификатов — с текущих 13 месяцев до всего 47 дней к 2029 году.
Это решение, поддержанное 29 участниками ассоциации, направлено на борьбу с последствиями утечек и ускорение перехода на новые криптографические стандарты. Особое внимание уделено SAN-сертификатам: их валидация теперь будет действительна только 10 дней.
🔗 Ссылка - *клик* (https://cabforum.org/)
@linux_education
Крупнейшие компании в сфере интернета согласовали значительное сокращение срока действия TLS-сертификатов — с текущих 13 месяцев до всего 47 дней к 2029 году.
Это решение, поддержанное 29 участниками ассоциации, направлено на борьбу с последствиями утечек и ускорение перехода на новые криптографические стандарты. Особое внимание уделено SAN-сертификатам: их валидация теперь будет действительна только 10 дней.
🔗 Ссылка - *клик* (https://cabforum.org/)
@linux_education
🌐 Tor Browser 14.5 — значительное обновление для мобильных и настольных платформ. После полугода разработки выпущена новая версия популярного анонимного браузера на основе Firefox 128 ESR.
Основная особенность релиза — улучшенная защита от цифрового фингерпринтинга. Браузер не только блокирует трекеры, но и маскирует системные параметры, нейтрализуя более 15 Web-API. Также улучшена диагностика подключений — теперь журнал операций обновляется в реальном времени без необходимости перезагрузки интерфейса.
🔗 Ссылка - *клик* (https://www.torproject.org/download/)
@linux_education
Основная особенность релиза — улучшенная защита от цифрового фингерпринтинга. Браузер не только блокирует трекеры, но и маскирует системные параметры, нейтрализуя более 15 Web-API. Также улучшена диагностика подключений — теперь журнал операций обновляется в реальном времени без необходимости перезагрузки интерфейса.
🔗 Ссылка - *клик* (https://www.torproject.org/download/)
@linux_education
👍6❤1
✔️ Эскейп в «клетке» ограниченной оболочки: два классических приёма
Когда система кажется неприступной и администратор «залочил» вас в белом списке оболочек, не спешите сдаваться. Если среди разрешённых утилит есть vi/vim или less, они могут стать вашим ключом к свободе.
✨ 1. Волшебная интерактивная оболочка через Vim
Представьте, что у вас есть доступ к бинарям с SUID/GUID — и что в списке одобренных приложений значится сам Vim. Запустите его так:
vim -c ':!/bin/sh'
или
vim --cmd ':set shell=/bin/sh|:shell'
И вот, вы уже держите в руках полноценную интерактивную $-оболочку. Гуляйте по файловой системе, исследуйте /root и другие запретные зоны — всё это будет доступно, пока Vim остаётся в вашем распоряжении. 🥳
🌟 2. Плавный выход через Less
Укажем недостатков меньше, чем возможностей у less. Откройте любой файл, например:
less /etc/passwd
Затем просто наберите в самом less:
diff
!sh
После этого — вуаля! — перед вами окажется полноценная sh-оболочка. Этот трюк срабатывает везде, где допускается вызов less.
📌 Бонус: Python-эскейп
Если же в окружении есть Python, и вы мечтаете о ещё одном пути к свободе, выполните:
python -c 'import pty; pty.spawn("/bin/sh")'
Или, чтобы обойтись без интерактивного ввода:
python -
@linux_education
Когда система кажется неприступной и администратор «залочил» вас в белом списке оболочек, не спешите сдаваться. Если среди разрешённых утилит есть vi/vim или less, они могут стать вашим ключом к свободе.
✨ 1. Волшебная интерактивная оболочка через Vim
Представьте, что у вас есть доступ к бинарям с SUID/GUID — и что в списке одобренных приложений значится сам Vim. Запустите его так:
vim -c ':!/bin/sh'
или
vim --cmd ':set shell=/bin/sh|:shell'
И вот, вы уже держите в руках полноценную интерактивную $-оболочку. Гуляйте по файловой системе, исследуйте /root и другие запретные зоны — всё это будет доступно, пока Vim остаётся в вашем распоряжении. 🥳
🌟 2. Плавный выход через Less
Укажем недостатков меньше, чем возможностей у less. Откройте любой файл, например:
less /etc/passwd
Затем просто наберите в самом less:
diff
!sh
После этого — вуаля! — перед вами окажется полноценная sh-оболочка. Этот трюк срабатывает везде, где допускается вызов less.
📌 Бонус: Python-эскейп
Если же в окружении есть Python, и вы мечтаете о ещё одном пути к свободе, выполните:
python -c 'import pty; pty.spawn("/bin/sh")'
Или, чтобы обойтись без интерактивного ввода:
python -
@linux_education
🖥 20 полезных команд Linux
В арсенале любого опытного Linux-администратора есть набор проверенных временем утилит: ls, cd, grep, find, ps, top и другие. Однако за пределами этой стандартной десятки скрываются настоящие «скрытые жемчужины» — мощные, но менее известные инструменты, способные упростить диагностику, автоматизацию и управление системой.
1️⃣ mtr (My Traceroute)
📋 Что делает: объединяет ping и traceroute, постоянно опрашивая каждый хоп и показывая статистику потерь и времени отклика.
💡 Пример:
mtr example.com
2️⃣ ss (Socket Statistics)
📋 Что делает: современная замена netstat. Быстро показывает TCP/UDP/RAW/UNIX-сокеты и их состояние.
💡 Пример:
ss -tulnp
3️⃣ iotop
📋 Что делает: мониторинг дискового I/O в реальном времени, показывает процессы, активно читающие или пишущие на диск.
💡 Пример:
sudo iotop -o
4️⃣ nethogs
📋 Что делает: группирует сетевой трафик по процессам, позволяет быстро найти «трафик-хищников».
💡 Пример:
sudo nethogs eth0
5️⃣ lsof (List Open Files)
📋 Что делает: показывает, какие файлы (включая сокеты и устройства) открыты процессами.
💡 Пример:
sudo lsof -i :80
sudo lsof /var/log/syslog
6️⃣ pgrep / pkill
📋 Что делает: ищет или убивает процессы по именам/атрибутам без парсинга ps | grep.
💡 Пример:
pgrep -u nginx
pkill -f "python my_script.py"
7️⃣ pstree
📋 Что делает: отображает дерево процессов с PID и связями «родитель → дочерний».
💡 Пример:
pstree -p
8️⃣ dstat
📋 Что делает: универсальный генератор статистики CPU, диска, сети, памяти, I/O в реальном времени.
💡 Пример:
dstat -tcdmn
9️⃣ atop
📋 Что делает: продвинутый мониторинг производительности с возможностью записи истории метрик.
💡 Пример:
atop
atop -r /var/log/atop/atop_20250418
🔟 multitail
📋 Что делает: позволяет «tail -f» сразу несколько лог-файлов в одном терминале с разделёнными панелями.
💡 Пример:
multitail /var/log/nginx/access.log /var/log/nginx/error.log
1️⃣1️⃣ parallel (GNU Parallel)
📋 Что делает: выполняет команды параллельно, альтернатива xargs для многоядерных систем.
💡 Пример:
find . -name "*.jpg" | parallel convert {} {.}.png
1️⃣2️⃣ watch
📋 Что делает: периодически запускает команду и обновляет её вывод в реальном времени.
💡 Пример:
watch -n 1 'ss -an | grep ESTABLISHED | wc -l'
1️⃣3️⃣ script / scriptreplay
📋 Что делает: записывает терминальную сессию (ввод/вывод) в файл; scriptreplay воспроизводит её.
💡 Пример:
script my_session.log
exit
scriptreplay my_session.log
1️⃣4️⃣ lsblk
📋 Что делает: показывает блочные устройства (диски, разделы, LVM) в древовидном формате.
💡 Пример:
lsblk -f
1️⃣5️⃣ getent
📋 Что делает: получает записи из NSS-источников (passwd, group, hosts и т.д.), включая LDAP/NIS.
💡 Пример:
getent passwd username
getent hosts google.com
1️⃣6️⃣ chage
📋 Что делает: управляет политиками устаревания паролей пользователей.
💡 Пример:
sudo chage -l username
sudo chage -M 90 username
1️⃣7️⃣ column
📋 Что делает: форматирует текстовый ввод в аккуратные колонки.
💡 Пример:
mount | column -t
1️⃣8️⃣ dig (Domain Information Groper)
📋 Что делает: мощный DNS-клиент для гибких запросов к DNS-серверам.
💡 Пример:
dig google.com MX +short
dig @8.8.8.8 example.org A
1️⃣9️⃣ dpkg -L / rpm -ql
📋 Что делает: показывает файлы, установленные пакетом (Debian/Ubuntu или RHEL/CentOS).
💡 Пример:
dpkg -L nginx-core
rpm -ql httpd
2️⃣0️⃣ journalctl
📋 Что делает: запрашивает логи из systemd-журнала с гибкими фильтрами по юнитам, времени и приоритетам.
💡 Пример:
journalctl -u nginx.service -f
journalctl --since "1 hour ago"
✔️ Подробнее (https://uproger.com/20-luchshih-maloizvestnyh-i-poleznyh-komand-linux/)
@linux_education
В арсенале любого опытного Linux-администратора есть набор проверенных временем утилит: ls, cd, grep, find, ps, top и другие. Однако за пределами этой стандартной десятки скрываются настоящие «скрытые жемчужины» — мощные, но менее известные инструменты, способные упростить диагностику, автоматизацию и управление системой.
1️⃣ mtr (My Traceroute)
📋 Что делает: объединяет ping и traceroute, постоянно опрашивая каждый хоп и показывая статистику потерь и времени отклика.
💡 Пример:
mtr example.com
2️⃣ ss (Socket Statistics)
📋 Что делает: современная замена netstat. Быстро показывает TCP/UDP/RAW/UNIX-сокеты и их состояние.
💡 Пример:
ss -tulnp
3️⃣ iotop
📋 Что делает: мониторинг дискового I/O в реальном времени, показывает процессы, активно читающие или пишущие на диск.
💡 Пример:
sudo iotop -o
4️⃣ nethogs
📋 Что делает: группирует сетевой трафик по процессам, позволяет быстро найти «трафик-хищников».
💡 Пример:
sudo nethogs eth0
5️⃣ lsof (List Open Files)
📋 Что делает: показывает, какие файлы (включая сокеты и устройства) открыты процессами.
💡 Пример:
sudo lsof -i :80
sudo lsof /var/log/syslog
6️⃣ pgrep / pkill
📋 Что делает: ищет или убивает процессы по именам/атрибутам без парсинга ps | grep.
💡 Пример:
pgrep -u nginx
pkill -f "python my_script.py"
7️⃣ pstree
📋 Что делает: отображает дерево процессов с PID и связями «родитель → дочерний».
💡 Пример:
pstree -p
8️⃣ dstat
📋 Что делает: универсальный генератор статистики CPU, диска, сети, памяти, I/O в реальном времени.
💡 Пример:
dstat -tcdmn
9️⃣ atop
📋 Что делает: продвинутый мониторинг производительности с возможностью записи истории метрик.
💡 Пример:
atop
atop -r /var/log/atop/atop_20250418
🔟 multitail
📋 Что делает: позволяет «tail -f» сразу несколько лог-файлов в одном терминале с разделёнными панелями.
💡 Пример:
multitail /var/log/nginx/access.log /var/log/nginx/error.log
1️⃣1️⃣ parallel (GNU Parallel)
📋 Что делает: выполняет команды параллельно, альтернатива xargs для многоядерных систем.
💡 Пример:
find . -name "*.jpg" | parallel convert {} {.}.png
1️⃣2️⃣ watch
📋 Что делает: периодически запускает команду и обновляет её вывод в реальном времени.
💡 Пример:
watch -n 1 'ss -an | grep ESTABLISHED | wc -l'
1️⃣3️⃣ script / scriptreplay
📋 Что делает: записывает терминальную сессию (ввод/вывод) в файл; scriptreplay воспроизводит её.
💡 Пример:
script my_session.log
exit
scriptreplay my_session.log
1️⃣4️⃣ lsblk
📋 Что делает: показывает блочные устройства (диски, разделы, LVM) в древовидном формате.
💡 Пример:
lsblk -f
1️⃣5️⃣ getent
📋 Что делает: получает записи из NSS-источников (passwd, group, hosts и т.д.), включая LDAP/NIS.
💡 Пример:
getent passwd username
getent hosts google.com
1️⃣6️⃣ chage
📋 Что делает: управляет политиками устаревания паролей пользователей.
💡 Пример:
sudo chage -l username
sudo chage -M 90 username
1️⃣7️⃣ column
📋 Что делает: форматирует текстовый ввод в аккуратные колонки.
💡 Пример:
mount | column -t
1️⃣8️⃣ dig (Domain Information Groper)
📋 Что делает: мощный DNS-клиент для гибких запросов к DNS-серверам.
💡 Пример:
dig google.com MX +short
dig @8.8.8.8 example.org A
1️⃣9️⃣ dpkg -L / rpm -ql
📋 Что делает: показывает файлы, установленные пакетом (Debian/Ubuntu или RHEL/CentOS).
💡 Пример:
dpkg -L nginx-core
rpm -ql httpd
2️⃣0️⃣ journalctl
📋 Что делает: запрашивает логи из systemd-журнала с гибкими фильтрами по юнитам, времени и приоритетам.
💡 Пример:
journalctl -u nginx.service -f
journalctl --since "1 hour ago"
✔️ Подробнее (https://uproger.com/20-luchshih-maloizvestnyh-i-poleznyh-komand-linux/)
@linux_education
👍12🤩1
⚠️ В NPM-пакете xrpl.js обнаружена критическая уязвимость: бэкдор для кражи криптоключей.
Официальная библиотека для работы с криптовалютой XRP была скомпрометирована — злоумышленники внедрили вредоносный код в версии 2.14.2 и 4.2.1-4.2.4. Под предлогом функции проверки ключей checkValidityOfSeed пакет тайно отправлял приватные ключи кошельков на внешний сервер.
Атака продолжалась менее суток (21-22 апреля), но за это время уязвимые версии были скачаны 165 тысяч раз. Подозревается, что аккаунт мейнтейнера был скомпрометирован через фишинг. Разработчики XRP Ledger быстро выпустили патч в версиях 4.2.5 и 2.14.3.
🔗 Ссылка - *клик* (https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor)
@linux_education
Официальная библиотека для работы с криптовалютой XRP была скомпрометирована — злоумышленники внедрили вредоносный код в версии 2.14.2 и 4.2.1-4.2.4. Под предлогом функции проверки ключей checkValidityOfSeed пакет тайно отправлял приватные ключи кошельков на внешний сервер.
Атака продолжалась менее суток (21-22 апреля), но за это время уязвимые версии были скачаны 165 тысяч раз. Подозревается, что аккаунт мейнтейнера был скомпрометирован через фишинг. Разработчики XRP Ledger быстро выпустили патч в версиях 4.2.5 и 2.14.3.
🔗 Ссылка - *клик* (https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor)
@linux_education
🔥2
🔥 Полезный совет: Мониторинг Linux в реальном времени — не жди, пока будет поздно!
🔜 Почему это важно?
Если система начинает тормозить или вести себя странно, быстрое выявление проблем (нагрузка на CPU, память, диск, сеть) может спасти сервер или рабочую машину от падения.
---
**Топ-5 инструментов для реального мониторинга в Linux:**
▪️ htop — улучшенная версия top
- Красивое цветное отображение процессов.
- Быстрая сортировка по нагрузке на CPU и память.
- Можно убивать или приостанавливать процессы прямо из интерфейса.
```bash
sudo apt install htop
htop
```
▪️ iotop — мониторинг ввода-вывода дисков
- Показывает, какие процессы нагружают диск.
- Полезно при тормозах, связанных с дисковыми операциями.
```bash
sudo apt install iotop
sudo iotop
```
▪️ iftop — сетевой мониторинг в реальном времени
- Отображает, кто сколько трафика потребляет.
- Идеально для поиска сетевых утечек или подозрительной активности.
```bash
sudo apt install iftop
sudo iftop
```
▪️ glances — комплексный мониторинг системы
- Объединяет CPU, память, диск и сеть в одном удобном окне.
- Адаптивный интерфейс с множеством деталей.
```bash
sudo apt install glances
glances
```
▪️ dstat — мониторинг ресурсов по категориям
- Универсальный инструмент для анализа CPU, сети, ввода-вывода, использования памяти и т.д.
```bash
sudo apt install dstat
dstat
```
---
Бонус:
Если хочешь красивый мониторинг в браузере, попробуй netdata.
@linux_education
🔜 Почему это важно?
Если система начинает тормозить или вести себя странно, быстрое выявление проблем (нагрузка на CPU, память, диск, сеть) может спасти сервер или рабочую машину от падения.
---
**Топ-5 инструментов для реального мониторинга в Linux:**
▪️ htop — улучшенная версия top
- Красивое цветное отображение процессов.
- Быстрая сортировка по нагрузке на CPU и память.
- Можно убивать или приостанавливать процессы прямо из интерфейса.
```bash
sudo apt install htop
htop
```
▪️ iotop — мониторинг ввода-вывода дисков
- Показывает, какие процессы нагружают диск.
- Полезно при тормозах, связанных с дисковыми операциями.
```bash
sudo apt install iotop
sudo iotop
```
▪️ iftop — сетевой мониторинг в реальном времени
- Отображает, кто сколько трафика потребляет.
- Идеально для поиска сетевых утечек или подозрительной активности.
```bash
sudo apt install iftop
sudo iftop
```
▪️ glances — комплексный мониторинг системы
- Объединяет CPU, память, диск и сеть в одном удобном окне.
- Адаптивный интерфейс с множеством деталей.
```bash
sudo apt install glances
glances
```
▪️ dstat — мониторинг ресурсов по категориям
- Универсальный инструмент для анализа CPU, сети, ввода-вывода, использования памяти и т.д.
```bash
sudo apt install dstat
dstat
```
---
Бонус:
Если хочешь красивый мониторинг в браузере, попробуй netdata.
@linux_education
👍8
🚨 Найдена уязвимость в ядре Linux: повышение привилегий через VSOCK (CVE-2025-21756 (https://security-tracker.debian.org/tracker/CVE-2025-21756))
Что произошло?
В ядре Linux выявлена ошибка «use-after-free» в реализации AF_VSOCK (виртуальных сокетов), которая позволяет локальному злоумышленнику получить права root.
🔜 Основные сведения
- Идентификатор: CVE-2025-21756
- Тип уязвимости: Use-After-Free в функции удаления VSOCK-сокета
- Последствия: возможность выполнения произвольного кода с правами root на уязвимых системах
- Доказанный эксплоит работает на ядре 6.6.75 (для других версий необходима корректировка эксплоита)
Затронутые версии
- Все версии ядра Linux до 6.14 включительно
- Стабильные ветки 6.12.16, 6.6.79, 6.1.131 и предыдущие
- Корпоративные сборки: RHEL, SUSE/openSUSE, Ubuntu, Debian 12 (уже исправлены)
- Debian 11 — остаётся уязвимым
Описание уязвимости
1. При смене транспорта для AF_VSOCK вызывается функция vsock_remove_sock().
2. Затем vsock_remove_bound() неправильно уменьшает счётчик ссылок на объект сокета.
3. Из-за этого счётчик достигает нуля, и ядро освобождает память, хотя объект ещё используется.
4. Локальный пользователь получает доступ к уже освобождённой памяти и может выполнить произвольный код с правами ядра.
👽 Рекомендации по защите
1. Обновите ядро до версии 6.14 или новее.
2. Установите последние патчи февраля/марта для веток 6.12.16, 6.6.79 и 6.1.131.
3. На дистрибутивах RHEL, SUSE/openSUSE, Ubuntu и Debian 12 убедитесь, что установлены актуальные пакеты ядра.
4. В Debian 11 обновитесь до Debian 12 или соберите патченный пакет ядра самостоятельно.
❗ Важно: если на системе используются контейнеры или виртуальные машины с VSOCK, немедленно примените обновления — эксплоит работает локально и не требует дополнительных прав.
⚫️ Эксплоит доступен по ссылке (https://github.com/hoefler02/CVE-2025-21756/blob/main/x.c)
@linux_education
Что произошло?
В ядре Linux выявлена ошибка «use-after-free» в реализации AF_VSOCK (виртуальных сокетов), которая позволяет локальному злоумышленнику получить права root.
🔜 Основные сведения
- Идентификатор: CVE-2025-21756
- Тип уязвимости: Use-After-Free в функции удаления VSOCK-сокета
- Последствия: возможность выполнения произвольного кода с правами root на уязвимых системах
- Доказанный эксплоит работает на ядре 6.6.75 (для других версий необходима корректировка эксплоита)
Затронутые версии
- Все версии ядра Linux до 6.14 включительно
- Стабильные ветки 6.12.16, 6.6.79, 6.1.131 и предыдущие
- Корпоративные сборки: RHEL, SUSE/openSUSE, Ubuntu, Debian 12 (уже исправлены)
- Debian 11 — остаётся уязвимым
Описание уязвимости
1. При смене транспорта для AF_VSOCK вызывается функция vsock_remove_sock().
2. Затем vsock_remove_bound() неправильно уменьшает счётчик ссылок на объект сокета.
3. Из-за этого счётчик достигает нуля, и ядро освобождает память, хотя объект ещё используется.
4. Локальный пользователь получает доступ к уже освобождённой памяти и может выполнить произвольный код с правами ядра.
👽 Рекомендации по защите
1. Обновите ядро до версии 6.14 или новее.
2. Установите последние патчи февраля/марта для веток 6.12.16, 6.6.79 и 6.1.131.
3. На дистрибутивах RHEL, SUSE/openSUSE, Ubuntu и Debian 12 убедитесь, что установлены актуальные пакеты ядра.
4. В Debian 11 обновитесь до Debian 12 или соберите патченный пакет ядра самостоятельно.
❗ Важно: если на системе используются контейнеры или виртуальные машины с VSOCK, немедленно примените обновления — эксплоит работает локально и не требует дополнительных прав.
⚫️ Эксплоит доступен по ссылке (https://github.com/hoefler02/CVE-2025-21756/blob/main/x.c)
@linux_education
GitHub
CVE-2025-21756/x.c at main · hoefler02/CVE-2025-21756
Exploit for CVE-2025-21756 for Linux kernel 6.6.75. My first linux kernel exploit! - hoefler02/CVE-2025-21756
👍2
📌 Задача: «Необъяснимый рост нагрузки в полночь»
Каждую ночь ровно в 00:00 сервер на Linux (Ubuntu 22.04 LTS) неожиданно начинает использовать больше ресурсов (CPU и RAM).
Через 5-10 минут нагрузка самостоятельно снижается до нормального уровня, при этом явных причин не видно. В течение дня сервер работает стабильно, без подобных проблем.
📌 Администратору поставлена задача:
- Найти причину кратковременного ночного повышения нагрузки.
- Определить конкретный процесс или задачу, которая запускается в это время.
- Предложить способы оптимизации или полного устранения проблемы.
🧩 Ограничения и подсказки:
Логи системного планировщика (cron) либо пусты, либо регулярно очищаются.
На сервере активирована система мониторинга systemd.
Возможно, есть скрытые задачи в системных каталогах (/etc/cron.*, /var/spool/cron).
На сервере работают Docker-контейнеры, возможно, именно внутри них происходит что-то в это время.
Пользовательские процессы не явно отображаются в списке ps aux.
🛠️ Какие команды и методы стоит применить?
Шаг 1: Анализ нагрузки
htop
vmstat 1
sar -q
Шаг 2: Поиск подозрительных процессов
ps aux --sort=-%cpu | head -n 20
ps aux --sort=-%mem | head -n 20
pidstat -u 1 10
Шаг 3: Исследование задач по времени запуска
journalctl --since "23:59" --until "00:10"
systemctl list-timers
grep -rnw '/etc/' -e '00:00'
Шаг 4: Проверка Docker-контейнеров
docker stats
docker ps -a --format "{{.ID}} {{.Image}} {{.Command}} {{.RunningFor}}"
docker inspect $(docker ps -q) --format '{{ .Id }}: {{ .State.StartedAt }}'
Шаг 5: Анализ сетевой и дисковой активности
iftop -nNP
iotop -oPa
✅ Результат и решение:
Выявить процесс или скрытую задачу, вызывающую нагрузку.
Определить, кто или что запускает этот процесс.
Удалить, оптимизировать или перенастроить планировщик (cron, systemd timer) либо Docker-контейнер, чтобы исключить кратковременные скачки нагрузки.
Данная задача требует от администратора комплексного анализа сервера, поиска скрытых или нетипичных источников нагрузки, внимательности и глубоких знаний инструментов мониторинга и анализа в Linux.
@linux_education
Каждую ночь ровно в 00:00 сервер на Linux (Ubuntu 22.04 LTS) неожиданно начинает использовать больше ресурсов (CPU и RAM).
Через 5-10 минут нагрузка самостоятельно снижается до нормального уровня, при этом явных причин не видно. В течение дня сервер работает стабильно, без подобных проблем.
📌 Администратору поставлена задача:
- Найти причину кратковременного ночного повышения нагрузки.
- Определить конкретный процесс или задачу, которая запускается в это время.
- Предложить способы оптимизации или полного устранения проблемы.
🧩 Ограничения и подсказки:
Логи системного планировщика (cron) либо пусты, либо регулярно очищаются.
На сервере активирована система мониторинга systemd.
Возможно, есть скрытые задачи в системных каталогах (/etc/cron.*, /var/spool/cron).
На сервере работают Docker-контейнеры, возможно, именно внутри них происходит что-то в это время.
Пользовательские процессы не явно отображаются в списке ps aux.
🛠️ Какие команды и методы стоит применить?
Шаг 1: Анализ нагрузки
htop
vmstat 1
sar -q
Шаг 2: Поиск подозрительных процессов
ps aux --sort=-%cpu | head -n 20
ps aux --sort=-%mem | head -n 20
pidstat -u 1 10
Шаг 3: Исследование задач по времени запуска
journalctl --since "23:59" --until "00:10"
systemctl list-timers
grep -rnw '/etc/' -e '00:00'
Шаг 4: Проверка Docker-контейнеров
docker stats
docker ps -a --format "{{.ID}} {{.Image}} {{.Command}} {{.RunningFor}}"
docker inspect $(docker ps -q) --format '{{ .Id }}: {{ .State.StartedAt }}'
Шаг 5: Анализ сетевой и дисковой активности
iftop -nNP
iotop -oPa
✅ Результат и решение:
Выявить процесс или скрытую задачу, вызывающую нагрузку.
Определить, кто или что запускает этот процесс.
Удалить, оптимизировать или перенастроить планировщик (cron, systemd timer) либо Docker-контейнер, чтобы исключить кратковременные скачки нагрузки.
Данная задача требует от администратора комплексного анализа сервера, поиска скрытых или нетипичных источников нагрузки, внимательности и глубоких знаний инструментов мониторинга и анализа в Linux.
@linux_education
👍13❤1