Идемпотентность: Почему ваш скрипт не должен бояться повторного запуска
Что отличает скрипт новичка от скрипта профессионала? Профессионал стремится к идемпотентности.
Идемпотентность — это свойство операции, при котором её повторное применение к объекту даёт тот же результат, что и первое. Проще говоря, ваш скрипт можно запускать 100 раз подряд, и он не сломает систему. После первого запуска все последующие просто сообщат, что «всё уже в нужном состоянии».
▪️ Зачем это нужно?
Представьте скрипт, который добавляет строку в /etc/hosts. Если запустить его 5 раз, он добавит 5 одинаковых строк. Это не идемпотентно. Идемпотентный скрипт сначала проверит, есть ли такая строка, и добавит её, только если её нет.
Это критически важно для:
Надёжности автоматизации (Ansible, DSC): Все эти системы построены на принципе идемпотентности.
Безопасности: Вы можете быть уверены, что повторный запуск скрипта исправит конфигурацию, а не усугубит проблему.
Предотвращения ошибок: Снижает риск случайного дублирования данных или настроек.
▪️ Как достичь идемпотентности?
Пример в Bash (добавить строку в файл):
❌ Не идемпотентно:
✅ Идемпотентно (с проверкой):
Bash
Пример в PowerShell (создать папку):
PowerShell часто помогает "из коробки".
❌ Не идемпотентно (выдаст ошибку при втором запуске):
✅ Идемпотентно (с проверкой):
PowerShell
Или ещё проще, используя -Force, который подавляет ошибку, если папка существует:
New-Item -Path C:\Temp\MyApp -ItemType Directory -Force
🧠 Взгляд архитектора:
Когда вы пишете скрипт, всегда задавайте себе вопрос: «Что случится, если я запущу его снова через час? А через год?». Мышление в терминах состояний, а не действий — это основа надёжной и масштабируемой автоматизации.
#Automation #Bash #PowerShell #DevOps #BestPractices #Архитектура
Что отличает скрипт новичка от скрипта профессионала? Профессионал стремится к идемпотентности.
Идемпотентность — это свойство операции, при котором её повторное применение к объекту даёт тот же результат, что и первое. Проще говоря, ваш скрипт можно запускать 100 раз подряд, и он не сломает систему. После первого запуска все последующие просто сообщат, что «всё уже в нужном состоянии».
▪️ Зачем это нужно?
Представьте скрипт, который добавляет строку в /etc/hosts. Если запустить его 5 раз, он добавит 5 одинаковых строк. Это не идемпотентно. Идемпотентный скрипт сначала проверит, есть ли такая строка, и добавит её, только если её нет.
Это критически важно для:
Надёжности автоматизации (Ansible, DSC): Все эти системы построены на принципе идемпотентности.
Безопасности: Вы можете быть уверены, что повторный запуск скрипта исправит конфигурацию, а не усугубит проблему.
Предотвращения ошибок: Снижает риск случайного дублирования данных или настроек.
▪️ Как достичь идемпотентности?
Пример в Bash (добавить строку в файл):
❌ Не идемпотентно:
echo "10.0.0.5 web-server" >> /etc/hosts
✅ Идемпотентно (с проверкой):
Bash
HOSTS_LINE="10.0.0.5 web-server"
if ! grep -qF -- "${HOSTS_LINE}" /etc/hosts; then
echo "${HOSTS_LINE}" >> /etc/hosts
echo "Строка добавлена."
else
echo "Строка уже существует."
fi
Пример в PowerShell (создать папку):
PowerShell часто помогает "из коробки".
❌ Не идемпотентно (выдаст ошибку при втором запуске):
New-Item -Path C:\Temp\MyApp -ItemType Directory
✅ Идемпотентно (с проверкой):
PowerShell
$path = "C:\Temp\MyApp"
if (-not (Test-Path $path)) {
New-Item -Path $path -ItemType Directory
}
Или ещё проще, используя -Force, который подавляет ошибку, если папка существует:
New-Item -Path C:\Temp\MyApp -ItemType Directory -Force
🧠 Взгляд архитектора:
Когда вы пишете скрипт, всегда задавайте себе вопрос: «Что случится, если я запущу его снова через час? А через год?». Мышление в терминах состояний, а не действий — это основа надёжной и масштабируемой автоматизации.
#Automation #Bash #PowerShell #DevOps #BestPractices #Архитектура
🔥2
🐚 Bash: Шаблон «Пуленепробиваемого» скрипта
90% админских скриптов падают молча.
Например, cd /wrong/path не сработал, а следующая команда rm -rf * удалила всё в корне (утрирую, но суть ясна). В 2026 году мы используем Bash Strict Mode и Traps.
Код для начала любого скрипта:
Разбор магии:
1. set -e: Скрипт умрет сразу, если любая команда вернет ошибку.
2. set -u: Запрещает использовать пустые переменные (спасает от rm -rf /$UNDEFINED_VAR).
3. set -o pipefail: Ловит ошибки даже в середине конвейера (grep | awk).
4. trap: Гарантированно выполнит функцию cleanup, даже если скрипт упадет с ошибкой.
Это база. Не пишите в прод без этого хедера.
#linux #bash #scripting #devops #bestpractices #automation
90% админских скриптов падают молча.
Например, cd /wrong/path не сработал, а следующая команда rm -rf * удалила всё в корне (утрирую, но суть ясна). В 2026 году мы используем Bash Strict Mode и Traps.
Код для начала любого скрипта:
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
# Функция очистки при выходе (даже аварийном)
cleanup() {
echo "🧹 Убираем мусор..."
rm -f /tmp/temp_*.txt
}
# Trap ловит сигналы выхода (EXIT, ошибка, Ctrl+C)
trap cleanup EXIT
echo "🚀 Начинаем работу..."
# Ваш код
Разбор магии:
1. set -e: Скрипт умрет сразу, если любая команда вернет ошибку.
2. set -u: Запрещает использовать пустые переменные (спасает от rm -rf /$UNDEFINED_VAR).
3. set -o pipefail: Ловит ошибки даже в середине конвейера (grep | awk).
4. trap: Гарантированно выполнит функцию cleanup, даже если скрипт упадет с ошибкой.
Это база. Не пишите в прод без этого хедера.
#linux #bash #scripting #devops #bestpractices #automation
🛡️ Skill: Стратегия бэкапов «3-2-1-1-0» — стандарт 2026 года 📦
Обычного правила «3-2-1» больше недостаточно из-за активности вирусов-шифровальщиков. В 2026 году профи используют расширенную схему, чтобы спать спокойно.
Разбор формулы:
* 3 копии данных (оригинал + 2 бэкапа).
* 2 разных носителя (например, диск и облако).
* 1 копия вне офиса (Offsite).
* 1 копия Immutable (неизменяемая) или Offline (Air-gapped). Это защита от шифровальщиков: даже если админский аккаунт взломан, удалить этот бэкап нельзя.
* 0 ошибок. Регулярная автоматическая проверка восстановления (Restore Test).
Инструмент недели: Посмотри в сторону Veeam Hardened Repository (на базе Linux XFS) или Restic с флагом append-only. Это база твоей выживаемости как специалиста.
#backup #security #disaster_recovery #sysadmin #bestpractices #restic #veeam 🛡️
Обычного правила «3-2-1» больше недостаточно из-за активности вирусов-шифровальщиков. В 2026 году профи используют расширенную схему, чтобы спать спокойно.
Разбор формулы:
* 3 копии данных (оригинал + 2 бэкапа).
* 2 разных носителя (например, диск и облако).
* 1 копия вне офиса (Offsite).
* 1 копия Immutable (неизменяемая) или Offline (Air-gapped). Это защита от шифровальщиков: даже если админский аккаунт взломан, удалить этот бэкап нельзя.
* 0 ошибок. Регулярная автоматическая проверка восстановления (Restore Test).
Инструмент недели: Посмотри в сторону Veeam Hardened Repository (на базе Linux XFS) или Restic с флагом append-only. Это база твоей выживаемости как специалиста.
#backup #security #disaster_recovery #sysadmin #bestpractices #restic #veeam 🛡️
👍2❤1
🧠 Skill: «Git-гигиена» — пиши коммиты для людей, а не для галочки
В 2026 году даже «чистый» админ живет в парадигме **Infrastructure as Code (IaC)**. Твои конфиги Ansible, Terraform или просто Bash-скрипты лежат в Git. Но есть проблема: коммиты типа `fixed bug`, `update` или `.....` — это мусор. Через полгода ты сам не поймешь, что там изменилось.
Как делать правильно:
Пример идеального коммита:
Хорошая история коммитов — это лучшая документация твоей работы.
#skills #git #iac #devops #bestpractices #sysadmin #admin_future
В 2026 году даже «чистый» админ живет в парадигме **Infrastructure as Code (IaC)**. Твои конфиги Ansible, Terraform или просто Bash-скрипты лежат в Git. Но есть проблема: коммиты типа `fixed bug`, `update` или `.....` — это мусор. Через полгода ты сам не поймешь, что там изменилось.
Как делать правильно:
1. Заголовок до 50 символов: Краткая суть (что изменилось).
2. Пустая строка после заголовка: Это стандарт Git для корректного отображения в логах.
3. Тело коммита: Опиши ПОЧЕМУ ты это сделал. Какой баг пофиксил или какой тикет в Jira закрыл.
Пример идеального коммита:
feat(network): переход на nftables для SSH-фильтрации
- Удалены старые правила iptables из конфига
- Внедрены динамические сеты для защиты от брутфорса
- Исправлена проблема с ложными срабатываниями на IP офиса (тикет #402)
Хорошая история коммитов — это лучшая документация твоей работы.
#skills #git #iac #devops #bestpractices #sysadmin #admin_future
🚀 Skills: GitOps Lite. Почему твой /etc должен быть репозиторием
Помнишь то чувство ужаса, когда ты поправил конфиг, сервис упал, а ты забыл, что именно изменил? В 2026 году фраза «я сейчас всё верну как было по памяти» звучит как признание в профнепригодности. Админ сегодня — это не тот, кто много помнит, а тот, кто всё записывает в Git.
Техническая суть:
Практика:
Начни внедрять GitOps на минималках прямо сейчас. Это спасет твою нервную систему:
Зачем это нужно:
#skills #git #iac #devops #bestpractices #admin_future
Помнишь то чувство ужаса, когда ты поправил конфиг, сервис упал, а ты забыл, что именно изменил? В 2026 году фраза «я сейчас всё верну как было по памяти» звучит как признание в профнепригодности. Админ сегодня — это не тот, кто много помнит, а тот, кто всё записывает в Git.
Техническая суть:
Концепция Infrastructure as Code (IaC) начинается не с Terraform, а с обычного git init в папке с твоими скриптами или конфигами.
Под капотом: Использование Git дает тебе машину времени. Ты всегда видишь, кто, когда и зачем изменил параметр в nginx.conf или в настройках active_directory. В 2026-м это стандарт: любой аудит безопасности начинается с просмотра истории коммитов в инфраструктурном репозитории.
Практика:
Начни внедрять GitOps на минималках прямо сейчас. Это спасет твою нервную систему:
# 1. Инициализируем репозиторий для критических конфигов
cd /etc/myapp/
git init
# 2. Создаем понятный коммит (забудь про "fix", пиши суть!)
git add .
git commit -m "CHG: Изменен таймаут коннекта к БД для ARM-кластера (Ticket #404)"
# 3. Если всё сломалось — откат за одну секунду
git checkout HEAD^1 config.yaml
systemctl restart myapp
# 4. Просмотр "кто виноват" (blame)
git blame config.yaml
Зачем это нужно:
Личное спокойствие и коллективная ответственность. Когда в команде больше одного человека, Git становится единственным источником правды. Больше никаких config.bak, config.old.2, config_LAST_FINAL. Только чистая история изменений и возможность мгновенного отката.
#skills #git #iac #devops #bestpractices #admin_future
👍2
🚀 Skills: Информационная гигиена или как не слить прод нейросетям
В 2026 админ без ИИ — как лесоруб без бензопилы. Но если ты вставляешь реальные IP, пароли и имена серверов в чат — ты сам отдаешь доступ.
Как делать правильно:
Пример запроса:
Вывод:
ИИ — для идей и синтаксиса. Архитектура и доступы — только у тебя.
#skills #ai #security #opsec #bestpractices #admin_future
В 2026 админ без ИИ — как лесоруб без бензопилы. Но если ты вставляешь реальные IP, пароли и имена серверов в чат — ты сам отдаешь доступ.
Как делать правильно:
• Анонимизация: 192.168.1.100 → 10.0.0.x
• Удаление секретов: никаких токенов и ключей
• Обобщение: без реальных имен серверов
Пример запроса:
У меня есть конфиг Nginx (анонимизирован). Почему при proxy_pass через IPv6 появляются 502? MTU 1420.
Вывод:
ИИ — для идей и синтаксиса. Архитектура и доступы — только у тебя.
#skills #ai #security #opsec #bestpractices #admin_future
📋 Skills: Твой парашют в мире хаоса — Чек-листы
В 2026 году сложность систем такова, что даже самый опытный админ может забыть закрыть один порт в фаерволе или сменить дефолтный пароль на новой службе. Ошибка стоит дорого. Твой главный инструмент здесь — не феноменальная память, а простой текстовый чек-лист.
Почему это работает:
Пример чек-листа при вводе нового Linux-сервера:
Админ, работающий по списку — это признак профессионализма, а не отсутствия опыта. Это гарантия того, что в три часа ночи тебе не придется вспоминать, какой именно конфиг ты забыл поправить.
#skills #productivity #checklist #management #bestpractices #admin_future
В 2026 году сложность систем такова, что даже самый опытный админ может забыть закрыть один порт в фаерволе или сменить дефолтный пароль на новой службе. Ошибка стоит дорого. Твой главный инструмент здесь — не феноменальная память, а простой текстовый чек-лист.
Почему это работает:
1. Разгрузка головы: Тебе не нужно держать в уме 20 шагов развертывания сервера. Ты просто идешь по пунктам.
2. Идентичность: Все твои серверы настроены одинаково, потому что ты всегда идешь по одному и тому же гайду.
3. Делегирование: С хорошим чек-листом даже младший админ не уронит продакшен при выполнении стандартных задач.
Пример чек-листа при вводе нового Linux-сервера:
1. Обновить пакеты системы.
2. Настроить правильный часовой пояс.
3. Создать пользователя с sudo и отключить вход для root.
4. Отключить авторизацию по паролю в SSH (только ключи).
5. Настроить фаервол (запретить всё, кроме нужных портов).
6. Установить и проверить агент мониторинга.
Админ, работающий по списку — это признак профессионализма, а не отсутствия опыта. Это гарантия того, что в три часа ночи тебе не придется вспоминать, какой именно конфиг ты забыл поправить.
#skills #productivity #checklist #management #bestpractices #admin_future
👍3
🚀 Skills: Золотое правило Read-Only Friday
Сегодня 20 марта, пятница. В 2026 году это правило актуально как никогда. Если у тебя возникла «гениальная» идея накатить критическое обновление или сменить правила на фаерволе прямо сейчас — гони её прочь.
Почему мы не трогаем продакшен в пятницу:
1. Закон подлости: Самые странные ошибки вылезают через 2 часа после деплоя, как раз когда ты уже дома.
2. Дефицит ресурсов: В выходные найти коллегу или поддержку провайдера в разы сложнее.
3. Психология: В конце недели внимание притупляется, и цена «опечатки» в конфиге возрастает.
Что делать в пятницу:
Вывод: Хороший админ — это не тот, кто героически чинит сервер в субботу утром, а тот, кто спокойно отдыхает, потому что ничего не трогал в пятницу.
#skills #adminlife #friday #management #bestpractices #admin_future
Сегодня 20 марта, пятница. В 2026 году это правило актуально как никогда. Если у тебя возникла «гениальная» идея накатить критическое обновление или сменить правила на фаерволе прямо сейчас — гони её прочь.
Почему мы не трогаем продакшен в пятницу:
1. Закон подлости: Самые странные ошибки вылезают через 2 часа после деплоя, как раз когда ты уже дома.
2. Дефицит ресурсов: В выходные найти коллегу или поддержку провайдера в разы сложнее.
3. Психология: В конце недели внимание притупляется, и цена «опечатки» в конфиге возрастает.
Что делать в пятницу:
Занимайся документацией, пиши инструкции в Markdown, чисти старые логи или наводи порядок в тикетах. Пятница — день тишины и подготовки.
Вывод: Хороший админ — это не тот, кто героически чинит сервер в субботу утром, а тот, кто спокойно отдыхает, потому что ничего не трогал в пятницу.
#skills #adminlife #friday #management #bestpractices #admin_future
🏷️ Skills: Искусство именования — Чтобы не гадать, что это за сервер
Поговорим о именовании серверов. Называть машины srv1, test2 или, что еще хуже, именами богов из мифологии — это путь к катастрофе, когда в твоем парке становится больше 10 узлов. В 2026 году твоя инфраструктура должна быть «картой», а не ребусом.
Хорошее имя сервера должно отвечать на три вопроса: Что это? Где это? Для чего это?
Правильная схема (Роль-Локация-Окружение-Индекс):
Зачем это нужно:
Вывод: Порядок в именах — это порядок в голове и в коде.
#skills #infrastructure #naming #bestpractices #management #admin_future
Поговорим о именовании серверов. Называть машины srv1, test2 или, что еще хуже, именами богов из мифологии — это путь к катастрофе, когда в твоем парке становится больше 10 узлов. В 2026 году твоя инфраструктура должна быть «картой», а не ребусом.
Хорошее имя сервера должно отвечать на три вопроса: Что это? Где это? Для чего это?
Правильная схема (Роль-Локация-Окружение-Индекс):
Пример: db-msk-prod-01
1. db — роль (database). Сразу ясно, что внутри.
2. msk — локация (Moscow). Понятно, в каком ДЦ искать.
3. prod — окружение (production/dev/test). Не перепутаешь, где можно проводить тесты.
4. 01 — порядковый номер. Для масштабирования.
Зачем это нужно:
Для автоматизации и твоего спокойствия. Если тебе прилетает алерт от zabbix-prod-02, ты сразу понимаешь критичность и где физически находится узел. Это упрощает написание скриптов (Ansible/PowerShell), где ты можешь обращаться к группам машин по маске имени.
Вывод: Порядок в именах — это порядок в голове и в коде.
#skills #infrastructure #naming #bestpractices #management #admin_future
🔥2
🔄 Skills: Ребут — это не решение, а временная мера
Давайте будем честными: фраза «попробуйте перезагрузить» спасла миллионы админских нервов. Но в 2026 году, когда системы стали сложнее, простой рестарт сервера — это не только спасение, но и потеря всех улик.
Почему не стоит сразу тянуться к кнопке Reset:
Что делать вместо этого:
Вывод: Перезагрузка — это крайняя мера. Настоящий профи сначала ставит диагноз, а потом «лечит». Иначе ты превращаешься в оператора кнопки, а не системного инженера.
#skills #troubleshooting #bestpractices #management #sysadmin #admin_future
Давайте будем честными: фраза «попробуйте перезагрузить» спасла миллионы админских нервов. Но в 2026 году, когда системы стали сложнее, простой рестарт сервера — это не только спасение, но и потеря всех улик.
Почему не стоит сразу тянуться к кнопке Reset:
1. Исчезновение логов: Если проблема в памяти или в конкретном процессе, перезагрузка сотрет текущее состояние, и ты не узнаешь причину сбоя.
2. Маскировка симптомов: Ребут лечит следствие (зависший сервис), но не причину (утечка памяти или конфликт драйверов). Через неделю всё повторится.
3. Риск не подняться: Старое железо или сервер с кривым конфигом может просто не пережить перезагрузку.
Что делать вместо этого:
1. Сними дамп: Если процесс завис — выгрузи его состояние.
2. Проверь ресурсы: Глянь btop или Get-Process, кто именно съел ресурсы.
3. Читай логи ДО ребута: Потом их может не быть в оперативной памяти.
Вывод: Перезагрузка — это крайняя мера. Настоящий профи сначала ставит диагноз, а потом «лечит». Иначе ты превращаешься в оператора кнопки, а не системного инженера.
#skills #troubleshooting #bestpractices #management #sysadmin #admin_future
🔐 Security: Почему пароль из 20 символов хуже, чем 2FA
Поговорим о безопасности. Многие до сих пор заставляют пользователей менять пароли каждые 30 дней и использовать "сложные" комбинации типа `P@ssw0rd123!`. В 2026 году это не защита, а имитация. Мощности видеокарт позволяют перебирать такие пароли за считанные часы, а пользователи просто записывают их на стикеры.
Почему длина — не панацея:
Что делать:
Вывод: Безопасность должна быть удобной. Если система заставляет юзера страдать, он найдет способ её обойти. Будьте умнее злоумышленников.
#security #cybersec #bestpractices #mfa #sysadmin #admin_future
Поговорим о безопасности. Многие до сих пор заставляют пользователей менять пароли каждые 30 дней и использовать "сложные" комбинации типа `P@ssw0rd123!`. В 2026 году это не защита, а имитация. Мощности видеокарт позволяют перебирать такие пароли за считанные часы, а пользователи просто записывают их на стикеры.
Почему длина — не панацея:
1. Человеческий фактор: Сложный пароль = забытый пароль. Это лишние тикеты в саппорт.
2. Фишинг: Хакеру плевать на сложность вашего пароля, если вы сами ввели его на поддельной странице.
3. Утечки: Если база скомпрометирована, длина пароля лишь немного оттянет момент его расшифровки.
Что делать:
* Внедряй 2FA/MFA: Даже самый простой одноразовый код в приложении в 100 раз эффективнее пароля в 50 символов.
* Переходи на Passkeys: Технология беспарольного входа по биометрии или ключам безопасности — это стандарт будущего.
* Используй Passphrases: Если нужен пароль, пусть это будет фраза из 4-5 случайных слов. Её легче запомнить человеку и сложнее подобрать машине.
Вывод: Безопасность должна быть удобной. Если система заставляет юзера страдать, он найдет способ её обойти. Будьте умнее злоумышленников.
#security #cybersec #bestpractices #mfa #sysadmin #admin_future
❤2
🧱 Skills: Правило нулевого доверия и «Искусство комментариев» в фаерволе
Неважно, настраиваете вы сложный кластер на Linux (iptables/nftables) или пишете ruleset для маршрутизатора (вроде MikroTik) — есть одно железное правило, отличающее джуниора от мидла.
Любое разрешающее правило без комментария — это потенциальная уязвимость.
Сценарий: Вы открыли порт 3389 для вендора, который настраивал софт. Дело было в пятницу вечером. Прошло полгода. Вы смотрите в конфиг фаервола и видите
Для вашего спокойствия и легкой передачи дел. Инфраструктура, которую нельзя прочитать как открытую книгу, считается техническим долгом.
Фаервол — это не просто стена. Это КПП, где в журнале должен быть записан каждый, кому выдали пропуск.
#skills #firewall #security #networking #bestpractices #admin_future
Неважно, настраиваете вы сложный кластер на Linux (iptables/nftables) или пишете ruleset для маршрутизатора (вроде MikroTik) — есть одно железное правило, отличающее джуниора от мидла.
Любое разрешающее правило без комментария — это потенциальная уязвимость.
Сценарий: Вы открыли порт 3389 для вендора, который настраивал софт. Дело было в пятницу вечером. Прошло полгода. Вы смотрите в конфиг фаервола и видите
chain=forward action=accept dst-port=3389 protocol=tcp. Кто это просил? Зачем? Актуально ли это сейчас? Удалять страшно (вдруг сломается прод), оставлять — опасно (открытый RDP в 2026-м — это билет в клуб жертв шифровальщиков).Как делать правильно:
1. Default Deny: Последнее правило всегда `Drop All`. Разрешено только то, что явно описано выше.
2. Формат комментария: `[Дата] - [Кто запросил/Номер тикета] - [Причина]`.
* Пример: "2026-04-03 - Ticket#1024 - Доступ вендору CRM к базе данных. Удалить 01.05.26"
3. Группировка: Разделяйте правила на смысловые блоки: Management, Internal, DMZ, Outbound.
Для вашего спокойствия и легкой передачи дел. Инфраструктура, которую нельзя прочитать как открытую книгу, считается техническим долгом.
Фаервол — это не просто стена. Это КПП, где в журнале должен быть записан каждый, кому выдали пропуск.
#skills #firewall #security #networking #bestpractices #admin_future
🔥2
🚌 Skills: «Фактор автобуса» — главный риск, о котором молчат сисадмины
Представьте ситуацию: вы единственный, кто знает, как работает связка вашей базы данных, DMZ-зоны и хитрого скрипта очистки логов. А теперь представьте, что вы выиграли в лотерею и улетели на острова без связи. Или, что менее приятно, попали под автобус (отсюда и термин Bus Factor).
Почему это вредит лично вам:
Как повышать Bus Factor в 2026 году:
Незаменимых людей нет, есть люди, после ухода которых приходится всё перестраивать с нуля. Делитесь знаниями и не будьте узким горлышком своей инфраструктуры.
#skills #management #busfactor #sysadmin #bestpractices #admin_future
Представьте ситуацию: вы единственный, кто знает, как работает связка вашей базы данных, DMZ-зоны и хитрого скрипта очистки логов. А теперь представьте, что вы выиграли в лотерею и улетели на острова без связи. Или, что менее приятно, попали под автобус (отсюда и термин Bus Factor).
Фактор автобуса — это количество людей в команде, которых нужно потерять, чтобы IT-инфраструктура компании полностью встала. Если этот фактор равен единице (только вы), это катастрофа и для бизнеса, и лично для вас.
Почему это вредит лично вам:
— Невозможно уйти в нормальный отпуск. Телефон будет звонить даже на пляже.
— Невозможно пойти на повышение. Вас банально некем заменить на текущем месте, вы стали заложником собственной инфраструктуры.
— Выгорание. Вы несете ответственность за все системы 24 на 7.
Как повышать Bus Factor в 2026 году:
— Пароли: Никаких личных блокнотов и файлов на рабочем столе. Только корпоративный менеджер паролей с доступом для коллег.
— Документация: Описывайте не только «как сделать», но и «почему мы сделали именно так».
— Перекрестное обучение: Возьмите за правило раз в неделю садиться с коллегой и показывать ему одну из ваших систем. Разбирали вчера архитектуру DMZ-сервера? Проведите мини-презентацию для отдела.
Незаменимых людей нет, есть люди, после ухода которых приходится всё перестраивать с нуля. Делитесь знаниями и не будьте узким горлышком своей инфраструктуры.
#skills #management #busfactor #sysadmin #bestpractices #admin_future
🐧 Linux: Хватит раскидывать ключи ssh-rsa. Переходим на SSH-сертификаты
Коллеги, управлять ключами SSH даже в небольшой команде — это боль. Мы генерируем ключи, копируем их в authorized_keys на десятки серверов. А когда администратор увольняется или теряет ноутбук, мы судорожно пытаемся вспомнить, на каких именно машинах нужно срочно зачистить его доступы. В 2026 году такой подход — это дыра в безопасности.
Современный стандарт — настройка внутреннего удостоверяющего центра (CA) для SSH.
Как это работает:
Зачем это нужно:
У вас на серверах больше нет файла authorized_keys с десятками непонятных строк. Вы полностью избавляетесь от процесса отзыва доступов. Если человек ушел в отпуск или уволился — его сертификат просто истекает к концу рабочего дня и превращается в тыкву. Взлом ноутбука инженера на выходных больше не дает хакеру ключи от всего продакшена.
Настроить SSH CA можно за пару часов встроенными средствами OpenSSH. Это тот самый случай, когда внедрение крутой безопасности делает жизнь админа проще, а не сложнее.
#linux #ssh #security #sysadmin #bestpractices #admin_future
Коллеги, управлять ключами SSH даже в небольшой команде — это боль. Мы генерируем ключи, копируем их в authorized_keys на десятки серверов. А когда администратор увольняется или теряет ноутбук, мы судорожно пытаемся вспомнить, на каких именно машинах нужно срочно зачистить его доступы. В 2026 году такой подход — это дыра в безопасности.
Современный стандарт — настройка внутреннего удостоверяющего центра (CA) для SSH.
Как это работает:
— Вы генерируете одну пару ключей для Удостоверяющего Центра (CA).
— Публичный ключ CA кладется на все ваши серверы в конфигурацию sshd.
— Когда инженеру нужен доступ, он отправляет свой публичный ключ на CA.
— CA выдает ему подписанный сертификат, в котором жестко указано: кому он выдан и сколько времени он действует (например, ровно 8 часов).
Зачем это нужно:
У вас на серверах больше нет файла authorized_keys с десятками непонятных строк. Вы полностью избавляетесь от процесса отзыва доступов. Если человек ушел в отпуск или уволился — его сертификат просто истекает к концу рабочего дня и превращается в тыкву. Взлом ноутбука инженера на выходных больше не дает хакеру ключи от всего продакшена.
Настроить SSH CA можно за пару часов встроенными средствами OpenSSH. Это тот самый случай, когда внедрение крутой безопасности делает жизнь админа проще, а не сложнее.
#linux #ssh #security #sysadmin #bestpractices #admin_future
🔥4