Как стать автором
Поиск
Написать публикацию
Обновить
362.46

Linux *

Пишем под *nix

Сначала показывать
Порог рейтинга
Уровень сложности

Настройка Flutter/Dart на Linux

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

Простая пошаговая инструкция для начинающих в программистов Flutter/Dart.

Flutter прекрасный фреймворк для создания кроссплатформенных приложений. Тем не менее в нашем сегменте интернета всё ещё нет пошаговой инструкции его установки для Linux систем. Данная статья это исправляет. Она рассказывает как настроить Flutter/Dart на Linux легко, почему не стоить использовать некоторые сторонние пакетные менеджеры и чего избегать.

Читать далее

Разбор и обнаружение уязвимости OverlayFS (CVE-2023-0386)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.9K

Всем привет!
Совсем недавно в ядре линукс была обнаружена критичная уязвимость, позволяющая повышать привилегии до уровня root. Она получила идентификатор CVE-2023-0386 и затронула версии ядра до 6.2. В интернете уже есть несколько доступных PoC:
https://github.com/CKevens/CVE-2023-0386
https://github.com/xkaneiki/CVE-2023-0386
В этой статье я хотел рассмотреть принцип работы данной уязвимости и возможные варианты ее обнаружения.

Читать далее

Приложение BAI Chat на GTK4 и Python

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров19K

В последнее время все большей популярностью пользуются различные чаты на основе ChatGPT. Они доступны не только в формате веб-версий или telegram-ботов, но и в виде отдельных приложений для разных платформ.

В один прекрасный день я наткнулся на новое приложение под названием Bavarder, но интерфейс показался мне не очень удобным и наглядным, и я решил создать на основе этого приложения своё.

Читать далее

Как я вникал в Linux с 4 класса? Все по полочкам

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров13K

Давно, когда мне было 4-5 лет, бабушка разрешила пользоваться ее компьютером (стааарым, очень). Я так был рад, ведь мог теперь в него играть. Ну и началось. Вирусняки, неподдерживаемые файлы и т. д., и т. п. После, в доме появился Mac Mini 2010 года (мы с отцом хотим из него NAS сделать). Меня за него посадил папа с такой фразой: «Вот тебе Scratch, делай».

Читать далее

Display scaling в Linux. Часть 2 — определение scale factor для X11 приложений

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.7K

В первой части были рассмотрены системные настройки масштабирования, предоставляемые встроенными утилитами, и набор возможностей отличается кардинально. Почему? Потому что в Linux нет единого API для работы с масштабированием, каждое окружение конфигурирует по своему и каждый UI-toolkit определяет их по своему, в итоге шанс того, что что-то где-то будет отображаться криво очень велик.

В этой статье мы рассмотрим то, как определить коэффициенты масштабирования для X11 приложения самостоятельно.

Читать далее

Версия GitLab 16.0: искусственный интеллект, новые дашборды и облачные решения

Время на прочтение3 мин
Количество просмотров6.7K

Привет! На связи Максим Рязанцев, DevOps-специалист в AGIMA. В начале недели GitLab выпустил новую версию — версию 16.0. Всего в ней более 55 новых фич и доработок. Мы с коллегами изучили этот список, разобрались, как нововведения повлияют на работу с Git. И теперь делимся коротким обзором. Как водится, большая часть изменений в облачной Ultimate-версии, но рано или поздно доступны они будут всем.

Читать далее

eBPF в руках атакующего: обнаружение вредоносных модулей

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.5K

Привет, Хабр!

Технология eBPF становится все более популярной и используются во многих приложениях для Linux. В нашей статье Анализ и обнаружение Dirty Pipe мы коснулись темы eBPF и как он может помочь при обнаружении эксплуатации уязвимостей ядра. Но инструмент с такими возможностями непременно заинтересует и злоумышленников. В этой статье мы рассмотрим, каким образом атакующие могут использовать eBPF и как можно их обнаружить.

Для загрузки eBPF модуля необходимы права root или привилегии CAP_BPF. Поэтому в основном злоумышленники используют данные программы для закрепления или сокрытия вредоносного ПО в системе. Для этого используются различные наборы инструментов, основанных на eBPF. В данной статье мы рассмотрим известные вредоносные eBPF инструменты и возможные способы детектирования.

В открытом доступе есть различное вредоносное ПО, основанное на eBPF, мы выбрали наиболее многофункциональные:


https://github.com/Gui774ume/ebpfkit
https://github.com/pathtofile/bad-bpf
https://github.com/krisnova/boopkit
https://github.com/h3xduck/TripleCross


Данные инструменты имеют множество различных функций, которые вы бы вряд ли хотели увидеть у себя в инфраструктуре. Их возможности могут вас удивить, так как они могут:

Читать далее

Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K
image

К сожалению, в наше время многие старые, но весьма неплохие по характеристикам гаджеты отправляются напрямую в помойку, и их владельцы не подозревают, что им можно найти применение. Сервер, мультимедийная-станция, да даже просто как TV-приставка — люди в упор не замечают сфер, где старенький планшет мог бы быть полезен. Но как быть, если посвящаешь жизнь портативным гаджетам, кодингу и копанию в железе? Правильно: сделать довольно мощную игровую консоль из старого планшета самому! Сегодня вам расскажу, как я сделал свою портативную приставку из планшета с нерабочим тачскрином, Raspberry Pi Pico и 8 кнопок! За рабочим результатом прячется несколько дней работы: поиск UART на плате, разработка контроллера геймпада на базе RPi Pico, написание приложения-сервиса, которое слушает события и отправляет их в подсистему ввода Linux в обход Android. Интересно? Тогда жду вас под катом!
Читать дальше →

Расследуем фантомные чтения с диска в Linux

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров20K
Не так давно один из наших пользователей сообщил нам о случае странного использования оборудования. Он при помощи нашего клиента ILP (InfluxDB Line Protocol) вставлял строки в свою базу данных QuestDB, но вместе с операциями записи на диск также наблюдались существенные объёмы чтения с диска. Этого никак не ожидаешь от нагрузки, рассчитанной только на запись, поэтому нам нужно было докопаться до причины этой проблемы. Сегодня мы поделимся этой историей, полной взлётов и падений, а также магии ядра Linux.

Читать дальше →

Как мы автоматизировали FTP(S) с уникальными симптомами проблемы?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.3K

Я автоматизировал FTPS через LFTP, потому что c этой задачей не справился Python с его великим разнообразием пакетов в "Сырном Магазине". Читайте историю из компании с примерами кода и погружением в детали проблемы.

Узнать, как автоматизировать FTPS

От архитектуры сервисов до безопасности цепи поставок: о чем расскажут в треке разработки на Positive Hack Days 12

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.2K

До грандиозного киберфестиваля Positive Hack Days 12 осталось всего ничего — уже 19 мая он стартует в московском Парке Горького. В этом году техническая программа объединяет сразу пять треков: Artificial Intelligence, Blockchain, Development, Offense и Defense.

В треке, посвященном разработке (в том числе и безопасной 😉), вас ждут 17 крутейших выступлений. Мы попросили наших спикеров рассказать подробнее о себе и своих докладах.

Подробности

Как принять сигнал мобильной связи на приёмник цифрового телевидения: теория и практика

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров32K
image

Несмотря на вроде бы абсурдный заголовок, принять и декодировать сигналы мобильной связи действительно можно на телевизионный приёмник, хотя и с некоторыми оговорками. Не все и не на любой приёмник, но такая возможность есть. Чтобы вам это выполнить самим, понадобятся:

  • ноутбук,
  • DVB-Т-приёмник в виде USB-брелока,
  • свободный флеш-накопитель для записи дистрибутива Linux на него.

Чтобы лучше разобраться в работе GSМ, нужно два мобильных телефона или телефон и GSM-модем.

Если вас заинтересовала эта тема, и вы хотите расширить свои знания, добро пожаловать под кат.
Читать дальше →

Валидируем X509 сертификат с OpenSSL C++

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6K

Данная статья является логическим продолжением статьи про генерацию сертификата. В ней мы рассмотрим, как мы можем провалидировать сертификат используя OpenSSL и C++.

Читать далее

Ближайшие события

Полезные команды GNU/Linux для разработчика. Часть 2

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.6K

И снова приглашаем погрузиться в команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Напоминаем, подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. 

В первой части мы обсудили запросы общей информации о пользователях и системе, работу с файлами, процессами и текстом. Сегодня речь пойдет о возможностях bash, работе с сетью и ssh.

Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками.

Читать далее

eBPF и его возможности

Время на прочтение10 мин
Количество просмотров38K
image

Откройте для себя современные возможности ядра GNU/Linux, которые пригодятся вам для обеспечения мониторинга, наблюдаемости, безопасности, инжиниринга производительности и профилирования – всё это достижимо при помощи eBPF. Ниже будет разобрано несколько практических случаев и дана информация, касающаяся внутреннего устройства BPF.
Читать дальше →

Мониторинг: измеряем потери пакетов с помощью C++

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров6.3K

В этой заметке я покажу, как с помощью Zabbix и C++ можно заниматься мониторингом потерь пакетов с очень высокой точностью. В этом примере пороговое значение - 0,01% потерь, но можно его ещё уменьшить при необходимости. Если интересно - добро пожаловать под кат.

Читать далее

Домашний NAS сервер

Время на прочтение6 мин
Количество просмотров65K

Домашний NAS сервер на 10 жестких дисков для личного использования на базе Linux

Когда имеется большой объем файлов, который необходимо хранить на одном домашнем сервере с низким энергопотреблением, малыми габаритами, невысоким тепловыделением и бесперебойным питанием, а также с большим количеством жестких дисков...

Читать далее

«Проблема доверия в сети». Точка зрения

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.6K

...Привет, Хабр!

Проблема «доверия в сети» по общему мнению, является основным препятствием для возникновения децентрализованной экономики и виртуальных трастовых децентрализованных сообществ. Осмысление данной проблемы привело к следующим выводам и результатам, которыми я хотел бы поделиться с вами, уважаемые коллеги.

Читать далее

Полезные команды GNU/Linux для разработчика. Часть 1

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров16K

В этой статье поговорим про команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. Здесь мы собрали то, чем пользуемся сами и к чему привыкли, однако почти все упомянутые задачи можно решить и другими способами.

Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками. Все команды, которые успели обсудить, мы разделили на две части. В первой поговорим про запросы общей информации о пользователях и системе, работу с файлами, процессами и текстом. Во второй части - о bash и работе с сетью, в частности ssh.

Читать далее

Семафоры в Linux медленно сходят со сцены

Время на прочтение6 мин
Количество просмотров27K

С годами подходы к обработке конкурентности в ядре Linux сильно изменились. К 2023 году в арсенале разработчиков ядра появились, в частности, автозавершения, хорошо оптимизированные мьютексы, а также россыпь неблокирующих алгоритмов. Но были времена, когда управление конкурентностью сводилось к использованию обычных семафоров. Дискуссия о внесении небольшого изменения в API семафоров лишний раз свидетельствует, как сильно они изменились за долгую историю ядра.

Читать далее

Вклад авторов