/usr/bin
4.35K subscribers
48 photos
721 links
Канал для пользователей и администраторов Linux-систем: управление, инфраструктура, технические детали, новости и прочее. Для связи: @antoniusfirst

@monitorim_it — канал о мониторинге ИТ
Download Telegram
Usage notes for nc command

Несколько рекомендаций по использованию утилиты nc для диагностики проблем с сетью. Читать далее.
Structured Logging in a Shell Script with jq

Доработка скриптов для структурированного ведения логов означает, что вы можете себе помочь сократить среднее время решения проблем. Мы напишем простую функцию-оболочку вокруг jq, чтобы улучшить сообщения в логе. Читать дальше.
:(){ :|: & }; :

Это простой Bash-скрипт, который сделает всё, что нужно. Или не нужно. По сути, это создание процессов, которые ничего не делают, кроме как снова создают себя. В этой статье метод борьбы с таким типом атаки при помощи конфигурации limits.conf.

Вот описание того, что происходит:

:() — This is a simple function definition, '<function-name>()'. In this case, the function name is ':'. As defined, this function accepts no parameters.

{ — Begin Function Definition.

:|: — Call the function & pipe it to the same function. Simple recursion technique.

& — Send the process to background so it cannot be killed with simple Ctrl+C.

}; — Terminate Function Definition.

: — Call the Function ':'.
Resource Limits in Linux | limits.conf

Продолжение вчерашней статьи о безопасности Linux. Вы узнаете какие ещё есть настройки в limits.conf. Читать дальше.
Курс для тех, кто отвечает «Jenkins»

Специально для тех, у кого Jenkins падает при каждом деплое, в Слёрм есть курс от Кирилла Борисова, Infrastructure Engineer технологического центра Deutsche Bank. В курсе будет много кейсов и примеров из практики спикера, которые помогут научиться работать с инструментом так, чтобы все работало стабильно и предсказуемо 😎

Старт — 6 сентября.

Здесь можно ознакомиться с подробной программой и подобрать удобный формат обучения 👉 https://slurm.club/3Pzjfx8
Пособие по программированию модулей ядра Linux. Ч.1

Перед
вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав лицензирование, передачу аргументов командной строки и прочие нюансы. Читать дальше.
Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом

polkit — это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Читать дальше.
Большое количество курсов и полезного материала для системных администраторов и безопасников:

https://t.me/Social_engineering/2002

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

https://t.me/S_E_Book/2664

#реклама
Разработка драйвера сетевого адаптера для Linux. Часть 1

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

Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью. Читать дальше.
Linux: How to rsync between two remote servers that do not communicate each other

rsync широко используется системными администраторами для синхронизации файлов между серверами. Сценарии, с которыми я сталкивался до сих пор, были простыми: «синхронизировать файлы с удаленного хоста на локальный» или «синхронизировать файлы с локального на удаленный хост».

Но сценарий, с которым мне недавно приходилось иметь дело, заключался в синхронизации файлов между двумя удаленными серверами с использованием третьего сервера между этими двумя удаленными серверами. Причиной этого было то, что между двумя удаленными серверами не было связи из-за ограничений брандмауэра, и это не могло измениться быстро или легко из-за корпоративной политики. rsync не поддерживает синхронизацию двух удаленных серверов, поэтому я начал думать об альтернативах. Читать душещипательную историю.
Linux: How to compress data in a remote server and save them locally in one command!

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

⚡️ Удаленный сервер мог исчерпать место на диске во время сжатия

⚡️ Требуются дополнительные команды для загрузки и удаления сжатого файла.

Читать дальше.
Python для инженеров — курс, где не будем отвлекаться на абстрактные задачи, а займёмся тем, что действительно нужно в работе, например:

— Написать модуль управления правами для ansible,

— Внедрить commit conventions и генерировать ченджлоги из коммитов при слиянии dev-бранча с релизным.

Смотреть программу курса

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

Занять место можно со скидкой 16,99%, если подписаться на вот этот канал
Как превратить пишущую машинку в терминал Linux

Пятничное. Кто не любит звук старой пишущей машинки? Я точно люблю! Вот почему я работаю над превращением своей пишущей машинки Brother AX-25 в терминал Linux.

Клавиатура машинки подключена по матрице 8x11 с помощью кабелей на 8 пинов и на 11 пинов. Когда один из пинов строки соединяется с пином столбца после нажатия клавиши, пишущая машинка обнаруживает это и печатает соответствующий символ.

Матрица клавиатуры пишущей машинки управляется двумя мультиплексорами Arduino Uno. Я использовал мультиплексоры от Amazon, но для этого подойдёт любой цифровой или аналоговый мультиплексор, если он имеет более 11 каналов. Arduino может обмануть пишущую машинку и заставить её думать, что была нажата клавиша. Для этого нужно выбрать канал на каждом мультиплексоре и соединить контакты. Читать дальше.
Memory Management in Linux

Управление памятью в Linux состоит из двух основных компонентов:

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

б). Второй обрабатывает виртуальную память, отображаемую в памяти в адресное пространство активных процессов.

Читать дальше.
Stop using Virtual Box on Linux

..используйте Virtual Machine Manager вместо Virtual Box

Вот почему вы должны использовать Virtual Machine Manager вместо Virtual Box. Читать дальше.
Linux: how to add a filesystem to fstab the right way

Если имя устройства для хранения /dev/sdb1, это означает, что это первый раздел второго жесткого диска, но нет гарантии, что /dev/sdb1 всегда будет именован /dev/sdb1. В зависимости от порядка подключения жестких дисков к материнской плате он может меняться, а использование внешних USB-накопителей может еще более усложнить присвоение имен устройствам. Если это произойдет, ваши жесткие диски могут быть смонтированы в неправильных точках монтирования, что приведет к потере или повреждению данных.

Решение этой проблемы состоит в том, чтобы смонтировать диски, используя их метки или их UUID. Я предпочитаю использовать метки, потому что у меня есть возможность установить специальную метку, чтобы увидеть метки дисков. В этой статье расскажу про утилиту blkid. Читать дальше.
Bash: execute a script only when no other instance of the script is running

Если вы системный администратор или разработчик, скорее всего, вы используете cron и в большинстве случаев задания завершается очень быстро. Но так бывает не всегда. В этой статье о настройке проверки работы аналогичного задания, чтобы исключить их одновременную работу. Читать дальше.
The Linux Swiss army knife

Какие команды выводять данные о системе. Читать дальше.
Пособие по программированию модулей ядра Linux. Ч.2

Это продолжение предыдущего поста.

В первой половине текущей части подробнее разберём структуру и принцип действия модулей, узнаем, чем отличается пространство пользователя от пространства ядра, а также немного поговорим об использовании памяти. Вторая же половина будет посвящена одному из типов модулей — драйверам устройств, основы работы с которыми мы также подробно рассмотрим. Читать дальше.
Formatting text as a table with bash

В этой статье пойдет речь о возможнях bash в целях форматирования текста. Читать дальше.