ar
Feedback
Linux: Системный администратор

Linux: Системный администратор

الذهاب إلى القناة على Telegram

Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀 Авторский канал действующего админа 👨🏼‍💻

إظهار المزيد
1 929
المشتركون
+124 ساعات
-27 أيام
-1030 أيام

جاري تحميل البيانات...

القنوات المماثلة
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
أغسطس '26
أغسطس '26
+9
في 0 قنوات
يوليو '26
+13
في 0 قنوات
Get PRO
يونيو '26
+12
في 0 قنوات
Get PRO
مايو '26
+35
في 0 قنوات
Get PRO
أبريل '26
+17
في 0 قنوات
Get PRO
مارس '26
+27
في 0 قنوات
Get PRO
فبراير '26
+41
في 0 قنوات
Get PRO
يناير '26
+29
في 0 قنوات
Get PRO
ديسمبر '25
+53
في 0 قنوات
Get PRO
نوفمبر '25
+102
في 41 قنوات
Get PRO
أكتوبر '25
+45
في 0 قنوات
Get PRO
سبتمبر '25
+124
في 37 قنوات
Get PRO
أغسطس '25
+69
في 0 قنوات
Get PRO
يوليو '25
+104
في 27 قنوات
Get PRO
يونيو '25
+184
في 20 قنوات
Get PRO
مايو '25
+159
في 45 قنوات
Get PRO
أبريل '25
+259
في 38 قنوات
Get PRO
مارس '25
+303
في 39 قنوات
Get PRO
فبراير '25
+249
في 32 قنوات
Get PRO
يناير '25
+234
في 34 قنوات
Get PRO
ديسمبر '24
+1 406
في 35 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
28 أغسطس+1
27 أغسطس0
26 أغسطس+1
25 أغسطس0
24 أغسطس0
23 أغسطس0
22 أغسطس0
21 أغسطس0
20 أغسطس0
19 أغسطس+1
18 أغسطس0
17 أغسطس0
16 أغسطس+1
15 أغسطس0
14 أغسطس0
13 أغسطس+2
12 أغسطس0
11 أغسطس+1
10 أغسطس0
09 أغسطس0
08 أغسطس+1
07 أغسطس0
06 أغسطس0
05 أغسطس0
04 أغسطس0
03 أغسطس0
02 أغسطس+1
01 أغسطس0
منشورات القناة
🔐 Fail2Ban для защиты SSH: настройка за 2 минуты SSH — первая цель сканеров и брутфорсеров. Один fail2ban-джейл — и атаки больше не проблема. 🛠 Минимальная настройка fail2ban для SSH: 1. Установи fail2ban (если ещё нет):

apt install fail2ban  # Debian/Ubuntu  
dnf install fail2ban  # RHEL/AlmaLinux
2. Создай кастомную конфигурацию:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
3. Включи и настрой SSH-защиту в jail.local:

[sshd]
enabled = true
port    = ssh
filter  = sshd
logpath = /var/log/auth.log   # или /var/log/secure на RHEL
maxretry = 5
bantime = 1h
findtime = 10m
4. Перезапусти fail2ban:

systemctl restart fail2ban
5. Проверка работы:

fail2ban-client status sshd
👀 Что это даёт: – Блокирует IP после нескольких неудачных попыток входа. – Автоматическая защита от брутфорса 24/7. – Простая интеграция с iptables/nftables. 💡 Трюк: Используй bantime = 3600m и recidive-джейл для агрессивных нарушителей. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin

2
Диагностика “висящих” TCP-соединений: как быстро найти виновника Когда приложение “подвисает”, а сеть вроде работает — проверь состояние TCP-соединений. Часто помогает ss. Команда: ss -o state time-wait '( sport = :http or sport = :https )' Покажет TCP-соединения в TIME-WAIT на 80/443 портах. Много? Возможно, приложение не успевает освобождать сокеты. А если хочется увидеть, кто держит ESTABLISHED соединения: ss -tp state established Флаг -p покажет PID/имя процесса — удобно для отладки. Ограничь количество TIME-WAIT через sysctl, если сервер под нагрузкой: sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_fin_timeout=15 Когда использовать: – Приложение “висит” при подключении; – Подозрение на сетевое истощение ресурсов; – Нужна быстрая отладка без лишнего софта. Сохрани, пригодится в бою. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
246
3
🔥 WireGuard через systemd: автоподключение при старте + автоматический рестарт WireGuard крут, но не всегда подключается сам при перезагрузке. Особенно, если интерфейс поднимается раньше, чем сеть. Решение — systemd-сервис с зависимостями. 📌 Настраиваем правильный автозапуск 1. Создай кастомный systemd unit: sudo systemctl edit wg-quick@wg0 2. Вставь следующее: [Unit] Description=WireGuard via wg-quick for %i After=network-online.target Wants=network-online.target [Service] Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target 3. Перезапусти демон systemd: sudo systemctl daemon-reexec 4. Включи автозапуск: sudo systemctl enable wg-quick@wg0 5. Проверь статус: systemctl status wg-quick@wg0 🧠 Зачем это нужно? - After=network-online.target гарантирует, что интерфейс поднимется после появления сети. - Restart=on-failure полезен, если туннель может не подняться с первого раза (например, из-за временного недоступного пира). ⚠️ Без этого юнита туннель часто не поднимается после ребута на headless-серверах. 💡 Совет: проверь DNS внутри туннеля — в wg0.conf можно указать DNS=..., если используешь resolvconf или systemd-resolved. Сохрани, пригодится 👇 #Linux@linux_odmin #VPN@linux_odmin #Systemd@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
385
4
🛡️ Быстрая проверка iptables-правил с логированием трафика Нужно быстро понять, почему пакет не доходит? Добавь временное логирование в iptables — это упростит отладку. 💡 Шаги: 1. Вставь логирующее правило перед DROP: iptables -I INPUT -s 192.168.0.100 -j LOG --log-prefix "DROP DEBUG: " --log-level 4 👉 Меняй -s и -j под нужное направление/адрес. 2. Проверь логи (обычно dmesg или syslog): dmesg | grep "DROP DEBUG" # или grep "DROP DEBUG" /var/log/syslog 3. Удалить правило после отладки: iptables -D INPUT -s 192.168.0.100 -j LOG --log-prefix "DROP DEBUG: " --log-level 4 📌 Зачем и когда: — Удобно при отладке фаервола, особенно при сложных правилах. — Можно логировать и FORWARD/OUTPUT. — Не забудь убрать, чтобы не заспамить логи! 💥 Лайфхак: добавь -m limit чтобы не заливать логи: -m limit --limit 5/min 🧠 Сохрани, пригодится при разборе сетевых траблов. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
356
5
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24
276
6
⚠️ systemd-networkd и маршруты: частая ошибка с static routes Если ты настраиваешь сеть через systemd-networkd и вручную прописываешь маршруты, будь внимателен: непрописанный gateway может сломать всё подключение. 📄 Пример .network файла с правильным static route: [Match] Name=eth0 [Network] Address=192.168.1.10/24 Gateway=192.168.1.1 [Route] Destination=10.10.0.0/16 Gateway=192.168.1.1 🔍 Типичная ошибка: [Route] Destination=10.10.0.0/16 ❌ Без Gateway или PreferredSource маршрут будет нерабочим или странно себя вести. 📌 Зачем и когда это нужно: — Когда нужно направить часть трафика (например, к VPN или другим подсетям) в обход основного маршрута. — systemd сам не всегда умеет «додумать», как доставить пакет, если маршрут не полный. 🧪 Проверь после старта: networkctl status eth0 ip route show dev eth0 💡Проверяй journalctl -u systemd-networkd — там видно, почему не применились маршруты. Сохрани, чтобы не отлаживать сеть часами 😬 А ты правильно пишешь [Route]? #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
325
7
💡 Как быстро сбросить зависший SSH-сеанс без ожидания таймаута Иногда SSH-соединение замирает (например, при потере сети), и попытка закрыть его обычным Ctrl+C не работает. Не жди таймаута — есть правильный способ разорвать зависший сеанс. 🔧 Решение: спец-последовательность OpenSSH Нажми Enter, затем ~. (тильда + точка) — и SSH сразу завершится: <Enter>~. 🔍 Как это работает ~. — escape-последовательность, встроенная в OpenSSH-клиент. Работает только в начале новой строки. 👉 Другие полезные комбинации: - ~? — список доступных escape-команд - ~# — переслать локальный порт (вручную) - ~& — фоновый режим ⚠️ Работает только в интерактивных SSH-сессиях, не в скриптах. 🧠 Зачем знать: - Мгновенное закрытие зависших сессий - Удобно при обрывах VPN/моб. сети - Не нужен kill -9 на терминале Сохрани, пригодится в дороге или на выезде 🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
390
8
🎉 Поздравляем с Днём системного администратора! Фразы, которые сисадмин говорит вслух: — Сейчас посмотрим. — Уже почти готово. — Попробуйте ещё раз. И фразы, которые он думает: — Перезагрузите уже наконец... — Нет, принтер не сломан. — Да, пароль действительно нужно вводить правильно. Пусть сегодня никто не отвлекает по пустякам, а мониторинг будет скучным.
496
9
💥 WireGuard: Быстрая настройка через systemd без ifupdown и Netplan Хочешь минимализм без танцев с бубном? Вот как быстро поднять WireGuard-туннель чисто через systemd — особенно удобно на серверах без NetworkManager. 📌 1. Создай конфиг /etc/wireguard/wg0.conf: [Interface] Address = 10.0.0.1/24 PrivateKey = <your_private_key> ListenPort = 51820 [Peer] PublicKey = <peer_pub_key> AllowedIPs = 10.0.0.2/32 ⚠️ Убедись, что chmod 600 wg0.conf — приватный ключ должен быть защищён. 📌 2. Активируй через systemd: systemctl enable wg-quick@wg0 systemctl start wg-quick@wg0 👉 Это создаст интерфейс wg0 и применит всё из конфига. 📌 3. Проверка статуса: wg show Покажет активные пиры, handshake, трафик и т.д. 💡 Трюк: Если используешь systemd-networkd, можешь вместо wg-quick собрать туннель через .netdev и .network — это даёт больше контроля и не требует wg-quick. 🧠 Когда использовать: – Минималистичные серверы без NM и Netplan – Контейнеры и чёткие systemd-based системы – Желание поднять VPN при boot без сторонних скриптов Сохрани, пригодится 😉 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 📲 Мы в MAX 👉 @linux_odmin
447
10
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
397
11
🔒 Как быстро заблокировать IP через nftables без перезапуска правил Иногда нужно срочно отрубить наглого сканера или атакующего IP, но без пересборки всего firewall-правила. Вот как это делается динамически, через nftables. 🔹 Шаг 1: создаём таблицу и цепочку (если ещё нет) nft add table inet filter nft add chain inet filter input { type filter hook input priority 0 \; } 🔹 Шаг 2: создаём сет blocked_ips nft add set inet filter blocked_ips { type ipv4_addr \; flags timeout \; } > timeout позволяет задавать TTL для блокировок. 🔹 Шаг 3: добавляем правило на блокировку из сета nft add rule inet filter input ip saddr @blocked_ips drop 🔹 Шаг 4: баним IP с TTL 1 час nft add element inet filter blocked_ips { 192.0.2.123 timeout 1h } 💡 Зачем это? — Блокировка IP на лету, без перезагрузки firewall. — Удобно использовать в связке со скриптами, fail2ban и даже вручную. — Работает быстро и безболезненно для остальных правил. 🛑 Best practice: не делай flush ruleset, если используешь stateful блокировку — можно потерять connection tracking и нарушить трафик. Сохрани, пригодится для быстрой обороны 🔥 А ты так блочишь IP? #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
438
12
⏰ Systemd вместо cron: как настроить таймеры правильно Привет, друзья! Сегодня покажу, как можно элегантно заменить cron с помощью systemd-таймеров. Это удобно, прозрачно и гибко — особенно в серверной среде, где важен контроль над логами, зависимостями и запуском задач. 💡 Почему лучше, чем cron? - логи идут через journalctl - удобная отладка: systemctl status, list-timers - можно задать зависимости и условия запуска 🛠 Пример: скрипт бэкапа раз в день Допустим, у нас есть скрипт /usr/local/bin/backup.sh. Создадим два юнит-файла: 🔹 backup.service [Unit] Description=Daily backup job [Service] Type=oneshot ExecStart=/usr/local/bin/backup.sh 🔹 backup.timer [Unit] Description=Run daily backup [Timer] OnCalendar=*-*-* 03:00 Persistent=true [Install] WantedBy=timers.target 📌 OnCalendar=*-*-* 03:00 — запуск каждый день в 03:00 📌 Persistent=true — если сервер был выключен в это время, задача выполнится при следующем старте 🚀 Активация: sudo systemctl daemon-reload sudo systemctl enable --now backup.timer Проверить активные таймеры: systemctl list-timers Посмотреть логи: journalctl -u backup.service С systemd всё под контролем! А ты уже пробовал такие таймеры вместо cron? #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
476
13
🛠 strace: незаменимый инструмент для отладки зависших процессов Привет, друзья! Сегодня расскажу про одну из моих любимых утилит — strace. Она помогает понять, что именно делает (или не делает) ваш процесс. Представьте: процесс висит. Никаких логов. CPU не грузит. Что делать? ✅ Запускаем strace: sudo strace -p <PID> Где <PID> — идентификатор зависшего процесса. 📌 Вы сразу увидите системные вызовы, которые делает процесс: может, он ждёт файл, завис на сокете или лочит какой-то ресурс. Если хотите записать всё в лог: sudo strace -ff -o debug_log -p <PID> - -ff — создаёт отдельный файл для каждого потока. - -o — префикс имени лог-файла (например, debug_log.1234). 💡 А чтобы отследить запуск с нуля (например, подозрительный скрипт): sudo strace -f -o trace.log ./script.sh Очень удобно для анализа поведения сторонних бинарников или скриптов. Пользуйтесь и делитесь с коллегами — strace может сэкономить часы диагностики! А вы часто его используете? Напишите в комментах, как он вас выручал 😎 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
525
14
🛡 Сегодня расскажу, как быстро проверить безопасность конфигурации SSH-сервера Открытый SSH — это ворота на сервер. И если конфигурация слабая, то защита — как дверь из картона. Проверим, насколько хорошо у вас настроен sshd. ✅ Вот простой чеклист, что стоит сделать: # 1. Отключить root-доступ PermitRootLogin no # 2. Включить только ключевую авторизацию PasswordAuthentication no # 3. Установить ограничение по IP (если возможно) # Можно использовать firewall или AllowUsers с указанием IP # 4. Ограничить количество подключений: MaxAuthTries 3 LoginGraceTime 30 MaxSessions 2 # 5. Изменить порт (не security, но уменьшает шум) Port 2222 🔍 Проверка: используем ssh-audit pip install ssh-audit ssh-audit your.server.com Он покажет, какие алгоритмы шифрования используются, какие из них устарели, и что можно улучшить. 🛠 А ещё можно включить Fail2Ban или iptables для защиты от перебора паролей, если всё-таки оставляете PasswordAuthentication yes. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
537
15
🔧 Сегодня покажу вам простой способ ограничить ресурсы для процессов с помощью cgroups v2 Иногда на сервере какой-нибудь процесс начинает «жрать» всё подряд — CPU, память, I/O. Чтобы таких ситуаций избежать, можно использовать cgroups v2. 📦 Пример: ограничим использование CPU и памяти для скрипта # Создаём директорию cgroup CGROUP=/sys/fs/cgroup/mylimit mkdir $CGROUP # Ограничим память до 200M echo $((200*1024*1024)) > $CGROUP/memory.max # Ограничим CPU до 20% от одного ядра echo 20000 > $CGROUP/cpu.max # 20000 микросекунд из 100000 # Запускаем процесс с этими ограничениями echo $$ > $CGROUP/cgroup.procs ./your_script.sh 🔍 Проверить потребление можно так: cat $CGROUP/memory.current cat $CGROUP/cpu.stat 💡 Советы: - Работает только если у вас включён cgroup v2 (можно проверить mount | grep cgroup) - Удобно использовать вместе с systemd, если вы хотите применить это к сервисам (systemctl set-property) #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
439
16
👋 Привет, коллеги! Сегодня хочу поделиться тем, что стоит автоматизировать на сервере в первую очередь. Это база, которая поможет вам сэкономить кучу времени и спать спокойно 😴 🔧 Что обязательно автоматизировать: 1. Резервное копирование (бэкапы) > Без бэкапов нет продакшена. Это аксиома. - Автоматизируйте регулярные бэкапы баз данных, конфигов, важных каталогов. - Используйте rsnapshot, borg, restic, duplicity. - Настройте оповещения об ошибках и ротацию архивов. 2. Установка и обновление пакетов > Старое ПО = потенциальная уязвимость. - unattended-upgrades (Debian/Ubuntu), dnf-automatic (RHEL/AlmaLinux). - Обновляйте хотя бы критические патчи безопасности. 3. Мониторинг и алерты > Узнать о проблеме до пользователей — 🔥 - Prometheus + Alertmanager, Zabbix, Netdata, Uptime Kuma. - Telegram, Email, Slack — что угодно, лишь бы вы не прозевали тревогу. 4. Ротация и очистка логов > Логи не должны съедать диск. - logrotate с автоочисткой по размеру или сроку. - Логи от багов нужны, но не навсегда 😉 5. Автоматический рестарт сервисов > Упал — поднялся. - systemd с Restart=on-failure, watchdog-скрипты. - Плюс мониторинг: жив ли Nginx, работает ли БД. 6. Создание пользователей и SSH-ключей > Добавлять вручную — долго и скучно. - Скрипты, шаблоны, Ansible, cloud-init — на выбор. 7. Конфигурации и деплой > Один конфиг — много серверов. - Используйте Ansible, SaltStack, Chef, bash-скрипты с шаблонами. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
478
17
💡 Как я ускоряю поиск по логам в Linux Сегодня покажу вам приём, который не раз спасал мне нервы при анализе логов. Представим, что нужно найти ошибки в большом лог-файле, например /var/log/nginx/access.log. Обычно все начинают с: cat access.log | grep "500" Но это медленно. Лучше так: grep "500" access.log Ещё лучше — использовать less и внутри него grep-подобный поиск: less +F access.log А затем нажать /500 — и перейти по найденным совпадениям. Работает быстро, особенно на больших логах. А если хочется реального профита, то вот мой любимый трюк: grep -E "500|502|503" access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head Что делает эта команда: - Ищет ошибки 500/502/503 - Извлекает IP-адреса (предположим, это первое поле) - Считает, сколько раз каждый IP дал ошибку - Показывает топ атакующих/плохих клиентов Эта команда — мини-аналитика в одну строку. Часто помогает сразу понять, где проблема. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
509
18
🔐 Сегодня покажу вам, как быстро проверить, какие пользователи могут входить по SSH Когда нужно быстро провести аудит, кто действительно может зайти на сервер по SSH, поможет вот такой однострочник: getent passwd | awk -F: '$3 >= 1000 && $7 ~ /bash/ {print $1}' | while read user; do if [ -f /home/$user/.ssh/authorized_keys ]; then echo "$user — доступ по ключу" elif grep -q "^$user:" /etc/shadow && [ "$(awk -F: -v u="$user" '$1 == u {print $2}' /etc/shadow)" != "*" ]; then echo "$user — может входить с паролем" fi done 💡 Что делает скрипт? - Ищет всех "нормальных" пользователей (UID ≥ 1000 и оболочка bash) - Проверяет, есть ли у них authorized_keys — значит, ключи - Если нет — сверяет в /etc/shadow, заблокирован ли пароль 📌 На заметку: - Подходит для систем с классической схемой пользователей (не LDAP и не sssd) - UID порог можно подправить под свою среду - Можно дополнить логированием, например в syslog или файл А ты проверяешь регулярно, кто может входить на твои сервера? Пиши в комментариях — автоматизировал ли ты аудит SSH-доступа у себя? 👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
503
19
⚙️ Автоматизация рутинных задач с systemd timers Привет, друзья! Сегодня расскажу, как я заменил cron на более гибкое решение — systemd timers. Почему это круто? 👉 Логирование, зависимость от сервисов, простая отладка и интеграция в systemctl. 🔧 Пример: бэкап каталога каждый день 1. Создаем сервис-файл: /etc/systemd/system/backup-home.service [Unit] Description=Backup /home to /backup [Service] Type=oneshot ExecStart=/usr/local/bin/backup-home.sh 2. Создаем таймер: /etc/systemd/system/backup-home.timer [Unit] Description=Daily backup of /home [Timer] OnCalendar=*-*-* 03:00:00 Persistent=true [Install] WantedBy=timers.target 3. Активируем: sudo systemctl daemon-reexec sudo systemctl enable --now backup-home.timer 📌 Скрипт backup-home.sh можно писать как угодно: rsync, tar, borg, хоть scp. ✅ Плюс: systemd сам выполнит задание при следующей загрузке, если сервер был выключен в 3 ночи (благодаря Persistent=true). 🔥 Используете systemd timers или предпочитаете cron? Расскажите, что автоматизируете! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin
473
20
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
356