TGViewer
Channel Public Channel
Linux Club

Linux Club

@linux_club_nomer_1

Заказать рекламу: https://telega.in/c/Linux_Club_nomer_1

Полезные советы, обучающие видеоуроки, статьи по linux.

Включи монетизацию своего TG-канала или сайта через РСЯ и получай пассивный доход. Подключиться по https://ya.cc/B2UP8W
Subscribers
4.44K
Photos
684
Videos
353
Links
836
Recent Posts 20 shown
Post #1743 535
А вы знали, что Linux тоже можно забэкдорить?

Многие считают Linux почти неуязвимым. Но это не так.

В 2024 году злоумышленник почти 2 года тихо встраивал бэкдор в XZ Utils - базовую библиотеку сжатия, которая есть почти во всех крупных Linux-дистрибутивах.

Целью был sshd. При наличии правильного ключа шифрования можно было внедрять код через SSH-сертификаты входа. Тихо, без алертов, внешне всё выглядело полностью легитимно.

Один разработчик заметил проблему только потому, что sshd стал запускаться примерно на 500 мс медленнее обычного.

Именно из-за этого бэкдор не успел попасть в production-системы по всему миру.

Linux не неуязвим. Просто долгое время он не был главной целью. Теперь это меняется.

#linux #линукс

Linux Club
  • 👍 14
  • 😁 4
  • 🔥 1
Post #1740 578
Gotangco_Jerome,_Berton_Luca_Red_Hat_Enterprise_Linux_9_for_SysAdmins.pdf26.2 MB
Red Hat Enterprise Linux 9 for SysAdmins

Год: 2025
Автор: Gotangco Jerome, Berton Luca / Готангко Джером, Бертон Лука

Книга посвящена администрированию Red Hat Enterprise Linux 9 в корпоративной инфраструктуре и рассматривает практические задачи системных администраторов. Авторы объясняют архитектуру RHEL 9, особенности экосистемы Red Hat, настройку серверов, облачные развертывания и управление системными компонентами. Материал охватывает как базовые операции, так и инструменты для эксплуатации производственных Linux-сред.

Отдельное внимание уделено безопасности, мониторингу, виртуализации, контейнерам Podman, сетевым настройкам, файловым хранилищам и DevOps-процессам. В книге рассматриваются автоматизация задач, анализ журналов, аудит системы и применение современных технологий для управления инфраструктурой. Книга подойдет системным администраторам, DevOps-инженерам и специалистам, которые работают с RHEL 9 или хотят углубить навыки корпоративного Linux-администрирования.

#linux #линукс

Linux Club
  • ❤ 5
  • 🕊 2
  • 👍 1
Post #1738 841
Сегодня я хочу поделиться простым, но очень полезным Bash-скриптом для автоматического резервного копирования директорий с ротацией старых бэкапов. Такой скрипт пригодится, если необходимо сохранять копии важных данных и при этом не засорять диск старыми архивами.


🔄 Скрипт: Backup с ротацией

#!/usr/bin/env bash

# Настройки
SOURCE_DIR="/var/www/my_project" # Директория, которую резервируем
DEST_DIR="/backups/my_project" # Директория для хранения бэкапов
RETENTION_DAYS=7 # Сколько дней хранить бэкапы

# Текущее время для имени архива
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
ARCHIVE_NAME="backup_${DATE}.tar.gz"

# Проверяем, что исходная директория существует
if [[ ! -d "$SOURCE_DIR" ]]; then
echo "❌ Исходная директория $SOURCE_DIR не найдена!"
exit 1
fi

# Создаём директорию назначения, если её нет
mkdir -p "$DEST_DIR"

# Создаём архив
tar -czf "${DEST_DIR}/${ARCHIVE_NAME}" -C "$(dirname "$SOURCE_DIR")" "$(basename "$SOURCE_DIR")"
if [[ $? -eq 0 ]]; then
echo "✅ Создан бэкап: ${DEST_DIR}/${ARCHIVE_NAME}"
else
echo "❌ Ошибка при создании архива!"
exit 1
fi

# Удаляем старые бэкапы старше RETENTION_DAYS
find "$DEST_DIR" -type f -name "backup_*.tar.gz" -mtime +${RETENTION_DAYS} -print -delete
echo "🗑 Удалены бэкапы старше ${RETENTION_DAYS} дней."

exit 0

📝 Пояснение к скрипту

1. Настройки переменных:

🔹 SOURCE_DIR — путь к директории, которую нужно сохранить (например, веб-проект, база данных и т.д.).
🔹 DEST_DIR — куда складываем архива (может быть локальная папка или смонтированный удалённый диск).
🔹 RETENTION_DAYS — сколько дней хранить бэкапы. Всё, что старше этого значения, будет удаляться автоматически.
2. Скрипт проверяет, существует ли исходная директория. Если нет — выводит ошибку и завершает работу.
3. Создаётся папка назначения (mkdir -p), чтобы избежать ошибок, если её ещё нет.
4. Делается tar.gz - архив директории, причём для удобства используется команда:


tar -czf ${DEST_DIR}/${ARCHIVE_NAME} -C $(dirname $SOURCE_DIR) $(basename $SOURCE_DIR)

- Это позволяет не копировать весь путь в архив, а только нужную папку.
5. Если архивирование прошло успешно (код возврата 0) — выводим сообщение об успехе.
6. Далее команда find ищет файлы-архивы старше RETENTION_DAYS дней и удаляет их. Параметр -mtime +N означает “более N дней назад”. Опция -print -delete сначала покажет, что удаляется, а потом удалит.
7. В конце скрипт выводит, сколько старых бэкапов удалено, и завершает работу.


📌 Как использовать

1. Скопируйте скрипт в файл, например:

sudo nano /usr/local/bin/backup_rotate.sh

2. Сделайте его исполняемым:

sudo chmod +x /usr/local/bin/backup_rotate.sh

3. Отредактируйте переменные в начале скрипта под свои нужды:


SOURCE_DIR="/path/to/your/data"
DEST_DIR="/path/to/backup/location"
RETENTION_DAYS=7

4. Запустите вручную, чтобы протестировать:

/usr/local/bin/backup_rotate.sh

5. Если всё работает как надо, добавьте задание в
crontab```
bash
для автоматического запуска. Например, чтобы делать бэкап каждый день в 3:00:


sudo crontab -e

И добавить строку:

0 3 * * * /usr/local/bin/backup_rotate.sh >> /var/log/backup_rotate.log 2>&1

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

#linux #линукс

Linux Club
  • 🔥 11
  • 👍 3
  • 😁 1
Post #1737 858
🔥 Современный процесс загрузки Linux

Вот как выглядит современный boot-процесс - от нажатия кнопки питания до полностью работающей ОС:

1️⃣ Power On
Сигнал запуска подаётся на оборудование - начинается инициализация.

2️⃣ BIOS/UEFI
Загружается прошивка, выполняет POST-проверки и подготавливает железо.

3️⃣ Поиск оборудования
Определяются CPU, память, диски и остальные устройства.

4️⃣ Выбор загрузочного устройства
BIOS/UEFI ищет, откуда грузиться: HDD, SSD, USB, сеть и др.

5️⃣ Поиск EFI-раздела (в UEFI-системах)
Именно здесь располагаются загрузочные файлы ОС.

6️⃣ Запуск загрузчика (обычно GRUB2)
Загрузчик предоставляет меню систем или автоматически выбирает ядро.

7️⃣ Определение ядра для загрузки
GRUB читает конфигурацию и выбирает нужное Linux-ядро.

8️⃣ Загрузка ядра в память
Ядро — сердце Linux: инициализация памяти, драйверов, управления ресурсами.

9️⃣ Инициализация структур ядра
Подготовка окружения для запуска пользовательского пространства.

🔟 Запуск init/systemd (PID 1)
Запускается первый пользовательский процесс, управляющий службами.

1️⃣1️⃣ Выполнение стартовых скриптов
Настраивается сеть, монтируются файловые системы, поднимаются службы.

1️⃣2️⃣ Рабочая система
Linux полностью загружен - пользователь может логиниться и работать.

#linux #линукс

Linux Club
  • 👍 12
  • 🔥 4
Post #1735 1.49K
Хотите быстро проверить, через какой интерфейс и IP ваш Linux-сервер выйдет к определённому адресу, без реального подключения?

Решение:
Используйте ip route get — лёгкая команда для диагностики маршрутизации:


ip route get 8.8.8.8


Что покажет:
- Какой IP-адрес будет использоваться для исходящего соединения;
- Какой сетевой интерфейс (dev eth0 и т.д.);
- Какой шлюз (via) задействован.

Пример вывода:

8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.10 uid 0


Пояснение:
- Полезно для диагностики проблем с маршрутизацией, VPN, балансировкой каналов.
- Проверка без реальной отправки пакетов: не создаёт нагрузку и не требует открытых портов.

Бонус:
Проверить маршрут сразу для нескольких целей:

for ip in 8.8.8.8 1.1.1.1; do ip route get $ip; done


Важно:
Если у вас настроены policy-based routing (PBR) или VRF, команда тоже отразит их влияние!

Сохрани, пригодится на проде. 🔥

#linux #линукс

Linux Club
  • 🔥 12
  • ❤ 2
Post #1734 1.37K
Да-да, знаю не правильно, но я не удержался и запостил...

#linux #линукс

Linux Club
  • 😁 18
  • ❤ 3
Post #1732 1.46K
Как быстро сбросить сетевой интерфейс без перезапуска системы

Иногда после правки конфигурации сети нужно *мягко* применить изменения без ребута. Особенно на продакшене.

🔧 Простейший способ — с помощью ip:

ip link set eth0 down
ip addr flush dev eth0
ip link set eth0 up


Что делают эти команды:
- set down — переводит интерфейс в неактивное состояние.
- flush — очищает IP-адреса интерфейса.
- set up — активирует интерфейс заново.

Когда применять:
🔹 После ручной настройки IP через ip/ifconfig;
🔹 После внесения изменений в /etc/network/interfaces, Netplan, systemd-networkd и пр.;
🔹 Для быстрой переинициализации интерфейса без влияния на другие службы.

⚡ Трюк: если используется DHCP-клиент (dhclient), можно сразу запросить новый IP:

dhclient -r eth0 && dhclient eth0

(первое — release, второе — новый запрос)

Важно:
- Для виртуальных интерфейсов (vlan, bridge) могут быть дополнительные зависимости!
- После flush интерфейс теряет все адреса — убедись, что автоматика подтянет их обратно.

Итог: Безопасный способ быстро перезагрузить сетевой стек локально.

Сохрани, пригодится! 🚀

#linux #линукс

Linux Club
  • 👍 12
Post #1728 1.69K
⚙️ Bash: Мониторинг пользователей в системе в реальном времени

Иногда нужно понять, кто из пользователей сейчас в системе и что они делают. Встречай удобную команду на базе watch и w:

watch -n 2 w

📌 Что делает эта команда:

* watch -n 2 — каждые 2 секунды выполняет указанную команду
* w — показывает, кто залогинен, откуда, сколько времени в системе и что выполняет

👀 Отлично подходит для ситуаций:

* Отладка скриптов, когда нужно смотреть, кто подключается
* Мониторинг активности сотрудников или админов
* Выявление подозрительных сессий SSH

💡 А если хочешь видеть только логины, без подробностей:

watch -n 2 who

Полезно держать на втором экране или в отдельной вкладке терминала 🧠

#linux #Bash

Linux Club
  • 👍 7
  • 😁 2
  • ❤ 1
Post #1726 1.53K
Диагностика “висящих” 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 Club
  • 👍 8
Post #1724 1.48K
Совет по Linux 🐧

Ты можешь включить отображение временных меток в истории команд bash, чтобы видеть, когда именно выполнялась каждая команда. Это удобно для отслеживания своей работы по времени.

Чтобы добавить временные метки, просто установи переменную окружения HISTTIMEFORMAT:

export HISTTIMEFORMAT="%F %T "

Теперь при просмотре истории или при поиске по ней ты увидишь дату и время перед каждой командой:

history | tail -n 5

или короче:

history 5

Формат "%F %T" выводит дату (YYYY-MM-DD) и время (HH:MM:SS), но ты можешь настроить его по своему вкусу.

⚠ Обрати внимание: временные метки не появятся задним числом для команд, выполненных до установки HISTTIMEFORMAT, и эта функция доступна только в bash.

Источник в Max
  • 👍 8
Post #1723 1.47K
SSH-туннели: локальный и удалённый проброс портов

SSH – технология старой школы, которая до сих пор остаётся невероятно полезной. Всего одной командой ssh можно:

- Получить доступ к приватным сервисам внутри VPC через bastion host
- Открыть в браузере порт localhost на удалённой машине
- Пробросить сервис из homelab наружу через публичный сервер
- Превратить SSH-соединение в SOCKS-прокси для всей приватной сети


В этом обновлённом туториале разбирается SSH port forwarding с диаграммами, практическими лабораторными заданиями и наглядной шпаргалкой, которая поможет понять разные типы SSH-туннелей и запомнить нужные флаги:
https://labs.iximiuz.com/tutorials/ssh-tunnels

#linux

Linux Club
  • 👍 6
  • ❤ 1
  • 🔥 1
Post #1720 1.79K
Посоветуйте, Ubuntu или Debian поставить, что бы чай крепче заваривался...

#linux

Linux Club
  • 😁 19
Post #1718 3.27K
  • ❤ 2
  • 👍 1
Post #1717 3.58K
  • 👍 2
  • 🔥 1
Older posts →

About this channel

How can I read @linux_club_nomer_1 without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Linux Club: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Linux Club have?
Linux Club (@linux_club_nomer_1) has 4.44K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Linux Club know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →