🚌 Bus Factor: Почему быть "незаменимым" — это ловушка
Многие админы стремятся стать единственными, кто знает, как работает сеть или как деплоится бэкенд. Им кажется, что это гарантия безопасности: "Меня не уволят, потому что без меня всё рухнет".
Это карьерный тупик. Если ваш Bus Factor = 1 (если вас собьет автобус, проект умрет), то:
Вы не уйдете в отпуск. Вас будут дергать в горах и на пляже.
Вас не повысят. Руководство не может перевести вас на позицию Архитектора или CTO, потому что на текущем месте вас некем заменить. Вы становитесь заложником своей рутины.
Что делает Архитектор: Он стремится стать ненужным.
Автоматизирует всё, что можно.
Пишет документацию так, чтобы справился джун.
Делится знаниями.
Парадокс: Чем проще вас заменить в текущих задачах, тем ценнее вы становитесь для компании как инженер, способный строить новые системы, а не чинить старые.
#career #management #busfactor #softskills #growth #philosophy
Многие админы стремятся стать единственными, кто знает, как работает сеть или как деплоится бэкенд. Им кажется, что это гарантия безопасности: "Меня не уволят, потому что без меня всё рухнет".
Это карьерный тупик. Если ваш Bus Factor = 1 (если вас собьет автобус, проект умрет), то:
Вы не уйдете в отпуск. Вас будут дергать в горах и на пляже.
Вас не повысят. Руководство не может перевести вас на позицию Архитектора или CTO, потому что на текущем месте вас некем заменить. Вы становитесь заложником своей рутины.
Что делает Архитектор: Он стремится стать ненужным.
Автоматизирует всё, что можно.
Пишет документацию так, чтобы справился джун.
Делится знаниями.
Парадокс: Чем проще вас заменить в текущих задачах, тем ценнее вы становитесь для компании как инженер, способный строить новые системы, а не чинить старые.
#career #management #busfactor #softskills #growth #philosophy
📍 DNS: Зачем нужна точка в конце (google.com.)?
Вы наверняка видели в конфигах BIND или в старых учебниках домены с точкой на конце: example.com. Зачем она?
Это FQDN (Fully Qualified Domain Name) — полностью определенное имя домена.
Как это работает: Когда вы пишете в браузере google.com (без точки), ваш компьютер на самом деле пытается быть умным. Если вы находитесь в корпоративной сети corp.local, резолвер может сначала попробовать найти:
google.com.corp.local (А вдруг это внутренний сервер?)
И только потом google.com. (Корень интернета).
Точка в конце говорит системе жестко:
"Не пытайся подставить локальные суффиксы. Иди сразу в корневой DNS (Root Zone)."
Практика: В критических скриптах и конфигах серверов (особенно Nginx/Postfix) использование точки в конце (proxy_pass http://backend.local.;) ускоряет резолвинг и защищает от атак с подменой локальных доменов.
#network #dns #theory #fqdn #internet #basics
Вы наверняка видели в конфигах BIND или в старых учебниках домены с точкой на конце: example.com. Зачем она?
Это FQDN (Fully Qualified Domain Name) — полностью определенное имя домена.
Как это работает: Когда вы пишете в браузере google.com (без точки), ваш компьютер на самом деле пытается быть умным. Если вы находитесь в корпоративной сети corp.local, резолвер может сначала попробовать найти:
google.com.corp.local (А вдруг это внутренний сервер?)
И только потом google.com. (Корень интернета).
Точка в конце говорит системе жестко:
"Не пытайся подставить локальные суффиксы. Иди сразу в корневой DNS (Root Zone)."
Практика: В критических скриптах и конфигах серверов (особенно Nginx/Postfix) использование точки в конце (proxy_pass http://backend.local.;) ускоряет резолвинг и защищает от атак с подменой локальных доменов.
#network #dns #theory #fqdn #internet #basics
👍2
🐤 Canary Tokens: Ловушка для любопытного хакера
Как узнать, что злоумышленник (или любопытный инсайдер) проник в вашу сеть и шарится по папкам? Логи Windows Security читать сложно. SIEM стоит дорого.
Используйте Canary Tokens (Канарейку).
Суть: Вы создаете "фейковый" файл или ссылку, которая выглядит очень аппетитно. Например:
* Файл bitcoin_wallet_passwords.docx на рабочем столе.
* Запись в DNS.
* Ссылку в корпоративной Wiki "Зарплаты руководства".
Как только кто-то откроет этот файл, он "стукнет" на сервер, и вам придет письмо: "Кто-то с IP 192.168.1.55 открыл ловушку!".
Как попробовать бесплатно: Зайдите на canarytokens.org. Сгенерируйте токен (например, документ Word). Положите его в папку "Secrets". Ждите. Это лучшая сигнализация от скрытых угроз.
#security #canarytokens #hacking #defense #honeypot #tools
Как узнать, что злоумышленник (или любопытный инсайдер) проник в вашу сеть и шарится по папкам? Логи Windows Security читать сложно. SIEM стоит дорого.
Используйте Canary Tokens (Канарейку).
Суть: Вы создаете "фейковый" файл или ссылку, которая выглядит очень аппетитно. Например:
* Файл bitcoin_wallet_passwords.docx на рабочем столе.
* Запись в DNS.
* Ссылку в корпоративной Wiki "Зарплаты руководства".
Как только кто-то откроет этот файл, он "стукнет" на сервер, и вам придет письмо: "Кто-то с IP 192.168.1.55 открыл ловушку!".
Как попробовать бесплатно: Зайдите на canarytokens.org. Сгенерируйте токен (например, документ Word). Положите его в папку "Secrets". Ждите. Это лучшая сигнализация от скрытых угроз.
#security #canarytokens #hacking #defense #honeypot #tools
❤2
🛡 Linux: Как запретить системе убивать твою Базу Данных (OOM Killer)
Ситуация: На сервере кончилась память (RAM). Ядро Linux включает механизм OOM Killer (Out Of Memory Killer), который, как санитар леса, начинает убивать самые "жирные" процессы, чтобы спасти систему. Чаще всего под нож попадает MySQL, PostgreSQL или Java-приложение. И сервер падает.
Вы можете сказать ядру: "Не трогай этот процесс, убей лучше что-нибудь другое".
Как это сделать: У каждого процесса есть файл /proc/[PID]/oom_score_adj. Значения в нем: от -1000 (бессмертный) до 1000 (убить первым).
Защищаем процесс (например, SSH или БД):
Как сделать это вечным (через Systemd): Добавьте в unit-файл сервиса (/etc/systemd/system/mysql.service.d/override.conf):
Теперь, даже если память кончится полностью, Linux убьет Apache, агенты мониторинга, cron, но Базу Данных будет держать до последнего байта.
#linux #kernel #oom #stability #systemd #bestpractice
Ситуация: На сервере кончилась память (RAM). Ядро Linux включает механизм OOM Killer (Out Of Memory Killer), который, как санитар леса, начинает убивать самые "жирные" процессы, чтобы спасти систему. Чаще всего под нож попадает MySQL, PostgreSQL или Java-приложение. И сервер падает.
Вы можете сказать ядру: "Не трогай этот процесс, убей лучше что-нибудь другое".
Как это сделать: У каждого процесса есть файл /proc/[PID]/oom_score_adj. Значения в нем: от -1000 (бессмертный) до 1000 (убить первым).
Защищаем процесс (например, SSH или БД):
# Находим PID (например, 1234)
# Записываем -1000 в score_adj
echo -1000 > /proc/1234/oom_score_adj
Как сделать это вечным (через Systemd): Добавьте в unit-файл сервиса (/etc/systemd/system/mysql.service.d/override.conf):
[Service]
OOMScoreAdjust=-1000
Теперь, даже если память кончится полностью, Linux убьет Apache, агенты мониторинга, cron, но Базу Данных будет держать до последнего байта.
#linux #kernel #oom #stability #systemd #bestpractice
🚑 Windows: Святая троица восстановления (DISM + SFC)
Когда Windows начинает глючить (ошибки обновлений, синие экраны, битые файлы), эникейщик переустанавливает систему. Сеньор запускает Repair Pipeline. Но важно делать это в правильном порядке.
Шаг 1. Проверяем хранилище компонентов (Component Store) Нет смысла проверять системные файлы (sfc), если сам "эталон" (образ восстановления) поврежден. Сначала чиним его.
Что делает: Скачивает целые версии системных файлов из Windows Update и кладет их в локальное хранилище.
Шаг 2. Чиним системные файлы Только теперь, когда эталон исправен, запускаем сверку:
Что делает: Сравнивает текущие файлы Windows (dll, exe) с эталоном из Шага 1 и заменяет битые.
Шаг 3. Проверяем диск (опционально, если есть подозрения)
Запомните: Сначала
#windows #troubleshooting #repair #dism #sfc #cmd
Когда Windows начинает глючить (ошибки обновлений, синие экраны, битые файлы), эникейщик переустанавливает систему. Сеньор запускает Repair Pipeline. Но важно делать это в правильном порядке.
Шаг 1. Проверяем хранилище компонентов (Component Store) Нет смысла проверять системные файлы (sfc), если сам "эталон" (образ восстановления) поврежден. Сначала чиним его.
DISM /Online /Cleanup-Image /RestoreHealth
Что делает: Скачивает целые версии системных файлов из Windows Update и кладет их в локальное хранилище.
Шаг 2. Чиним системные файлы Только теперь, когда эталон исправен, запускаем сверку:
sfc /scannow
Что делает: Сравнивает текущие файлы Windows (dll, exe) с эталоном из Шага 1 и заменяет битые.
Шаг 3. Проверяем диск (опционально, если есть подозрения)
chkdsk C: /f /r
Запомните: Сначала
DISM , потом SFC . Наоборот — бессмысленно.#windows #troubleshooting #repair #dism #sfc #cmd
🕵️♂️ Linux: stat — Вся правда о файле
Мы привыкли смотреть на файлы через
Команда:
Что смотреть в выводе:
1. Access (atime): Когда файл читали последний раз (полезно для поиска неиспользуемых конфигов).
2. Modify (mtime): Когда менялось содержимое файла.
3. Change (ctime): Когда менялись метананые (права, владелец).
* Нюанс: Если хакер подменил файл и скрутил
Форматированный вывод (для скриптов):
Используйте
#linux #forensics #stat #security #cli #audit
Мы привыкли смотреть на файлы через
ls -l . Но она показывает только время последней модификации ( mtime ). Когда нужно понять, действительно ли файл меняли, или просто поменяли права доступа ( chmod ), или когда к нему последний раз обращались — нужна команда stat .Команда:
stat /etc/passwd
Что смотреть в выводе:
1. Access (atime): Когда файл читали последний раз (полезно для поиска неиспользуемых конфигов).
2. Modify (mtime): Когда менялось содержимое файла.
3. Change (ctime): Когда менялись метананые (права, владелец).
* Нюанс: Если хакер подменил файл и скрутил
mtime назад (чтобы скрыть следы), ctime все равно выдаст время изменения!Форматированный вывод (для скриптов):
# Вывести только права в цифрах (например, 644)
stat -c "%a" filename
Используйте
stat при разборе инцидентов. ls часто врет (или недоговаривает).#linux #forensics #stat #security #cli #audit
💾 PowerShell: Бэкап драйверов одной командой
Ситуация: Нужно переустановить Windows на ноутбуке директора или специфическом промышленном ПК. Страх: "А вдруг после переустановки не встанет драйвер на этот редкий RAID-контроллер или Wi-Fi, и я не найду его в интернете?"
Сделайте резервную копию всех установленных драйверов до сноса системы. Сторонний софт не нужен.
Команда (от Админа):
Результат: Windows аккуратно разложит все драйверы (
Как восстановить: При установке новой Windows укажите эту папку, или потом в Диспетчере устройств: "Обновить драйвер -> Искать на этом компьютере".
#windows #powershell #drivers #backup #maintenance #lifehack
Ситуация: Нужно переустановить Windows на ноутбуке директора или специфическом промышленном ПК. Страх: "А вдруг после переустановки не встанет драйвер на этот редкий RAID-контроллер или Wi-Fi, и я не найду его в интернете?"
Сделайте резервную копию всех установленных драйверов до сноса системы. Сторонний софт не нужен.
Команда (от Админа):
# Создаем папку и выгружаем туда всё
MD C:\MyDrivers
Export-WindowsDriver -Online -Destination C:\MyDrivers
Результат: Windows аккуратно разложит все драйверы (
.inf , .sys , .dll ) по папочкам. Сохраните папку на флешку.Как восстановить: При установке новой Windows укажите эту папку, или потом в Диспетчере устройств: "Обновить драйвер -> Искать на этом компьютере".
#windows #powershell #drivers #backup #maintenance #lifehack
✍2🔥2
🚪 SSH: Не пускай никого, кроме избранных (AllowUsers)
Все знают: надо отключать вход по паролю (
Допустим, у вас на сервере 50 пользователей (разработчики, сервис-аккаунты). Если у одного из них утечет ключ или пароль — хакер зайдет.
Сделайте так, чтобы по SSH могли заходить только админы.
Настройка
Фрагмент кода
Фишки:
1. Можно указать конкретные логины.
2. Можно привязать логин к IP (manager@IP).
3. Все остальные пользователи (даже если у них есть правильный пароль/ключ) получат "Permission denied".
Это железобетонная защита от случайных дыр в забытых аккаунтах.
#linux #ssh #security #hardening #bestpractice #config
Все знают: надо отключать вход по паролю (
PasswordAuthentication no ) и вход рута ( PermitRootLogin no ). Но есть еще один слой защиты, который часто игнорируют — Белый список пользователей.Допустим, у вас на сервере 50 пользователей (разработчики, сервис-аккаунты). Если у одного из них утечет ключ или пароль — хакер зайдет.
Сделайте так, чтобы по SSH могли заходить только админы.
Настройка
/etc/ssh/sshd_config : В конец файла добавьте:Фрагмент кода
# Разрешить вход ТОЛЬКО этим пользователям
AllowUsers admin deploy_bot manager@192.168.1.*
Фишки:
1. Можно указать конкретные логины.
2. Можно привязать логин к IP (manager@IP).
3. Все остальные пользователи (даже если у них есть правильный пароль/ключ) получат "Permission denied".
Это железобетонная защита от случайных дыр в забытых аккаунтах.
#linux #ssh #security #hardening #bestpractice #config
🔥2👍1
🎄 Linux: Создаем новогоднее настроение (Matrix)
Если скрипты с елками не работают или вы боитесь запускать чужой код из интернета (что правильно!), используйте проверенную классику — cmatrix. Мало кто знает, что её можно настроить под рождественские цвета, а не только под "хакерский зеленый".
Установка (есть в стандартных репозиториях):
Режим "Рождество" (Красный текст):
Режим "Гирлянда" (Разноцветный):
Включаем на втором мониторе в серверной, выключаем свет — атмосфера готова.
#linux #fun #cmatrix #cli #christmas #relax
Если скрипты с елками не работают или вы боитесь запускать чужой код из интернета (что правильно!), используйте проверенную классику — cmatrix. Мало кто знает, что её можно настроить под рождественские цвета, а не только под "хакерский зеленый".
Установка (есть в стандартных репозиториях):
sudo apt install cmatrix # Ubuntu/Debian
sudo yum install cmatrix # CentOS/RHEL
Режим "Рождество" (Красный текст):
cmatrix -C red
Режим "Гирлянда" (Разноцветный):
cmatrix -r
Включаем на втором мониторе в серверной, выключаем свет — атмосфера готова.
#linux #fun #cmatrix #cli #christmas #relax
🗣 PowerShell: Заставь сервер поздравить тебя голосом
В Windows встроен мощный движок синтеза речи (TTS), который доступен из консоли без установки стороннего софта. Разыграйте коллегу или просто поднимите себе настроение, заставив сервер произнести тост.
Скрипт (копируй и вставляй):
Идея: Добавьте это в Login Script через GPO. Утром 1 января первый вошедший админ услышит голос сервера. 😈
#windows #powershell #fun #tts #scripting #adminlife
В Windows встроен мощный движок синтеза речи (TTS), который доступен из консоли без установки стороннего софта. Разыграйте коллегу или просто поднимите себе настроение, заставив сервер произнести тост.
Скрипт (копируй и вставляй):
# Подключаем сборку речи
Add-Type -AssemblyName System.Speech
# Создаем объект синтезатора
$synth = New-Object System.Speech.Synthesis.SpeechSynthesizer
# Настраиваем громкость (0-100)
$synth.Volume = 100
# Говорим! (На английском говорит отлично, на русском - зависит от установленных языковых пакетов)
$synth.Speak("Merry Christmas, Administrator. All systems are operational.")
Идея: Добавьте это в Login Script через GPO. Утром 1 января первый вошедший админ услышит голос сервера. 😈
#windows #powershell #fun #tts #scripting #adminlife
🧹 Linux: ncdu — Генеральная уборка перед Новым годом
В новый год — с чистыми дисками! Обычный
Используйте
Почему это мастхэв:
1. Скорость: Моментально сканирует диск.
2. Навигация: Вы видите папку /var/log (5 ГБ), заходите внутрь (Enter) и видите, что виноват journal.
3. Удаление: Можно нажать d прямо на файле, и он удалится (с подтверждением).
Установка и запуск:
Выделите 10 минут, почистите логи и кэши apt. Сервер скажет спасибо.
#linux #tools #ncdu #cleanup #storage #maintenance
В новый год — с чистыми дисками! Обычный
du -h выдает простыню текста. Искать, куда делось место, неудобно.Используйте
ncdu (NCurses Disk Usage). Это псевдографический интерфейс, по которому можно ходить стрелочками.Почему это мастхэв:
1. Скорость: Моментально сканирует диск.
2. Навигация: Вы видите папку /var/log (5 ГБ), заходите внутрь (Enter) и видите, что виноват journal.
3. Удаление: Можно нажать d прямо на файле, и он удалится (с подтверждением).
Установка и запуск:
Bash
sudo apt install ncdu
sudo ncdu /
Выделите 10 минут, почистите логи и кэши apt. Сервер скажет спасибо.
#linux #tools #ncdu #cleanup #storage #maintenance
❤1👏1
🎛 Homepage: Сделай своему серверу красиво
У тебя крутится 20 контейнеров: Portainer, Grafana, Plex, Sonarr... Ты реально помнишь все эти порты? localhost:9000, :3000, :8123? Хватит держать закладки в браузере. Собери их в единый Command Center.
Встречайте Homepage — самый современный, быстрый и красивый дашборд на данный момент.
Почему он рвет конкурентов (Heimdall/Organizr): 💎 Визуал: Выглядит как UI из фантастических фильмов. Поддержка видео-фонов и прозрачности. ⚡ Скорость: Статика. Грузится мгновенно. 🐳 Интеграция: Он сам стучится в Docker API и показывает:
* Статус контейнеров (Running/Stopped).
* Нагрузку CPU/RAM в реальном времени прямо на иконке.
* Сколько торрентов качается в Transmission.
Конфиг — чистый YAML (как мы любим):
Это тот случай, когда админка приносит эстетическое удовольствие.
#homelab #dashboard #homepage #ui #selfhosted #docker #design
У тебя крутится 20 контейнеров: Portainer, Grafana, Plex, Sonarr... Ты реально помнишь все эти порты? localhost:9000, :3000, :8123? Хватит держать закладки в браузере. Собери их в единый Command Center.
Встречайте Homepage — самый современный, быстрый и красивый дашборд на данный момент.
Почему он рвет конкурентов (Heimdall/Organizr): 💎 Визуал: Выглядит как UI из фантастических фильмов. Поддержка видео-фонов и прозрачности. ⚡ Скорость: Статика. Грузится мгновенно. 🐳 Интеграция: Он сам стучится в Docker API и показывает:
* Статус контейнеров (Running/Stopped).
* Нагрузку CPU/RAM в реальном времени прямо на иконке.
* Сколько торрентов качается в Transmission.
Конфиг — чистый YAML (как мы любим):
- Docker:
- Portainer:
icon: portainer.png
href: http://localhost:9000
widget:
type: portainer
url: http://portainer:9000
key: <api-key>
Это тот случай, когда админка приносит эстетическое удовольствие.
#homelab #dashboard #homepage #ui #selfhosted #docker #design
👍2💯1
🌍 Mapscii: Весь мир в твоем терминале
Думаешь, консоль умеет только в текст? Как насчет полноценной интерактивной карты мира на основе OpenStreetMap, отрендеренной символами Брайля и ASCII?
Это Mapscii.
Что она умеет:
✅ Зум от карты мира до твоего дома (колесиком мыши!).
✅ Векторная отрисовка прямо в TTY.
✅ Работает через Telnet (ничего не надо ставить).
Попробуй прямо сейчас:
(Навигация: мышка или клавиши a/z для зума)
Покажи это коллеге, который говорит, что "в консоли неудобно работать с картами". Это выглядит как интерфейс хакера из кино.
#linux #fun #mapscii #cli #visual #geek #maps
Думаешь, консоль умеет только в текст? Как насчет полноценной интерактивной карты мира на основе OpenStreetMap, отрендеренной символами Брайля и ASCII?
Это Mapscii.
Что она умеет:
✅ Зум от карты мира до твоего дома (колесиком мыши!).
✅ Векторная отрисовка прямо в TTY.
✅ Работает через Telnet (ничего не надо ставить).
Попробуй прямо сейчас:
telnet mapscii.me
(Навигация: мышка или клавиши a/z для зума)
Покажи это коллеге, который говорит, что "в консоли неудобно работать с картами". Это выглядит как интерфейс хакера из кино.
#linux #fun #mapscii #cli #visual #geek #maps
🕊1
📺 Cool Retro Term: Верни мне мой 1985-й
Иногда хочется почувствовать себя оператором ЭВМ из "Чужого" или игроком в Fallout. Обычные терминалы (Windows Terminal, iTerm2) слишком... скучные и плоские.
Ставь Cool Retro Term.
Это эмулятор терминала, который имитирует работу старых ЭЛТ-мониторов (Cathode Ray Tube).
Фишки для эстетов:
📼 Scanlines: Полосы развертки.
💡 Sween: Эффект выгорания люминофора (текст оставляет след).
🔮 Curvature: Искривление экрана "рыбий глаз".
⚡ Jitter: Легкое дрожание изображения.
Кодить в нем 8 часов невозможно (глаза вытекут), но запустить htop или показать "хакинг" друзьям — бесценно. Доступен для Linux и macOS.
#linux #retro #cyberpunk #terminal #coolretroterm #style #aesthetics
Иногда хочется почувствовать себя оператором ЭВМ из "Чужого" или игроком в Fallout. Обычные терминалы (Windows Terminal, iTerm2) слишком... скучные и плоские.
Ставь Cool Retro Term.
Это эмулятор терминала, который имитирует работу старых ЭЛТ-мониторов (Cathode Ray Tube).
Фишки для эстетов:
📼 Scanlines: Полосы развертки.
💡 Sween: Эффект выгорания люминофора (текст оставляет след).
🔮 Curvature: Искривление экрана "рыбий глаз".
⚡ Jitter: Легкое дрожание изображения.
Кодить в нем 8 часов невозможно (глаза вытекут), но запустить htop или показать "хакинг" друзьям — бесценно. Доступен для Linux и macOS.
#linux #retro #cyberpunk #terminal #coolretroterm #style #aesthetics
🤣3🔥1
🐧 Linux: Правильная очистка логов (без перезагрузки)
Многие новички удаляют раздутый лог командой
Результат: Место на диске не освобождается.
Причина: Процесс (Nginx) продолжает писать в удаленный дескриптор файла. Помогает только рестарт сервиса.
Решение Архитектора (truncate): Обнуляем содержимое файла, сохраняя сам файл и его дескриптор. Сервис продолжает писать в него с нуля, рестарт не нужен.
Команда:
Скрипт для Cron (обнулять все логи старше 7 дней, если logrotate не настроен):
#linux #logs #truncate #maintenance #bash
Многие новички удаляют раздутый лог командой
rm /var/log/nginx/access.log .Результат: Место на диске не освобождается.
Причина: Процесс (Nginx) продолжает писать в удаленный дескриптор файла. Помогает только рестарт сервиса.
Решение Архитектора (truncate): Обнуляем содержимое файла, сохраняя сам файл и его дескриптор. Сервис продолжает писать в него с нуля, рестарт не нужен.
Команда:
# Обнулить конкретный файл
truncate -s 0 /var/log/nginx/access.log
# Или через редирект (работает в большинстве шеллов)
> /var/log/nginx/access.log
Скрипт для Cron (обнулять все логи старше 7 дней, если logrotate не настроен):
find /var/log/myapp -name "*.log" -type f -mtime +7 -exec truncate -s 0 {} \;
#linux #logs #truncate #maintenance #bash
🔥2👍1
💾 PowerShell: Удаленная инвентаризация (Серийники)
Нужно собрать серийные номера серверов или ПК для гарантии/учета. Идти в серверную или просить пользователей лезть под стол не нужно. Используем CIM (современный аналог WMI).
Скрипт (сбор данных со списка компьютеров):
Pro Tip: Если нужно узнать модель материнской платы, поменяйте класс на
#windows #powershell #inventory #cim #scripting
Нужно собрать серийные номера серверов или ПК для гарантии/учета. Идти в серверную или просить пользователей лезть под стол не нужно. Используем CIM (современный аналог WMI).
Скрипт (сбор данных со списка компьютеров):
$Computers = "Server01", "Server02", "PC-Office-05"
foreach ($PC in $Computers) {
try {
$Bios = Get-CimInstance -ClassName Win32_Bios -ComputerName $PC -ErrorAction Stop
[PSCustomObject]@{
ComputerName = $PC
Serial = $Bios.SerialNumber
Manufacturer = $Bios.Manufacturer
Version = $Bios.SMBIOSBIOSVersion
}
} catch {
Write-Warning "Не удалось подключиться к $PC"
}
}
Pro Tip: Если нужно узнать модель материнской платы, поменяйте класс на
Win32_BaseBoard и запросите свойство Product .#windows #powershell #inventory #cim #scripting
🧠 Skill: SSH Jump Host (Прыжок через шлюз)
Ситуация: Сервер DB-Server (10.0.0.5) находится в закрытой сети.
Доступ к нему есть только с Gateway-Server (1.2.3.4).
Плохой путь: Зайти по SSH на Gateway, оттуда по SSH на DB. Неудобно копировать файлы (scp), не работают туннели.
Путь Архитектора (ProxyJump): Используем флаг -J (Jump).
SSH сам прокинет соединение через промежуточный узел.
Команда:
Чтобы не писать каждый раз (добавьте в ~/.ssh/config):
Теперь вход одной командой: ssh db-prod. Работает и для scp, и для Ansible.
#ssh #network #security #tips #jumphost
Ситуация: Сервер DB-Server (10.0.0.5) находится в закрытой сети.
Доступ к нему есть только с Gateway-Server (1.2.3.4).
Плохой путь: Зайти по SSH на Gateway, оттуда по SSH на DB. Неудобно копировать файлы (scp), не работают туннели.
Путь Архитектора (ProxyJump): Используем флаг -J (Jump).
SSH сам прокинет соединение через промежуточный узел.
Команда:
ssh -J user@1.2.3.4 user@10.0.0.5
Чтобы не писать каждый раз (добавьте в ~/.ssh/config):
Host db-prod
HostName 10.0.0.5
User admin
ProxyJump admin@1.2.3.4
Теперь вход одной командой: ssh db-prod. Работает и для scp, и для Ansible.
#ssh #network #security #tips #jumphost
👍2🔥1
😎 Linux: Как объяснить бабушке, что ты Хакер
Вас спрашивают за праздничным столом: "А чем ты там занимаешься в своем компьютере?". Объяснять про Kubernetes и CI/CD бесполезно. Им нужна картинка из фильма "Пароль Рыба-Меч".
Просто запустите hollywood.
Это утилита, которая делит ваш терминал на мозаику и запускает в каждом окне случайный "умный" процесс: htop, tree, hexdump, логи, матрицу и карту мира. Выглядит эпично.
Установка:
Включаем, откидываемся на спинку кресла. — "Да так, защищаю периметр сети от брутфорс-атак". Вопросы отпадут.
#linux #fun #hollywood #hacker #cli #humor
Вас спрашивают за праздничным столом: "А чем ты там занимаешься в своем компьютере?". Объяснять про Kubernetes и CI/CD бесполезно. Им нужна картинка из фильма "Пароль Рыба-Меч".
Просто запустите hollywood.
Это утилита, которая делит ваш терминал на мозаику и запускает в каждом окне случайный "умный" процесс: htop, tree, hexdump, логи, матрицу и карту мира. Выглядит эпично.
Установка:
sudo apt install hollywood # Ubuntu
# Запуск:
hollywood
Включаем, откидываемся на спинку кресла. — "Да так, защищаю периметр сети от брутфорс-атак". Вопросы отпадут.
#linux #fun #hollywood #hacker #cli #humor
🔥2👏2
📅 OpenSSL: Не дай сертификату протухнуть 1 января
Самый частый факап начала года — истекший SSL-сертификат, про который забыли, потому что админ был в отпуске.
Браузер показывает только "зеленый замочек", но не дату смерти.
Проверьте дату истечения прямо из консоли (особенно для внутренних сервисов без автообновления).
Команда:
Что смотреть в выводе:
Если видите дату начала января — ставьте задачу на замену сегодня.
#network #security #ssl #openssl #cert #troubleshooting
Самый частый факап начала года — истекший SSL-сертификат, про который забыли, потому что админ был в отпуске.
Браузер показывает только "зеленый замочек", но не дату смерти.
Проверьте дату истечения прямо из консоли (особенно для внутренних сервисов без автообновления).
Команда:
echo | openssl s_client -servername google.com -connect google.com:443 2>/dev/null | openssl x509 -noout -dates
Что смотреть в выводе:
notBefore=Dec 10 08:00:00 2025 GMT
notAfter=Mar 4 08:00:00 2026 GMT <-- Ваша дата X
Если видите дату начала января — ставьте задачу на замену сегодня.
#network #security #ssl #openssl #cert #troubleshooting
🔄 PowerShell: Требует ли сервер перезагрузки?
Вы установили обновления или поменяли настройки, но не уверены, применились ли они.
Или планируете Maintenance Window и хотите знать, какие серверы нуждаются в рестарте. Windows прячет флаг "Pending Reboot" в реестре.
Простой скрипт, чтобы проверить это без GUI.
Команда:
Pro Tip: Оберните это в Invoke-Command -ComputerName (Get-Content servers.txt), чтобы проверить сразу всю инфраструктуру перед уходом на каникулы.
#windows #powershell #updates #maintenance #scripting #adminlife
Вы установили обновления или поменяли настройки, но не уверены, применились ли они.
Или планируете Maintenance Window и хотите знать, какие серверы нуждаются в рестарте. Windows прячет флаг "Pending Reboot" в реестре.
Простой скрипт, чтобы проверить это без GUI.
Команда:
$Reboot = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
$CBS = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"
$Pending = $Reboot -or $CBS
if ($Pending) {
Write-Host "⚠️ ВНИМАНИЕ: Сервер ожидает перезагрузки!" -ForegroundColor Red
} else {
Write-Host "✅ Перезагрузка не требуется." -ForegroundColor Green
}
Pro Tip: Оберните это в Invoke-Command -ComputerName (Get-Content servers.txt), чтобы проверить сразу всю инфраструктуру перед уходом на каникулы.
#windows #powershell #updates #maintenance #scripting #adminlife
❤2
🧹 Linux: Укрощаем journald. Как освободить место без удаления файлов?
Если /var/log забит, но logrotate настроен правильно, скорее всего, виноват systemd-journald. Он хранит бинарные логи, которые могут копиться годами и занимать гигабайты. Просто удалять файлы в /var/log/journal/ опасно — можно повредить базу.
Используйте встроенные механизмы очистки (vacuum).
1. Проверяем, сколько места занято:
2. Освобождаем место (безопасно): Утилита сама удалит самые старые записи, чтобы вписаться в лимит.
3. Как сделать это автоматическим: В файле /etc/systemd/journald.conf раскомментируйте и настройте параметр: SystemMaxUse=500M Теперь systemd сам будет следить за диетой.
#linux #systemd #journalctl #cleanup #maintenance #storage
Если /var/log забит, но logrotate настроен правильно, скорее всего, виноват systemd-journald. Он хранит бинарные логи, которые могут копиться годами и занимать гигабайты. Просто удалять файлы в /var/log/journal/ опасно — можно повредить базу.
Используйте встроенные механизмы очистки (vacuum).
1. Проверяем, сколько места занято:
journalctl --disk-usage
# Вывод: Archived and active journals take up 4.2G in the file system.
2. Освобождаем место (безопасно): Утилита сама удалит самые старые записи, чтобы вписаться в лимит.
# Оставить только последние 500 МБ
sudo journalctl --vacuum-size=500M
# Или оставить логи только за последние 10 дней
sudo journalctl --vacuum-time=10d
3. Как сделать это автоматическим: В файле /etc/systemd/journald.conf раскомментируйте и настройте параметр: SystemMaxUse=500M Теперь systemd сам будет следить за диетой.
#linux #systemd #journalctl #cleanup #maintenance #storage