🛡️ Обезопасьте свои процессы с Obex
Obex — это инструмент, который предотвращает загрузку нежелательных DLL в процессе инициализации или во время выполнения. Он позволяет запускать процессы под контролем отладки и блокировать указанные библиотеки, написан на чистом C без внешних зависимостей.
🚀Основные моменты:
- Блокирует загрузку указанных DLL по имени.
- Работает с DLL, загружаемыми при старте и динамически.
- Позволяет запускать процессы с аргументами под отладочным контролем.
- Использует стандартный блоклист, включая amsi.dll.
📌 GitHub: https://github.com/dis0rder0x00/obex
#c
@linux_education
Obex — это инструмент, который предотвращает загрузку нежелательных DLL в процессе инициализации или во время выполнения. Он позволяет запускать процессы под контролем отладки и блокировать указанные библиотеки, написан на чистом C без внешних зависимостей.
🚀Основные моменты:
- Блокирует загрузку указанных DLL по имени.
- Работает с DLL, загружаемыми при старте и динамически.
- Позволяет запускать процессы с аргументами под отладочным контролем.
- Использует стандартный блоклист, включая amsi.dll.
📌 GitHub: https://github.com/dis0rder0x00/obex
#c
@linux_education
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Linux полезный совет: Как сделать файл неуничтожимым.
Мало кто знает, но в Linux можно сделать файл или директорию неизменяемыми, даже root не сможет их удалить или изменить без снятия флага.
Подписывайся на нас и каждый день получай свежие и советы и фишки Linux.
Используй команду chattr, чтобы задать immutable-флаг:
sudo chattr +i -V CH-13.pdf
-V — включает подробный вывод (verbose), чтобы увидеть результат.
@linux_education
Мало кто знает, но в Linux можно сделать файл или директорию неизменяемыми, даже root не сможет их удалить или изменить без снятия флага.
Подписывайся на нас и каждый день получай свежие и советы и фишки Linux.
Используй команду chattr, чтобы задать immutable-флаг:
sudo chattr +i -V CH-13.pdf
-V — включает подробный вывод (verbose), чтобы увидеть результат.
@linux_education
👍5🔥3
🐧 Быстрый совет Linux:
Команда diff показывает различия между файлами в терминале Linux. Но есть инструмент получше - icdiff, который выводит цветное сравнение файлов рядом друг с другом.
$ icdiff config-dev.ini config-prod.ini
Результат отобразит оба файла в две колонки, подсвечивая отличия красным и зелёным, что делает поиск различий намного удобнее и нагляднее.
@linux_education
Команда diff показывает различия между файлами в терминале Linux. Но есть инструмент получше - icdiff, который выводит цветное сравнение файлов рядом друг с другом.
$ icdiff config-dev.ini config-prod.ini
Результат отобразит оба файла в две колонки, подсвечивая отличия красным и зелёным, что делает поиск различий намного удобнее и нагляднее.
@linux_education
❤10🔥4
🖥 Полный гайд: защита от SQL-инъекций для разработчиков
SQL-инъекции остаются одной из самых частых и опасных уязвимостей в веб-приложениях. Ошибка в одном запросе — и злоумышленник получает доступ к базе данных, паролям и пользовательским данным.
В этом материале — полный практический разбор:
как именно происходят SQL-инъекции, какие ошибки разработчиков к ним приводят, как их распознать в коде и главное — как защититься.
Разберём реальные примеры на Python, PHP и Go, посмотрим, как атакующий «взламывает» запрос, и научимся писать безопасный код с параметризованными запросами и ORM.
Это не теория, а руководство, которое поможет понять уязвимость изнутри и навсегда закрыть её в своих проектах.
👉 Читать гайд (https://uproger.com/polnyj-gajd-zashhita-ot-sql-inekczij-dlya-razrabotchikov/)
@linux_education
SQL-инъекции остаются одной из самых частых и опасных уязвимостей в веб-приложениях. Ошибка в одном запросе — и злоумышленник получает доступ к базе данных, паролям и пользовательским данным.
В этом материале — полный практический разбор:
как именно происходят SQL-инъекции, какие ошибки разработчиков к ним приводят, как их распознать в коде и главное — как защититься.
Разберём реальные примеры на Python, PHP и Go, посмотрим, как атакующий «взламывает» запрос, и научимся писать безопасный код с параметризованными запросами и ORM.
Это не теория, а руководство, которое поможет понять уязвимость изнутри и навсегда закрыть её в своих проектах.
👉 Читать гайд (https://uproger.com/polnyj-gajd-zashhita-ot-sql-inekczij-dlya-razrabotchikov/)
@linux_education
🔥1
🛡️💻 Backrest: Удобное решение для резервного копирования
Backrest — это веб-интерфейс для управления резервными копиями на основе restic. Он упрощает создание репозиториев, просмотр снимков и восстановление файлов, предлагая интуитивно понятный интерфейс и возможность автоматического планирования задач.
🚀Основные моменты:
- Веб-интерфейс для локального и удаленного доступа
- Поддержка нескольких платформ (Linux, macOS, Windows, FreeBSD)
- Управление резервными копиями с настройкой уведомлений
- Совместимость с различными хранилищами (S3, B2, Azure и др.)
- Легкий в использовании и установке
📌 GitHub: https://github.com/garethgeorge/backrest
@linux_education
Backrest — это веб-интерфейс для управления резервными копиями на основе restic. Он упрощает создание репозиториев, просмотр снимков и восстановление файлов, предлагая интуитивно понятный интерфейс и возможность автоматического планирования задач.
🚀Основные моменты:
- Веб-интерфейс для локального и удаленного доступа
- Поддержка нескольких платформ (Linux, macOS, Windows, FreeBSD)
- Управление резервными копиями с настройкой уведомлений
- Совместимость с различными хранилищами (S3, B2, Azure и др.)
- Легкий в использовании и установке
📌 GitHub: https://github.com/garethgeorge/backrest
@linux_education
⚡️ Microsoft представила новый стандарт оценки ИИ для кибербезопасности - ExCyTIn-Bench
Microsoft запустила ExCyTIn-Bench - открытую платформу, которая тестирует, как ИИ справляется с реальными инцидентами безопасности, а не просто отвечает на теоретические вопросы.
Что делает ExCyTIn-Bench
- Имитация настоящего SOC (Security Operations Center) с логами, инцидентами и хаосом реальных атак.
- Проверяет не только ответы, но и логику рассуждений ИИ: шаги, объяснения, приоритизацию угроз.
- Включает 57 таблиц логов из Microsoft Sentinel — максимально приближено к практике.
- Поддерживает сравнение разных моделей и метрик, включая reasoning-оценку (пошаговое мышление).
Зачем это нужно
Обычные тесты “вопрос-ответ” не отражают реальную сложность киберугроз.
ExCyTIn-Bench поднимает планку: теперь модели должны мыслить как аналитики SOC.
Microsoft уже использует этот бенчмарк для проверки своих продуктов — Security Copilot, Defender и Sentinel.
Первые результаты показывают, что продвинутые LLM вроде GPT-5 уже уверенно анализируют инциденты и выстраивают цепочку атак.
🔗 Подробнее: https://www.microsoft.com/en-us/security/blog/2025/10/14/microsoft-raises-the-bar-a-smarter-way-to-measure-ai-for-cybersecurity/
#Microsoft #CyberSecurity #AI #SecurityCopilot
@linux_education
Microsoft запустила ExCyTIn-Bench - открытую платформу, которая тестирует, как ИИ справляется с реальными инцидентами безопасности, а не просто отвечает на теоретические вопросы.
Что делает ExCyTIn-Bench
- Имитация настоящего SOC (Security Operations Center) с логами, инцидентами и хаосом реальных атак.
- Проверяет не только ответы, но и логику рассуждений ИИ: шаги, объяснения, приоритизацию угроз.
- Включает 57 таблиц логов из Microsoft Sentinel — максимально приближено к практике.
- Поддерживает сравнение разных моделей и метрик, включая reasoning-оценку (пошаговое мышление).
Зачем это нужно
Обычные тесты “вопрос-ответ” не отражают реальную сложность киберугроз.
ExCyTIn-Bench поднимает планку: теперь модели должны мыслить как аналитики SOC.
Microsoft уже использует этот бенчмарк для проверки своих продуктов — Security Copilot, Defender и Sentinel.
Первые результаты показывают, что продвинутые LLM вроде GPT-5 уже уверенно анализируют инциденты и выстраивают цепочку атак.
🔗 Подробнее: https://www.microsoft.com/en-us/security/blog/2025/10/14/microsoft-raises-the-bar-a-smarter-way-to-measure-ai-for-cybersecurity/
#Microsoft #CyberSecurity #AI #SecurityCopilot
@linux_education
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
🐧 Быстрый Linux совет: Как сравнить файлы красиво!
Команда diff в Linux показывает различия между файлами, но есть инструмент покруче — icdiff.
Он делает сравнение в две колонки и подсвечивает отличия цветом, что намного удобнее.
Пример:
icdiff config-dev.ini config-prod.ini
Различия будут видны очень наглядно - они выделяются зелёным и красным, так что найти нужные изменения становится в разы проще.
@linux_education
Команда diff в Linux показывает различия между файлами, но есть инструмент покруче — icdiff.
Он делает сравнение в две колонки и подсвечивает отличия цветом, что намного удобнее.
Пример:
icdiff config-dev.ini config-prod.ini
Различия будут видны очень наглядно - они выделяются зелёным и красным, так что найти нужные изменения становится в разы проще.
@linux_education
👍9
⚡️ Anthropic обнаружила тревожную уязвимость в обучении языковых моделей: всего 250 подставных документов достаточно, чтобы «внедрить» скрытую команду (backdoor) в модель размером от 600 миллионов до 13 миллиардов параметров - даже если среди данных есть в 20 раз больше нормальных примеров.
Главное открытие: не процент заражённых документов, а их абсолютное количество определяет успех атаки. Увеличение объёмов данных и масштаба модели не защищает от целенаправленного отравления.
Backdoor остаётся незаметным - модель работает как обычно, пока не встретит секретный триггер, после чего начинает выполнять вредоносные инструкции или генерировать бессмыслицу.
Даже если продолжать обучение на «чистых» данных, эффект стирается очень медленно - backdoor может сохраняться длительное время.
Вывод: защита LLM требует контроля происхождения данных, проверки целостности корпусов и мер по выявлению скрытых иньекций.
🟢 Подробнее: https://www.anthropic.com/research/small-samples-poison
@linux_education
Главное открытие: не процент заражённых документов, а их абсолютное количество определяет успех атаки. Увеличение объёмов данных и масштаба модели не защищает от целенаправленного отравления.
Backdoor остаётся незаметным - модель работает как обычно, пока не встретит секретный триггер, после чего начинает выполнять вредоносные инструкции или генерировать бессмыслицу.
Даже если продолжать обучение на «чистых» данных, эффект стирается очень медленно - backdoor может сохраняться длительное время.
Вывод: защита LLM требует контроля происхождения данных, проверки целостности корпусов и мер по выявлению скрытых иньекций.
🟢 Подробнее: https://www.anthropic.com/research/small-samples-poison
@linux_education
👍2❤1
⚡️Никогда такого не было и вот опять
Всех пользователей Max взломали - на DarkForums появился пост от юзера под ником Titusko25357, который утверждает, что получил 47 миллионов строк данных:
"Привет, у меня полный дамп maxru — ровно 46 203 590 строк. У меня всё ещё есть доступ через VPN к их Salesforce и другим внутренним системам. Похоже, это мессенджер российского правительства, и все данные на русском языке."
Вот так выглядит «самый безопасный мессенджер» 😭
@linux_education
Всех пользователей Max взломали - на DarkForums появился пост от юзера под ником Titusko25357, который утверждает, что получил 47 миллионов строк данных:
"Привет, у меня полный дамп maxru — ровно 46 203 590 строк. У меня всё ещё есть доступ через VPN к их Salesforce и другим внутренним системам. Похоже, это мессенджер российского правительства, и все данные на русском языке."
Вот так выглядит «самый безопасный мессенджер» 😭
@linux_education
🔥11👍4
🐧 Быстрый совет по Linux
В Linux оператор `|` (pipe) используется, чтобы передавать вывод одной команды как вход другой:
$ cat data.txt | grep "No such file"
Но такой конвейер не перенаправляет ошибки (stderr).
Если файл не существует, grep не получит сообщения об ошибке и не найдёт совпадений.
Чтобы обрабатывать и обычный вывод, и ошибки, используй оператор |&.
Он передаёт stdout и stderr следующей команде:
$ cat data.txt |& grep "No such file"
Теперь grep увидит и текст ошибок!
|& — это короткая форма для:
$ cmd-1 2>&1 | cmd-2
Этот трюк пригодится при отладке и логировании: ты сможешь анализировать весь вывод сразу.
🐧 Следи за мелочами - они делают тебя сильнее в Linux!
@linux_education
В Linux оператор `|` (pipe) используется, чтобы передавать вывод одной команды как вход другой:
$ cat data.txt | grep "No such file"
Но такой конвейер не перенаправляет ошибки (stderr).
Если файл не существует, grep не получит сообщения об ошибке и не найдёт совпадений.
Чтобы обрабатывать и обычный вывод, и ошибки, используй оператор |&.
Он передаёт stdout и stderr следующей команде:
$ cat data.txt |& grep "No such file"
Теперь grep увидит и текст ошибок!
|& — это короткая форма для:
$ cmd-1 2>&1 | cmd-2
Этот трюк пригодится при отладке и логировании: ты сможешь анализировать весь вывод сразу.
🐧 Следи за мелочами - они делают тебя сильнее в Linux!
@linux_education
❤7
🐧 Малоизвестный, но полезный совет для Linux
Если ты часто запускаешь долгие команды в терминале (например, ffmpeg, tar, scp или rsync), а потом случайно закрываешь окно и всё пропадает - попробуй использовать встроенный nohup и disown.
💡 Как это работает:
nohup your_command & disown
▪ nohup - защищает процесс от завершения при выходе из терминала.
▪& - запускает задачу в фоне.
▪ disown - “отвязывает” процесс от текущей сессии.
После этого можно закрыть терминал, а процесс продолжит работать.
Вывод сохранится в nohup.out (в той же директории).
🔥 Особенно удобно, если ты работаешь по SSH или с нестабильным соединением.
Теперь твои процессы доживут до конца, даже если ты нет!
@linux_education
Если ты часто запускаешь долгие команды в терминале (например, ffmpeg, tar, scp или rsync), а потом случайно закрываешь окно и всё пропадает - попробуй использовать встроенный nohup и disown.
💡 Как это работает:
nohup your_command & disown
▪ nohup - защищает процесс от завершения при выходе из терминала.
▪& - запускает задачу в фоне.
▪ disown - “отвязывает” процесс от текущей сессии.
После этого можно закрыть терминал, а процесс продолжит работать.
Вывод сохранится в nohup.out (в той же директории).
🔥 Особенно удобно, если ты работаешь по SSH или с нестабильным соединением.
Теперь твои процессы доживут до конца, даже если ты нет!
@linux_education
👍10
🐧 Продвинутый Linux-трюк: “умный” контроль ресурсов с `cgroups` прямо из терминала
Если ты запускаешь тяжёлые задачи (обучение модели, рендер, компиляцию) и не хочешь, чтобы они съели всю систему — попробуй ограничивать ресурсы напрямую через `cgroups`, без Docker и root-магии.
💡 Создай лёгкую sandbox для процесса:
# 1. Создаём группу ограничений
sudo cgcreate -g memory,cpu:/sandbox
# 2. Ограничиваем ресурсы
echo 4G | sudo tee /sys/fs/cgroup/memory/sandbox/memory.limit_in_bytes
echo 50 | sudo tee /sys/fs/cgroup/cpu/sandbox/cpu.shares
# 3. Запускаем процесс внутри sandbox
sudo cgexec -g memory,cpu:/sandbox python train.py
🔍 Что это даёт:
- memory.limit_in_bytes — ограничивает использование RAM
- cpu.shares — задаёт приоритет CPU (100 — 100%, 50- половина и т.д.)
- процесс изолируется от остальной системы без контейнеров
- можно комбинировать с ionice и nice для полного контроля нагрузки
💪 Бонус: мониторинг потребления:
sudo cgget -r memory.usage_in_bytes /sandbox
🧠 Почему это круто:
- Тот же механизм, на котором работают Docker, Kubernetes и systemd
- Даёт тонкий контроль над ядром Linux без лишнего софта
- Идеально, если ты обучаешь ML/LLM-модели, рендеришь видео или просто не хочешь, чтобы процесс повесил систему
🚀 Linux-профи знают: настоящая сила - в управлении ядром, а не в графических тулзах.
@linux_education
Если ты запускаешь тяжёлые задачи (обучение модели, рендер, компиляцию) и не хочешь, чтобы они съели всю систему — попробуй ограничивать ресурсы напрямую через `cgroups`, без Docker и root-магии.
💡 Создай лёгкую sandbox для процесса:
# 1. Создаём группу ограничений
sudo cgcreate -g memory,cpu:/sandbox
# 2. Ограничиваем ресурсы
echo 4G | sudo tee /sys/fs/cgroup/memory/sandbox/memory.limit_in_bytes
echo 50 | sudo tee /sys/fs/cgroup/cpu/sandbox/cpu.shares
# 3. Запускаем процесс внутри sandbox
sudo cgexec -g memory,cpu:/sandbox python train.py
🔍 Что это даёт:
- memory.limit_in_bytes — ограничивает использование RAM
- cpu.shares — задаёт приоритет CPU (100 — 100%, 50- половина и т.д.)
- процесс изолируется от остальной системы без контейнеров
- можно комбинировать с ionice и nice для полного контроля нагрузки
💪 Бонус: мониторинг потребления:
sudo cgget -r memory.usage_in_bytes /sandbox
🧠 Почему это круто:
- Тот же механизм, на котором работают Docker, Kubernetes и systemd
- Даёт тонкий контроль над ядром Linux без лишнего софта
- Идеально, если ты обучаешь ML/LLM-модели, рендеришь видео или просто не хочешь, чтобы процесс повесил систему
🚀 Linux-профи знают: настоящая сила - в управлении ядром, а не в графических тулзах.
@linux_education
❤4🔥3
👣 Komari -лёгкий и удобный мониторинг для серверов на Go
Komari - это минималистичный, self-hosted инструмент для мониторинга производительности серверов.
Никаких лишних зависимостей и громоздких панелей — только то, что нужно для быстрой диагностики и стабильности.
💡 Особенности:
- Написан на Go — быстрый, лёгкий, кроссплатформенный
- Простая установка и локальный запуск
- Мониторинг нагрузки, памяти, CPU и сетевых показателей
- Удобный web-интерфейс без лишнего шума
📦 Идеален для разработчиков, DevOps и тех, кто хочет контролировать состояние своих серверов без лишних облачных сервисов.
🔗 Репозиторий: https://github.com/komari-monitor/komari
@Golang_google
#golang #monitoring #devops #opensource
@linux_education
Komari - это минималистичный, self-hosted инструмент для мониторинга производительности серверов.
Никаких лишних зависимостей и громоздких панелей — только то, что нужно для быстрой диагностики и стабильности.
💡 Особенности:
- Написан на Go — быстрый, лёгкий, кроссплатформенный
- Простая установка и локальный запуск
- Мониторинг нагрузки, памяти, CPU и сетевых показателей
- Удобный web-интерфейс без лишнего шума
📦 Идеален для разработчиков, DevOps и тех, кто хочет контролировать состояние своих серверов без лишних облачных сервисов.
🔗 Репозиторий: https://github.com/komari-monitor/komari
@Golang_google
#golang #monitoring #devops #opensource
@linux_education
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Замени find на fd: ищи файлы как профессионал, без боли и мусора
Забудь про ls | grep, find с километровыми флагами и ручной поиск файлов. Установи fd - современную, быструю и интуитивную замену find, которая игнорирует .git, node_modules и другие мусорные папки по умолчанию.
Она выдаёт читаемый вывод, поддерживает регулярки, легко ищет по расширению или имени — и делает это в разы быстрее.
Установка (на Ubuntu/Debian):
sudo apt install fd-find
Примеры:
fd config # найти все файлы с "config" в имени
fd -e json # все .json файлы
fd "user.*model" # регулярка в имени (автоматически)
fd --type d store # только директории с "store" в названии
@linux_education
Забудь про ls | grep, find с километровыми флагами и ручной поиск файлов. Установи fd - современную, быструю и интуитивную замену find, которая игнорирует .git, node_modules и другие мусорные папки по умолчанию.
Она выдаёт читаемый вывод, поддерживает регулярки, легко ищет по расширению или имени — и делает это в разы быстрее.
Установка (на Ubuntu/Debian):
sudo apt install fd-find
Примеры:
fd config # найти все файлы с "config" в имени
fd -e json # все .json файлы
fd "user.*model" # регулярка в имени (автоматически)
fd --type d store # только директории с "store" в названии
@linux_education
❤3
🕵️ Великобритания сталкивается с новой волной мошенничества, усиленной ИИ
Количество подтверждённых случаев мошенничества превысило 2 миллиона в первой половине года - рост на 17%. Общие потери достигли £629 млн, увеличившись на 3%.
Особенно выросли инвестиционные схемы, плюс 55%, почти £100 млн ущерба, со средней потерей более £15 000 на человека. Мошенники используют дипфейки известных людей и профессионально оформленные многоязычные предложения, делая подделки крайне правдоподобными.
Они создают фальшивые «инвестиционные» панели с якобы растущими доходами, разрешая жертвам делать мелкие выводы, чтобы вызвать доверие, а затем убеждают перевести крупные суммы.
Романтическое мошенничество выросло на 19% по количеству случаев и на 35% по потерям - до £20,5 млн. Средний случай длится несколько месяцев и включает до 9 платежей, иногда более 100 переводов.
Мошенники также массово рассылают спам-сообщения через устройства, имитирующие мобильные вышки, перенаправляя людей на фишинговые сайты, где жертвы вводят свои данные.
Банки отвечают своими ИИ-системами, которые в реальном времени отслеживают подозрительные платежи и шаблоны поведения. За полгода они предотвратили £870 млн несанкционированных переводов - на 20% больше, чем в первой половине 2024 года (примерно **70 пенсов блокируется на каждый фунт, который пытаются украсть**).
Преступники адаптируются - всё чаще используют мелкие покупки и подарочные карты, которые проще перепродать и труднее отследить.
ft.com/content/11db17de-cad7-4217-8816-d5a3ac9c1beb
@linux_education
Количество подтверждённых случаев мошенничества превысило 2 миллиона в первой половине года - рост на 17%. Общие потери достигли £629 млн, увеличившись на 3%.
Особенно выросли инвестиционные схемы, плюс 55%, почти £100 млн ущерба, со средней потерей более £15 000 на человека. Мошенники используют дипфейки известных людей и профессионально оформленные многоязычные предложения, делая подделки крайне правдоподобными.
Они создают фальшивые «инвестиционные» панели с якобы растущими доходами, разрешая жертвам делать мелкие выводы, чтобы вызвать доверие, а затем убеждают перевести крупные суммы.
Романтическое мошенничество выросло на 19% по количеству случаев и на 35% по потерям - до £20,5 млн. Средний случай длится несколько месяцев и включает до 9 платежей, иногда более 100 переводов.
Мошенники также массово рассылают спам-сообщения через устройства, имитирующие мобильные вышки, перенаправляя людей на фишинговые сайты, где жертвы вводят свои данные.
Банки отвечают своими ИИ-системами, которые в реальном времени отслеживают подозрительные платежи и шаблоны поведения. За полгода они предотвратили £870 млн несанкционированных переводов - на 20% больше, чем в первой половине 2024 года (примерно **70 пенсов блокируется на каждый фунт, который пытаются украсть**).
Преступники адаптируются - всё чаще используют мелкие покупки и подарочные карты, которые проще перепродать и труднее отследить.
ft.com/content/11db17de-cad7-4217-8816-d5a3ac9c1beb
@linux_education
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Хитрый трюк для Linux-админов: моментальное восстановление удалённых файлов без резервных копий
Иногда криворукий админ случайно удаляет важный файл (`rm -rf` - и всё пропало).
Но пока процесс или пользователь ещё держит этот файл открытым, его можно вернуть без бэкапа и магии - прямо из /proc.
💡 Идея:
Linux хранит дескрипторы открытых файлов в /proc//fd/.
Если файл удалён, но процесс всё ещё его использует, то можно просто скопировать данные обратно — даже если файл уже исчез из каталога.
# узнаём PID процесса, который использует файл
sudo lsof | grep "имя_файла"
# допустим, PID = 4521 и файл имел дескриптор 3
sudo cp /proc/4521/fd/3 /tmp/recovered_file.txt
# проверяем содержимое
cat /tmp/recovered_file.txt
# теперь файл восстановлен, даже если оригинал удалён
Этот трюк реально спасает, когда кто-то удалил конфиг, лог или бинарник, который ещё держится открытым.
Главное — успеть, пока процесс не завершился.
@linux_education
Иногда криворукий админ случайно удаляет важный файл (`rm -rf` - и всё пропало).
Но пока процесс или пользователь ещё держит этот файл открытым, его можно вернуть без бэкапа и магии - прямо из /proc.
💡 Идея:
Linux хранит дескрипторы открытых файлов в /proc//fd/.
Если файл удалён, но процесс всё ещё его использует, то можно просто скопировать данные обратно — даже если файл уже исчез из каталога.
# узнаём PID процесса, который использует файл
sudo lsof | grep "имя_файла"
# допустим, PID = 4521 и файл имел дескриптор 3
sudo cp /proc/4521/fd/3 /tmp/recovered_file.txt
# проверяем содержимое
cat /tmp/recovered_file.txt
# теперь файл восстановлен, даже если оригинал удалён
Этот трюк реально спасает, когда кто-то удалил конфиг, лог или бинарник, который ещё держится открытым.
Главное — успеть, пока процесс не завершился.
@linux_education
👍13❤3
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Быстрый Linux-совет
Хочешь узнать, как давно работает процесс?
Используй колонку etime в команде ps - она показывает, сколько времени прошло с момента запуска процесса.
Это удобно, чтобы понять, какие процессы висят слишком долго или застряли.
1. Посмотреть, сколько памяти ест процесс:
Узнаешь, какие процессы расходуют больше всего RAM.
ps aux --sort=-%mem | head
2. Показать загрузку CPU по процессам:
Помогает найти самые прожорливые по вычислениям задачи.
ps -eo pid,comm,%cpu --sort=-%cpu | head
3. Показать аптайм всех процессов с временем запуска:
ps -eo pid,comm,etime,lstart --sort=etime
4. Посмотреть дерево процессов (кто кого запустил):
ps --forest -eo pid,ppid,cmd
5. Найти процессы по ключевому слову:
ps -ef | grep python
6. Следить за процессом в реальном времени:
top -p
@linux_education
Хочешь узнать, как давно работает процесс?
Используй колонку etime в команде ps - она показывает, сколько времени прошло с момента запуска процесса.
Это удобно, чтобы понять, какие процессы висят слишком долго или застряли.
1. Посмотреть, сколько памяти ест процесс:
Узнаешь, какие процессы расходуют больше всего RAM.
ps aux --sort=-%mem | head
2. Показать загрузку CPU по процессам:
Помогает найти самые прожорливые по вычислениям задачи.
ps -eo pid,comm,%cpu --sort=-%cpu | head
3. Показать аптайм всех процессов с временем запуска:
ps -eo pid,comm,etime,lstart --sort=etime
4. Посмотреть дерево процессов (кто кого запустил):
ps --forest -eo pid,ppid,cmd
5. Найти процессы по ключевому слову:
ps -ef | grep python
6. Следить за процессом в реальном времени:
top -p
@linux_education
❤5👍1
Дикая фишка Linux 🐧
Можно запустить отдельное ядро Linux прямо внутри процесса - без root и без виртуалок.
Это называется User-Mode Linux (UML) - специальный порт ядра, который работает как обычное приложение в userspace.
Вместо обращения к железу он общается с вашей ОС:
файл становится жёстким диском, а терминал - консолью.
Можно загрузить систему, войти и запускать программы — всё как в VM, но одной командой.
Идеально для тестов и отладки ядра без риска сломать систему.
Подробнее: popovicu.com/posts/linux-vm-without-vm-software-user-mode
@linux_education
Можно запустить отдельное ядро Linux прямо внутри процесса - без root и без виртуалок.
Это называется User-Mode Linux (UML) - специальный порт ядра, который работает как обычное приложение в userspace.
Вместо обращения к железу он общается с вашей ОС:
файл становится жёстким диском, а терминал - консолью.
Можно загрузить систему, войти и запускать программы — всё как в VM, но одной командой.
Идеально для тестов и отладки ядра без риска сломать систему.
Подробнее: popovicu.com/posts/linux-vm-without-vm-software-user-mode
@linux_education
⚙️ Маленький, но мощный Linux совет
Ядро Linux ведёт свой собственный «дневник» всего, что происходит в системе: загрузка, инициализация драйверов, новые устройства. Этот журнал называется dmesg, и это главный инструмент, чтобы понять, почему железо не работает.
Большинство смотрит dmesg только когда уже всё сломалось. Но максимальная польза - наблюдать лог в реальном времени.
Попробуй так:
dmesg -WH
- -H включает человекочитаемые таймстемпы
- -W выводит новые сообщения по мере появления (как tail -f, но для ядра)
Теперь подключи USB-устройство и смотри, как ядро шаг за шагом обнаруживает его, определяет и загружает драйверы.
Это лучший способ «увидеть» работу Linux под капотом.
@linux_education
Ядро Linux ведёт свой собственный «дневник» всего, что происходит в системе: загрузка, инициализация драйверов, новые устройства. Этот журнал называется dmesg, и это главный инструмент, чтобы понять, почему железо не работает.
Большинство смотрит dmesg только когда уже всё сломалось. Но максимальная польза - наблюдать лог в реальном времени.
Попробуй так:
dmesg -WH
- -H включает человекочитаемые таймстемпы
- -W выводит новые сообщения по мере появления (как tail -f, но для ядра)
Теперь подключи USB-устройство и смотри, как ядро шаг за шагом обнаруживает его, определяет и загружает драйверы.
Это лучший способ «увидеть» работу Linux под капотом.
@linux_education
👍15🔥4
⚡️ Полезный совет по Linux:
Быстро найти, какой процесс держит порт
Когда какой-то сервис не запускается, часто виноват занятый порт. Чтобы мгновенно узнать, кто его использует:
sudo lsof -i :PORT
Например, порт 5432:
sudo lsof -i :5432
Вывод покажет процесс, PID и путь к бинарю. Дальше можно решить - перезапустить, убить или перенастроить.
Дополнительно:
sudo netstat -tulpn | grep :5432
или современная альтернатива:
sudo ss -tulpn | grep :5432
Зачем это нужно: когда что-то "стоит на порту", ты сразу видишь виновника и не тратишь время на угадывания.
@linux_education
Быстро найти, какой процесс держит порт
Когда какой-то сервис не запускается, часто виноват занятый порт. Чтобы мгновенно узнать, кто его использует:
sudo lsof -i :PORT
Например, порт 5432:
sudo lsof -i :5432
Вывод покажет процесс, PID и путь к бинарю. Дальше можно решить - перезапустить, убить или перенастроить.
Дополнительно:
sudo netstat -tulpn | grep :5432
или современная альтернатива:
sudo ss -tulpn | grep :5432
Зачем это нужно: когда что-то "стоит на порту", ты сразу видишь виновника и не тратишь время на угадывания.
@linux_education
👍7🔥2
🧱 Что такое Linux namespaces
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
@linux_education
По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.
Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.
Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.
В серии разборов посмотрим:
• какие бывают namespaces,
• как они устроены,
• как поиграться с ними с помощью обычных команд Linux.
#Linux #Containers #DevOps
blog.sysxplore.com/p/part-1-what-are-linux-namespaces
@linux_education
👍4❤1