/usr/bin
4.75K subscribers
147 photos
899 links
Канал для пользователей и администраторов Linux-систем: управление, инфраструктура, технические детали, новости и прочее.

Реклама и цены: @gals_ad_bot
Вопросы: @antoniusfirst

@monitorim_it — канал о мониторинге ИТ
Download Telegram
Шпаргалка по Systemd и Journalctl

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

@usr_bin_linux
🔥9👍4
Как создать безопасный сервер Linux

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

В статье разобраны базовые настройки ОС для повышения защищенности сервера.

@usr_bin_linux
🔥11👍4
Практическое руководство по IPTABLES: правила, примеры и лучшие практики безопасности

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

@usr_bin_linux
👍6🔥6
Как разобраться c сетевыми настройками Linux, не читая 500-страничную книгу

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

@usr_bin_linux
🔥8👍2👎2
Лайфхаки по написанию скриптов на Bash, которые должен знать каждый разработчик

Большинство разработчиков «знают» Bash так же, как и Git: ровно столько, чтобы справляться. Несколько команд в памяти. Скрипт скопирован со Stack Overflow. Молитва перед нажатием Enter.

Но Bash — это не просто язык программирования для энтузиастов Linux или специалистов по DevOps. Это невидимая сила, стоящая за автоматизацией, отладкой, деплоями, обработкой данных и бесчисленным количеством повседневных задач. Разница между медленным разработчиком и пугающе эффективным часто сводится к тому, насколько хорошо он владеет shell’ом.

Эта статья не о запоминании малоизвестных флагов. Она о практических приемах написания скриптов на Bash — небольших идеях, оказывающих огромное влияние. Идеях, которые делают ваши скрипты безопаснее, чище и проще в обслуживании. Идеях, которые вы хотели бы увидеть много лет назад.


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

@usr_bin_linux
👍9🔥4
Каждый баг, который я когда-либо исправлял, начинал иметь смысл только после того, как я понял эти 7 уровней

Спустя три года работы я потратил две недели на отладку причин, по которым наш API случайным образом возвращал ошибки 502. Логи были чистыми. Приложение работало исправно. Все указывало на то, что проблем нет.

Затем мимо проходил сетевой инженер и спросил: «А ты проверял, совпадает ли таймаут keepalive у балансировщика нагрузки с таймаутом сервера приложения?»


Интересный подход для дебага приложений на основе 7 уровней модели OSI.

@usr_bin_linux
🔥15👍4👎1
Как ведет себя Podman в файловой системе

Механизм работы с файловой системой в Podman очень схож с Docker. Но есть несколько нюансов. Так как Podman разрабатывался с упором на безопасность и rootless, порой возникают неочевидные ошибки при монтировании volumes.


В статье рассмотрены детали работы Podman с файловой системой.

@usr_bin_linux
🔥9👍2
Как я определял дистрибутивы Linux по установленным пакетам, и при чем тут KUMA?

Работаю я SOC-аналитиком в большой компании. Сижу, разбираю очередной инцидент, заходит ко мне начальство и говорит: "Нам необходимо знать, какие ОС используются у нас в компании" - эти данные необходимы, чтобы мучить сисадминов с обновлением ОС. Та самая вечная борьба сисадминов и безопасников. В каждой большой компании ведется учет пк/серверов и ОС на них, но перебирать ~18000 устройств у меня желания не было, начал думать, как бы всё это автоматизировать.


В статье рассказывается как при помощи API KUMA (Kaspersky Unified Monitoring and Analysis Platform) собрать нужные данные по ОС.

@usr_bin_linux
🔥6👎5👍2
Безопасность системы Linux: как предотвратить «плохие действия» других пользователей на общем сервере

Безопасность систем Linux можно считать платформой с наилучшими практиками для принципа «минимальных привилегий», особенно когда несколько пользователей совместно используют и обслуживают один сервер. Правильная настройка прав доступа в таких ситуациях может быть довольно сложной. Для решения этой проблемы необходимо строго ограничить использование привилегий ROOT. Кроме того, реализация контроля доступа с помощью iptables также может обеспечить существенную защиту от уязвимостей процессов.

Читать дальше в статье.

@usr_bin_linux
🔥5👍3
Как я искал замену MinIO S3 и написал свой S4 на Rust

В начале 2025 года компания MinIO в лице сооснователя Harshavardhana начала поэтапно сворачивать свою версию Community Edition. В феврале из open-source версии был вырезан веб-интерфейс администрирования - управление политиками, мониторинг, репликация, IAM - всё это переехало в коммерческий продукт AIStor с ценником от $96 000 в год. Пользователям оставили лишь базовый object browser и CLI-утилиту mc. В мае последовало удаление поддержки OIDC-аутентификации. В октябре MinIO прекратил публикацию Docker-образов и готовых бинарников - причём аккурат в момент раскрытия критической CVE-уязвимости. А в декабре 2025-го проект официально перешёл в режим maintenance mode: никаких новых фич, pull request'ы не принимаются, только точечные security-фиксы по усмотрению компании.


В статье автор рассказывает про собственное решение, размещенное на Гитхабе.

@usr_bin_linux
🔥15👎4👍1
Запускаем Tetris на домашнем роутерe

Интернет пестрит информацией о том, как запускают DOOM на различных устройствах. Захотелось и мне запустить Doom на своём стареньком роутере TP-Link WR-841N. Как видно из заголовка статьи, у меня этого не получилось, но результатом стало понимание основ написания прошивок роутеров и запущенный на роутере тетрис.

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


Подробности в статье на Хабре

@usr_bin_linux
🔥5👍4
Ansible, HCV и AD: как автоматизировать ввод Linux-серверов в домен без рисков по ИБ

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

Начать его я решил с базы для себя - заведения ВМ под управлением Linux в службу каталогов для централизованной аутентификации и управления правами (по моим расчётам, каждое такое мероприятие занимает в среднем 10-15 минут на одну машину, с постоянным лазанием в заметки, и если "всё идёт по плану").

Дисклеймер: плейбуки составлены с учётом того, что ВМ в инвентаре имеют ось на базе Ubuntu 18.04 и старше, сам же узел управления - ansible core 2.20.3, в качестве службы каталогов используется Active Directory.


Подробности в статье.

@usr_bin_linux
👍5🔥5
Cнижаем энергопотребление видеосервера на Linux с помощью измерителя тока

Меня тут давно донимает вопрос снижения энергопотребления в квартире, так как ежемесячный расход электроэнергии каждый месяц переваливает за 300 киловатт. В связи с этим решил понаблюдать за работой домашнего видеорегистратора. Для этих целей крутится небольшой сервачок (Debian Linux) на MiniITX с Ryzen 3 3200GE, который обслуживает несколько IP-камер и пишет их с помощью Xeoma (а также параллельно крутит Home Assistant).

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

Далее попытался понять, как мне снизить энергопотребление и выявил интересную особенность... К серверу подключён монитор, который в графическом интерфейсе отображает картинку с видеокамер. В таком режиме работы процессор нагружен на 80-90% по всем ядрам.


Подробности в статье.
🔥7
Как я пытался подключиться по SSH к ноутбуку в соседней комнате — и провалился в кроличью нору Windows-маршрутизации

История о SSH-подключении, которое должно было занять 30 секунд, но вместо этого превратилось в археологические раскопки таблицы маршрутизации Windows, борьбу с VPN-клиентом, перетасовку сетевых интерфейсов и другими неприятностями.

Я решил заменить арендованный VPS своим старым ноутбуком — он мощнее и не требуется арендной платы. Но начиная с первого же ssh root@192.168.31.197 словил массу проблем. В статье мы не придем к моей изначальной цели — организовать собственный self-hosted VPS, а всего лишь сумеем подключиться к моему ноуту в рамках моей локальной сети — прикиньте, это оказалось чертовски сложной задачей.


Подробности в статье.

@usr_bin_linux
🔥8👍1
Upgrade Enterprise Linux c версии 7 на версию 8 с сохранением данных

Давно уже наступил срок End of Life у Enterprise Linux 7, но возможно на ваших серверах он еще есть в работе. Затягивание процесса переноса могло произойти по разным причинам: сложные процессы миграции, необходимость в дополнительных мощностях для маневра, длительность процесса переноса, зависимость от бизнес-процессов заказчиков.

Зачастую upgrade ОС на месте — самый удобный способ.


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

@usr_bin_linux
🔥8
Почему половина бытовой техники на самом деле — это маленькие Linux-компьютеры

Когда я впервые подключился по UART к обычному бытовому устройству, я ожидал увидеть примитивную прошивку на микроконтроллере. Но вместо этого на экране терминала внезапно появились строки загрузки Linux. С тех пор у меня появилась странная привычка: если какое-то устройство попадает ко мне в руки, я почти автоматически ищу на плате UART, JTAG или хотя бы тестовые пины.

И знаете что? Linux внутри оказывается намного чаще, чем можно ожидать.

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


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

@usr_bin_linux
👍5🔥4
witr (Why is this running?)

Утилита witr отвечает на один-единственный вопрос:

Почему это запущено?

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

Существующие инструменты (ps, top, lsof, ss, systemctl, docker ps) предоставляют доступ к состоянию и метаданным. Они показывают, что запущено, но оставляют пользователю возможность самостоятельно определить причину, вручную сопоставляя результаты работы разных инструментов.

Репыч на Гитхаб

@usr_bin_linux
🔥11👍7
Основы системного администрирования Linux: от командной строки до веб-сервера

Меня периодически спрашивают — как стать системным администратором? С чего начать изучать эти ваши линуксы?

Я честно несколько раз делал подходы, искал курсы и книги на русском языке, но всё было как-то не то.

А потом я подумал — это же про линукс. Здесь, когда какая-то утилита тебя не устраивает, ты пишешь yet another tool.

Поэтому я взял и написал книгу.

Это буквально для тех, кто делает (или собирается делать) самые первые шаги.
Начиная от «как пользоваться консолью», заканчивая базовым CI (Что? Да!).

Разумеется, она не сделает читателя системным администратором.

Но я скромно надеюсь, что она даст направление. Знаю по себе, что часто очень важно знать куда копать. Поэтому я расставил указатели как мог.


Главы книги в репыче на Гитхабе

Книга в PDF

Короткое описание на Хабре

@usr_bin_linux
🔥14👍2
ocservice — bash инструмент для управления ocserv VPN сервером

У вас конечно же нет VPN сервера ocserv, но возможно у какого-то абсолютно незнакомого человека он есть — с десятками, а может сотней пользователей. И этот незнакомый человек наверняка знает эту боль: каждый раз при добавлении нового клиента нужно вспоминать команды, лезть в документацию, не забыть обновить CRL, правильно экспортировать .p12. Когда этот гипотетический человек в очередной раз забыл флаг --legacy в openssl и получил нечитаемый файл сертификата — он вероятно захотел бы какое-нибудь автоматизированное решение.

Я написал набор bash скриптов для этого человека, чтобы автоматизировать рутину. Скрипт изначально создавался именно под связку ocserv + easy-rsa, поэтому глубоко интегрирован с её структурой PKI. Потом я решил привести код в порядок и выложить — вдруг найдутся ещё люди, которым он пригодится.


Подробнее в статье

@usr_bin_linux
🔥12👍4
За что я полюбил FreeBSD

Когда я впервые заглянул во FreeBSD Handbook в 2002 году, то не мог поверить своим глазам. За шесть лет работы с различными дистрибутивами Linux, о чём у меня уже была статья, я научился выискивать документацию по кусочкам — часто неполную или устаревшую, причём иногда спустя всего год. Здесь же операционная система сопровождалась полноценным, точным и достаточно свежим подробным руководством. В то время я уже был убеждённым сторонником Open Source, но рассуждал очень практично. Если разработчики этой ОС вкладывают так много усилий даже в её документацию, то представьте, насколько проработанной должна быть сама система. Короче, я решил её попробовать. Тогда у меня был Sony Vaio, где не было места для второй операционки. В итоге я скопировал все данные на настольный ПК, собрался с духом и принял решение установить на этот ноут FreeBSD, а по завершении эксперимента снова вернуть на него Linux.


Сочинение на тему (читать перевод статьи на Хабре)

@usr_bin_linux
👍11🔥5👎2