Системный администратор
26.4K subscribers
3.22K photos
2.91K videos
208 files
3.4K links
Все для системного администратора.

По всем вопросам @evgenycarter

РКН clck.ru/3KoDXp
Download Telegram
💥 Почему твой Bash-скрипт опять упал на проде? (wiki на 🇬🇧)

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

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

👉 Bash Pitfalls - это, без преувеличения, самый важный ресурс по безопасному шелл-скриптингу в интернете.

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

🟢До сих пор используете for f in $(ls *.mp3)?
🟢Забываете кавычки в if [ $foo = "bar" ]?
🟢Не знаете, в чем опасность echo $variable?

Вам срочно сюда. Потратьте час времени, и вы сэкономите себе десятки часов отладки в будущем.

🔗 Читать Bash Pitfalls: https://mywiki.wooledge.org/BashPitfalls

#scripting #bash #devops #troubleshooting

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Частые ошибки программирования на Bash

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

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.



1. for i in ls *.mp3

Одна из наиболее часто встречающихся ошибок в bash-скриптах — это циклы типа такого:


for i in `ls *.mp3`; do # Неверно!
some command $i # Неверно!
done



Это не сработает, если в названии одного из файлов присутствуют пробелы, т.к. результат подстановки команды ls *.mp3 подвергается разбиению на слова. Предположим, что у нас в текущей директории есть файл 01 - Don't Eat the Yellow Snow.mp3. Цикл for пройдётся по каждому слову из названия файла и $i примет значения: "01", "-", "Don't", "Eat", "the", "Yellow", "Snow.mp3".

Заключить всю команду в кавычки тоже не получится:


for i in "`ls *.mp3`"; do # Неверно!
...


https://habr.com/ru/articles/47706/

📲 Мы в MAX

👉 @i_odmin
👍61
Уязвимость buffer overflow в ядре Windows 👇

Buffer overflow в kernel-mode — один из самых опасных классов уязвимостей. Их анализ требует понимания архитектуры драйверов, особенностей выполнения кода в ядре и типовых ошибок разработчиков.

📅 На открытом уроке 5 февраля разберём, как выглядят уязвимости buffer overflow в драйверах Windows, какие подходы применяются для их анализа и какие базовые техники используются при эксплуатации в kernel-mode. Отдельно обсудим паттерны, которые помогают находить похожие дефекты при реверсе и аудите кода.

Урок пройдёт будет полезен специалистам по информационной безопасности, реверс-инженерам, вирусным аналитикам и системным программистам Windows.


👉 Записаться: https://vk.cc/cTSUge

Этот вебинар проходит в формате бесплатного открытого урока курса «Reverse Engineering» от OTUS.

Реклама. ООО «Отус онлайн‑образование», ОГРН 1177746618576
1👍1
Сравнение виртуальных машин (VMs) и контейнеров.

🔵Виртуальные машины:
- Каждый экземпляр виртуальной машины включает гостевую операционную систему (Guest OS), библиотеки/бинарные файлы (Bins/Libs) и приложения.
- Работают через гипервизор, который управляет виртуализацией.
- Требуют больше ресурсов, так как каждая виртуальная машина имеет собственную операционную систему.

🔵Контейнеры:
- Легковесные, используют общее ядро операционной системы хоста.
- Каждый контейнер содержит только приложения и необходимые для их работы библиотеки/бинарные файлы.
- Управляются контейнерным движком (например, Docker, cri-o).
- Более эффективны по ресурсам, так как не требуют отдельной операционной системы для каждого контейнера.

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13💅1
Yandex BareMetal подтвердил высший уровень защиты персональных данных

Коллеги, если вы ищете железо с реальной защитой данных — обратите внимание на эту новость. Сервис по аренде выделенных серверов Yandex BareMetal прошёл официальную аттестацию по высшему стандарту безопасности персональных данных, что значит надёжную защиту и соответствие требованиям ФСТЭК.

Почему это важно

- Храните CRM, бухгалтерию, медицинские и госданные с гарантией защиты
- Физическая изоляция серверов без виртуализации — меньше риска уязвимостей
- Шифрование и контроль доступа
- Полное удаление данных при возврате и физическое уничтожение повреждённых носителей

Техническая составляющая безопасности

- Дата-центры размещены в России, под вашу юрисдикцию
- Модульная L2-связность, исключающая SPOF — повышенная надёжность сети
- Полное стирание данных при возврате сервера, проверяемое аудитом
- Физическое уничтожение дисков, если они выходят из строя

Что предлагается

- Выделенные физические серверы без гипервизора
- Жесткая изоляция ресурсов — минимизация смешения с чужими нагрузками
- Интеграция с Yandex Cloudдля гибридных сценариев
- Гибкая аренда от одного дня, готовые и кастомные конфигурации под задачи

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

👉 Подробнее на сервисе.
😁113🤣3👍2👎2💩1🥴1
Тестирование производительности файловых систем Linux: ZFS, XFS, Btrfs против ext4

Тестирование производительности ZFS, XFS, Btrfs и ext4 на виртуальной машине с Debian 13, и результаты на данный момент весьма любопытны. В тестах dbench самый высокий показатель пропускной способности демонстрирует ZFS, в то время как ext4 показывает самую низкую задержку (latency).

Заметно, что при низкой нагрузке (например, всего несколько потоков ввода-вывода) Btrfs оказывается в лидерах - так что она вполне подойдет для универсального десктопа под игры и мультимедиа.

Однако для серверного использования ситуация иная: пропускная способность ZFS великолепна при высокой нагрузке, в то время как задержки ext4 остаются низкими даже в тяжелых условиях. В противовес им, производительность Btrfs заметно снижается при росте нагрузки.

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Как ускорить навигацию командной строки

++++++++++++++++++++++++++++++
Повторный запуск под root — sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
Как надо: sudo !!
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Повторный ввод последнего аргумента — Alt+
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?

Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
Как надо:

mkdir MyNewDirectory
cd <Alt+.>
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Поиск запущенной команды — Ctrl+R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!

Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?

Как не надо: Вверх. Вверх. Вверх. Enter.
Как надо: Ctrl+R

Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.

(reverse-i-search)cat: sudo cat /var/log/messages
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Переход в начальную директорию — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Возвращение в последнюю директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .

Как не надо: cd /var/www/foo
Как надо: cd -
++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++
Контроль работы: передний план, фоновый режим и проч.
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.

Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.

«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.

user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.
++++++++++++++++++++++++++++++

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
👩‍💻 В Kubernetes приложения редко падают сами по себе.

Чаще проблемы начинаются с трафика: запросы не доходят, ingress ведёт себя непредсказуемо, диагностика превращается в гадание.

И в этот момент становится понятно, что поверхностного знания Service и Ingress уже недостаточно.

На открытом уроке OTUS:
- разберём, как Kubernetes организует общение с приложениями внутри кластера и с внешним миром.
- поговорим о маршрутизации трафика, Service Discovery и архитектуре Ingress-контроллеров.
- покажем, почему Ingress — это не просто входная точка, и как он расширяется через CRD и кастомные контроллеры.

Что вас ждет на занятии:
- получите целостное понимание сетевого взаимодействия в Kubernetes,
- научитесь осознанно выбирать ingress-решения под разные задачи
- разберётесь, когда стандартного NGINX недостаточно.
- отдельно обсудим современные альтернативы и критерии их выбора
- обсудим диагностику проблем с доступностью и трафиком.

📍Встречаемся 3 февраля в 20:00 МСК в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes».

Регистрация открыта: https://vk.cc/cTYH5h

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1💩1
📨 Протоколы безопасности электронной почты

🔹1. SSL/TLS
SSL (Secure Sockets Layer) и TLS (Transport Layer Security) - это протоколы шифрования, которые используются для защиты соединений между почтовым клиентом и сервером.
Ключевые моменты:
- Обеспечивают шифрование данных, чтобы защитить их от перехвата.
- Используются в протоколах передачи почты (SMTP, IMAP, POP3).
- Например, защищенное соединение обозначается как SMTPS (порт 465), IMAPS (порт 993) или POP3S (порт 995).


🔹2. SPF (Sender Policy Framework)
SPF помогает предотвратить подделку отправителя.
Как работает:
- Домены публикуют в DNS список IP-адресов, которые имеют право отправлять почту от их имени.
- Почтовые серверы проверяют, совпадает ли IP отправителя с разрешённым списком.


🔹3. DKIM (DomainKeys Identified Mail)
DKIM защищает письма от подделки.
Как работает:
- Использует цифровую подпись, которая добавляется в заголовок сообщения.
- Получатель может проверить подлинность письма с помощью публичного ключа, опубликованного в DNS отправителя.


🔹4. DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC объединяет SPF и DKIM для усиления защиты.
Ключевые функции:
- Позволяет владельцам доменов указать, как обработать сообщения, которые не проходят SPF или DKIM.
- Генерирует отчёты для отправителей о подозрительных действиях.


🔹5. S/MIME (Secure/Multipurpose Internet Mail Extensions)
Протокол для шифрования и подписания сообщений электронной почты.
Особенности:
- Обеспечивает конфиденциальность благодаря шифрованию содержимого.
- Гарантирует целостность письма и его происхождение с помощью цифровой подписи.


🔹6. PGP (Pretty Good Privacy)
PGP используется для шифрования электронной почты и файлов.
Как работает:
- Предоставляет возможность создавать пары открытых и закрытых ключей.
- Получатель расшифровывает письмо с помощью своего закрытого ключа.


🔹7. Антивирусы и антиспам-фильтры
Современные почтовые системы интегрируют механизмы сканирования писем для выявления вредоносных вложений и фишинговых ссылок.


🔹8. Использование современных стандартов (MTA-STS и DANE)
- MTA-STS (Mail Transfer Agent Strict Transport Security): обеспечивает защиту от атак типа man-in-the-middle (MITM), гарантируя, что сообщения отправляются только через защищённые TLS-соединения.
- DANE (DNS-Based Authentication of Named Entities): добавляет уровень аутентификации через DNSSEC.


Рекомендации для пользователей:
1. Используйте почтовые сервисы с поддержкой SSL/TLS.
2. Настройте SPF, DKIM и DMARC для своего домена.
3. Активируйте двухфакторную аутентификацию (2FA).
4. Регулярно обновляйте почтовые клиенты и серверы.
5. Обучайте сотрудников правилам кибербезопасности.

Эти протоколы и меры обеспечивают защиту от фишинга, перехвата данных и других угроз. Соблюдение рекомендаций минимизирует риски и делает вашу почту безопасной.

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
Как заставить пользователя изменить пароль при следующем входе в систему

Существует несколько способов.

Использование команды passwd
sudo passwd --expire [username]

Использование команды chage
sudo chage --lastday 0 [username]

Срок действия паролей
chage -l
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;

Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90

Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 oleg


Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 boris

Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 boris

Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 boris

Удалить ограничение в днях
sudo chage -m 0 sergey

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Media is too big
VIEW IN TELEGRAM
Сетевые ресурсы Linux

Данное видео представляет собой практическое руководство по эффективному монтированию сетевых папок в операционных системах на базе Linux. Автор подробно описывает преимущества использования опции multiuser, которая позволяет нескольким пользователям одновременно работать с общим ресурсом, используя их собственные учетные данные и права доступа.

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

📺 Если вам удобно смотреть на youtube https://youtu.be/J-J9eqBPTgM

Бонус. На youtube к данному ролику добавили викторину для проверки знаний по данной теме.


📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Основы документирования сетей. Как рисовать понятные и красивые схемы на примере типового дизайна сети

1.Основы документирования сетей. Введение
2.Основы документирования сетей. Чем рисовать? Visio
3.Основы документирования сетей. Чем рисовать?
4.Основы документирования сетей. Структурная схема сети
5.Основы документирования сетей. L3 схема сети
6.Основы документирования сетей. L2 схема сети
7.Основы документирования сетей. Расположение оборудования в стойке
8.Основы документирования сетей. IP-план
9.Основы документирования сетей. Описание настроек
10.Основы документирования сетей. Заключение

источник

📲 Мы в MAX

👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1832🔥1