Linux Education
11.6K subscribers
1.07K photos
59 videos
8 files
947 links
🐧 Гайды, тесты и обучающие материалы по Linux.

Реклама — @cyberJohnny

Заявление в РКН: https://knd.gov.ru/license?id=6784bbba96de59064dc32602&registryType=bloggersPermission
Download Telegram
💥 "Как вернуть удаленные файлы в Linux" с сайта Tecmint.com, с использованием запрошенных эмоджи:

Этот гайд (https://www.tecmint.com/recover-deleted-file-in-linux/) представляет собой практическое руководство по восстановлению файлов, случайно удаленных в операционной системе Linux, особенно при использовании команды rm, которая не перемещает файлы в корзину.

Главные моменты:
1️⃣ Проблема: В Linux (особенно в командной строке) удаление файлов с помощью команды rm является необратимым по умолчанию – файлы не попадают в корзину. Восстановление требует специальных инструментов.

2️⃣ Ключевое условие для успеха: Немедленно прекратить любую запись данных на раздел диска, где находился удаленный файл. Чем больше данных записывается после удаления, тем выше вероятность, что блоки, занимаемые файлом, будут перезаписаны, и восстановление станет невозможным. В идеале – отмонтировать файловую систему.

3️⃣ Представленные инструменты:
TestDisk: Мощная утилита, в первую очередь предназначенная для восстановления потерянных разделов и исправления загрузочных секторов. Она также может восстанавливать удаленные файлы, особенно на файловых системах FAT, NTFS и ext2.
PhotoRec: Часто идет в комплекте с TestDisk. Эта утилита игнорирует файловую систему и ищет данные напрямую, основываясь на сигнатурах файлов (заголовках). Отлично подходит для восстановления определенных типов файлов (фото, видео, документы и т.д.) с поврежденных дисков или после форматирования, работает на многих файловых системах (ext3/ext4, FAT, NTFS и др.).
Extundelete: Утилита, специально разработанная для восстановления файлов на файловых системах ext3 и ext4. Она использует информацию из журнала файловой системы для поиска удаленных файлов.
Foremost / Scalpel: Похожи на PhotoRec. Это инструменты "file carving", которые восстанавливают файлы на основе их заголовков, нижних колонтитулов и внутренних структур данных. Они также не зависят от состояния файловой системы.

4️⃣ Важные советы:
Запускать утилиты восстановления лучше с Live CD/USB или после отмонтирования затронутого раздела.
Никогда не сохранять восстановленные файлы на тот же раздел, с которого производится восстановление! Всегда используйте другой диск или раздел.

5️⃣ Нет 100% гарантии: Успех восстановления не гарантирован и зависит от множества факторов (как быстро отреагировали, тип файловой системы, была ли перезапись данных).

Вывод: Хотя восстановление удаленных файлов в Linux сложнее, чем в некоторых других ОС, оно возможно с использованием правильных инструментов и при условии быстрых и правильных действий после обнаружения потери данных.

📌 Читать полностью (https://www.tecmint.com/recover-deleted-file-in-linux/)
@linux_education
👍51🔥1
🎮 Проекты от paulpogoda (https://github.com/paulpogoda) — это полезные инструменты для OSINT и проверки фактов.

Они особенно полезны для журналистов, аналитиков и исследователей.

Основные репозитории:
🔍 OSINT-CSE — это пользовательские поисковые системы для OSINT-исследований в социальных сетях, на форумах и сайтах: 👉 https://github.com/paulpogoda/OSINT-CSE

🇷🇺 OSINT-Tools-Russia — ресурсы для расследований, связанных с Россией: 👉 https://github.com/paulpogoda/OSINT-Tools-Russia

🇰🇿 OSINT-Tools-Kazakhstan — ресурсы для расследований, связанных с Казахстаном: 👉 https://github.com/paulpogoda/OSINT-Tools-Kazakhstan

🇵🇱 OSINT-Tools-Poland — инструменты для исследований по Польше: 👉 https://github.com/paulpogoda/OSINT-Tools-Poland

🇺🇿 OSINT-Tools-Uzbekistan — сборник источников и инструментов для Узбекистана: 👉 https://github.com/paulpogoda/OSINT-Tools-Uzbekistan

🇹🇼 OSINT-Tools-Taiwan — ресурсы по Тайваню: 👉 https://github.com/paulpogoda/OSINT-Tools-Taiwan

🇬🇧 OSINT-Tools-UK — источники и сервисы для Великобритании: 👉 https://github.com/paulpogoda/OSINT-Tools-UK

🇳🇱 OSINT-Tools-Netherlands — инструменты и ссылки для Нидерландов: 👉 https://github.com/paulpogoda/OSINT-Tools-Netherlands

Каждый репозиторий содержит удобные ссылки, инструменты и поисковики для эффективного исследования по выбранной стране. Все ресурсы являются открытыми.

🖥 Github (https://github.com/paulpogoda)

#osint #linux
@linux_education
1
На YouTube-канале GitHub вышло интервью с Линусом Торвальдсом.

В этом интервью, посвящённом 20-летию Git, Линус Торвальдс говорит о следующих темах:

- Создание Git: причины его разработки и важные решения, принятые при создании системы контроля версий.

- Влияние Git: как Git изменил процессы разработки программного обеспечения и стал основой для таких платформ, как GitHub.

- Текущие взгляды: размышления о нынешнем состоянии Git и его роли в сообществе разработчиков.

Также значительная часть интервью посвящена Linux.

Полное интервью можно посмотреть по ссылке.

Приятного просмотра!

@linux_education
🤩2
🔎 Коллекция инструментов для OSINT

Собрание инструментов для киберразведки.

Обширная коллекция, состоящая из нескольких сотен проектов OSINT, распределенных по темам.

🔗 Github (https://github.com/cipher387/osint_stuff_tool_collection)

@linux_education
🚀 300 вопросов для оценки навыков работы с Linux и системным администрированием.

На GitHub вы можете найти сборник из 300 вопросов, которые помогут оценить ваш уровень профессионализма в сфере системного администрирования.

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

Этот сборник будет полезен как для системных администраторов, так и для специалистов по Linux.

• Github (https://github.com/trimstray/test-your-sysadmin-skills)

@linux_education
🔥31👍1
🧹 Как избавиться от всех файлов в каталоге Linux, оставив только нужные расширения

Ты хочешь очистить папку, но сохранить .zip, .txt или .odt? В Linux это можно сделать тремя способами:

🔧 1. Расширенные шаблоны Bash (`extglob`)
shopt -s extglob
rm -v !(*.zip|*.odt)
shopt -u extglob
Это удалит все файлы, кроме .zip и .odt. Удобно для быстрого удаления в одной папке.

🔍 2. С помощью `find` — мощный и рекурсивный метод
find . -type f -not -name "*.gz" -delete
Этот способ удалит всё, кроме .gz. Подходит для вложенных директорий и сложных фильтров.

⚙️ 3. Переменная Bash `GLOBIGNORE`
GLOBIGNORE=*.odt:*.txt
rm -v *
unset GLOBIGNORE
Это удалит всё, кроме указанных расширений. Удобно, если ты в Bash и хочешь быстро исключить нужное.

📚 Подробнее (https://uproger.com/%f0%9f%a7%b9-udalenie-vseh-fajlov-v-direktorii-krome-opredelyonnyh-rasshirenij/)

@linux_education
👍6
☠️ 4chan только что стал жертвой серьезной кибератаки.

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

🔜 Подробнее (https://old.reddit.com/r/4chan/comments/1jzkjlg/4chan_hacked_hacker_reopens_qa_and_leaks_all/)

@linux_education
🔥4
Что произойдет, если запустить этот скрипт в Linux?

#!/bin/bash
set -e

false | true
echo "Hello"

🔢 Варианты ответа:

A) Hello

B)
Скрипт завершится с ошибкой, echo не будет выполнен.

C)
Скрипт завершится успешно, echo не будет выполнен.

D) Будет ошибка: set: -e: invalid option.

Правильный ответ: A

💡 Почему?
- Команда set -e завершает выполнение скрипта при любой ошибке.
- Однако в пайпах команда set -e игнорирует ошибки, если последняя команда успешна.
- false | true → всё в порядке, это не ошибка для set -e.
📌 Если хотите, чтобы это работало правильно, добавьте set -o pipefail.

@linux_education
🔥5🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Ознакомьтесь с размышлениями OpenAI o3 о поиске местоположения, это отличный инструмент для Osint-разведки.

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

@linux_education
🔥 TeleGraphite — это быстрый и надёжный скрапер для извлечения данных из публичных Telegram-каналов, разработанный на Python.

Вот что он может делать:
- Извлекать посты из нескольких каналов в формате JSON (включая ID, текст, время, ссылки, почты и телефоны)
- Загружать медиафайлы (фото, видео, документы)
- Удалять дубликаты
- Работать в однократном режиме (telegraphite once) и в непрерывном (telegraphite continuous --interval)
- Фильтровать по ключевым словам и типу контента (текст/медиа)
- Планировать запуски по расписанию
- Настраиваться через командную строку и YAML

Чтобы установить:
1) Выполните команду pip install telegraphite
2) Создайте файл .env с API_ID и API_HASH
3) Укажите список каналов в файле channels.txt

Репозиторий: https://github.com/hamodywe/telegram-scraper-TeleGraphite

@linux_education
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
👽 Проведите выходные с пользой. Игры, которые помогут улучшить знание команд в терминале, весело и эффективно:

Terminus (https://web.mit.edu/mprat/Public/web/Terminus/Web/main.html)
Текстовая RPG от MIT: вы — новобранец Академии Магии, и каждое заклинание здесь — это команда Linux. Пройдите обучение, разгадайте тайны подземелий и отточите навыки работы в консоли.

GameShell (https://github.com/phyver/GameShell)
Минималистичная головоломка прямо в терминале от Университета Савойи (Savoie Mont Blanc). Управляйте героем, применяя команды для решения задач и прокладывая путь к победе.

Bashcrawl (https://gitlab.com/slackermedia/bashcrawl)
Консольный рогалик: исследуйте процедурно генерируемые подземелья, сражайтесь с монстрами-мимиками и осваивайте базовые и продвинутые команды Bash, чтобы выжить и выбраться на поверхность.

Попробуйте все — и изучение терминала превратится в настоящее приключение!

@linux_education
🔥9
Задача: "Исчезающие процессы"

На сервере с Linux (Ubuntu 22.04) установлен некий демон (например, mydaemon), который запускается через systemd unit и, согласно логам, должен работать постоянно.

Но вот странность:

systemctl status mydaemon показывает, что сервис активен.

Однако при выполнении ps aux | grep mydaemon — процесса в списке нет.

top, htop, pgrep, pidof — тоже ничего не показывают.

Но при перезапуске systemd-сервиса (systemctl restart mydaemon) — в логах появляется запись о запуске, ошибок нет, а поведение не меняется.

Вопрос: что происходит и как найти реальный процесс?

Подсказки:
Попробуйте посмотреть, какой тип сервиса указан в systemd unit-файле.

Изучите, куда уходит stdout/stderr.

Подумайте, может ли ExecStart запускать shell-обёртку, а не сам процесс.

Что покажет systemctl show -p MainPID mydaemon?

Подвох и решение:
Часто в unit-файле могут писать:

```ini
Type=simple
ExecStart=/bin/bash -c 'sleep 9999'
```

Systemd считает, что bash — это основной процесс (MainPID), но он сразу завершается, передав выполнение sleep. Однако поскольку Type=simple, systemd не отслеживает дочерние процессы, и MainPID исчезает — ps и pgrep по имени mydaemon ничего не покажут, а дочерний процесс (sleep 9999) работает, но под другим именем.

Решение:

Либо указать Type=forking и использовать PIDFile.

Либо не использовать bash -c, а запускать нужный бинарь напрямую.

Либо использовать Type=exec (в systemd >240) или Type=notify с proper daemon tools.

@linux_education
1👍1
🛡️ CVE становится стабильнее: восстановление финансирования и создание независимого фонда

После недели неопределённости Министерство внутренней безопасности США продлило контракт с MITRE для поддержки базы CVE — ключевой системы идентификации уязвимостей, используемой всеми, от Apache до Google. Но главное событие — это анонс CVE Foundation, некоммерческой организации, которая возьмёт на себя долгосрочное управление проектом, избавив его от зависимости от государственного финансирования.

Этот шаг стал результатом годовой работы коалиции членов CVE Board (включая представителей Linux Foundation, Google и Red Hat), которые были обеспокоены глобальной зависимостью инфраструктуры кибербезопасности от одного источника. Фонд сохранит существующую систему с 453 CNA-участниками, но добавит прозрачности в процесс управления.

🔗 Ссылка - *клик* (https://cve.mitre.org/news/archives/index.html)

@linux_education
👍5🔥1
🔐 TLS-сертификаты станут недолговечными: введение новых правил CA/Browser Forum.

Крупнейшие компании в сфере интернета согласовали значительное сокращение срока действия TLS-сертификатов — с текущих 13 месяцев до всего 47 дней к 2029 году.

Это решение, поддержанное 29 участниками ассоциации, направлено на борьбу с последствиями утечек и ускорение перехода на новые криптографические стандарты. Особое внимание уделено SAN-сертификатам: их валидация теперь будет действительна только 10 дней.

🔗 Ссылка - *клик* (https://cabforum.org/)

@linux_education
🌐 Tor Browser 14.5 — значительное обновление для мобильных и настольных платформ. После полугода разработки выпущена новая версия популярного анонимного браузера на основе Firefox 128 ESR.

Основная особенность релиза — улучшенная защита от цифрового фингерпринтинга. Браузер не только блокирует трекеры, но и маскирует системные параметры, нейтрализуя более 15 Web-API. Также улучшена диагностика подключений — теперь журнал операций обновляется в реальном времени без необходимости перезагрузки интерфейса.

🔗 Ссылка - *клик* (https://www.torproject.org/download/)

@linux_education
👍61
✔️ Эскейп в «клетке» ограниченной оболочки: два классических приёма

Когда система кажется неприступной и администратор «залочил» вас в белом списке оболочек, не спешите сдаваться. Если среди разрешённых утилит есть vi/vim или less, они могут стать вашим ключом к свободе.

1. Волшебная интерактивная оболочка через Vim
Представьте, что у вас есть доступ к бинарям с SUID/GUID — и что в списке одобренных приложений значится сам Vim. Запустите его так:

vim -c ':!/bin/sh'

или

vim --cmd ':set shell=/bin/sh|:shell'

И вот, вы уже держите в руках полноценную интерактивную $-оболочку. Гуляйте по файловой системе, исследуйте /root и другие запретные зоны — всё это будет доступно, пока Vim остаётся в вашем распоряжении. 🥳

🌟 2. Плавный выход через Less
Укажем недостатков меньше, чем возможностей у less. Откройте любой файл, например:

less /etc/passwd

Затем просто наберите в самом less:

diff

!sh

После этого — вуаля! — перед вами окажется полноценная sh-оболочка. Этот трюк срабатывает везде, где допускается вызов less.

📌 Бонус: Python-эскейп
Если же в окружении есть Python, и вы мечтаете о ещё одном пути к свободе, выполните:

python -c 'import pty; pty.spawn("/bin/sh")'

Или, чтобы обойтись без интерактивного ввода:

python -

@linux_education
🖥 20 полезных команд Linux

В арсенале любого опытного Linux-администратора есть набор проверенных временем утилит: ls, cd, grep, find, ps, top и другие. Однако за пределами этой стандартной десятки скрываются настоящие «скрытые жемчужины» — мощные, но менее известные инструменты, способные упростить диагностику, автоматизацию и управление системой.

1️⃣ mtr (My Traceroute)

📋 Что делает: объединяет ping и traceroute, постоянно опрашивая каждый хоп и показывая статистику потерь и времени отклика.
💡 Пример:
mtr example.com

2️⃣ ss (Socket Statistics)

📋 Что делает: современная замена netstat. Быстро показывает TCP/UDP/RAW/UNIX-сокеты и их состояние.
💡 Пример:
ss -tulnp

3️⃣ iotop

📋 Что делает: мониторинг дискового I/O в реальном времени, показывает процессы, активно читающие или пишущие на диск.
💡 Пример:
sudo iotop -o

4️⃣ nethogs

📋 Что делает: группирует сетевой трафик по процессам, позволяет быстро найти «трафик-хищников».
💡 Пример:
sudo nethogs eth0

5️⃣ lsof (List Open Files)

📋 Что делает: показывает, какие файлы (включая сокеты и устройства) открыты процессами.
💡 Пример:
sudo lsof -i :80
sudo lsof /var/log/syslog

6️⃣ pgrep / pkill

📋 Что делает: ищет или убивает процессы по именам/атрибутам без парсинга ps | grep.
💡 Пример:
pgrep -u nginx
pkill -f "python my_script.py"

7️⃣ pstree

📋 Что делает: отображает дерево процессов с PID и связями «родитель → дочерний».
💡 Пример:
pstree -p

8️⃣ dstat

📋 Что делает: универсальный генератор статистики CPU, диска, сети, памяти, I/O в реальном времени.
💡 Пример:
dstat -tcdmn

9️⃣ atop

📋 Что делает: продвинутый мониторинг производительности с возможностью записи истории метрик.
💡 Пример:
atop
atop -r /var/log/atop/atop_20250418

🔟 multitail

📋 Что делает: позволяет «tail -f» сразу несколько лог-файлов в одном терминале с разделёнными панелями.
💡 Пример:
multitail /var/log/nginx/access.log /var/log/nginx/error.log

1️⃣1️⃣ parallel (GNU Parallel)

📋 Что делает: выполняет команды параллельно, альтернатива xargs для многоядерных систем.
💡 Пример:
find . -name "*.jpg" | parallel convert {} {.}.png

1️⃣2️⃣ watch

📋 Что делает: периодически запускает команду и обновляет её вывод в реальном времени.
💡 Пример:
watch -n 1 'ss -an | grep ESTABLISHED | wc -l'

1️⃣3️⃣ script / scriptreplay

📋 Что делает: записывает терминальную сессию (ввод/вывод) в файл; scriptreplay воспроизводит её.
💡 Пример:
script my_session.log
exit
scriptreplay my_session.log

1️⃣4️⃣ lsblk

📋 Что делает: показывает блочные устройства (диски, разделы, LVM) в древовидном формате.
💡 Пример:
lsblk -f

1️⃣5️⃣ getent

📋 Что делает: получает записи из NSS-источников (passwd, group, hosts и т.д.), включая LDAP/NIS.
💡 Пример:
getent passwd username
getent hosts google.com

1️⃣6️⃣ chage

📋 Что делает: управляет политиками устаревания паролей пользователей.
💡 Пример:
sudo chage -l username
sudo chage -M 90 username

1️⃣7️⃣ column

📋 Что делает: форматирует текстовый ввод в аккуратные колонки.
💡 Пример:
mount | column -t

1️⃣8️⃣ dig (Domain Information Groper)

📋 Что делает: мощный DNS-клиент для гибких запросов к DNS-серверам.
💡 Пример:
dig google.com MX +short
dig @8.8.8.8 example.org A

1️⃣9️⃣ dpkg -L / rpm -ql

📋 Что делает: показывает файлы, установленные пакетом (Debian/Ubuntu или RHEL/CentOS).
💡 Пример:
dpkg -L nginx-core
rpm -ql httpd

2️⃣0️⃣ journalctl

📋 Что делает: запрашивает логи из systemd-журнала с гибкими фильтрами по юнитам, времени и приоритетам.
💡 Пример:
journalctl -u nginx.service -f
journalctl --since "1 hour ago"

✔️ Подробнее (https://uproger.com/20-luchshih-maloizvestnyh-i-poleznyh-komand-linux/)

@linux_education
👍12🤩1
⚠️ В NPM-пакете xrpl.js обнаружена критическая уязвимость: бэкдор для кражи криптоключей.

Официальная библиотека для работы с криптовалютой XRP была скомпрометирована — злоумышленники внедрили вредоносный код в версии 2.14.2 и 4.2.1-4.2.4. Под предлогом функции проверки ключей checkValidityOfSeed пакет тайно отправлял приватные ключи кошельков на внешний сервер.

Атака продолжалась менее суток (21-22 апреля), но за это время уязвимые версии были скачаны 165 тысяч раз. Подозревается, что аккаунт мейнтейнера был скомпрометирован через фишинг. Разработчики XRP Ledger быстро выпустили патч в версиях 4.2.5 и 2.14.3.

🔗 Ссылка - *клик* (https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor)

@linux_education
🔥2
🔥 Полезный совет: Мониторинг Linux в реальном времени — не жди, пока будет поздно!

🔜 Почему это важно?
Если система начинает тормозить или вести себя странно, быстрое выявление проблем (нагрузка на CPU, память, диск, сеть) может спасти сервер или рабочую машину от падения.

---

**Топ-5 инструментов для реального мониторинга в Linux:**

▪️ htop — улучшенная версия top

- Красивое цветное отображение процессов.
- Быстрая сортировка по нагрузке на CPU и память.
- Можно убивать или приостанавливать процессы прямо из интерфейса.

```bash
sudo apt install htop
htop
```

▪️ iotop — мониторинг ввода-вывода дисков

- Показывает, какие процессы нагружают диск.
- Полезно при тормозах, связанных с дисковыми операциями.

```bash
sudo apt install iotop
sudo iotop
```

▪️ iftop — сетевой мониторинг в реальном времени

- Отображает, кто сколько трафика потребляет.
- Идеально для поиска сетевых утечек или подозрительной активности.

```bash
sudo apt install iftop
sudo iftop
```

▪️ glances — комплексный мониторинг системы

- Объединяет CPU, память, диск и сеть в одном удобном окне.
- Адаптивный интерфейс с множеством деталей.

```bash
sudo apt install glances
glances
```

▪️ dstat — мониторинг ресурсов по категориям

- Универсальный инструмент для анализа CPU, сети, ввода-вывода, использования памяти и т.д.

```bash
sudo apt install dstat
dstat
```

---

Бонус:
Если хочешь красивый мониторинг в браузере, попробуй netdata.

@linux_education
👍8