Linux Skill - Освой Linux c нуля до DevOps – Telegram
Linux Skill - Освой Linux c нуля до DevOps
11.2K subscribers
66 photos
103 videos
497 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Резервное копирование и восстановление в Debian: защита данных с уверенностью

Потеря данных может стать настоящей катастрофой, особенно для серверов или рабочих станций. Сегодня разберём лучшие инструменты для резервного копирования и восстановления в Debian, чтобы ты мог быть спокоен за свои файлы.

### Почему важно делать бэкапы?
1. Защита от сбоев: Аппаратные ошибки или сбои могут случиться внезапно.
2. Безопасность: Бэкапы помогают восстановить данные после атак или случайных удалений.
3. Гибкость: Возможность быстро перенести данные на другой сервер или устройство.

### Инструменты для резервного копирования в Debian

1. rsync
Лёгкий и быстрый инструмент для копирования данных.
Пример:

rsync -av /важная_папка /путь_к_бэкапу


Ключи:
- -a сохраняет структуру файлов.
- -v выводит процесс копирования.

2. Duplicity
Делает инкрементные бэкапы с поддержкой шифрования.
Установка:

sudo apt install duplicity


Пример:

duplicity /важная_папка file:///путь_к_бэкапу



3. BorgBackup
Популярен благодаря высокой скорости и сжатию данных.
Установка:

sudo apt install borgbackup


Пример создания репозитория:

borg init --encryption=repokey /путь_к_бэкапу


### Восстановление данных
С помощью тех же инструментов ты можешь восстановить данные за считанные минуты. Например, для Duplicity:

duplicity restore file:///путь_к_бэкапу /восстановленная_папка


### Лучшие практики бэкапа
1. Резервируй регулярно: Настрой автоматизацию с помощью cron или systemd timers.
2. Храни копии в разных местах: Например, локально и в облаке.
3. Проверяй бэкапы: Убедись, что данные можно восстановить.

Какие инструменты ты используешь для резервного копирования? Делись своими рекомендациями в комментариях! А завтра мы поговорим о разнице между iptables и nftables и разберём, что выбрать для управления сетями.
________________

Дополнительный материал:
🧠 - Ускоряем загрузку Linux: Разбираемся с systemd-analyze
🧠 - Как использовать команду awk в Linux: обработка текста в пару команд
🧠 - Откройте для себя мир Управления Службами в Linux с нашей серией статей

#LinuxJournal @LinuxSkill
👍17🔥3
iptables или nftables: что выбрать для управления сетевыми правилами?

iptables долгое время был стандартом для управления сетевыми правилами в Linux. Однако с появлением nftables выбор стал сложнее. Сегодня разберём, в чём различия, и какой инструмент лучше выбрать для твоих задач.

### Что такое iptables?
iptables — классический инструмент для настройки правил файрвола в Linux.
- Достоинства:
- Прост в использовании.
- Широко поддерживается в документации и сообществе.
- Недостатки:
- Устаревающая архитектура.
- Ограничения по масштабируемости и производительности.

### Что такое nftables?
nftables — это современный фреймворк для управления сетевыми правилами, пришедший на замену iptables.
- Достоинства:
- Более высокая производительность благодаря одному ядру для всех таблиц.
- Гибкий синтаксис и поддержка сложных правил.
- Снижение дублирования: одно правило может применяться сразу к нескольким протоколам.
- Недостатки:
- Новизна: требует изучения нового синтаксиса.

### Основные различия
- Производительность:
- iptables: Уступает при больших нагрузках.
- nftables: Высокая благодаря объединённому ядру.

- Гибкость:
- iptables: Упрощённый синтаксис.
- nftables: Поддержка сложных конструкций.

- Совместимость:
- iptables: Поддерживается на большинстве систем.
- nftables: Заменяет iptables на новых системах.

- Управление:
- iptables: Использует отдельные таблицы для каждого протокола.
- nftables: Унифицированные таблицы для всех протоколов.

### Примеры синтаксиса

iptables:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT


nftables:

nft add rule ip filter input tcp dport 22 accept


Сравнение показывает, что nftables предлагает более читаемый синтаксис для сложных конфигураций.

### Что выбрать?

1. Выбери iptables, если:
- Ты работаешь с устаревшими системами.
- Тебе нужны простые правила и высокая совместимость.

2. Выбери nftables, если:
- Ты работаешь с современными системами (начиная с ядра 3.13).
- Тебе важна производительность и гибкость.
- Ты планируешь управлять сложными конфигурациями.

Если ты только начинаешь, попробуй nftables — это современное решение, которое подходит для большинства новых систем. Поделись своим опытом настройки файрвола в комментариях! А завтра мы расскажем, как настроить базовые правила файрвола для защиты серверов.
________________

Дополнительный материал:
🧠 - Отключи ненужные конфиги в Apache за пару команд!
🧠 - Контролируй трафик в реальном времени! Три утилиты для мониторинга сети в Linux
🧠 - Настрой мониторинг сети в реальном времени с Prometheus и Grafana

#Linux_Mastery @LinuxSkill
👍15🔥1👀1
Настраиваем базовые правила файрвола: защити свой сервер от угроз

Первое, что нужно сделать после развертывания сервера, — настроить файрвол. Даже базовые правила могут защитить твою систему от множества угроз. Давай разберёмся, как быстро и эффективно это сделать.

### Что такое файрвол?
Файрвол — это фильтр, который контролирует входящий и исходящий сетевой трафик на основе настроенных правил. Это первый рубеж обороны для твоего сервера.

### Шаг 1. Установи UFW
UFW (Uncomplicated Firewall) — простой и удобный инструмент для настройки файрвола.

Установка:
sudo apt install ufw



### Шаг 2. Базовые настройки
1. Запрети всё:
   sudo ufw default deny incoming
sudo ufw default allow outgoing


Это запретит весь входящий трафик и разрешит исходящий.

2. Разреши SSH:
Чтобы не потерять доступ к серверу:
   sudo ufw allow ssh



3. Добавь правила для HTTP и HTTPS:
Если сервер работает как веб-сервер:
   sudo ufw allow http
sudo ufw allow https



4. Активируй UFW:
   sudo ufw enable



### Шаг 3. Проверь настройки
Посмотреть текущие правила:
sudo ufw status verbose


Пример вывода:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere



### Лучшие практики
1. Ограничь доступ по IP:
Если доступ к серверу нужен только с определённого IP:
   sudo ufw allow from <твой_IP> to any port 22


2. Проверяй журналы:
Для анализа заблокированных подключений:
   sudo ufw logs



Настрой файрвол на своём сервере уже сегодня и обезопась свою систему от нежелательных подключений. А завтра мы обсудим, как использовать cp для копирования больших файлов и папок с исключениями. Не пропусти!
____________________

Дополнительный материал:
🧠 - Контейнер в контейнере? Да это как матрёшка для айтишников: открываешь, а там ещё больше проблем… но зато все свои!
🧠 - Секретная Команда nsenter! Управляй Контейнерами как Хакер
🧠 - Секреты массового управления пользователями и группами в Linux
#Linux_Mastery @LinuxSkill
👍16🔥3
Как копировать файлы и папки с исключениями: продвинутые трюки с cp

Иногда нужно скопировать содержимое папки, но исключить определённые файлы или папки. Классический cp это напрямую не поддерживает, но есть несколько хитростей, которые помогут справиться.

#### Пример 1: Копирование всего кроме определённых файлов
Если нужно скопировать всё, кроме файлов с расширением .log, воспользуйся этой командой:

find source_dir -type f ! -name '*.log' -exec cp --parents {} destination_dir/ \;


- find source_dir – ищет файлы в указанной папке.
- **! -name '*.log'** – исключает файлы с расширением .log.
- --parents – сохраняет оригинальную структуру папок.

#### Пример 2: Исключение целой папки
Чтобы пропустить определённую папку, например exclude_dir, используй:

find source_dir -path 'source_dir/exclude_dir' -prune -o -type f -exec cp --parents {} destination_dir/ \;


#### Пример 3: Использование простого скрипта
Вот пример простого скрипта, который копирует файлы и исключает определённые по шаблону:

#!/bin/bash
for file in $(find /путь/к/источнику -type f); do
if [[ "$file" != *исключение* ]]; then
cp --parents "$file" /путь/к/назначению
fi
done


- Заменяешь /путь/к/источнику на папку, откуда копируешь.
- Вместо *исключение* указываешь шаблон для исключения.
- Указываешь /путь/к/назначению, куда копировать.

Запусти этот скрипт, и он разберётся со всеми исключениями.


#### Пример 4: Копирование файлов больше определённого размера
Чтобы выбрать только файлы больше 100 МБ:

find source_dir -type f -size +100M -exec cp --parents {} destination_dir/ \;


На завтра у меня для тебя кое-что интересное: будем разбираться, как настроить KVM и QEMU для виртуализации. Но пока расскажи, что бы ты хотел автоматизировать или оптимизировать в своей работе? Может, я смогу помочь тебе с советом.
____________________

Дополнительный материал:
🧠 - Не трать время на логи! Вот как найти все медленные запросы за 1 минуту
🧠 - Как ускорить MySQL? Простые советы, чтобы твой сервер летал, как на стероидах
🧠 - Поднимем отказоустойчивое хранилище в Proxmox VE с Ceph

#Linux_Commands @LinuxSkill
🔥16👀4👍2
Настраиваем KVM и QEMU: виртуализация на максимум

KVM и QEMU — мощные инструменты для виртуализации в Linux. Они позволяют запускать виртуальные машины с минимальными затратами на производительность. Сегодня разберём, как настроить эту связку для своих задач.

### Шаг 1. Проверь поддержку виртуализации
Убедись, что процессор поддерживает виртуализацию (Intel VT или AMD-V):

egrep -c '(vmx|svm)' /proc/cpuinfo


Если результат больше 0, виртуализация поддерживается.

### Шаг 2. Установи необходимые пакеты
На Debian/Ubuntu:

sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager


На Fedora/RHEL:

sudo dnf install @virtualization
sudo systemctl enable --now libvirtd



### Шаг 3. Настрой сеть для виртуальных машин
Активируй мостовую сеть:

sudo virsh net-start default
sudo virsh net-autostart default



### Шаг 4. Создай виртуальную машину
Открой virt-manager (графический интерфейс для управления виртуализацией):
1. Выбери "Create a New Virtual Machine".
2. Укажи ISO-файл для установки операционной системы.
3. Настрой количество ядер и памяти.
4. Запусти процесс установки.

### Шаг 5. Управление через CLI
Если предпочитаешь терминал, создавай и управляй машинами через virsh и virt-install.

Пример создания VM:

virt-install \
--name test-vm \
--memory 2048 \
--vcpus 2 \
--disk size=20 \
--cdrom /путь/к/образу.iso \
--os-variant ubuntu20.04



Настрой свою первую виртуальную машину с KVM и QEMU уже сегодня! Делись своими советами и лайфхаками в комментариях. А завтра расскажем, как мониторить ресурсы Docker-контейнеров с помощью cgroups.
________________

Дополнительный материал:
🧠 - b2-tools — простое и быстрое резервное копирование в облако
🧠 - Ты не знал, что cat умеет это! Лайфхаки для работы с файлами в Linux
🧠 - Как ограничить скорость на Mikrotik и спасти сеть от перегрузки — инструкция, которую ты ждал

#Linux_Mastery @LinuxSkill
👍12🔥2
Как мониторить ресурсы Docker-контейнеров с помощью cgroups

Docker — мощный инструмент для контейнеризации, но что делать, если контейнеры начинают «пожирать» ресурсы? Решение — мониторинг с помощью cgroups. Сегодня покажем, как это сделать просто и эффективно.

### Что такое cgroups?
cgroups (control groups) — это подсистема ядра Linux, которая управляет ресурсами, выделенными для процессов. Docker активно использует её для ограничения CPU, памяти и дискового ввода/вывода.

### Шаг 1. Посмотри информацию о cgroups
Контейнеры Docker создают отдельные группы для управления ресурсами. Найди нужный контейнер:
docker ps


Запомни ID контейнера.

### Шаг 2. Узнай путь cgroups для контейнера
Открой папку cgroups, чтобы увидеть лимиты и текущие данные:
cat /sys/fs/cgroup/cpu/docker/<ID_контейнера>/cpu.stat
cat /sys/fs/cgroup/memory/docker/<ID_контейнера>/memory.stat


Эти файлы покажут, сколько ресурсов потребляет контейнер.

### Шаг 3. Установи ограничения
1. Ограничь использование CPU:
   docker update --cpu-shares 512 <ID_контейнера>


2. Ограничь память:
   docker update --memory 512m --memory-swap 1g <ID_контейнера>



### Шаг 4. Используй docker stats для быстрой проверки
Если не хочешь копаться в файлах cgroups, используй встроенную команду:
docker stats


Она покажет потребление CPU, памяти, сети и дискового ввода/вывода в реальном времени.

### Шаг 5. Автоматизируй мониторинг
Подключи инструменты для визуализации, такие как Prometheus и Grafana, чтобы отслеживать ресурсы контейнеров через cgroups:
- Настрой cadvisor, чтобы собирать метрики с контейнеров.
- Визуализируй данные через Grafana.

Пример с cadvisor:
Запусти cAdvisor как Docker-контейнер:
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
gcr.io/cadvisor/cadvisor



Попробуй мониторинг ресурсов своих контейнеров уже сегодня и делись результатами в комментариях! Продолжай следить за каналом — завтра тебя ждёт рассказ о легенде интернета и его борьбе за свободу информации.
____________________

Дополнительный материал:
🧠 - Ускоряем OpenVPN на MikroTik до максимума: настройки, о которых не говорят
🧠 - Btrfs или XFS? Команды для управления файловыми системами в Linux
🧠 - Настрой автосборку RAID с MDADM и забудь о проблемах с дисками

#Linux_Mastery @LinuxSkill
🔥10👍3
Человек, изменивший интернет: история, которая вдохновляет

Интернет, каким мы его знаем сегодня, обязан многим великим людям. Один из них — Аарон Шварц. Его жизнь и борьба за свободу информации стали символом нового цифрового мира.

### Кто такой Аарон Шварц?
Аарон — программист, активист и один из создателей RSS и Reddit. Но его главной миссией была свободная информация: он верил, что знания должны быть доступны всем, а не скрываться за платными стенами.

### О фильме
Документальный фильм The Internet’s Own Boy рассказывает о его жизни, достижениях и трагедии.
- Как 14-летний Аарон помог создать протокол RSS.
- Его роль в развитии Reddit и последующем уходе из компании.
- Борьба за открытый доступ к научным знаниям и проект Open Library.
- Конфликт с законом из-за загрузки статей JSTOR, который привёл к тяжёлым последствиям.

🎥 https://youtu.be/IUoD8T092lQ?si=Ru-0rZXJBnIxyE4A

Посмотри The Internet’s Own Boy сегодня — это не просто фильм, а напоминание о том, как важна свобода информации. А завтра мы расскажем о качественном анализе данных на Linux с помощью MAXQDA. Не пропусти!
________________

Дополнительный материал:
🧠 - Секреты команды cd: автоматизация и удобство в одном флаконе
🧠 - Сделай свои файлы неуязвимыми с командой chattr
🧠 - Секреты Zabbix: Мониторинг веб-серверов без проблем

#документальныйфильм @LinuxSkill
👍7🔥1
Forwarded from Технологичка
🔎 Баг в ВК, или Как поступить на факультет пиратов в МГУ

В современном программном обеспечении присутствует множество багов. Какие-то из них влияют на безопасность, какие-то на работоспособность, но есть отдельная категория, которую я называю «Веселые баги». Они не влияют на других пользователей и на работоспособность системы в целом, но могут доставить множество эмоций тому, кто их использует, а также тем, кто наблюдает за получившимся результатом.

#cybersecurity
👍11🔥2
Никто не говорил, что анализ данных может быть таким простым! Секрет MAXQDA

Анализ данных обычно кажется сложным и запутанным? MAXQDA меняет правила игры! Сегодня расскажу, как этот инструмент поможет тебе систематизировать информацию и найти важные инсайты без лишнего стресса.

### Почему MAXQDA?
MAXQDA — это инструмент, который упрощает работу с данными любого типа: текстами, аудио, видео и даже таблицами.
- Классифицируй и анализируй огромные объёмы данных.
- Создавай визуализации, которые делают результаты исследования понятными.
- Работай с PDF, Excel и многими другими форматами.

### Как начать?
1. Установи MAXQDA:
- Скачай программу с официального сайта.
- Убедись, что у тебя установлен Wine, чтобы программа работала на Linux:

sudo apt install wine


- Установи MAXQDA через Wine:

wine maxqda_setup.exe


2. Загрузи свои данные:
Импортируй тексты, таблицы или видео, чтобы сразу приступить к их анализу.

3. Кодируй информацию:
- Выделяй ключевые моменты в тексте.
- Создавай категории и связи между ними, чтобы строить структуру анализа.

С MAXQDA ты экономишь время и силы. Вместо запутанных таблиц и бесконечного скроллинга — чёткие выводы и простота работы.
Попробуй MAXQDA и упростишь себе жизнь! А завтра мы разберём, как настроить Grafana, чтобы твои серверы всегда были под надёжным контролем.
________________

Дополнительный материал:
🧠 - Мониторинг серверов с помощью Zabbix: Настройка мониторинга SMART-дисков через Zabbix
🧠 - Измени группу файлов за секунды с помощью chgrp
🧠 - Автоматизируй управление группами файлов с chgrp

#LinuxJournal @LinuxSkill
🔥7👍3👎1
Эй, ты в курсе, что с Grafana можно раз и навсегда забыть о хаосе в мониторинге серверов?
Сейчас расскажу, как это настроить так, чтобы всё работало, как надо.

### С чего начать?
Для начала установи Grafana. Это проще, чем кажется:
1. Скачай её с [официального сайта](https://grafana.com).
2. Установи на сервер:
   sudo apt-get install -y grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

3. Теперь открой браузер и зайди по адресу: http://<ip-адрес-сервера>:3000. Всё, ты внутри.

### Подключаем данные
Тут всё логично:
1. Иди в Configuration → Data Sources.
2. Нажми Add data source и выбери, что ты используешь, например, Prometheus.
3. Укажи URL Prometheus и жми Save & Test. Если всё ок — ты молодец!

### Делаем первый дашборд
Хочешь, чтобы всё выглядело круто? Сделай так:
1. Зайди в Dashboards → New Dashboard.
2. Добавь график, например, для загрузки CPU:
- Выбери тип панели, например, график.
- Укажи метрики, такие как node_cpu_seconds_total.
3. Настрой внешний вид — тут уже дело вкуса: цвета, линии и т.д.

### Алерты: чтобы всегда быть в курсе
Вот это реально полезно:
1. В панели нажми Edit → Alert → Create Alert.
2. Укажи условие, например, загрузка CPU выше 80%.
3. Настрой уведомления — хоть в Telegram, хоть в Slack.

🎥 Видосик для наглядности: https://youtu.be/1RpbstvgnVE?si=0AnPSxJrkFwWxMjT

Теперь у тебя есть удобный инструмент, чтобы видеть всё, что происходит с твоими серверами. Никаких сюрпризов, только контроль и уверенность.

А завтра расскажу, как подружить Grafana с серверами на базе Angie.
____________________

Дополнительный материал:
🧠 - Секреты успешного CI/CD: Gitea и GitHub Actions, которые ты должен знать
🧠 - Автоматизируй сборку и деплой с GitLab: практическое руководство
🧠 - Разбираем chmod: контроль доступа в твоих руках

#Linux_Mastery @LinuxSkill
👍15🔥3
Секретная связка Angie и Grafana для тотального контроля над серверами

Задумайся: как круто было бы видеть всю нагрузку на твой сервер в одном месте — запросы, ошибки, скорость отклика. Angie может это дать, а Grafana всё красиво покажет. Сейчас я расскажу, как настроить эту мощную связку.

### 1. Настраиваем Angie для статистики
Для начала сделай так, чтобы Angie делился данными:
1. Проверь, активен ли модуль API. Если нет, включи:
   load_module modules/ngx_http_api_module.so;


2. Настрой эндпоинт статистики в конфиге:
   location /status {
api;
allow 127.0.0.1;
deny all;
}


3. Перезагрузи Angie:
   sudo systemctl reload angie


Теперь ты можешь посмотреть статистику по адресу /status.

### 2. Подключаем Angie к Grafana
1. Открой Grafana и добавь новый источник данных:
- Зайди в Configuration → Data Sources → Add Data Source.
- Выбери Prometheus или JSON API.

2. Укажи URL статистики Angie:
   http://<ip-адрес-сервера>/status


3. Сохрани и протестируй подключение. Если всё работает, переходи к самому интересному.

### 3. Создаём дашборд для Angie
Теперь делаем красоту:
1. В Grafana иди в Dashboards → New Dashboard → Add Panel.
2. Добавь ключевые метрики:
- Количество активных соединений.
- Скорость обработки запросов.
- Ошибки и время отклика.

3. Настрой графики: меняй цвета, добавляй предупреждения на случай проблем.

### Что ты получаешь?
С помощью этой связки ты сможешь видеть все важные показатели работы серверов в одном месте. Удобно анализировать нагрузки, находить ошибки и, главное, вовремя их устранять.

❗️❗️❗️ Теперь твоя очередь: предложи свои варианты тем для следующих постов. Хочешь что-то разобрать или узнать? Напиши в комментариях!

А завтра расскажу, как быстро находить, что занимает место на диске, с помощью команды du -h. Это тоже важная тема, не пропусти!
____________________

Дополнительный материал:
🧠 - Твои файлы могут быть изменены! Вот как cksum спасёт твои данны
🧠 - Чистый терминал без лишних движений: всё о команде clear
🧠 - Защити свой сервер: OWASP ZAP и ModSecurity на страже твоего веб-приложения

#Linux_Mastery @LinuxSkill
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
Forwarded from BashMaster
⚙️ Скрипт для общего мониторинга производительности Linux-системы

#!/bin/bash
# Colors for readability
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${GREEN}===== System Monitoring Script =====${NC}"
# 1. CPU Usage
echo -e "${YELLOW}\n>> CPU Usage: ${NC}"
mpstat | awk '/all/ {print "CPU Load: " $3 "% idle"}'
# 2. Memory Usage
echo -e "${YELLOW}\n>> Memory Usage: ${NC}"
free -h | awk '/Mem/ {print "Total Memory: " $2 "\nUsed: " $3 "\nFree: " $4}'
echo -e "Swap:\n"$(free -h | awk '/Swap/ {print "Total: " $2 ", Used: " $3 ", Free: " $4}')
# 3. Disk Usage
echo -e "${YELLOW}\n>> Disk Usage: ${NC}"
df -h | grep '^/dev' | awk '{print $1 ": " $5 " used, " $4 " available"}'
# 4. Network Traffic
echo -e "${YELLOW}\n>> Network Traffic: ${NC}"
ifstat -i eth0 1 1 | awk 'NR==3 {print "RX: " $1 " KB/s, TX: " $2 " KB/s"}'
# 5. Top 5 Memory Consuming Processes
echo -e "${YELLOW}\n>> Top 5 Memory Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6
# 6. Top 5 CPU Consuming Processes
echo -e "${YELLOW}\n>> Top 5 CPU Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6
# 7. System Logs Monitoring
echo -e "${YELLOW}\n>> Recent Errors in System Logs: ${NC}"
journalctl -p 3 -xb | tail -n 10
echo -e "${GREEN}===== Monitoring Completed =====${NC}"


🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥9
💻 Передача файлов с помощью scp

Когда нам необходимо быстро передать файл на сервер или наоборот, скопировать файл с сервера на локалку, мы можем воспользоваться утилитой — scp (Secure Copy Protocol).

SCP — это утилита командной строки в Linux, используемая для безопасной передачи файлов между локальным и удаленным узлами или между двумя удаленными узлами. Она использует протокол SSH (Secure Shell) для передачи данных, обеспечивая безопасное копирование файлов с использованием тех же мер аутентификации и безопасности, что и SSH.


⚙️ Примеры использования

• Копирование файла на удалённый сервер:

scp file.txt user@remote_host:/path/to/destination  


• Скачивание файла с сервера:

scp user@remote_host:/path/to/file.txt ./  


• Передача директории:

scp -r папка user@remote_host:/path/to/destination  


-r — ключ для копирования директории

• Указание порта SSH:

Если вдруг используется нестандартный порт, мы можем его передать установив флаг -P:

scp -P 2222 file.txt user@remote_host:/path/to/destination 


➡️ Для оптимизации передачи больших файлов, можем добавить флаг -C для сжатия файлов. А также, для проверки удачной передачи, включаем подробный вывод -v.

😎 PyLinux | #linux_commands
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👀2
История, изменившая IT: как Linux стал легендой!

Знаешь, бывают вещи, которые появляются тихо, почти незаметно, а потом переворачивают целые индустрии? Вот так же было с Linux.

В 2001 году вышел документальный фильм "The Code: Story of Linux", который рассказывает, как обычный студент Линус Торвальдс создал систему, которая сейчас работает на миллионах серверов, устройств и даже космических станциях! В фильме ты узнаешь, почему свободное ПО стало больше, чем просто идеей, и как люди по всему миру объединились, чтобы создавать что-то невероятное.

Это не просто история про код — это про философию, про вызов гигантам индустрии и про силу сообщества. Если не смотрел, обязательно зацени фильм на YouTube. Это реально вдохновляет!

🎥 Видосик https://youtu.be/vcEom5bFsAE?si=urnCC4y0EepS6zyl

А как ты впервые познакомился с Linux? Расскажи, какой дистрибутив стал для тебя первым? Debian, Ubuntu или что-то другое?
Завтра продолжим на тему бинарного анализа и поиска уязвимостей в Linux. Это будет что-то!
____________________

Дополнительный материал:
🧠 - Установка и настройка Linux-системы: Mint
🧠 - Установка и настройка Linux-системы: Kali
🧠 - Linux команды: ls, rm, mkdir, pwd, cd, echo

#документальныйфильм @LinuxSkill
👍12👀1
Неожиданный способ взломать систему: что такое бинарный анализ в Linux?

Давай разберёмся, как можно использовать бинарный анализ в Linux для выявления уязвимостей. Покажу на примере анализа подозрительного бинарного файла. Это практический случай, который поможет тебе углубиться в суть.

### Что такое бинарник?
Бинарный файл – это программа, которая уже скомпилирована в машинный код и готова к выполнению системой. В отличие от текстовых файлов или скриптов, бинарники нельзя прочитать обычными средствами — для этого нужны специальные инструменты анализа, чтобы понять, как они работают.

Пример бинарника: любая программа с расширением .exe на Windows или ELF на Linux — такие файлы напрямую выполняются процессором.

### Шаги бинарного анализа на практике

#### 1. Начинаем с общей информации о бинарнике
Получаем базовые сведения:
file suspicious_file

Вывод покажет архитектуру, тип файла и информацию о компиляции. Например:
suspicious_file: ELF 64-bit LSB executable, x86-64, dynamically linked, ...


#### 2. Извлекаем строки из файла
Иногда в бинарнике могут быть скрыты полезные подсказки: строки, команды или даже ключи API.
strings suspicious_file | grep "password"

Вывод:
Default password: admin123

Вуаля! Простой strings уже помог нам найти первую уязвимость.

#### 3. Декомпиляция и разбор функций
Для более глубокого анализа используем Ghidra или Radare2:
- Открываем файл в Ghidra:
bash
ghidraRun

Импортируем файл и видим список функций. Поищи функции с названиями check_auth или login, чтобы понять, как происходит проверка доступа.

#### 4. Анализ системных вызовов
Запускаем бинарник в изолированной среде с strace:
strace ./suspicious_file

Вывод покажет системные вызовы. Например:
open("/etc/passwd", O_RDONLY) = 3
read(3, "root:x:0:0:root:/root:/bin/bash\n", 40) = 40

Это может дать понять, к каким файлам или ресурсам программа обращается.

#### 5. Динамический анализ
Запускаем в gdb для отладки:
gdb suspicious_file

Ставим точку останова на подозрительной функции:
break main
run

Шаг за шагом следим за выполнением программы и ищем уязвимые места.

### Что мы нашли?
- Утечка информации: статическая строка с паролем.
- Обращение к системным файлам без проверки прав.
- Логика проверки аутентификации, уязвимая к подмене данных.


### Зачем тебе это?
Такие техники помогают находить уязвимости в стороннем софте или проверять безопасность собственных программ. Используя Ghidra, Radare2 или strace, ты можешь буквально вскрыть логику работы любого бинарника.

А завтра обсудим, как настроить cron для автоматизации задач! Пока что поделись своими любимыми инструментами для анализа бинарников. Что ты используешь в своей практике?
____________________

Дополнительный материал:
🧠 - Linux команды: file, mv, cp, rmdir, ps, kill 9, find, sort, , clear
🧠 - Linux команды: mv, настройка Терминала
🧠 - Linux команды: cmp, df, apt get install, remove, update, upgrade, chmod

#LinuxJournal @LinuxSkill
👍25🔥1👀1
Настрой cron за 5 минут и забудь о ручной работе навсегда!

Старый добрый cron. Если ты ещё не используешь его для автоматизации задач, сейчас самое время попробовать. Давай расскажу, как это сделать за 5 минут.

### Что такое cron?
Это инструмент в Linux, который выполняет задачи (скрипты, команды) по расписанию. Скажем, тебе надо каждый день чистить логи, проверять обновления или создавать резервные копии? Cron сделает всё это за тебя.

### Как настроить?

1. Проверка установки
Cron уже встроен в большинство Linux-систем. Убедись, что он запущен:
   systemctl status cron


2. Редактирование расписания
Введи команду:
   crontab -e

Откроется редактор, где ты можешь добавить свои задачи.

3. Пример задач
- Очистка временных файлов каждую ночь в 3 часа:
     0 3 * * * rm -rf /tmp/*

- Резервное копирование базы данных каждую неделю:
     0 2 * * 0 mysqldump -u user -p database > /backups/db_$(date +\%F).sql

- Проверка обновлений системы каждое воскресенье:
     0 4 * * 0 apt update && apt upgrade -y


### Как это проверить?
После внесения изменений введи:
crontab -l

Это покажет текущие задачи. Чтобы убедиться, что всё работает, можешь протестировать, добавив что-то вроде:
* * * * * echo "Cron работает!" >> /tmp/cron.log


А завтра мы обсудим systemd и посмотрим, как с его помощью управлять службами на сервере.

Кстати, расскажи, какие задачи ты бы автоматизировал с помощью cron? Может, я тоже смогу использовать твои идеи!
____________________

Дополнительный материал:
🧠 - Linux команды: sudo !!,man,cd ,jot,cal,tac,w,yes,du,expr,look,espeak
🧠 - Linux команды: factor, reset, mtr, ps aux, alias, tr, tree, uname, lsb_release, wall, date, uptime, hostname, shutdown, reboot, gedit, wc
🧠 - Linux команды: grep, zip, unzip, tar

#Linux_Mastery @LinuxSkill
👍37
Linux Skill - Освой Linux c нуля до DevOps pinned «Накидайте голосов по братски. Буду очень благодарен https://news.1rj.ru/str/boost/LinuxSkill»
Ты больше никогда не запутаешься в systemd: разбор по шагам!

Когда речь заходит о systemd, многие путаются в бесконечных командах и настройках. Но на самом деле всё проще, чем кажется, если понять его основные элементы – юниты, таргеты и таймеры. Давай разберёмся!


#### 1. Юниты (Units)
Юниты – это фундамент systemd. Каждая служба, точка монтирования или таймер – это отдельный юнит. Они имеют типы:
- Service – для служб (например, nginx.service).
- Mount – для точек монтирования (mnt-data.mount).
- Timer – для планировщиков (backup.timer).
- Target – для объединения юнитов (multi-user.target).

Пример: Узнать статус службы
systemctl status nginx.service


Пример: Узнать все активные юниты
systemctl list-units --type=service


#### 2. Таргеты (Targets)
Таргеты – это группы юнитов, которые помогают определять состояние системы. Например:
- multi-user.target – текстовый режим без графической оболочки.
- graphical.target – графический режим с GUI.
- rescue.target – режим восстановления.

Пример: Переключиться в текстовый режим
systemctl isolate multi-user.target


Пример: Узнать текущий таргет
systemctl get-default


Пример: Установить новый таргет по умолчанию
systemctl set-default graphical.target


#### 3. Таймеры (Timers)
Таймеры – это альтернатива cron, интегрированная в systemd. Они запускают службы по расписанию или через определённые интервалы времени.

Пример: Создать таймер для службы
- Создай файл таймера:
bash
/etc/systemd/system/backup.timer

Содержимое:
ini
[Unit]
Denoscription=Запуск резервного копирования

[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true

[Install]
WantedBy=timers.target

- Активируй таймер:
bash
systemctl enable --now backup.timer


Пример: Проверить активные таймеры
systemctl list-timers


#### 4. Почему systemd – это круто?
- Он объединяет управление всеми системными компонентами: службами, точками монтирования, таймерами и состояниями системы.
- Логика юнитов делает настройку предсказуемой и универсальной.
- Таймеры удобнее и гибче, чем cron, благодаря интеграции с systemd.

На завтра у меня для тебя кое-что интересное: будем разбираться, как использовать ping для поиска проблем в сети. Но пока расскажи: есть ли у тебя любимые лайфхаки для работы с systemd? Делись в комментариях!
____________________

Дополнительный материал:
🧠 - Linux команды: gksu, pstree, top, screenfetch
🧠 - Диспетчер задач в Linux
🧠 - Лучшие практики для повышения производительности Linux-системы

#Linux_Mastery @LinuxSkill
👍31