Обновить
306.47

Linux *

Пишем под *nix

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

Тихий герой воскресного утра: как bash-скрипт спас нас от OOM Killer

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

Привет, Хабр! Статья не входила в планы, пишу с чувством лёгкой сюрреалистичности. В воскресенье утром наш основной API-гейтвей пережил маленькую апокалиптическую битву с памятью и выиграл без моего участия. Делюсь с Вами, как небольшой скрипт, на который я не полагал абсолютно никаких надежд, отработал аварию.

Читать далее

Все тонкости GPG подписей

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

Всем привет! В этой серии статей я бы хотел разобрать тонкости работы с GPG, которые по моему недостаточно освещены в интернете. Сегодня я вам расскажу про подписи (и немного затронем модель Web of trust). Я бы их поделил на 2 вида: подписи файлов и подписи ключей.

Читать далее

(x)RDP broker for Linux

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

Как часто в своей работе вы задумываетесь о необходимости обеспечения удаленного доступа для пользователей? Как на счет 100% бесплатных решений?
Да, такое мы все любим, но уж очень невелик выбор подобных решений под Linux...

Читать далее

Как работает DNS в Linux. Часть 3:  Разбираемся с resolv.conf, systemd-resolved, NetworkManager и другими

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели20K

Теоретическую основу кэширования DNS в Linux мы разбирали в первой части, где говорили про работу процесса разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Вторая часть была посвящена различным уровням кэшей самой системы, приложений и языков программирования, контейнеров, прокси - а также их мониторингу и сбросу. Теперь самое время перейти к практике.

Если вы когда-либо запускали подряд команды ping, curl, dig и получали разные IP-адреса, вы не одиноки. Поведение DNS в Linux — не просто вызов getaddrinfo(). Это взаимодействие множества слоёв: от glibc и NSS до NetworkManager, systemd-resolved, dnsmasq и облачных конфигураций. В этой части разберем практические аспекты DNS:

почему одинаковые запросы дают разные IP

как реально контролируется разрешение имен: что вызывает кого и зачем

как проводить диагностику: strace, resolvectl, tcpdump

Читать далее

Как я внедрял искусственный интеллект в психоневрологическом интернате. Часть 2: RAG на документах организации

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

Введение: Почему RAG?

Представьте: приходит письмо из вышестоящих или надзорных органов с требованием предоставить информацию или отчёт. Тут начинается суета и судорожный поиск нужных документов. А что, если всю внутреннюю документацию — приказы, инструкции, отчёты — можно было бы "спросить"? Задать вопрос и получить точный ответ, подкреплённый информацией из этих документов.

Именно для этого и существуют системы RAG (Retrieval-Augmented Generation). Это не просто LLM, которая отвечает, что знает, а система, которая ищет информацию в вашей базе данных, а затем использует её для формирования точного и релевантного ответа.

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

Читать далее

Безопасно делимся экраном на Hyprland

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

Мы все были в ситуации, когда нужно показать экран с множеством окон, и требуется несколько минут перед нажатием кнопки «Поделиться экраном», чтобы принять решение. Это нормально, особенно если ваша система — ваш второй (или даже первый) дом: с личными заметками, документами, паролями, чатами и так далее.

Далее мы настроим удобный рабочий процесс для такого случая. Однако эта настройка будет использовать новую функцию, встроенную в Hyprland и, скорее всего, отсутствующую в других DE/композиторах. Я продемонстрирую нашу конечную цель. Например, мой режим демонстрации экрана может выглядеть так:

Читать далее

Туннель в никуда: как ngrok помогает обойти периметр и как это остановить

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.3K

Всем привет!

Сегодня речь пойдет о распределенном обратном прокси-сервере ngrok и эксплуатации его возможностей атакующими. По данным MITRE ATT&CK инструмент используется различными APT группировками, в том числе в атаках направленных на компании в России и странах СНГ, что упоминается в Ландшафте киберугроз от команды Kaspersky Cyber Threat Intelligence и в статье Распутываем змеиный клубок: по следам атак Shedding Zmiy.

В данной статье мы рассмотрим примеры использования ngrok в операционных системах Windows и Linux, а также определим маркеры, по которым можно выявить его использование.

Читать далее

Создаём собственный системный вызов в Linux 6.8

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели10K

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

Читать далее

День Linux: друг, учитель или Франкенштейн? Откровения тех, кто живёт в мире открытого кода

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

25 августа отмечается международный день Линукс, именно в этот день 33 года назад Линус Торвальдс завершил работу над первой версией ядра. В этом материале мы поговорили с коллегами, для которых Linux это не только рабочая, но и домашняя реальность, и попытались выяснить, что же это за великий и ужасный Linux. 

34 года назад Linux был скромным хобби-проектом, а что же сегодня? Сегодня операционные системы на базе Linux действительно завоевали весь цифровой мир! Вот лишь несколько цифр, которые показывают, как далеко шагнула система:

Читать далее

SSH с авторизацией в Keycloak? Легко

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

Привет, %username%! Уважаю твое личное время, поэтому без лишних слов - сразу к делу. В этой статье я кратко опишу, как настроить доступ к удаленному серверу по SSH с использованием Keycloak. Разберем, в чем преимущества этого решения, и что именно происходит в процессе такой авторизации.

Читать далее

DHCP: настройка серверов, Relay и анализ трафика в Wireshark

Время на прочтение16 мин
Охват и читатели13K

Приветствую! В любой сети устройства должны получать IP-адреса, шлюзы и DNS-серверы, чтобы корректно обмениваться данными и иметь доступ в Интернет. Конечно, можно настраивать всё вручную, но в реальной жизни это неудобно и часто приводит к ошибкам. На помощь приходит протокол DHCP (Dynamic Host Configuration Protocol). Его задача проста - автоматически раздавать клиентам все необходимые сетевые параметры, включая IP, маску подсети, шлюз и DNS.

В этой работе мы подробно разберём, как работает DHCP, от процесса обмена сообщениями DORA (Discover, Offer, Request, Acknowledge), через анализ сетевого трафика в Wireshark, до настройки DHCP-сервера на MikroTik и Ubuntu-Server. Мы также рассмотрим дополнительные возможности протокола, такие как DHCP Relay, который позволяет обслуживать клиентов в других подсетях.

Читать далее

В продолжение NGFW из RedOS

Время на прочтение34 мин
Охват и читатели7.4K

Ну что ж, около года назад вышла версия RedOS 8. А значит пора обновить статью про NGFW на новой версии ОС.
Версия 7.3.х Захабрена и завичена

Что включено:

Читать далее

Как унифицировать интерфейс Linux-приложения в разных фреймворках. Опыт редизайна РЕД ОС 8

Время на прочтение5 мин
Охват и читатели7.5K

Привет, Хабр! Меня зовут Артём, и я ведущий дизайнер РЕД ОС. В сегодняшнем материале расскажу, как мы нашли решение, которое позволяет привести приложения РЕД ОС 8 к единому стилю в разных графических окружениях и добиться автоматизации этого процесса. Наш опыт пригодится разработчикам и дизайнерам интерфейсов, а также будет интересен тем, кто следит за развитием продукта.

Читать далее

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

Goffeeйнная гуща: актуальные инструменты и особенности группировки GOFFEE в атаках на Россию

Время на прочтение13 мин
Охват и читатели5.7K

В течение 2024 года несколько российских организаций обращались к команде по реагированию на киберинциденты экспертного центра Positive Technologies (PT ESC IR) для расследования инцидентов, между которыми удалось обнаружить сходство. В рамках анализа вредоносная активность инцидентов была объединена в один кластер и связана с группой Goffee, атакующей российские организации с помощью фишинга с 2022 года.

В этой статье мы расскажем про вредоносное ПО, которое используют злоумышленники в атаках, в том числе речь пойдет о ранее неизвестном рутките под Linux, который был замечен в одном из инцидентов.

Читать далее

Реализация утилиты cat на языке C

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.9K

Когда я только начинала изучать язык C, меня довольно сильно пугала его "топорность" по сравнению с другими языками. Все довольно строгое, управляемое вручную, но именно этим он и привлек меня. Потому что ощущение, будто ты напрямую разговариваешь с системой.

В какой-то момент в моем поле появилась задачка: написать две утилиты линуксоидного существа cat и grep. Несмотря на то, что они кажутся довольно простыми, они оказались отличной возможностью погрузиться в работу с файлами, и понять, даже поверхностно, как работает язык C и с чем его едят. 

В статье постараюсь рассказать и показать ход своих мыслей и почему теперь я смотрю на консольные команды совсем иначе. В этой статье я подробно остановлюсь только на реализации утилиты cat.

Что за зверь этот Cat

Cat показалась мне более простой в написании, чем grep, да и частично grep строится на базе cat – тоже читает данные из файла, тоже работает со строками, но с небольшим нюансом в виде фильтрации.

Что нам важно понимать на старте?

Читать далее

Linux для начинающих: WSL — это читерство. Как Microsoft дал нам Linux без головной боли. Часть 2

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

WSL2 — удобный инструмент, но, как и любая технология, он не идеален. В этой статье я хочу рассказать о нескольких подводных камнях, с которыми столкнулся сам, и о том, как их можно обойти. Мы не только разберем решения распространенных проблем, но и раскроем потенциал WSL2: запустим Docker с GPU-ускорением для нейросетей и даже Android Studio. Забудьте о конфликтах сред и долгой настройке после переустановки системы — превратите WSL2 из источника проблем в мощный инструмент, который работает на вас

Читать далее

ChatGPT против моего скрипта для очистки системы: кто кого?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.8K

Привет, Хабр! Какое‑то время назад, в процессе изучения bash‑скриптов, старался углубляться в тему и искал себе больше практики посредством решения любых, даже мельчайших задач. Одной из таких был скрипт, удаляющий временные файлы, старые дампы, папки node_modules от давно забытых проектов. Нашёл его на днях совершенно случайно. Протестил его на виртуалке, скрипт рабочий, но ужасно костыльный и неприятный визуально.

Какая у меня появилась идея? Проверить, сможет ли ChatGPT сделать то же (и насколько качественно), что и я, но грамотнее и «элегантнее». Результат получился весьма поучительным: ИИ отлично справился с архитектурой, но очень пытался угробить систему парой строчек. Далее расскажу, как это было.

Читать далее

Подключение к нескольким Linux-серверам по SSH без ввода пароля: пошаговое руководство

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели13K

Я давно работаю с Linux-серверами, и одна из вещей, которая меня всегда раздражала, — это постоянный ввод паролей при подключении по SSH. Представьте: у вас несколько машин, и каждый раз стучать по клавишам, вспоминая, какой там пароль... Но есть простое решение — использовать SSH-ключи. Это как цифровой пропуск: один раз настроил, и дальше всё идёт как по маслу. В этой статье я расскажу, как это сделать шаг за шагом, особенно если вы новичок в Linux или SSH. Я постараюсь объяснить все термины по-человечески, без лишней зауми, и добавлю пару советов из личного опыта. Давайте разберёмся!

Читать далее

Деградация батареи в Linux

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

Мы все знаем, что батарея не вечна. Это нормально — можно заменить изношенную батарею в сервисе и снова использовать устройство. Но очень полезно видеть текущее состояние батареи. В MacOS это стандартная функция, в Linux мы, конечно, можем сделать то же самое. Давайте разберёмся!

Читать далее

Эффективное использование LLM в командной строке

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.4K

ИИ уже стал привычным инструментом в ИТ. Мы используем LLM‑модели через веб-интерфейсы, API в коде, плагины и отдельные приложения. Но существует ещё один удобный способ взаимодействия с ними — командная строка.

Читать далее