Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
🐧 Linux: Ошибка "Read-only file system"? Спасаем данные без ребута 🛠️

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

Шаг 1: Проверяем, что случилось

dmesg | grep -i "error|jbd2"

тут будет причина (обычно битые блоки или сбой журнала).

Шаг 2: Магия перемонтирования Если диск физически жив, можно принудительно вернуть ему режим записи:

mount -o remount,rw /

Шаг 3: Исправление «на ходу» (для ext4) fsck -n /dev/sda1 — только проверка (без правок). Если ошибок много, используем debugfs для вытаскивания критичных конфигов, пока диск окончательно не «отвалился».

Совет: Если такое случилось на виртуалке, проверь задержки (latency) на СХД — часто диск уходит в RO, если гипервизор не ответил вовремя. 📡

#linux #filesystem #troubleshooting #sysadmin #ext4 #storage
🪟 Windows: Отключаем "Search Highlights" и лишний мусор через реестр 🧹

Заметили, как поиск в Windows 11/Server 2025 стал забиваться картинками, новостями и рекламой ("Search Highlights")? Это не только бесит, но и жрет ресурсы процесса SearchHost.exe. Для админской машины это лишний мусор.

Убираем всё лишнее одной командой в PowerShell:

# Отключаем интернет-результаты в поиске и "интересные факты"
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Search"
Set-ItemProperty -Path $path -Name "BingSearchEnabled" -Value 0
Set-ItemProperty -Path $path -Name "SearchboxTaskbarMode" -Value 0

# Отключаем Search Highlights (те самые картинки в поиске)
$path2 = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search"
if (!(Test-Path $path2)) { New-Item $path2 -Force }
Set-ItemProperty -Path $path2 -Name "EnableAllowedDaysCondition" -Value 0

Результат: Чистый, быстрый поиск только по локальным файлам и приложениям. Минимум сетевого трафика в сторону Bing.

#windows #registry #powershell #optimization #sysadmin #clean #windows11
4
🧠 Skill: "Terraform Drift Detection" — навык №1 в 2026 году ☁️

В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.

Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.

Что учить:

1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.

2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.

3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only

Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀

#devops #terraform #iac #cloud #skills #automation #gitops
🐧 Linux: Ищем утечки памяти через slabtop 🧠

Бывает, что free -m показывает: память занята, но top клянется, что ни один процесс не потребляет много. Скорее всего, память «утекла» в Slab — кэш ядра для объектов (дескрипторы файлов, иноды и т.д.). В 2026 году при активном использовании контейнеров это частая беда.

Как найти виновника: Запусти встроенную утилиту:

sudo slabtop -s c

(Флаг -s c сортирует по размеру кэша).

Куда смотреть: Если в топе висят dentry или inode_cache , значит, система открыла миллионы мелких файлов и не закрыла их.

Как быстро «сбросить» кэш (без вреда для системы):

echo 2 > /proc/sys/vm/drop_caches

(2 — освобождает dentry и иноды. 1 — только pagecache. 3 — всё вместе).

#linux #kernel #performance #memory #troubleshooting #sysadmin #slab
🪟 Windows: Продвинутый мониторинг сетевых соединений без TCPView 🌐

Забудь про сторонний софт. Если тебе нужно увидеть, какой процесс занимает порт прямо сейчас и сколько трафика он генерирует, в PowerShell есть мощнейшая связка.

Команда дня:

Get-NetTCPConnection -State Established |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State,
@{Name="ProcessName";Expression={(Get-Process -Id $_.OwningProcess).Name}} |
Sort-Object LocalPort |
Out-GridView


1. Out-GridView: Откроет отдельное окно с таблицей, где можно мгновенно фильтровать по IP или имени процесса.

2, Native: Работает на любом сервере "из коробки" (даже в Server Core).

3. Безопасность: Помогает быстро вычислить подозрительные процессы, которые стучатся на внешние IP. 🕵️‍♂️

#windows #powershell #networking #security #sysadmin #monitor #tcp
👍3
🛡️ Skill: "API Rate Limiting" — защита от «дружественного» DDoS 🚧

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

Навык: Умение настроить Rate Limiting на уровне Nginx или Ingress Controller.

Пример для Nginx:

1. Описываем зону (10 запросов в секунду на один IP): limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;

2. Применяем к локации: limit_req zone=mylimit burst=20 nodelay;

Что это дает: Даже если клиент начнет спамить запросами, твой бэкенд получит ровно столько, сколько может обработать. Остальное Nginx вежливо отсечет с ошибкой 429. Это база стабильности любого продакшена. 💎

#devops #nginx #api #security #scalability #microservices #skills
🐧 Linux: Сетевой тюнинг — боремся с очередями (Softirq) 🚄

Если у тебя мощный сервер, гигабитный канал, но сетевая подсистема тормозит, а одно из ядер CPU загружено на 100% (в графе %si в top), ты столкнулся с проблемой обработки прерываний сетевой карты. В 2026 году при 10Gbps+ сетях это база.

Решение: Раскидываем обработку пакетов по всем ядрам CPU с помощью RSS (Receive Side Scaling) и RPS (Receive Packet Steering).

Как включить маски для очередей (пример для eth0 и 8 ядер):

# Разрешаем обработку пакетов на всех 8 ядрах (маска f = 11111111)
echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus

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

#linux #networking #performance #sysadmin #kernel #optimization #10gbps
🔥1
🪟 Windows: Секретный "God Mode" и быстрый доступ к администрированию 🛠️

Иногда нужно быстро найти глубокую настройку в Windows Server или Win11, но новый интерфейс "Параметры" только путает. Есть способ вывести абсолютно все настройки системы (более 200 штук) в одну папку с человеческим поиском.

Как создать "Все задачи":

1. Создай на рабочем столе новую папку.

2. Переименуй её в это: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

Открыв эту папку, ты получишь список всех инструментов управления — от настройки iSCSI и ODBC до управления сертификатами и планами электропитания. Всё в одном месте, без бесконечных кликов по меню. 💎

#windows #sysadmin #lifehack #tips #windows11 #windowsserver #management
🔥2👍1👏1
🌐 Skill: "Ghost in the Network" — находим конфликты IP за 1 секунду 👻

Конфликт IP-адресов — это ад.
У одного пользователя интернет работает, у другого — нет, и они «выбивают» друг друга.
Стандартный ping тут бесполезен.
Твой лучший друг — arping.

Пинг идет на сетевой уровень (L3).
Если IP занят двумя устройствами, пинг может приходить то от одного, то от другого.
Arping работает на L2 (MAC-адреса).

Как найти вора: sudo arping -I eth0 -c 5 192.168.1.50

Куда смотреть: Если в ответе ты видишь два разных MAC-адреса для одного IP — поздравляю, ты нашел виновника.
Теперь идешь в таблицу коммутатора, ищешь порт по MAC и выключаешь его.
Проблема решена.

#networking #arp #troubleshooting #sysadmin #skills #ip_conflict #linux
🌐 Skill: "Zero Trust" — убиваем VPN ради безопасности и удобства 🔐

В 2026 году классический VPN (когда ты даешь юзеру доступ сразу ко всей подсети) — это дыра в безопасности. Тренд года — Identity-Aware Proxy (IAP). Это когда доступ дается не к сети, а к конкретному приложению (SSH, Web, DB) только после проверки личности через SSO.

Навык: Настройка Cloudflare Tunnel или Boundary от HashiCorp.

Почему это круче:

1. Сервер вообще не светит портами наружу (даже 80 и 443).

2. Юзеру не нужно включать VPN-клиент и ждать коннекта.

3. Полный аудит: ты видишь не "IP зашел в сеть", а "Админ Иван открыл SSH-сессию на сервер БД".

Команда (пример для Cloudflare Tunnel):

cloudflared tunnel run --url localhost:8080 my-internal-app

Это будущее корпоративных сетей.
Тот, кто умеет строить ZTNA (Zero Trust Network Access), стоит на рынке в два раза дороже обычного "VPN-мастера". 🚀

#devops #security #zerotrust #ztna #cloudflare #infrastructure #skills
1🔥1👏1
🐧 Linux: Как оживить сервер, если /bin/bash случайно удален 😱

Классический кошмар: ты (или скрипт) случайно удалил bash или критическую библиотеку libc.so, и теперь ни одна команда не работает.
SSH-сессия еще жива, но на любое действие система отвечает:
```
command not found
```
Решение: Используй встроенные возможности самого SSH и командной оболочки, которая еще в памяти.

Если у тебя открыта сессия, ты можешь использовать Zsh или Dash (который часто является /bin/sh), чтобы восстановить файлы.
Если же нет ничего, помни: busybox — твой лучший друг.

Хак: Восстановление через копирование по сети без scp: Если на сервере нет ничего, но жив cat:

На своей машине:

cat /bin/bash | ssh user@server "cat > /tmp/bash"

На сервере (через вызов загрузчика):

/lib64/ld-linux-x86-64.so.2 /tmp/bash

Совет: Всегда держи установленным пакет busybox-static. Он содержит всё необходимое в одном бинарнике и не зависит от внешних библиотек.

#linux #troubleshooting #sysadmin #bash #recovery #server_rescue 🛠️
👏1
PowerShell: Работаем с API как профи через RestMethod 🌐

В 2026 году админ постоянно взаимодействует с API: Jira, GitLab, мониторинг или облака. Многие до сих пор мучаются с curl в Windows, хотя в PowerShell есть нативный и гораздо более мощный инструмент.

Команда дня:

$params = @{
Uri = "https://api.your-service.com/v1/task"
Method = "Post"
Headers = @{ "Authorization" = "Bearer $Token" }
ContentType = "application/json"
Body = @{ title = "Fix Server"; priority = 1 } | ConvertTo-Json
}

$response = Invoke-RestMethod @params
$response.id # Работаем с результатом сразу как с объектом!

Почему это круто:

1. Splatting: Передача параметров через хэш-таблицу (@params) делает код чистым и читаемым.

2. Auto-Object: В отличие от Invoke-WebRequest, этот командлет сразу конвертирует JSON в объект. Тебе не нужно парсить текст!

3. Native Auth: Поддерживает современные протоколы авторизации из коробки.

#windows #powershell #api #automation #sysadmin #rest #devops 🚀
🔥1
🛡️ 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 🛡️
👍21
🕵️‍♂️ Пятничный лонгрид: Анатомия сбоя. Почему мы чиним следствия, а не причины (и как перестать это делать)

Пятница. 16:45.
Прилетает алерт: «Прод лежит».
У тебя подскакивает пульс.
Руки сами тянутся к консоли, чтобы написать systemctl restart nginx или ребутнуть виртуалку.

🛑 Остановись.Убери руки от клавиатуры.

В 2026 году перезагрузка сервера без понимания причины — это не решение, а уничтожение улик.
Сегодня поговорим о том, что отличает «эникейщика» от Site Reliability Engineer (SRE): искусстве расследования.

1. Правило «Пяти почему» (The 5 Whys)
Мы часто лечим симптомы.
«Упал сервис — подняли сервис».
Это путь к выгоранию, потому что сервис упадет снова, когда ты будешь спать.

Применяй метод Toyota:
Проблема: Упал интернет-магазин (502 Bad Gateway).

1. Почему? PHP-FPM перестал отвечать.

2. Почему? Закончилась оперативная память, пришел OOM Killer.

3. Почему? Один процесс съел 4 ГБ RAM.

4. Почему? Пользователь загрузил картинку размером 50 МБ, а библиотека обработки изображений попыталась разжать её в память.

5. Почему? (Корневая причина): На фронтенде нет валидации размера загружаемого файла, а на бэкенде нет лимитов памяти на воркер.

Решение: Не «добавить памяти серверу», а «поставить лимит на загрузку».

2. Не путай совпадение с причиной (Correlation vs Causation)

«Я обновил ядро, и через час упала база. Наверное, ядро кривое». Возможно. А возможно, именно в этот час запустился «тяжелый» отчет бухгалтерии, который запускается раз в месяц.

Инструмент: В 2026 году мы смотрим на eBPF и трассировку. Не гадай. Используй perf, sysdig или biosnoop. Если ты не видишь, почему процесс встал (ждет диска? сети? мьютекса?), ты просто играешь в лотерею.

3. Теория «Черного ящика» и гигиена логов
Если твой лог выглядит как стена текста INFO: processed item, он бесполезен. В момент аварии тебе нужно знать, что случилось ДО падения.

Правило: Логи должны быть структурированы (JSON). Грепать текст в 2026-м — моветон.

Совет: Настрой ротацию так, чтобы при краше сохранялся coredump или хотя бы последние 1000 строк лога в отдельный файл crash_report_date.log.

🚀 Пятничный ритуал «Закрытия гештальтов»:

Чтобы уйти на выходные и реально отдохнуть, сделай эти 3 действия прямо сейчас:

* Browser Bankruptcy: Закрой эти 50 вкладок с документацией, которые ты «потом почитаешь». Если это важно — добавь в закладки/Obsidian. Если нет — закрой. Освободи RAM своего мозга.

* Clean Desktop: Удали с рабочего стола (и из папки Загрузки) временные скрипты test.sh, sql_dump_new_final.sql и скриншоты ошибок. Цифровой мусор создает тревожность.

* Silence is Golden: Проверь расписание дежурств (On-Call). Если в эти выходные ты не дежурный — выключи уведомления рабочего чата. Совсем. Мир не рухнет, а твоя нервная система скажет спасибо.

Помни: Хороший инженер — это не тот, кто быстро чинит, а тот, кто знает, почему оно сломалось, и делает так, чтобы это не повторилось.

Выдыхаем, коллеги. Эта неделя была долгой, но мы справились. 🍺🔌

#friday #longread #troubleshooting #sre #sysadmin #psychology #admin_future #debug
🔥2🤝2👏1
🐧 Linux: systemd-run — запускаем скрипты в «песочнице» на лету 🛡️

Запускаешь тяжелый бэкап или скрипт миграции и боишься, что он съест всю память и положит прод? Не нужно писать сложные unit-файлы. В 2026 году админы используют Transient Scopes (временные скоупы).

Команда systemd-run позволяет обернуть любую команду в полноценный сервис с лимитами ресурсов прямо из консоли.

Команда дня:

# Запускаем скрипт, даем ему максимум 500Мб RAM и низкий приоритет CPU
systemd-run --scope -p MemoryMax=500M -p CPUWeight=20 ./heavy_script.sh

Что происходит: Скрипт запускается как обычно, но ядро Linux (cgroups) держит его в жестких рукавицах. Если скрипт попытается съесть 501 Мб — он будет убит (OOM), но основной сервер даже не поперхнется.

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

#linux #systemd #cgroups #performance #sysadmin #safety #devops
2👍1
🪟 Windows: Windows Sandbox — идеальный полигон для подозрительного софта 📦

Админу часто присылают: «Посмотри, этот .exe нормальный или вирус?».
Запускать на своей машине — риск.
Поднимать виртуалку — долго.
В Windows 10/11/Server 2025 есть Windows Sandbox.

Это временная, одноразовая виртуалка, которая стартует за 5 секунд и полностью уничтожается при закрытии.
Но мало кто знает, что её можно конфигурировать через .wsb файлы!

Лайфхак: Создай файл SafeTest.wsb:

<Configuration>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\Downloads\Suspicious</HostFolder>
<SandboxFolder>C:\Users\WDAGUtilityAccount\Desktop\Analysis</SandboxFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<Networking>Disable</Networking>
</Configuration>

Результат: Двойной клик по файлу — и у тебя изолированная среда без сети (!), но с доступом к папке с подозрительным файлом. Проверил, закрыл окно — всё исчезло без следа. Чисто, безопасно, профессионально. 🕵️‍♂️

#windows #security #sandbox #malware_analysis #sysadmin #powershell #safety
🔥3
🚀 Skill: croc — передача файлов сквозь огонь и NAT 🐊

Проблема: нужно быстро перекинуть лог в 5 ГБ с сервера на ноут.
* scp? Нужно прописывать ключи.
* Облако? Долго и небезопасно.
* FTP? Вы серьезно?

Решение: croc.
Это Open Source инструмент (на Go), который создает P2P-туннель между двумя любыми компьютерами, даже если они оба за жестким NAT-ом.

Как это работает:
На сервере:

croc send my_huge_log.log

Вывод: Code is: 1234-super-secret
На ноуте:

croc 1234-super-secret

В чем магия:
1. Шифрование PAKE (пароль знает только отправитель и получатель).
2. Возобновление прерванной закачки.
3. Никаких промежуточных серверов хранения — чистая скорость канала.

4. Это "Teleport" для файлов, который должен быть в арсенале каждого админа. 💎

#tools #cli #opensource #sysadmin #filetransfer #croc #security #networking
👍21🔥1👏1
⚡️ Вакансия: Удаленка / Старт в Digital

Ребята, помогаю закрыть вакансию в хорошем проекте (Туризм).
Ищем толкового Junior SMM / Админа канала.

Идеальный вариант для студента (или чьей-то дочки/сына), кто хочет «вкатиться» в удаленку, набить руку на реальном проекте и получить первый кейс в портфолио.

Что нужно:
Вести телеграм-канал (тема: путешествия, море, отели).
Монтировать простые видео (Reels/Shorts).
Быть на связи и иметь вкус.

• Полная удаленка.
• Обучение (покажем, как это работает изнутри).
• • Адекватная оплата за помощь.

Если есть на примете такой человек — кидайте ему контакт.
Писать напрямую Марине с пометкой «от Максима»: @Marina_Erzh_Travel_Agent
🪟 Windows: Операторы && и || в PowerShell 7 — наконец-то как в Bash! ⛓️

Если ты перешел на PowerShell 7+ (а в 2026-м это стандарт), перестань писать громоздкие конструкции if ($?) { ... }. Теперь у нас есть Pipeline Chain Operators, которые работают так же, как в Linux.

Было (старый стиль):

Stop-Service "Spooler"
if ($?) { Start-Service "Spooler" }

Стало (Admin Future стиль):

# Выполнится ТОЛЬКО если первая команда успешна
Stop-Service "Spooler" && Start-Service "Spooler"

# Выполнится, если первая команда УПАЛА (обработка ошибок)
Connect-MgGraph || Write-Warning "Не удалось подключиться к облаку!"

Почему это важно: Скрипты становятся читаемыми в одну строку. Это идеально для быстрых фиксов и админских задач "на лету".

#windows #powershell #scripting #devops #automation #sysadmin #pwsh
👍1🔥1👏1
🧠 Skill: Git Bisect — находим, кто сломал прод, за 5 минут 🕵️‍♂️

Ситуация: вчера деплой Terraform/Ansible работал.
Сегодня утром падает с ошибкой.
За ночь коллеги сделали 50 коммитов.
Читать каждый? Нет.

Используй бинарный поиск по истории git.

Алгоритм действий:

1. git bisect start — начинаем охоту.
2. git bisect bad — говорим: "сейчас всё плохо".
3. git bisect good v1.2 — говорим: "вот в теге v1.2 (три дня назад) всё работало".

Git сам переместит тебя ровно в середину истории. Ты проверяешь (запускаешь план).
Работает? Пишешь git bisect good.
Не работает? Пишешь git bisect bad.

За 4-5 шагов Git найдет тот самый коммит из сотни и покажет автора.

Результат: Ты не гадаешь, а математически точно находишь проблему. Это навык сеньор-уровня. 💎

#git #devops #troubleshooting #skill #versioncontrol #infrastructure #debug
👍1
🐧 Linux: strace — твой рентген, когда логи молчат 🩻

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

Не гадай. Используй strace. Он показывает все системные вызовы (обращения к ядру), которые делает процесс.

Команда-детектив:

# -f: следить за дочерними процессами (если скрипт запускает другие)
# -e trace=file: показывать только операции с файлами (open, read, access)
strace -f -e trace=file ./my_broken_script.sh

Что ты увидишь: Вместо тишины ты увидишь правду: openat(AT_FDCWD, "/etc/myconf/secret.cfg", O_RDONLY) = -1 EACCES (Permission denied)

Оказывается, скрипт лезет не в ту папку, о которой ты думал!

Лайфхак для живого процесса: Можно подключиться к уже запущенному зависшему процессу:

sudo strace -p [PID]

Это «God Mode» для отладки, который экономит часы перебора конфигов.

#linux #debug #strace #troubleshooting #sysadmin #devops #kernel
👏1