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
🪟 Windows Server: Почему тормозит RDP? Отключаем UDP.

Замечали, что иногда курсор в RDP-сессии двигается рывками, а текст печатается с задержкой? По умолчанию современный RDP (начиная с версии 8.0) пытается использовать протокол UDP для ускорения графики. Но на нестабильных каналах или при наличии определенных файерволов это дает обратный эффект.

Как «вылечить» и сделать сессию плавной: Нужно принудительно заставить RDP работать только через TCP.

1. Нажмите Win + R, введите gpedit.msc.

2. Путь: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Удаленная сессия.

3. Найдите: «Выбор протоколов передачи данных удаленного рабочего стола».

4. Установите: «Включено» и выберите «Только TCP».

После этого задержки (input lag) обычно пропадают.

#windows #server #rdp #sysadmin #troubleshooting #it
👍2
🐧 Bash: Умная очистка логов без риска убить систему

Частая ошибка админа — удалять логи командой rm. Если сервис продолжает писать в файл, место на диске не освободится (файл останется "призраком"), пока сервис не рестартанут. 👻 Правильный путь — обнуление через перенаправление.

Скрипт-однострочник для безопасной очистки:

#!/bin/bash
# Находим все логи больше 500Мб в /var/log и обнуляем их содержимое
find /var/log -type f -name "*.log" -size +500M -exec sh -c '> "{}"' \;

echo " Тяжелые логи обнулены, дескрипторы сохранены!"

Почему это OK:

1. > "{}" — очищает содержимое файла, но оставляет сам файл на месте.
2. Сервис (nginx, mysql) не теряет связь с файлом и продолжает писать в него без рестарта.
3. Система мгновенно видит свободное место. 📦

#linux #bash #sysadmin #automation #storage #server_cleanup 🛠️
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
🪟 Windows Server: Защита от случайного удаления (Drag-and-Drop) в Active Directory 🛡️

Знаешь, как легко в пятницу вечером случайно перетащить (drag-and-drop) целую OU (Organization Unit) с сотней пользователей в другую папку?
Или того хуже — нажать Delete, промахнувшись мимо нужного юзера?
Если корзина AD не включена, это катастрофа.

Чтобы избежать микроинфаркта, на критичных объектах всегда должна стоять защита от случайного удаления.

Массово включаем защиту через PowerShell:
Этот скрипт обойдет все OU в твоем домене и включит галочку «Protect object from accidental deletion»:

Import-Module ActiveDirectory
Get-ADOrganizationalUnit -Filter * | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

Совет: Сделай то же самое для критичных групп администраторов (Domain Admins, Enterprise Admins):

Set-ADGroup "Domain Admins" -ProtectedFromAccidentalDeletion $true

#windows #activedirectory #powershell #security #sysadmin #fail #server
🔥2👍1👏1
🪟 Windows: Ищем «тяжелые» файлы через PowerShell за секунду 📂

Когда на файловом сервере внезапно кончается место, стандартный поиск Windows Explorer — это боль. Пока он проиндексирует миллион файлов, пройдет вечность.
PowerShell делает это быстрее и сразу выдает результат в удобном виде.


Скрипт для поиска ТОП-10 самых больших файлов:



Get-ChildItem -Path "C:\Data" -Recurse -File -ErrorAction SilentlyContinue |
Sort-Object Length -Descending |
Select-Object Name, @{Name="Size(GB)";Expression={$_.Length / 1GB}}, Directory |
Select-Object -First 10 |
Format-Table -AutoSize

Ты можешь запустить это удаленно через Invoke-Command сразу на 10 серверах и узнать, где завалялся забытый ISO-образ или гигантский лог Exchange.

#windows #powershell #sysadmin #diskspace #automation #server #maintenance
🛡️ Security: SSH по нестандартному порту — защита от «шума» и сканеров 🚪

В условиях массовых блокировок VPN-протоколов, твой SSH-доступ становится основной мишенью для брутфорс-ботов. Оставлять порт 22 открытым в 2026 году — значит забивать логи гигабайтами мусора и рисковать тем, что ТСПУ сочтет твой трафик подозрительным.

Меняем правила игры:

Отредактируй /etc/ssh/sshd_config:


Port 2222 (выбери любой от 1024 до 65535)

Не забудь открыть порт в фаерволе:

ufw allow 2222/tcp

Перезапусти: systemctl restart ssh


Почему это важно: 99% автоматизированных сканеров и ботов «стучатся» только в 22 порт. Переезд на другой порт снижает нагрузку на CPU (от обработки неудачных попыток входа) и делает твой сервер менее заметным для систем автоматического анализа трафика.

#security #ssh #hardening #linux #sysadmin #infosec #server #admin_future
🪟 Windows Server: Гроза «зависших» сессий — PowerShell-скрипт для очистки RDP 🧹

Знакомая ситуация: ты пытаешься зайти на сервер по RDP, а он тебе: «Превышено максимальное число подключений». Кто-то из коллег просто закрыл крестиком окно вместо Log off, и сессия висит «призраком», занимая слот.

Не нужно гадать, кто это. Выбиваем бездельников одной командой.

Сниппет для поиска и завершения зависших сессий:


# Показать все сессии, которые висят в статусе "Disconnected" более 2 часов
$sessions = qwinsta /server:localhost | Append-Output | Select-String "Disc"
foreach ($sess in $sessions) {
$sessId = ($sess -split '\s+')[2]
rwinsta $sessId /server:localhost
Write-Host "Сессия $sessId принудительно завершена." -ForegroundColor Yellow
}



Админский совет: Настрой этот скрипт в планировщике задач на контроллерах домена и терминальных серверах. Пусть система сама чистит за теми, кто забывает разлогиниться.

#windows #powershell #rdp #sysadmin #automation #server #admin_future