Linux Ninja
описание
Linux Ninja – ваш гид по миру Linux! Лайфхаки, фишки и мощные команды для настоящих мастеров CLI.
Лучшие посты
за три месяцабез подписи
без подписи
Хватит качать четырёхгигабайтные ISO, чтобы создать Linux-ВМ. 🔨 Тебе не нужен инсталлятор, GUI или мастер в стиле Next > Next > Finish. Нужна просто директория с файлами. Вот как я собираю кастомные, немного колхозные, но загрузочные Debian-ВМ примерно за минуту с помощью debootstrap. По сути, любая дистрибуция это ядро плюс набор юзерспейс-бинарей. Если разложить эти файлы в нужные места на диске, ядро спокойно с этим заработает. Инструмент, о котором почти никто не думает Обычно мы воспринимаем VM-образы (.qcow2) как чёрный ящик. Но qemu-nbd позволяет примонтировать виртуальный диск как реальное устройство — например, /dev/nbd0. После этого можно форматировать и монтировать его как обычную флешку. "Установка" Когда диск смонтирован, ты ничего не устанавливаешь. Ты просто распаковываешь систему: sudo debootstrap stable /mnt/disk Команда скачивает минимальный набор бинарей, нужных для Debian, и кладёт их в эту директорию. Никаких мастеров. Загрузка Я запускаю VM через QEMU, подкидывая ядро напрямую, полностью обходя загрузчик: qemu-system-x86_64 -kernel ... -append "init=/bin/bash ..." На последнем скриншоте виден Kernel panic — Attempted to kill init! И это нормально. Я сказал ядру выполнить простой скрипт. Скрипт завершился. init вышел. У ядра не осталось задач, поэтому оно упало. Миссия выполнена, просто странным способом. Такой подход удобен для CI/CD или быстрого прототипирования. Он показывает простую мысль: если ты понимаешь файловую структуру — система принадлежит тебе. ✈️ Linux Ninja
без подписи
Попался сегодня пост про traceroute, и вспомнил, как часто эта штука реально спасает, когда сеть ведёт себя как-то странно. Traceroute по сути делает простую вещь: отправляет пакеты с разным TTL и смотрит, где они умирают. Каждый роутер, на котором TTL падает в ноль, шлёт ответ типа "я тут, пакет сдох" — и так собирается маршрут до цели. Когда пакет наконец добирается до сервера — прилетает другой ICMP-ответ, и на этом всё заканчивается. Утилита умеет работать по-разному в зависимости от системы: Linux/macOS: обычно гоняет UDP Windows: использует ICMP, почти как ping, но smarter TCP: отдельная версия, которая пробивается туда, где ICMP/UDP заблокированы фаерволами — например, на порты 80/443 Команды: Linux: traceroute google.com Windows: tracert google.com Зачем вообще это запускать? - понять, на каком этапе всё разваливается - увидеть, где растёт задержка - проверить маршрут до сервисов, клаудов, VPN или CDN ✈️ Linux Ninja
nsntrace — инструмент для захвата трафика нужного приложения в Linux. С помощью создания виртуальных интерфейсов и отдельного сетевого пространства имён, nsntrace запускает нужное нам приложение, и выполняет трассировку трафика только для него используя libpcap. Результат работы может быть либо перенаправлен в другое приложение, либо в файл, который можно будет прочитать любой стандартной утилитой, умеющей работать с pcap. 1. Ставим nsntrace из репозитория: # apt install nsntrace # dnf install nsntrace 2. Пробуем выполнить захват трафика для обычного wget, который обращается к сайту. По-умолчанию, дамп будет иметь имя nsntrace.pcap: # nsntrace --use-public-dns wget -q -O /dev/null https://sysadmin.pm/ Starting network trace of 'wget' on interface enp1s0. Your IP address in this trace is 172.19.28.255. Use ctrl-c to end at any time. Finished capturing 131 packets. Аналогично для PHP скрипта, например: # nsntrace php -f index.php Starting network trace of 'php' on interface enp1s0. Your IP address in this trace is 172.19.213.255. Use ctrl-c to end at any time. Finished capturing 52 packets. 3. Работаем с дампом привычной утилитой, в данном случае tcpick: # tcpick -r nsntrace.pcap Starting tcpick 0.2.1 at 2023-04-28 12:28 MSK Timeout for connections is 600 tcpick: reading from nsntrace.pcap 1 SYN-SENT 172.19.28.255:40638 > 104.244.78.134:https 1 SYN-RECEIVED 172.19.28.255:40638 > 104.244.78.134:https 1 ESTABLISHED 172.19.28.255:40638 > 104.244.78.134:https 1 FIN-WAIT-1 172.19.28.255:40638 > 104.244.78.134:https 1 FIN-WAIT-2 172.19.28.255:40638 > 104.244.78.134:https 1 RESET 172.19.28.255:40638 > 104.244.78.134:https tcpick: done reading from nsntrace.pcap 131 packets captured 1 tcp sessions detected Собрать nsntrace из исходников, при необходимости можно так: # apt install automake docbook-xml docbook-xsl iptables libnl-route-3-dev libpcap-dev pkg-config xsltproc git make gcc # git clone https://github.com/nsntrace/nsntrace # cd nsntrace/ # ./autogen.sh # ./configure # make Github проекта: https://github.com/nsntrace/nsntrace ✈️ Linux Ninja
SSH-туннели: локальный и удалённый проброс портов SSH – технология старой школы, которая до сих пор остаётся невероятно полезной. Всего одной командой ssh можно: - Получить доступ к приватным сервисам внутри VPC через bastion host - Открыть в браузере порт localhost на удалённой машине - Пробросить сервис из homelab наружу через публичный сервер - Превратить SSH-соединение в SOCKS-прокси для всей приватной сети В этом обновлённом туториале разбирается SSH port forwarding с диаграммами, практическими лабораторными заданиями и наглядной шпаргалкой, которая поможет понять разные типы SSH-туннелей и запомнить нужные флаги: https://labs.iximiuz.com/tutorials/ssh-tunnels 🍆 ✈️ Linux Ninja
Готовитесь к CKS в 2026 году? Не пытайтесь одинаково глубоко изучать каждый инструмент безопасности Kubernetes. Больше всего отдачи даст практика в этих направлениях: • NetworkPolicy + CiliumNetworkPolicy Default-deny, выборочный ingress/egress и политики Cilium. Cilium прямо входит в текущую программу. • Pod Security Admission PSP больше нет. Нужно уверенно работать с метками namespace вроде: pod-security.kubernetes.io/enforce: restricted • AppArmor + seccomp Применять профили, понимать режимы enforcement и уметь написать точечный seccomp-профиль, который блокирует конкретный syscall. • CIS hardening Использовать отчёты kube-bench, чтобы находить и исправлять проблемы на control plane и worker-нодах. • RBAC + Secrets Доступ по принципу минимальных привилегий, риски service account, шифрование данных на диске и расследование того, кто получал доступ к Secret. • Безопасность цепочки поставки Минимальные базовые образы, SBOM, сканирование образов, разрешённые реестры, подпись и проверка образов, ревью Dockerfile. Помимо Trivy стоит практиковаться с Kubesec и KubeLinter. • Runtime security Поведенческое обнаружение в стиле Falco, неизменяемые контейнеры, audit logs и расследование инцидентов. • Изоляция + шифрование RuntimeClass и изолированные контейнеры, а также шифрование трафика между Pod через Cilium или Istio mTLS. • TLS + доступ к API Безопасный Ingress, ограничение доступа к API, защита metadata и endpoint-ов нод, а также проверка бинарников платформы. Главное преимущество на CKS — скорость. Для каждой темы нужен повторяемый рабочий процесс, быстрая навигация по документации и столько практики, чтобы типовые исправления выполнялись почти механически. Если бы у меня было только две недели, большую часть времени я бы потратил так: NetworkPolicies → PSA → RBAC/Secrets → CIS → runtime detection K16S — бесплатная лаборатория для подготовки к CKA/CKS, где можно реально ломать kubelet, systemd, containerd, static pods, etcd и сертификаты. Не kind. #cks #kubernetes #cloudnative #containersecurity #devsecops ✈️ Linux Ninja
без подписи
Как проиндексировать весь исходный код Linux Kernel (28 млн строк) для AI-агента всего за 3 минуты? Нужно перестать заставлять агента читать файлы по одному. Недавно вышел любопытный open-source проект — codebase-memory-mcp. Это движок для анализа кода, который заменяет обычный поиск по файлам на высокоскоростной граф знаний, построенный на AST. Самое интересное здесь — исследование, на котором основан проект. Согласно результатам из статьи arXiv:2603.27277, где систему тестировали на 31 реальном репозитории, такой подход даёт: → снижение расхода токенов на структурные запросы на 99% → 83% качества ответов на сложных задачах → в 2,1 раза меньше вызовов инструментов Система строит граф функций, классов, HTTP-маршрутов и связей между сервисами. Когда агенту нужен контекст, он запрашивает данные напрямую из графа, а не перебирает файлы. Отдельный плюс — всё работает полностью локально. Без Docker, Ollama и API-ключей. Скачиваешь бинарник, перезапускаешь агента — и можно работать. Интересно, насколько сильно такие индексы смогут сократить расходы на AI-разработку в ближайшие годы. https://github.com/DeusData/codebase-memory-mcp ✈️ Linux Ninja
Реверс-инжиниринг и извлечение прошивки из смарт-часов — Damien Cauquil https://blog.quarkslab.com/modern-tale-blinkenlights.html ✈️ Linux Ninja
без подписи
Самой большой ошибкой Elastic была не смена лицензии. А отказ от идеи, которая впоследствии стала Grafana. В 2013 году Торкель Эдегор был никому не известным разработчиком в Orbitz. Ему нужны были нормальные дашборды для временных рядов и метрик. Он предложил команде Kibana отвязать её от Elasticsearch, чтобы она могла работать и с другими источниками данных. Ему отказали. Тогда он сам сделал форк. В январе 2014 года он выложил проект в открытый доступ. Без финансирования. Без компании. Просто разработчик, который сделал то, что ему сказали, что он получить не сможет. К концу 2014 года он стал сооснователем Grafana Labs. В 2021 году компания привлекла $220 млн всего за один раунд. Сегодня Grafana работает на рынке объёмом примерно $20 млрд. А среди DevOps-инженеров, которые каждый день работают с дашбордами, Grafana, пожалуй, даже более узнаваемое имя, чем Elastic. Затем в 2021 году уже сами основатели Grafana перевели свои основные проекты с Apache 2.0 на AGPL, чтобы облачные гиганты не могли бесплатно перепродавать их работу. MongoDB и Elastic к тому моменту уже прошли через ту же проблему и получили серьёзную критику за то, как они с ней справились. Grafana — нет. Сообщество открытого исходного кода назвало их подход справедливым, прозрачным и уважительным. Один отклонённый запрос на новую функцию в 2013 году в итоге привёл к созданию компании, которая смогла учесть ошибки всей индустрии. Возможно, это самое дорогое «нет» в истории открытого исходного кода. ✈️ Linux Ninja
Простой YAML для деплоя EKS кластера. В этом туториале по Kubernetes ты разберешься, как создать AWS EKS кластер с помощью eksctl и YAML-конфига за пару минут. Плюс будет разбор ключевых концепций eksctl. Как вообще работает eksctl? Когда ты деплоишь YAML файл eksctl или запускаешь команду на создание кластера, eksctl под капотом раскатывает CloudFormation шаблоны. Фактически именно CloudFormation и поднимает кластер. eksctl просто обертка над CloudFormation. Туториал: тут ✈️ Linux Ninja
Линус Торвальдс говорит, что крупные обновления ядра Linux становятся "новой нормой", отчасти из-за AI-инструментов. Предстоящий релиз Linux 7.2 получился необычно большим, и Торвальдс признаёт, что не особо рад тому, насколько сильно он разросся По его словам, AI-инструменты всё активнее используются в процессе разработки и при код-ревью, что в том числе приводит к росту количества изменений, попадающих в ядро. Несмотря на масштаб обновления, Торвальдс не видит в нём ничего особенно тревожного и ожидает, что Linux 7.2 будет двигаться к релизу по плану 👀 ✈️ Linux Ninja
без подписи
Быстрый совет по Linux Хотите проверить неудачные попытки входа на сервер? Запустите: lastb Команда читает /var/log/btmp и выводит список всех неуспешных авторизаций 🟠Почти всегда это боты, подбирающие пароли к SSH. Такие атаки могут стать фатальными, если включён вход по паролю и используется слабый или распространённый пароль 🟠 Решение: отключите вход по паролю и используйте только SSH-ключи 🟠Рекомендуется отключить парольную аутентификацию и использовать только SSH-ключи ✈️ Linux Ninja
Awesome List собирает большую подборку статей, технических разборов и научных работ по кибербезопасности, посвящённых исследованию и эксплуатации уязвимостей. https://github.com/0xor0ne/awesome-list ✈️ Linux Ninja
Уже очевидно, что ВАЙБКОДИНГ — главный навык ближайших лет Посмотрите сами. ИИ уже забирает на себя работу целых команд: пишет код, закрывает задачи джунов и позволяет стартапам запускать продукты в 2–3 раза меньшим составом. То, на что раньше нужны были несколько разработчиков, сегодня всё чаще делает один человек с ИИ-агентами. И это только начало. Те, кто освоит вайбкодинг сейчас, смогут быстрее запускать проекты, автоматизировать огромный объём работы, увереннее конкурировать на рынке и зарабатывать больше тех, кто продолжает делать всё вручную. Начать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы. Подписывайтесь, нас уже 50 тысяч: @vibecoding_tg
Программирование c нуля «От новичка к уверенности в коде на Python» На Stepik запустили курс для новичков, которым важно не зубрить команды, а понимать логику. Наглядные схемы и визуальные разборы показывают, что происходит внутри программы и как она работает Много практики, понятные объяснения решений не дадут застрять на теории. Материал предлагает вам не иллюзию знаний, а ощущение контроля: вы ясно видите как из нескольких строк кода рождается работающая программа Программа курса: ✅переменные и типы данных ✅условия и логика программ ✅циклы и рекурсия ✅функции и работа с вводом данных ✅списки, словари и множества ✅базовое ООП ✅работа с библиотеками Python ✅десятки задач и упражнений Эти знания фундамент для написания простых ботов и автоматизации задач 🔗Скидка 25% действует 48 часов