📄 Linux: gron — делаем JSON читаемым
Все знают утилиту jq. Она мощная, но синтаксис запросов там — это отдельный язык программирования, который вечно забываешь. Когда нужно просто "грепнуть" JSON, используйте gron.
Он превращает иерархический JSON в плоский список (greppable output).
Было (JSON):
Стало (gron):
Кейс: Найти ID пользователя "guest".
Установка: sudo apt install gron или скачать бинарник с GitHub.
#linux #tools #json #cli #productivity #gron
Все знают утилиту jq. Она мощная, но синтаксис запросов там — это отдельный язык программирования, который вечно забываешь. Когда нужно просто "грепнуть" JSON, используйте gron.
Он превращает иерархический JSON в плоский список (greppable output).
Было (JSON):
{
"users": [
{ "name": "admin", "id": 1 },
{ "name": "guest", "id": 2 }
]
}
Стало (gron):
json.users[0].name = "admin";
json.users[0].id = 1;
json.users[1].name = "guest";
json.users[1].id = 2;
Кейс: Найти ID пользователя "guest".
gron users.json | grep "guest"
# Вывод: json.users[1].name = "guest";
# Ага, это индекс [1]!
Установка: sudo apt install gron или скачать бинарник с GitHub.
#linux #tools #json #cli #productivity #gron
👮♂️ Linux: Настраиваем sudo как Архитектор
Давать пользователю ALL=(ALL) ALL — это лень, граничащая с преступлением. Если разработчику нужно только перезапускать Nginx, дайте ему право только на это.
Редактируем файл (ТОЛЬКО через visudo!):
1. Создаем алиас команды (чтобы не писать пути):
2. Даем права конкретной группе:
Что мы сделали:
* %web_team — группа пользователей.
* (root) — от чьего имени запускаем.
* NOPASSWD — не спрашивать пароль (удобно для скриптов).
* RESTART_NGINX — разрешили только эти команды.
Теперь, если дев попытается сделать sudo rm -rf /, система вежливо его пошлет.
#linux #security #sudo #accesscontrol #bestpractice
Давать пользователю ALL=(ALL) ALL — это лень, граничащая с преступлением. Если разработчику нужно только перезапускать Nginx, дайте ему право только на это.
Редактируем файл (ТОЛЬКО через visudo!):
1. Создаем алиас команды (чтобы не писать пути):
Cmnd_Alias RESTART_NGINX = /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx
2. Даем права конкретной группе:
%web_team ALL=(root) NOPASSWD: RESTART_NGINX
Что мы сделали:
* %web_team — группа пользователей.
* (root) — от чьего имени запускаем.
* NOPASSWD — не спрашивать пароль (удобно для скриптов).
* RESTART_NGINX — разрешили только эти команды.
Теперь, если дев попытается сделать sudo rm -rf /, система вежливо его пошлет.
#linux #security #sudo #accesscontrol #bestpractice
👍2
🤔 Проблема X-Y: Почему пользователи врут (не специально)
Один из главных навыков Сеньора — умение распознать X-Y Problem. Это сэкономит вам часы отладки.
Ситуация: Пользователь (или Джун) приходит и спрашивает:
«Как мне получить последние 3 символа строки в Bash?» (Это проблема Y)
Вы тратите время, пишете sed или awk команду. А потом выясняется, что он хотел узнать расширение файла (Проблема X), и ваше решение ломается на файлах типа .tar.gz.
Суть: Пользователь столкнулся с проблемой X. Он придумал кривое решение Y, но не знает, как его реализовать. И спрашивает вас про Y, скрывая реальную задачу.
Решение: Всегда задавайте вопрос: «А какую конечную задачу ты пытаешься решить?». В 90% случаев окажется, что нужно не «парсить строку», а просто взять готовую утилиту или API.
Не чините костыли. Ищите причину.
#softskills #problemsovling #psychology #adminlife #management
Один из главных навыков Сеньора — умение распознать X-Y Problem. Это сэкономит вам часы отладки.
Ситуация: Пользователь (или Джун) приходит и спрашивает:
«Как мне получить последние 3 символа строки в Bash?» (Это проблема Y)
Вы тратите время, пишете sed или awk команду. А потом выясняется, что он хотел узнать расширение файла (Проблема X), и ваше решение ломается на файлах типа .tar.gz.
Суть: Пользователь столкнулся с проблемой X. Он придумал кривое решение Y, но не знает, как его реализовать. И спрашивает вас про Y, скрывая реальную задачу.
Решение: Всегда задавайте вопрос: «А какую конечную задачу ты пытаешься решить?». В 90% случаев окажется, что нужно не «парсить строку», а просто взять готовую утилиту или API.
Не чините костыли. Ищите причину.
#softskills #problemsovling #psychology #adminlife #management
🕵️♂️ Linux: Кто трогал этот файл? (auditd)
Иногда ls -l и last недостаточно. Вам нужно знать: кто, когда и какой процесс изменил критический конфиг /etc/passwd или удалил файл базы данных.
Включаем подсистему аудита ядра — auditd.
1. Ставим слежку за файлом:
2. Смотрим отчет: Кто трогал файл?
Вы увидите всё: PID процесса, UID пользователя и даже команду, которой это было сделано. Незаменимо при разборе инцидентов.
#linux #security #audit #forensics #securityhardening
Иногда ls -l и last недостаточно. Вам нужно знать: кто, когда и какой процесс изменил критический конфиг /etc/passwd или удалил файл базы данных.
Включаем подсистему аудита ядра — auditd.
1. Ставим слежку за файлом:
# -w : watch (следить за файлом)
# -p wa : permission write/attribute (запись или смена прав)
# -k passwd_change : ключ поиска (тег для логов)
auditctl -w /etc/passwd -p wa -k passwd_change
2. Смотрим отчет: Кто трогал файл?
ausearch -k passwd_change
Вы увидите всё: PID процесса, UID пользователя и даже команду, которой это было сделано. Незаменимо при разборе инцидентов.
#linux #security #audit #forensics #securityhardening
🏎 TCP BBR: Ускоряем интернет одной строкой
Вы знали, что Linux по умолчанию использует алгоритм контроля перегрузки сети CUBIC, разработанный в 2000-х? Он считает, что если пакет потерялся — канал забит, и резко снижает скорость. Но в 2025 году потеря пакетов не всегда означает перегрузку (привет, Wi-Fi и LTE).
Google придумал BBR (Bottleneck Bandwidth and RTT). Он не смотрит на потери пакетов. Он строит модель пропускной способности канала.
Результат: На серверах с высоким пингом или нестабильным каналом (VPN, трансграничный трафик) скорость скачивания вырастает в разы.
Как включить (Ядро 4.9+):
Проверяем доступность:
Включаем:
Проверяем:
Попробуйте включить это на своем VPN-сервере или прокси. Разница вас шокирует.
#linux #network #performance #bbr #kernel #optimization
Вы знали, что Linux по умолчанию использует алгоритм контроля перегрузки сети CUBIC, разработанный в 2000-х? Он считает, что если пакет потерялся — канал забит, и резко снижает скорость. Но в 2025 году потеря пакетов не всегда означает перегрузку (привет, Wi-Fi и LTE).
Google придумал BBR (Bottleneck Bandwidth and RTT). Он не смотрит на потери пакетов. Он строит модель пропускной способности канала.
Результат: На серверах с высоким пингом или нестабильным каналом (VPN, трансграничный трафик) скорость скачивания вырастает в разы.
Как включить (Ядро 4.9+):
Проверяем доступность:
modprobe tcp_bbr
Включаем:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
Проверяем:
sysctl net.ipv4.tcp_congestion_control
# Должно быть: bbr
Попробуйте включить это на своем VPN-сервере или прокси. Разница вас шокирует.
#linux #network #performance #bbr #kernel #optimization
🆘 REISUB: Как перезагрузить намертво зависший Linux?
Ситуация: Сервер завис. SSH не отвечает. Консоль не реагирует. Эникейщик тянется к кнопке Reset (Hard Reset). Это риск убить файловую систему.
Архитектор использует Magic SysRq Key. Это прямые команды ядру, которые работают, даже если система лежит.
Заклинание: R E I S U B (Запоминалка: Reboot Even If System Utterly Broken)
Если у вас есть доступ к физической клавиатуре (или KVM): Зажимаем Alt + SysRq (PrintScreen) и медленно вводим по очереди:
R (Raw) — перехват клавиатуры у X-сервера.
E (Term) — посылает SIGTERM всем процессам (попытка мягко завершить).
I (Kill) — посылает SIGKILL всем, кто не умер (жесткое убийство).
S (Sync) — самое важное! Сбрасывает кэш на диск (спасает данные).
U (Unmount) — перемонтирует диски в Read-Only.
B (Reboot) — перезагрузка.
Как проверить, включено ли: cat /proc/sys/kernel/sysrq (должно быть 1 или маска 176).
Сохрани. Однажды это спасет твою базу данных от коррупции.
#linux #kernel #troubleshooting #sysrq #recovery #hacks
Ситуация: Сервер завис. SSH не отвечает. Консоль не реагирует. Эникейщик тянется к кнопке Reset (Hard Reset). Это риск убить файловую систему.
Архитектор использует Magic SysRq Key. Это прямые команды ядру, которые работают, даже если система лежит.
Заклинание: R E I S U B (Запоминалка: Reboot Even If System Utterly Broken)
Если у вас есть доступ к физической клавиатуре (или KVM): Зажимаем Alt + SysRq (PrintScreen) и медленно вводим по очереди:
R (Raw) — перехват клавиатуры у X-сервера.
E (Term) — посылает SIGTERM всем процессам (попытка мягко завершить).
I (Kill) — посылает SIGKILL всем, кто не умер (жесткое убийство).
S (Sync) — самое важное! Сбрасывает кэш на диск (спасает данные).
U (Unmount) — перемонтирует диски в Read-Only.
B (Reboot) — перезагрузка.
Как проверить, включено ли: cat /proc/sys/kernel/sysrq (должно быть 1 или маска 176).
Сохрани. Однажды это спасет твою базу данных от коррупции.
#linux #kernel #troubleshooting #sysrq #recovery #hacks
👍3
📦 Windows Sandbox: Изолятор для подозрительного софта
Ситуация: Нужно запустить странный .exe или скрипт, который прислал юзер. ❌ Плохо: Запускать на своей машине («авось пронесет»). ❌ Долго: Разворачивать виртуалку в Hyper-V/VMware. ✅ Архитектор: Запускает Windows Sandbox.
Это встроенная в Pro/Enterprise версию легковесная виртуалка. Она грузится за 5 секунд, использует ваше текущее ядро Windows, но полностью изолирована. Главная фишка: Как только вы закрываете окно — всё содержимое уничтожается. Никаких следов.
Как включить (PowerShell):
Pro Tip: Можно создать конфиг .wsb, чтобы пробрасывать внутрь папки с хоста (Read-Only) или запускать скрипты при старте.
Идеально для тестов софта и открытия подозрительных вложений.
#windows #security #sandbox #testing #bestpractice
Ситуация: Нужно запустить странный .exe или скрипт, который прислал юзер. ❌ Плохо: Запускать на своей машине («авось пронесет»). ❌ Долго: Разворачивать виртуалку в Hyper-V/VMware. ✅ Архитектор: Запускает Windows Sandbox.
Это встроенная в Pro/Enterprise версию легковесная виртуалка. Она грузится за 5 секунд, использует ваше текущее ядро Windows, но полностью изолирована. Главная фишка: Как только вы закрываете окно — всё содержимое уничтожается. Никаких следов.
Как включить (PowerShell):
Enable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM" -All -Online
(Потребуется перезагрузка)
Pro Tip: Можно создать конфиг .wsb, чтобы пробрасывать внутрь папки с хоста (Read-Only) или запускать скрипты при старте.
Идеально для тестов софта и открытия подозрительных вложений.
#windows #security #sandbox #testing #bestpractice
🧠 eBPF: Почему все о нем говорят?
Если вы слышите слово eBPF из каждого утюга, но боитесь спросить, что это — объясняем за 30 секунд.
Раньше, чтобы добавить новую фичу в ядро Linux (или глубоко отладить его), нужно было писать модуль ядра (Kernel Module). Ошибка в модуле = Kernel Panic (синий экран смерти).
eBPF (Extended Berkeley Packet Filter) — это безопасная виртуальная машина прямо внутри ядра Linux. Она позволяет запускать ваши скрипты (песочницу) в пространстве ядра без риска обрушить систему и без пересборки ядра.
Что это дает админу в 2025:
Супер-мониторинг: Утилиты нового поколения (типа bcc-tools) видят каждый чих системы, не нагружая её.
Сетевая магия: Инструменты типа Cilium фильтруют пакеты быстрее, чем iptables, потому что делают это до того, как пакет попадет в сетевой стек.
Попробовать прямо сейчас: Поставьте bpfcc-tools (Ubuntu) или bcc-tools (CentOS). Запустите execsnoop. Вы увидите каждый новый процесс, запускаемый в системе в реальном времени.
#linux #kernel #ebpf #future #architecture #learning
Если вы слышите слово eBPF из каждого утюга, но боитесь спросить, что это — объясняем за 30 секунд.
Раньше, чтобы добавить новую фичу в ядро Linux (или глубоко отладить его), нужно было писать модуль ядра (Kernel Module). Ошибка в модуле = Kernel Panic (синий экран смерти).
eBPF (Extended Berkeley Packet Filter) — это безопасная виртуальная машина прямо внутри ядра Linux. Она позволяет запускать ваши скрипты (песочницу) в пространстве ядра без риска обрушить систему и без пересборки ядра.
Что это дает админу в 2025:
Супер-мониторинг: Утилиты нового поколения (типа bcc-tools) видят каждый чих системы, не нагружая её.
Сетевая магия: Инструменты типа Cilium фильтруют пакеты быстрее, чем iptables, потому что делают это до того, как пакет попадет в сетевой стек.
Попробовать прямо сейчас: Поставьте bpfcc-tools (Ubuntu) или bcc-tools (CentOS). Запустите execsnoop. Вы увидите каждый новый процесс, запускаемый в системе в реальном времени.
#linux #kernel #ebpf #future #architecture #learning
🟢 Caddy: Веб-сервер для тех, кто ценит время
Nginx прекрасен, но настройка HTTPS, получение сертификатов Let's Encrypt и ротация ключей — это рутина. Если вы поднимаете пет-проект или домашний сервер, взгляните на Caddy.
Это веб-сервер нового поколения, написанный на Go.
Киллер-фича: Автоматический HTTPS по умолчанию. Вы просто пишете домен в конфиге, и Caddy сам стучится в Let's Encrypt, получает сертификат, привязывает его и настраивает редирект с HTTP на HTTPS.
Конфиг (Caddyfile) для Reverse Proxy: Вместо 50 строк в Nginx, здесь всего 3:
Всё. HTTP/3 (QUIC) включен из коробки. Сертификат получен. Прокси работает. Идеально для выходных экспериментов.
#caddy #web #nginx #https #homelab #opensource
Nginx прекрасен, но настройка HTTPS, получение сертификатов Let's Encrypt и ротация ключей — это рутина. Если вы поднимаете пет-проект или домашний сервер, взгляните на Caddy.
Это веб-сервер нового поколения, написанный на Go.
Киллер-фича: Автоматический HTTPS по умолчанию. Вы просто пишете домен в конфиге, и Caddy сам стучится в Let's Encrypt, получает сертификат, привязывает его и настраивает редирект с HTTP на HTTPS.
Конфиг (Caddyfile) для Reverse Proxy: Вместо 50 строк в Nginx, здесь всего 3:
my-project.com {
reverse_proxy localhost:3000
}
Всё. HTTP/3 (QUIC) включен из коробки. Сертификат получен. Прокси работает. Идеально для выходных экспериментов.
#caddy #web #nginx #https #homelab #opensource
👍2
🪟 WSL 2: Прощай, проблема с localhost!
Главная боль пользователей WSL 2 (Linux внутри Windows) долгие годы — сеть. Запускаешь сервер в Linux на порту 3000 → Windows его не видит на localhost. Приходится искать IP виртуалки.
В свежих версиях Windows 11 (24H2+) и WSL (2.0+) это починили режимом Mirrored Networking.
Что это: Linux и Windows начинают делить один IP-адрес и одно сетевое пространство (как это было в WSL 1, но с ядром WSL 2). ✅ IPv6 работает. ✅ LAN-доступ работает. ✅ VPN работает корректно!
Как включить: Создайте файл .wslconfig в папке пользователя Windows (C:\Users\User\.wslconfig):
Перезапустите: wsl --shutdown. Жизнь разработчика и админа стала проще.
#windows #wsl #linux #networking #tips #devops
Главная боль пользователей WSL 2 (Linux внутри Windows) долгие годы — сеть. Запускаешь сервер в Linux на порту 3000 → Windows его не видит на localhost. Приходится искать IP виртуалки.
В свежих версиях Windows 11 (24H2+) и WSL (2.0+) это починили режимом Mirrored Networking.
Что это: Linux и Windows начинают делить один IP-адрес и одно сетевое пространство (как это было в WSL 1, но с ядром WSL 2). ✅ IPv6 работает. ✅ LAN-доступ работает. ✅ VPN работает корректно!
Как включить: Создайте файл .wslconfig в папке пользователя Windows (C:\Users\User\.wslconfig):
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
Перезапустите: wsl --shutdown. Жизнь разработчика и админа стала проще.
#windows #wsl #linux #networking #tips #devops
🔑 Authentik: Единый вход для домашней лабы
У вас дома крутится Grafana, Portainer, Home Assistant и торренты. Везде свои логины/пароли. Это неудобно и небезопасно.
Настройте Authentik (или Keycloak, но Authentik легче).
Что это: Это ваш личный Identity Provider (IDP). Вы один раз входите в Authentik, и он пускает вас во все остальные сервисы (SSO).
Почему это круто:
Безопасность: Можно закрыть все сервисы за Authentik и прикрутить 2FA (Google Authenticator) даже туда, где его не было (например, к старому веб-интерфейсу роутера).
Удобство: Красивый дашборд со всеми вашими приложениями.
Поднимается в Docker за 5 минут. Почувствуйте себя Enterprise-архитектором у себя дома.
#security #homelab #sso #authentik #docker #selfhosted
У вас дома крутится Grafana, Portainer, Home Assistant и торренты. Везде свои логины/пароли. Это неудобно и небезопасно.
Настройте Authentik (или Keycloak, но Authentik легче).
Что это: Это ваш личный Identity Provider (IDP). Вы один раз входите в Authentik, и он пускает вас во все остальные сервисы (SSO).
Почему это круто:
Безопасность: Можно закрыть все сервисы за Authentik и прикрутить 2FA (Google Authenticator) даже туда, где его не было (например, к старому веб-интерфейсу роутера).
Удобство: Красивый дашборд со всеми вашими приложениями.
Поднимается в Docker за 5 минут. Почувствуйте себя Enterprise-архитектором у себя дома.
#security #homelab #sso #authentik #docker #selfhosted
🚫 IPv6: Перестаньте его отключать
Есть старая привычка эникейщиков: «Глючит сеть? Отключи IPv6 в адаптере». В 2010 году это помогало. В 2025 году это архитектурная ошибка.
Почему нельзя просто снять галочку:
Windows Server: Microsoft официально заявляет: «Мы не тестируем Windows Server без IPv6». Многие внутренние службы (Exchange, Cluster Service, Active Directory) используют его для общения между собой, даже если у вас нет внешнего v6 адреса.
Тормоза: При отключении IPv6 через GUI адаптера, система всё равно пытается резолвить AAAA-записи DNS, ждет таймаута и только потом идет по IPv4. Это добавляет задержки (latency) при открытии сайтов и подключении к БД.
Как правильно (если очень надо): Если ваш провайдер или свитч реально не дружит с v6, не отключайте протокол. Настройте приоритет (Prefer IPv4 over IPv6) через реестр:
Пусть IPv6 живет своей жизнью внутри ядра. Не мешайте механизму работать.
#network #ipv6 #windows #bestpractice #mythbusters
Есть старая привычка эникейщиков: «Глючит сеть? Отключи IPv6 в адаптере». В 2010 году это помогало. В 2025 году это архитектурная ошибка.
Почему нельзя просто снять галочку:
Windows Server: Microsoft официально заявляет: «Мы не тестируем Windows Server без IPv6». Многие внутренние службы (Exchange, Cluster Service, Active Directory) используют его для общения между собой, даже если у вас нет внешнего v6 адреса.
Тормоза: При отключении IPv6 через GUI адаптера, система всё равно пытается резолвить AAAA-записи DNS, ждет таймаута и только потом идет по IPv4. Это добавляет задержки (latency) при открытии сайтов и подключении к БД.
Как правильно (если очень надо): Если ваш провайдер или свитч реально не дружит с v6, не отключайте протокол. Настройте приоритет (Prefer IPv4 over IPv6) через реестр:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -PropertyType DWord -Value 0x20
Пусть IPv6 живет своей жизнью внутри ядра. Не мешайте механизму работать.
#network #ipv6 #windows #bestpractice #mythbusters
🕸 Headscale: Твой личный Tailscale
Все любят Tailscale за магию Mesh-VPN: поставил агент на ноут, телефон и домашний сервер — и они видят друг друга по локальным IP, где бы они ни были (даже за двойным NAT). Но есть минус: Control Server (координатор) проприетарный и лежит у них.
Для тех, кто ценит суверенитет, есть Headscale. Это Open Source реализация координатора Tailscale, которую вы хостите сами.
Зачем мучаться, если Tailscale бесплатен для личного пользования?
1. Безлимит: Никаких ограничений на количество устройств и пользователей.
2. Приватность: Списки ваших устройств и ACL не лежат на чужих серверах.
3. Опыт: Вы поймете, как работают современные оверлейные сети.
Как работает: Поднимаете Headscale на дешевой VPS за 100 рублей. На клиентах (Windows/Android/Linux) указываете URL вашего сервера (--login-server). Профит: ваша личная защищенная сеть поверх всего интернета.
#vpn #homelab #opensource #headscale #security #selfhosted
Все любят Tailscale за магию Mesh-VPN: поставил агент на ноут, телефон и домашний сервер — и они видят друг друга по локальным IP, где бы они ни были (даже за двойным NAT). Но есть минус: Control Server (координатор) проприетарный и лежит у них.
Для тех, кто ценит суверенитет, есть Headscale. Это Open Source реализация координатора Tailscale, которую вы хостите сами.
Зачем мучаться, если Tailscale бесплатен для личного пользования?
1. Безлимит: Никаких ограничений на количество устройств и пользователей.
2. Приватность: Списки ваших устройств и ACL не лежат на чужих серверах.
3. Опыт: Вы поймете, как работают современные оверлейные сети.
Как работает: Поднимаете Headscale на дешевой VPS за 100 рублей. На клиентах (Windows/Android/Linux) указываете URL вашего сервера (--login-server). Профит: ваша личная защищенная сеть поверх всего интернета.
#vpn #homelab #opensource #headscale #security #selfhosted
👤 T-Shaped Admin: Кто стоит дорого?
В воскресенье можно подумать о карьере. На рынке 2025 года есть два типа специалистов, которым платят много.
1. I-Shaped (Узкий спец): Знает Oracle DB на уровне бога. Больше ничего не знает. Рискованно (технология может умереть).
2. T-Shaped (Архитектор):
* Вертикальная палка: Глубокая экспертиза в чем-то одном (например, Linux/Networks).
* Горизонтальная перекладина: Базовое понимание смежных областей (Python, Security, Databases, Cloud, Frontend).
Почему T-Shaped побеждает? Когда падает сервис, "узкий" линуксоид говорит: "У меня в htop всё ок, это проблема базы". И идет пить чай. T-Shaped админ заходит в базу, смотрит медленные запросы, понимает, что разработчик забыл индекс, и временно его создает.
Задача на вечер: Подумайте, где у вас просадка в "горизонтальной перекладине"?
* Боитесь сетей? (Почитайте про BGP/OSPF).
* Не умеете кодить? (Напишите бота на Python).
* Плавайте в безопасности? (Разберите OWASP Top 10).
Расширяйте кругозор. Это лучшая инвестиция.
#career #growth #tshaped #softskills #salary
В воскресенье можно подумать о карьере. На рынке 2025 года есть два типа специалистов, которым платят много.
1. I-Shaped (Узкий спец): Знает Oracle DB на уровне бога. Больше ничего не знает. Рискованно (технология может умереть).
2. T-Shaped (Архитектор):
* Вертикальная палка: Глубокая экспертиза в чем-то одном (например, Linux/Networks).
* Горизонтальная перекладина: Базовое понимание смежных областей (Python, Security, Databases, Cloud, Frontend).
Почему T-Shaped побеждает? Когда падает сервис, "узкий" линуксоид говорит: "У меня в htop всё ок, это проблема базы". И идет пить чай. T-Shaped админ заходит в базу, смотрит медленные запросы, понимает, что разработчик забыл индекс, и временно его создает.
Задача на вечер: Подумайте, где у вас просадка в "горизонтальной перекладине"?
* Боитесь сетей? (Почитайте про BGP/OSPF).
* Не умеете кодить? (Напишите бота на Python).
* Плавайте в безопасности? (Разберите OWASP Top 10).
Расширяйте кругозор. Это лучшая инвестиция.
#career #growth #tshaped #softskills #salary
🕰 Linux: Кто убил сервер в 3 часа ночи? (atop)
Утро понедельника. Сервер перезагрузился ночью. Мониторинг показывает дырку в графиках. top и htop показывают текущую картину, где всё спокойно. Как узнать, что произошло в прошлом?
Ваш спаситель — atop. В отличие от htop, он умеет работать как демон и записывать состояние системы (снапшоты) каждые 10 минут.
Как отправиться в прошлое:
Управление машиной времени:
* t — шаг вперед на 10 минут.
* T — шаг назад.
* b — прыгнуть к конкретному времени (например, 02:55).
Вы увидите полную картину того момента: какой процесс съел CPU, закончилась ли память (OOM) или диск ушел в полку по IOPS.
Если atop не стоит, ставьте прямо сейчас. Когда сервер упадет в следующий раз, вы скажете себе спасибо.
#linux #troubleshooting #atop #monitoring #debug #logs
Утро понедельника. Сервер перезагрузился ночью. Мониторинг показывает дырку в графиках. top и htop показывают текущую картину, где всё спокойно. Как узнать, что произошло в прошлом?
Ваш спаситель — atop. В отличие от htop, он умеет работать как демон и записывать состояние системы (снапшоты) каждые 10 минут.
Как отправиться в прошлое:
# Читаем лог за сегодня (или выберите файл за вчера)
atop -r /var/log/atop/atop_20251215
Управление машиной времени:
* t — шаг вперед на 10 минут.
* T — шаг назад.
* b — прыгнуть к конкретному времени (например, 02:55).
Вы увидите полную картину того момента: какой процесс съел CPU, закончилась ли память (OOM) или диск ушел в полку по IOPS.
Если atop не стоит, ставьте прямо сейчас. Когда сервер упадет в следующий раз, вы скажете себе спасибо.
#linux #troubleshooting #atop #monitoring #debug #logs
🔥 Blameless Post-Mortem: Почему нельзя искать виноватых
Когда падает прод, инстинкт руководителя (и неопытного лида) — найти виновного. «Кто запушил конфиг? Петя? Лишить премии!»
Это путь в никуда. Архитектор строит культуру Blameless Post-Mortem (Разбор полетов без обвинений).
Почему это выгодно:
1. Честность: Если Петя знает, что его накажут, он будет скрывать ошибку до последнего, пока сервер не сгорит. Если знает, что не накажут — он придет и скажет: «Я сломал, давайте чинить». Время реакции сокращается в разы.
2. Системный подход: Ошибка человека — это всегда ошибка системы.
Плохой вопрос: «Почему Петя удалил базу?»
Вопрос архитектора: «Почему система позволила Пете удалить базу одной командой без подтверждения и бэкапа?»
Правило: Мы не чиним людей (увольнением). Мы чиним процессы (автоматизацией и защитой от дурака). В следующий раз, когда что-то сломается, начните разбор с фразы: «Мы не ищем виновных, мы ищем причину сбоя».
#softskills #management #sre #postmortem #culture #devops
Когда падает прод, инстинкт руководителя (и неопытного лида) — найти виновного. «Кто запушил конфиг? Петя? Лишить премии!»
Это путь в никуда. Архитектор строит культуру Blameless Post-Mortem (Разбор полетов без обвинений).
Почему это выгодно:
1. Честность: Если Петя знает, что его накажут, он будет скрывать ошибку до последнего, пока сервер не сгорит. Если знает, что не накажут — он придет и скажет: «Я сломал, давайте чинить». Время реакции сокращается в разы.
2. Системный подход: Ошибка человека — это всегда ошибка системы.
Плохой вопрос: «Почему Петя удалил базу?»
Вопрос архитектора: «Почему система позволила Пете удалить базу одной командой без подтверждения и бэкапа?»
Правило: Мы не чиним людей (увольнением). Мы чиним процессы (автоматизацией и защитой от дурака). В следующий раз, когда что-то сломается, начните разбор с фразы: «Мы не ищем виновных, мы ищем причину сбоя».
#softskills #management #sre #postmortem #culture #devops
🔥5
👑 Windows: Режим Бога (SYSTEM) через PsExec
Бывают ситуации, когда даже прав «Администратора» не хватает. Например, нужно удалить защищенный ключ реестра, убить системный процесс или проверить, почему скрипт в Task Scheduler падает (он запускается от SYSTEM, и у него другое окружение).
Вам нужно стать системой. Используем классику от Марка Руссиновича — PsExec.
Команда для локального запуска:
Разбор флагов:
* -i: Интерактивный режим (показать окно).
* -s: Запуск от имени учетной записи Local System (NT AUTHORITY\SYSTEM).
* -d: Не ждать завершения процесса.
В открывшейся консоли наберите whoami. Вы увидите nt authority\system. Теперь у вас прав больше, чем у Администратора. Вы можете править скрытые ветки реестра и смотреть файлы, доступные только ОС.
⚠️ Warning: Антивирусы часто ругаются на PsExec (HackTool). Добавьте папку Sysinternals в исключения на админской машине.
#windows #sysinternals #security #troubleshooting #godmode #psexec
Бывают ситуации, когда даже прав «Администратора» не хватает. Например, нужно удалить защищенный ключ реестра, убить системный процесс или проверить, почему скрипт в Task Scheduler падает (он запускается от SYSTEM, и у него другое окружение).
Вам нужно стать системой. Используем классику от Марка Руссиновича — PsExec.
Команда для локального запуска:
psexec -i -s -d cmd.exe
Разбор флагов:
* -i: Интерактивный режим (показать окно).
* -s: Запуск от имени учетной записи Local System (NT AUTHORITY\SYSTEM).
* -d: Не ждать завершения процесса.
В открывшейся консоли наберите whoami. Вы увидите nt authority\system. Теперь у вас прав больше, чем у Администратора. Вы можете править скрытые ветки реестра и смотреть файлы, доступные только ОС.
⚠️ Warning: Антивирусы часто ругаются на PsExec (HackTool). Добавьте папку Sysinternals в исключения на админской машине.
#windows #sysinternals #security #troubleshooting #godmode #psexec
👍2
⏱ Curl: Почему сайт тормозит? (Разбираем на атомы)
Когда пользователь говорит «сайт долго грузится», это эмоции. Админу нужны цифры. Проблема в DNS? Или SSL-хендшейк долгий? Или бэкенд тупит?
curl умеет раскладывать тайминги запроса по полочкам.
Команда:
Что значат цифры:
DNS: Сколько искали IP. Если долго — меняйте DNS-сервер.
Connect: TCP-подключение. Если долго — проблемы с сетью/маршрутами.
SSL: Криптография.
TTFB (Time To First Byte): Время, пока сервер думал над ответом. Если здесь 2 секунды — идите бить разработчиков, база тормозит.
Совет: Засуньте эту "колбасу" в алиас curl-time.
#network #curl #troubleshooting #performance #web #cli
Когда пользователь говорит «сайт долго грузится», это эмоции. Админу нужны цифры. Проблема в DNS? Или SSL-хендшейк долгий? Или бэкенд тупит?
curl умеет раскладывать тайминги запроса по полочкам.
Команда:
curl -w "DNS: %{time_namelookup}s \nConnect: %{time_connect}s \nSSL Handshake: %{time_appconnect}s \nTTFB: %{time_starttransfer}s \nTotal: %{time_total}s \n" -o /dev/null -s https://google.com
Что значат цифры:
DNS: Сколько искали IP. Если долго — меняйте DNS-сервер.
Connect: TCP-подключение. Если долго — проблемы с сетью/маршрутами.
SSL: Криптография.
TTFB (Time To First Byte): Время, пока сервер думал над ответом. Если здесь 2 секунды — идите бить разработчиков, база тормозит.
Совет: Засуньте эту "колбасу" в алиас curl-time.
#network #curl #troubleshooting #performance #web #cli
🔥2
👻 Windows: Режим «Призрака» в RDP (Shadow Mode)
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
Подключаемся в режиме Shadow:
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
Ситуация: Звонит бухгалтер. "У меня 1С не открывается, ошибка какая-то". Вы подключаетесь по RDP — и выкидываете пользователя из сессии (экран блокируется). Приходится кричать в трубку: "Ну что там написано?", а в ответ: "Ой, всё пропало, черный экран!".
В Windows встроен штатный способ подключиться к сессии пользователя, не выкидывая его (он видит, что вы делаете).
Как это сделать:
Узнаем ID сессии пользователя:
qwinsta /server:BUH-PC-01
# Видим: buhgalter ID: 1 Active
Подключаемся в режиме Shadow:
mstsc /shadow:1 /v:BUH-PC-01 /control
Что значат ключи:
/shadow:1 — подключиться к сессии с ID 1.
/control — разрешить управление мышкой/клавиатурой (без этого будет только просмотр).
/noConsentPrompt — подключиться без спроса (нужна настройка GPO, иначе у пользователя вылезет окошко "Разрешить админу просмотр?").
Идеально для техподдержки. Вы видите проблему глазами пользователя.
#windows #rdp #helpdesk #tips #shadowmode #cmd
👍4