В этом посте собраны утилиты для пакетной работы с файлами в командной строке. Рассмотрены безопасная передача аргументов через xargs, связка с find, массовое переименование, итерация по файлам и параллельное выполнение задач. Полезно для автоматизации и обработки больших наборов файлов.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍10🤝9
👍10❤7🔥7🤝2
Ловушка для злоумышленника: настраиваем мониторинг медовой папки.
Создаём специальную директорию-приманку (
Сначала необходимо установить пакет для мониторинга файловых событий и создать папку с «секретными» данными.
Директория создана, теперь она выглядит как типичная цель для поиска паролей.
Создаем простой скрипт-монитор, который будет работать в фоне и выводить уведомление при каждом доступе.
Скрипт готов к запуску и будет следить за каждым открытием файла в реальном времени.
Запускаем мониторинг и пробуем прочитать файл в другом окне терминала для проверки.
Ожидаемый вывод:
Для прекращения мониторинга и удаления следов ловушки выполните следующую команду.
Такая «медовая папка» — простой, но эффективный способ обнаружить активность шифровальщиков или любопытных пользователей. В реальных условиях вместо echo можно настроить отправку уведомления в
➡️ Hacking Ready | #практика
Создаём специальную директорию-приманку (
Honeyfolder) с привлекательными названиями файлов для обнаружения шпионажа в системе. Используем утилиту inotify-tools для мгновенного оповещения о любых попытках чтения или изменения файлов внутри ловушки. Сначала необходимо установить пакет для мониторинга файловых событий и создать папку с «секретными» данными.
sudo apt update && sudo apt install inotify-tools -y
mkdir -p ~/Downloads/Passwords_Backup
touch ~/Downloads/Passwords_Backup/db_creds.txt
Директория создана, теперь она выглядит как типичная цель для поиска паролей.
Создаем простой скрипт-монитор, который будет работать в фоне и выводить уведомление при каждом доступе.
cat << 'EOF' > monitor.sh
#!/bin/bash
TARGET="~/Downloads/Passwords_Backup"
inotifywait -m -r -e access,open,move "$TARGET" | while read path action file
do
echo "[!] ТРЕВОГА: Обнаружен доступ к $file через $action"
done
EOF
chmod +x monitor.sh
Скрипт готов к запуску и будет следить за каждым открытием файла в реальном времени.
Запускаем мониторинг и пробуем прочитать файл в другом окне терминала для проверки.
# Запуск монитора (в отдельном окне) и проверка чтения
./monitor.sh & cat ~/Downloads/Passwords_Backup/db_creds.txt
Ожидаемый вывод:
[!] ТРЕВОГА: Обнаружен доступ к db_creds.txt через ACCESS.Для прекращения мониторинга и удаления следов ловушки выполните следующую команду.
# Остановка процесса и удаление папки
killall inotifywait && rm -rf ~/Downloads/Passwords_Backup monitor.sh
Такая «медовая папка» — простой, но эффективный способ обнаружить активность шифровальщиков или любопытных пользователей. В реальных условиях вместо echo можно настроить отправку уведомления в
Telegram через API. Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍5🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Этот репозиторий собирает шпаргалки по ключевым направлениям информационной безопасности: пентестинг, сетевые атаки, эксплуатация уязвимостей, анализ трафика, веб-безопасность и многое другое. Всё разложено по темам и оформлено так, чтобы можно было быстро найти нужные команды, техники и инструменты.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥9❤7🤝2
Как не выполнять одну и ту же команду несколько раз?
В работе часто возникает ситуация: команда тяжёлая, медленная или ходит в сеть. Например, kubectl, docker, curl, запросы к API или работа с логами.
Чтобы не гонять её снова и снова для разных проверок:
Каждый раз это новый запрос, новая нагрузка и потеря времени.
Гораздо быстрее выполнить её один раз и сохранить результат:
Теперь можно сколько угодно анализировать данные без повторных вызовов:
Это особенно чувствуется при работе с удалёнными сервисами, базами и логами, где каждая команда может занимать секунды.
🔥 Если команда дорогая — не запускай её повторно. Сохрани результат и работай с ним локально.
🚪 Linux Ready | #совет
В работе часто возникает ситуация: команда тяжёлая, медленная или ходит в сеть. Например, kubectl, docker, curl, запросы к API или работа с логами.
Чтобы не гонять её снова и снова для разных проверок:
kubectl get pods
kubectl get pods | grep api
kubectl get pods | wc -l
Каждый раз это новый запрос, новая нагрузка и потеря времени.
Гораздо быстрее выполнить её один раз и сохранить результат:
out=$(kubectl get pods)
Теперь можно сколько угодно анализировать данные без повторных вызовов:
echo "$out" | grep api
echo "$out" | wc -l
Это особенно чувствуется при работе с удалёнными сервисами, базами и логами, где каждая команда может занимать секунды.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍9❤8🤝2
Например,
${var%.*} убирает расширение файла, а ${var##*/} позволяет быстро получить имя файла из полного пути.На картинке — основные приёмы работы с переменными в bash: удаление префиксов и суффиксов, замена строк, работа с подстроками и значения по умолчанию.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤7🔥7🤝3
sponge: утилита, которая спасает, когда нужно перезаписать файл через pipe!
Есть старый неприятный момент в shell: если читаешь файл и тут же пишешь результат обратно в него же через
Например:
На первый взгляд выглядит нормально. На практике — нет.
Shell откроет app.log на запись сразу, ещё до того, как
В таких случаях выручает
Он работает просто: сначала полностью читает входной поток, и только потом записывает результат в файл.
То же самое, но безопасно:
Несколько примеров, где это реально удобно.
Заменить текст в конфиге:
Убрать пустые строки:
Отсортировать файл:
Отформатировать JSON:
Из нюансов:
🔥 Если коротко: когда нужно безопасно перезаписать файл результатом команды,
🚪 Linux Ready | #практика
Есть старый неприятный момент в shell: если читаешь файл и тут же пишешь результат обратно в него же через
>, можно случайно получить пустой файл.Например:
grep -v DEBUG app.log > app.log
На первый взгляд выглядит нормально. На практике — нет.
Shell откроет app.log на запись сразу, ещё до того, как
grep дочитает его до конца. В итоге файл можно просто обнулить.В таких случаях выручает
sponge из moreutils.Он работает просто: сначала полностью читает входной поток, и только потом записывает результат в файл.
То же самое, но безопасно:
grep -v DEBUG app.log | sponge app.log
Несколько примеров, где это реально удобно.
Заменить текст в конфиге:
sed 's/localhost/db.internal/' config.yml | sponge config.yml
Убрать пустые строки:
grep -v '^$' file.txt | sponge file.txt
Отсортировать файл:
sort file.txt | sponge file.txt
Отформатировать JSON:
jq '.' data.json | sponge data.json
Из нюансов:
sponge сначала забирает весь поток целиком, а уже потом пишет в файл. Для обычных задач это вообще не проблема, но на очень больших файлах про это лучше помнить.sponge делает именно то, что ожидаешь.Please open Telegram to view this post
VIEW IN TELEGRAM
🤝14👍11🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь системно раскрываются ключевые принципы работы операционной системы Linux. Рассматриваются базовые компоненты системы, включая ядро, оболочку, процессы, файловую систему и архитектуру ОС в целом. Отдельное внимание уделяется практическому применению.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8🔥8
В Linux можно сделать файл или директорию неудаляемыми, установив флаг неизменяемости (immutable) с помощью команды
chattr:$ sudo chattr +i -V /home/traw/keys.txt
Опция
-V — подробный вывод (verbose).Чтобы сделать директорию неудаляемой, добавьте рекурсивную опцию
-R:$ sudo chattr +i -VR /home/traw/backups
Чтобы снова разрешить удаление файла, используйте флаг
-i. Для директорий — -i с опцией -R.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍10❤7
This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории собран справочник по Linux-командам — более 400 утилит с описаниями и примерами использования. Каждая команда сопровождается кратким объяснением и примерами, поэтому можно быстро понять, как она работает и где применяется. Удобно использовать как справочник в работе и подготовке к собеседованиям.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥8🤝8
Всплеск нагрузки, утечка памяти или неудачный деплой и ядро включает OOM Killer. Swap — это страховка, система получает запас по памяти и время на реакцию (пусть и с деградацией по скорости).
В этом посте:
• Проверим, есть ли swap и используется ли он;
• Создадим swap-файл без перезагрузки сервера;
• Подключим его и настроим автозапуск;
• Оптимизируем поведение системы через swappiness.
Практическая настройка, которая снижает риск внезапных падений под нагрузкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥9🤝8❤1
Например, порт 22 используется для SSH-подключений, а 443 — для защищённого HTTPS-трафика. Порты — основа любого взаимодействия между клиентом и сервером.
На картинке — 18 основных портов.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤝13🔥9
Монтируем ISO-образ без записи на диск — мгновенный доступ к содержимому!
Иногда нужно посмотреть, что внутри .iso-файла: проверить структуру, вытащить отдельные файлы, запустить установщик или просто поанализировать. Но зачем сжигать его на флешку или распаковывать, если можно примонтировать прямо в систему?
Для этого понадобится всего одна команда и пустая директория:
Здесь
Теперь ты можешь просто зайти в /mnt/iso и посмотреть всё содержимое, как если бы это был обычный диск или флешка.
Когда всё закончишь — не забудь отмонтировать:
🔥 Работает со всеми ISO: Linux-дистрибутивы, Windows-инсталляторы, образы с драйверами, тулкиты пентестера и даже старые архивы.
🚪 Linux Ready | #практика
Иногда нужно посмотреть, что внутри .iso-файла: проверить структуру, вытащить отдельные файлы, запустить установщик или просто поанализировать. Но зачем сжигать его на флешку или распаковывать, если можно примонтировать прямо в систему?
Для этого понадобится всего одна команда и пустая директория:
sudo mount -o loop ~/Downloads/disk.iso /mnt/iso
Здесь
-o loop создаёт виртуальное устройство, ~/Downloads/disk.iso — путь до образа, а /mnt/iso — куда монтировать (создай папку заранее). Теперь ты можешь просто зайти в /mnt/iso и посмотреть всё содержимое, как если бы это был обычный диск или флешка.
Когда всё закончишь — не забудь отмонтировать:
sudo umount /mnt/iso
🔥 Работает со всеми ISO: Linux-дистрибутивы, Windows-инсталляторы, образы с драйверами, тулкиты пентестера и даже старые архивы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍9❤6
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт шаг за шагом объясняет, как работать с Docker: контейнеры, образы, сети. Все примеры можно сразу повторить у себя в терминале, без сложной теории. Полезно для разработчиков, которые хотят разобраться в контейнеризации и понять, как Docker используется в реальных проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9❤7🤝1
Каналы с Junior IT вакансиями
и стажировками
Подписывайся и забирай свой оффер
1. Стажировки и вакансии по России и миру
2. IT вакансии по СНГ
3. IT стажировки по СНГ
4. ИИ-ассистент для автооткликов
5. IT стажировки и волонтерства
6. IT стажировки в топовых компаниях мира
7. Удалённые IT вакансии и стажировки
8. Python вакансии и стажировки
9. БИГТЕХ вакансии и стажировки
10. Design вакансии и стажировки
11. QA вакансии и стажировки
12. Junior вакансии и стажировки
13. Frontend вакансии и вопросы собесов
14. Вакансии и стажировки для аналитиков
15. Вакансии в русских стартапах за границей
16. Вакансии и стажировки для DevOps
17. Вакансии, которых нет на ХХ.РУ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Почему диск полный, хотя файлы уже удалены?
Удалили огромный лог, но место на диске не освободилось,
Причина в том, что процесс держит открытый файловый дескриптор.
Файл удалён из файловой системы, но продолжает существовать, пока процесс его не закроет.
Найти такие файлы можно так:
Там будет
Теперь можно освободить место без перезапуска сервиса:
Это обнуляет файл через файловый дескриптор, и место возвращается системе.
🔥 Если диск заполнен невидимыми файлами, часто нужно найти открытые дескрипторы и очистить их через
🚪 Linux Ready | #совет
Удалили огромный лог, но место на диске не освободилось,
df показывает, что диск всё ещё заполнен.Причина в том, что процесс держит открытый файловый дескриптор.
Файл удалён из файловой системы, но продолжает существовать, пока процесс его не закроет.
Найти такие файлы можно так:
lsof | grep deleted
Там будет
PID процесса и номер дескриптора.Теперь можно освободить место без перезапуска сервиса:
: > /proc/<PID>/fd/<FD>
Это обнуляет файл через файловый дескриптор, и место возвращается системе.
/proc.Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍11🔥8