Как стать автором
Обновить
41.97
Рейтинг

*nix *

Хаб про UNIX-подобные операционные системы

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

Экспериментальная разработка эксплойта для Use-After-Free

Блог компании RUVDS.com Информационная безопасность **nix *
Перевод

Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь.
Читать дальше →
Всего голосов 39: ↑38 и ↓1 +37
Просмотры 3.7K
Комментарии 1

Новости

Сеть однородных линуксов [reoser]

Настройка Linux **nix *Облачные вычисления *Облачные сервисы
Tutorial

Всем привет. В своей предыдущей статье я описал общую идею создания площадки, где люди смогут объединяться в одну общую железячную сеть и использовать мощности друг друга. В основе этой идеи лежит идея создания распределенного кластера Kubernetes, к разворачиванию которого я планирую в скором времени приступить.

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

Поскольку ожидается, что изъявить желание подключиться к этой сети может любой пользователь с любыми железом и операционной системой (например, не только линукс, но и bsd системы и андроид, который является сильно урезанными линуксом), то хотелось бы иметь скрипт / программу / проект, который сможет сравнять все системы до одинаковых однородных линуксов по причинам, описанным выше. При этом в качестве реального железа может выступать и виртуальное, когда человек на своем оборудовании отрезает под виртуальные нужды часть своих мощностей и отдает их в сеть hardware банкинга.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 2.8K
Комментарии 3

Pineapple Nano своими руками Часть 2. Прошивка устройства

Информационная безопасность **nix *Беспроводные технологии *DIY или Сделай сам

Сборка своего "хакерского чемоданчика", или как я портировал ПО от Pineapple Nano в доработанный роутер MR3020, все подробности в статье. Вперед!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3.2K
Комментарии 2

Как создать образ диска в Linux с несколькими разделами, не имея физического образца

Настройка Linux **nix *Разработка под Linux *
Из песочницы
Tutorial

Здравствуй дорогой читатель данного руководства. Меня зовут Андрей, и нет, я не алкоголик, а разработчик встраиваемых систем на базе Linux.

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

Для чего это нужно? Все процессорные платы, разрабатываемые нашим предприятием, обладают слотом для sdcard и установленной на плате mmc. Загрузка системы производится либо с sd, либо c mmc. sd-карта является, как правило, временным решением, подкупает простотой установки. А mmc является постоянным решением, куда устанавливается уже финальное программное обеспечение. Переключение между способами загрузки осуществляется перемычками (джамперами на плате).

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 5.8K
Комментарии 22

Telegram inlineKeyboard. Оценка качества обслуживания после звонка

Мессенджеры *PHP **nix *Asterisk *Разработка под Linux *
Tutorial

Я занимаюсь разработкой АТС с открытым исходным кодом MikoPBX.

Недавно познакомился с проектом tg2sip. Шлюз позволяет подключить Telegram аккаунт к офисной АТС, принимать и совершать звонки.

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

При попытке реализовать функцию столкнулись со сложностями:

- Пользователь не может отправлять / пересылать клавиатуру другому пользователю

- Бот не может писать пользователю, если тот на него не подписан

Как же быть? Решение опишу под катом

Приступим...
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.1K
Комментарии 0

Начала Docker для юнги

Разработка веб-сайтов **nix *DevOps *
Tutorial

Туториал по основам докера в котором простыми словами объясняется, как собирать образы и разворачивать контейнеры. Тут же можно узнать, чем контейнер отличается от виртуалки, что такое образ и увидеть простой кейс.

Окунуться
Всего голосов 22: ↑19 и ↓3 +16
Просмотры 12K
Комментарии 26

Как я дал вторую жизнь некроноуту Fujitsu Siemens amilo pro v2035 с помощью lubuntu

Настройка Linux *Open source **nix *Ноутбуки
Из песочницы

Ещё со студенческой скамьи у меня остался ноутбук Fujitsu, который тогда верой и правдой мне служил для постижения азов Паскаля и Си, а также для серфинга интернетов и героев 3.

Конечно же, более-менее современные ОС не рассчитаны на машину с одноядерным процессором Celeron и 1Gb оперативной памяти, поэтому я обратился к легким
дистрибутивам линукса.

Целью было поупражняться с линуксом, получить работающую консольку для каких-то повседневных задач, вроде запуска какого-нибудь простейшего бота, установки напоминалок крона или хостинга статического сайта.

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 5K
Комментарии 35

Кросс-компиляция NGINX (для случая GCC)

Open source *Nginx **nix *Разработка под Linux *

NGINX — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, изначально написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных сайтов.


Однако кросс-компиляция NGINX практически невозможна, поскольку разработанные Игорем Сысоевым скрипты конфигурирования исходного кода в большинстве случаев используют так называемую процедуру «Try Run».


Те кто знаком с утилитами Autoconf, Automake знают, что проверки необходимых параметров системы и кросс-компилятора осуществляются различными процедурами, которые, в свою очередь, могут применять попытки сборки исходного кода (Try compile), линковки объектных файлов (Try link) и, наконец, попытки запуска тестовых программ (Try Run).


Естественно, если речь идет о кросс-сборке, операции «Try Run» недопустимы, ведь мы не можем запустить программу, собранную под целевую архитектуру отличающуюся от архитектуры машины сборки на самой машине сборки.


В Autotools проблемы, связанные с невозможностью запуска целевых программ на сборочной машине в некоторых случаях решаютcя кешированием переменных, которые могу быть переопределены пользователем в файле --cache-file или заданы в командной строке вызова скрипта ./configure.


Скрипты Игоря Сысоева не предусматривают такого переопределения машинно-зависимых величин. Однако величин, которые необходимо задать во время конфигурирования исходных кодов NGINX достаточно много. К ним, в первую очередь, относятся размеры типов данных. Именно с них мы и начнем.


Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.5K
Комментарии 4

Terraform модуль для создания RBAC-правил

Блог компании Nixys Системное администрирование **nix *DevOps *

Начиная с Kubernetes 1.6, RBAC политики включены по умолчанию. К тому же использование этих политик помогает безопасно управлять вашим кластером. Раньше нам приходилось вручную создавать подобные политики, сервисные аккаунты и пользователей. Для каждого нового проекта мы проделывали ручные операции, которые отнимали много времени. Особенно создание пользователей, так как требует множества мелких манипуляций. Готового решения, удовлетворяющего нашим требованиям, нам найти не удалось, поэтому мы написали terraform модуль, который упрощает этот процесс. Данный модуль позволяет создавать сервисные аккаунты и пользователей, а затем генерировать готовые конфигурационные файлы (kubeconfig) для них. Также при помощи данного модуля можно создавать роли, кластерные роли и привязывать их к определенным сервисным аккаунтам, пользователям или группам. Модуль можно найти в нашем GitHub репозитории. Для использования модуля  потребуется terraform >= 1.0.0 и kubeconfig, с административными правами.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.5K
Комментарии 2

Установка ubuntu 20.04 с корнем на шифрованном ZFS зеркале и UEFI загрузкой

*nix *

На моей домашней машине вот уже 7 лет работает пара дисков, объединенная в soft raid1. И вот на днях один диск в зеркале наконец начал сыпаться. Появился повод переустановить систему с нуля и начать использовать шифрование, которое 7 лет назад не было задействовано. В процессе гугления о состоянии дел в конфигурации LUKS поверх mdadm я вышел на статью сравнивающей производительность zfs vs mdadm/ext4. А потом нашел другую статью с тестированием производительности зашифрованных дисков использующих LUKS и zfs. Согласно обеим статьям zfs демонстрирует весьма неплохую производительность и я решил попробовать ее в деле.

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 4.6K
Комментарии 10

Решение головоломки Wordle в командной строке

Блог компании RUVDS.com Занимательные задачки *nix *Логические игры
Перевод
Я терпеть не мог, когда родственники заставляли меня играть в Scrabble. Единственное, в чём я был хорош — так это в игре Countdown, в той её части, которая связана с числами. А теперь мне досаждает новая игра со словами Wordle, которая вот уже недели две то и дело выскакивает в моей Twitter-ленте.

Моя проблема в том, что я постоянно забываю слова. Даже между тем моментом, когда начинаю предложение, и тем, когда добираюсь до того его места, где я собирался использовать какое-то слово. Я знаю слова, и не могу сказать, что не понимаю их, когда их мне говорят. Но иногда я не могу их вспомнить, и ничего особо не улучшается даже тогда, когда у меня есть несколько букв, входящих в их состав. А вид перемешанных букв, похоже, только всё ухудшает. Неудивительно то, что любые игры, нацеленные на выдумывание слов, мне безразличны.

Мои первые три попытки решить головоломку Wordle провалились. На четвёртой попытке я застрял, так как не мог придумать ни одного слова, которое соответствовало бы подсказкам. Поэтому я сжульничал и обнаружил, что передо мной было одно слово, которое в точности подходило. Это слово выглядело абсолютно очевидным после того, как я понял, что могу использовать одну и ту же букву дважды. Но, как известно, любой вопрос — это ерунда, когда знаешь ответ.



Как бы там ни было, если вы в чём-то похожи на меня, и при этом у вас под рукой имеются вполне обычные инструменты командной строки Unix, возможно, вам будет интересно узнать о том, как и вы можете играть в Wordle. Даже если вы совсем не дружите со словами.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 4.6K
Комментарии 2

Проброс видеокарты в виртуальную машину

*nix *Виртуализация *Видеокарты
Из песочницы

Две разные системы (win + linux) на одной аппаратной базе - реальность. В этом нет ничего нового или инновационного (на данный момент времени), но если требуется максимальная производительность гостевой системы, то не обойтись без проброса реальных устройств в виртуальную машину. Проброс сетевых карт, usb-контроллеров (etc) экстраординарных особенностей не несёт, а вот попытка "шаринга" ресурсов видеокарты и процессора вполне может принести некоторое количество проблем.

Итак, а для чего, собственного говоря, городить системы с полнофункциональным использованием ресурсов GPU и CPU? Самый простой и очевидный ответ - игры (широко известный факт - если не большинство, то очень многие, написаны под ОС Windows). Другой вариант - полноценное рабочее место с возможностью запуска требовательных приложений (например, CAD-софта), быстрым бэкапом (скопировать файл ВМ куда проще, чем создавать полную копию HDD/SSD) и опцией полного контроля сетевого трафика гостевой системы.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Просмотры 14K
Комментарии 20

Поиск причин замедленной работы redis на виртуальной машине

Блог компании Nixys Системное администрирование **nix *DevOps *


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

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 2.9K
Комментарии 5

Tinc — настройка VPN в Ubuntu

Информационная безопасность *Системное администрирование **nix *
Recovery mode
Tutorial
Tinc — это открытый сетевой протокол и программная реализация, используемая для сжатых и зашифрованных виртуальных частных сетей. Это проект был начат в 1998 году Гусом Слипеном, Иво Тиммермансом и Весселем Данкерсом под лицензией GPL.

К его основным достоинствам относится:
1) Распределенная топология (нет необходимости в мощном сервере VPN).
2) Работет поверх сетей любой топологии, в том числе за NAT и поверх других VPN.
3) Поддерживает активное соединение даже после переключения сети (например с wi-fi на 4g) или при входе и выходе из других VPN.
4) Работет в большинстве операционных систем, в том числе Windows XP.

К этому можно добавить, что tinc входит во все дистирбутивы Linux, то есть его можно установить и сразу пользоваться.

При этом tinc у широкой публики не пользуется популярностью. Одна из причин — очень лаконичная документация, которая создавалась в университетской среде, и поэтому является скорее академической, чем доступной для быстрого прочтения.

В этом сообщении я опишу конфигурацию tinc VPN в операционной истеме Ubuntu.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 5.3K
Комментарии 14

Погружение в работу SWAP ОС FreeBSD

Блог компании Интернет Контроль Сервер Системное администрирование **nix *
Перевод

Оригинал: https://klarasystems.com/articles/exploring-swap-on-freebsd/ 

Свободная память = память, потраченная впустую? Как использовать swap наилучшим образом.

Для современных Unix-систем, таких как FreeBSD, термин “swapping” (подкачка памяти) означает операции по выгрузке данных из памяти на диск (устройство подкачки) и обратно, осуществляемые по требованию. 

Процесс вывода происходит в ответ на отсутствие свободной памяти в системе: ядро пытается вычислить страницы памяти, к которым возможно не будет производиться доступ в ближайшем будущем, и копирует их данные на диск, чтобы сохранить до востребования. 

Процесс выгрузки данных запускается при нехватке свободной памяти в системе: ядро системы вычисляет страницы памяти, которые скорее всего не будут нужны в ближайшем будущем, и  копирует их содержимое на диск, на котором данные хранятся до востребования.

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

Описанная технология выглядит весьма рациональной. Объем памяти дисков обычно больше объема RAM, так почему бы не использовать их для кэширования редко используемых страниц памяти? Однако, для многих опытных администраторов процесс подкачки памяти до сих пор воспринимается как некорректное поведение системы. И этому есть объяснение: до недавнего времени диски, используемые для подкачки памяти, имели задержки доступа в миллионы раз выше, чем у RAM.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.2K
Комментарии 3

[Окончание] Новогодний детектив: странный хайзенбаг в «питоньих» часах

Ненормальное программирование *Python *Программирование **nix *Виртуализация *


Здесь лежит окончание "расследования" Новогодний детектив: странный хайзенбаг в «питоньих» часах.
Изначально хотел просто обновить статью и написать соответствующий комментарий, но понял что апдейт выходит чуть не длиннее самой статьи.


Напомню краткое содержание предыдущей части: python, как впрочем и всё на нем написанное, временами прыгает в будущее, а конкретно в 2023-й год в локальной временной зоне, и по некоторым данным в 2024-й в UTC/GMT (но это не точно) и побыв там некоторое время возвращается обратно в настоящее.


Во время прыжка оно ведет себя довольно стабильно (т.е. считает нано-, микро- и миллисекунды, а то и секунды, как будто время идет как ни в чём не бывало) в 2023-м т.е. локально, при том что в результате повторных прыжков время вновь продолжается как будто по возвращению оно (время) течет в какой-то параллельной вселенной. Однако странное его "отражение" в UTC/GMT, ну то что как будто бы в 2024-м, выглядит менее стабильно, ибо для него наблюдается странные дрейфы дополнительно к смещению прыжка.


Хотя куда уж страннее.

Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 3.2K
Комментарии 9

Кунг-фу стиля Linux: автоматическое генерирование заголовочных файлов

Блог компании RUVDS.com Системное администрирование *C++ **nix *C *
Перевод
Я пробовал много «новых» языков программирования, но как-то так получается, что всегда, когда я возвращаюсь к С++ или даже к C, это наполняет меня радостью. Правда, когда я возвращаюсь к этим языкам, кое-что меня слегка раздражает. Это — то, что мне нужны заголовочные файлы с объявлениями, а так же — отдельный файл, в котором продублирована почти та же самая информация. Я постоянно вношу в код изменения и забываю обновлять заголовочные файлы. Эти файлы не генерируются автоматически при использовании C++ и C. А инструменты, сопутствующие другим языкам, сами заботятся о подобных вещах. Это привело меня к поискам чего-либо, позволяющего автоматизировать генерирование заголовочных файлов. Конечно, некоторые IDE автоматически вставляют объявления туда, куда нужно, но меня всё это, по многим причинам, никогда полностью не устраивало. Мне хотелось что-то маленькое и быстрое, такое, что я мог бы использовать в составе множества различных наборов инструментов.



Я нашёл один довольно старый инструмент, который хорошо справляется с этой задачей. У него, правда, имеются определённые ограничения. Инструмент этот кажется немного запутанным. Поэтому я решил, что о нём стоит рассказать. Речь идёт о makeheaders. Это — часть системы управления конфигурацией программ Fossil. История программы восходит к 1993 году, когда Дуэйн Ричард Хипп (тот самый программист, который создал SQLite) написал её для собственных нужд. Эта программа не особенно сложна: вся она помещается в довольно большом C-файле. Но своё дело она делает: сканирует директорию и создаёт для всего, что найдёт, заголовочные файлы. В некоторых случаях для применения makeheaders нет нужды делать больших изменений в исходном коде, но, если есть такая необходимость, кое-что в нём можно и изменить.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры 4.3K
Комментарии 10

Gitlab-Ci-Pipelines-Exporter

IT-инфраструктура *Git **nix *DevOps *
Из песочницы
Перевод

Я считаю , что это очень полезный инструмент , он позволяет следить за состоянием ваших пайплайнов, job-ов и мониторить переменные окружения, можно отслеживать статусы, продолжительность, и на самом деле там есть очень много интересных настроек

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.8K
Комментарии 5

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года

Open source **nix *


Всем привет!


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


Главные темы нового выпуска:


  1. Новости о распространении и борьбе с катастрофической уязвимостью в Log4j.
  2. Аналитические статьи о катастрофической уязвимости в Log4j.
  3. Конференция «Базальт СПО» — «СПО: от обучения до разработки 2022».
  4. Январский рейтинг языков программирования TIOBE.
  5. «Базальт СПО» получил грант РФРИТ на развитие ОС «Альт».
  6. Сравнение производительности игр при использовании Wayland и X.org.
  7. Наиболее важные события 2021 года по версии OpenNET.
  8. Ларри Лессиг о создании Creative Commons 20 лет назад: «Мы были лучше, чем казались. Раньше наша доброта не была видна».
  9. Новогоднее обращение от председателя совета директоров Linux Foundation.
  10. «Open Source 2022: год осознания».
  11. Число уязвимостей WordPress более чем удвоилось в 2021 году, и 77% из них являются эксплуатируемыми.
  12. 30 команд, необходимых для освоения интерфейса командной строки Git.
  13. «Python: Явное лучше неявного».
  14. Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах.

И многое другое…




В составлении дайджеста мне помогали qark, invasy и 6 пользователей через нашего Telegram бота [→], приглашаем вас тоже помочь нам через этого бота.


Ещё — мы не только составляем FOSS-дайджесты, но и автоматизируем процесс, все 3 проекта автоматизации тоже являются FOSS, их можно посмотреть на GitHub [→].


Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 3.3K
Комментарии 0

Делай добро и бросай его в воду: бесплатно поднимаем obfs4-бриджи в Oracle Cloud

Децентрализованные сети Системное администрирование **nix *Облачные сервисы
Из песочницы

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

Надеюсь, ты уже слегка отошёл от новогодних праздников и возвращаешься в привычную колею. Лично я эти длинные выходные терпеть ненавижу и, посмотрев, по традиции, режиссёрские версии "Хоббита" с "Властелином Колец" дня за 3-4, начинаю от скуки лезть на стену и остервенело искать, чем бы себя занять. Не стал исключением и прошедший год - в этот раз сердце успокоилось с помощью авантюры с участием бриджей Тора, ораклового облака и вполне реальной возможности заполучить ценный лут.

Но давайте обо всём по порядку.
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 6.2K
Комментарии 17

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