erid: 2W5zFJMvwZ3
Хотите монетизировать канал в MAX, но не знаете, с чего начать?
✅MAX Клаб — это готовый сервис для запуска платных каналов и закрытых сообществ.
Вы создаете контент, а сервис берет на себя:
· прием платежей;
· выдачу доступа;
· управление подписчиками.
🖥️Не нужно писать код, искать разработчиков или настраивать сложные интеграции.
Попробуйте сервис за 199 ₽ и оцените его возможности.
https://max.ru/id972103845933_2_bot?start=ref_zy73cq
Хотите монетизировать канал в MAX, но не знаете, с чего начать?
✅MAX Клаб — это готовый сервис для запуска платных каналов и закрытых сообществ.
Вы создаете контент, а сервис берет на себя:
· прием платежей;
· выдачу доступа;
· управление подписчиками.
🖥️Не нужно писать код, искать разработчиков или настраивать сложные интеграции.
Попробуйте сервис за 199 ₽ и оцените его возможности.
https://max.ru/id972103845933_2_bot?start=ref_zy73cq
👎10🤝1
Знали, почему большинство пользователи Linux почти всегда используют find вместе с -print0?
Обычная передача списка файлов через
Чтобы исключить эту проблему,
Теперь этот поток можно безопасно передать в
Так будут корректно обработаны любые допустимые имена файлов, независимо от пробелов, табуляции и других символов.
Тот же приём подходит для удаления файлов:
И для передачи файлов любой другой программе:
Именно связка
🔥 Если пишете shell-сценарии или автоматизацию, этот приём избавляет от целого класса трудноуловимых ошибок.
🚪 Linux Ready | #совет
Обычная передача списка файлов через
xargs небезопасна. Если имя файла содержит пробел, перевод строки, кавычки или другие специальные символы, команда может обработать его неправильно.Чтобы исключить эту проблему,
find умеет разделять имена файлов нулевым байтом:$ find . -type f -print0
Теперь этот поток можно безопасно передать в
xargs:$ find . -type f -print0 | xargs -0 sha256sum
Так будут корректно обработаны любые допустимые имена файлов, независимо от пробелов, табуляции и других символов.
Тот же приём подходит для удаления файлов:
$ find . -type f -print0 | xargs -0 rm
И для передачи файлов любой другой программе:
$ find . -type f -print0 | xargs -0 grep "TODO"
Именно связка
-print0 и -0 считается стандартным способом безопасной обработки имён файлов в Unix-подобных системах.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6❤5
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте собрана большая база компактных шпаргалок, среди которых есть полезные справочники по Linux, Bash, SSH, systemd, Vim, Tmux, Docker, Git, Regex и другим инструментам. Основные команды, параметры и примеры использования собраны максимально компактно, поэтому нужную информацию можно найти буквально за несколько секунд.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5🤝5
Сборка мультизагрузочного Live-USB накопителя для аварийного аудита и восстановления.
В арсенале любого специалиста по безопасности должен быть портативный инструмент для оперативного восстановления систем, сброса паролей и анализа цифровых следов. Мы соберем собственный тревожный
Для начала установим консольную утилиту Ventoy в операционную систему Linux для разметки флешки.
Архив успешно скачан и распакован в текущую рабочую директорию.
Выполним разметку и установку загрузчика Ventoy на ваш USB-накопитель (например,
Накопитель будет разбит на два раздела: скрытый с загрузчиком и основной под
Смонтируем флешку и скопируем необходимые дистрибутивы для аудита и пентеста напрямую в корень накопителя.
Файлы образов скопированы, и загрузчик Ventoy автоматически добавит их в системное стартовое меню.
Контрольный просмотр содержимого готового накопителя:
Ожидаемый вывод:
Безопасное размонтирование флешки перед извлечением:
Созданный таким образом
🚪 Linux Ready | #практика
В арсенале любого специалиста по безопасности должен быть портативный инструмент для оперативного восстановления систем, сброса паролей и анализа цифровых следов. Мы соберем собственный тревожный
Live-USB накопитель с помощью утилиты Ventoy, которая позволяет загружать любые ISO-образы простым копированием без форматирования флешки. Это превратит обычный USB-диск в универсальный швейцарский нож, готовый к запуску Kali Linux, Tails или системных реаниматоров на любом железе.Для начала установим консольную утилиту Ventoy в операционную систему Linux для разметки флешки.
wget https://github.com/ventoy/Ventoy/releases/download/v1.0.99/ventoy-1.0.99-linux.tar.gz && tar -xvf ventoy-1.0.99-linux.tar.gz
Архив успешно скачан и распакован в текущую рабочую директорию.
Выполним разметку и установку загрузчика Ventoy на ваш USB-накопитель (например,
/dev/sdX).
cd ventoy-1.0.99 && sudo ./Ventoy2Disk.sh -i /dev/sdX
Накопитель будет разбит на два раздела: скрытый с загрузчиком и основной под
ISO-образы.Смонтируем флешку и скопируем необходимые дистрибутивы для аудита и пентеста напрямую в корень накопителя.
sudo mount /dev/sdX1 /mnt && cp kali-linux-live.iso tails-amd64.iso /mnt/
Файлы образов скопированы, и загрузчик Ventoy автоматически добавит их в системное стартовое меню.
Контрольный просмотр содержимого готового накопителя:
ls -la /mnt/*.iso
Ожидаемый вывод:
/mnt/kali-linux-live.iso /mnt/tails-amd64.isoБезопасное размонтирование флешки перед извлечением:
sudo umount /mnt
Созданный таким образом
Live-USB накопитель позволяет на лету докидывать новые инструменты, скрипты и образы без перезаписи всей флешки. Держите на ней Kali для сетевого пентеста, Tails для анонимной работы и чистый дистрибутив Linux для сброса забытых локальных паролей через chroot.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Так сказал мой друг из Африки, когда увидел этот стол)
Не знаю уж че за сетап, меня зовут Саша и качественную необычную мебель из натурального дерева я делаю уже больше 12-ти лет, столько же занимаюсь и темой здоровья.
Когда я услышал, что до 10% смертности связано с сидячим образом жизни, меня это поразило и я задался целью делать максимально функциональные и полезные рабочие пространства, ибо геморрой в 30 это конечно довольно нишево, но все же сомнительно 😂
Ну а собрать такой комплект под свои задачи и при этом сразу прикинуть цены вы можете в удобном Mini App конструкторе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥1
Даже если ты часто правишь firewall — эти ключи ускорят диагностику и правки: посмотреть текущие цепочки, быстро вставить правило в начало, удалить шум или настроить NAT и фильтрацию по TCP. Полезно при дебаге доступа, перенаправлении портов и быстрой ревизии правил перед деплоем.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤝6👍4
Перенос инфраструктуры в
Kubernetes не обязательно должен происходить за один релиз. Гораздо безопаснее мигрировать сервисы поэтапно: начиная с наименее критичных компонентов, постепенно переносить зависимости, проверять стабильность каждого этапа и только потом переходить к ключевым сервисам.На картинке — пошаговый план миграции в Kubernetes: от инвентаризации сервисов и подготовки платформы до пилотного проекта, постепенного переноса приложений, стратегий
Blue/Green и Canary, а также финальной оптимизации и вывода старой инфраструктуры из эксплуатации.Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥5
DevOps Exercises более 2600 задач и вопросов по DevOps!
В репозитории собраны практические задания, вопросы и готовые разборы по Linux, Docker, Kubernetes, Terraform, Ansible, CI/CD, сетям, облачным платформам и мониторингу. Материалы можно проходить по отдельным темам, использовать для проверки своих знаний или подготовки к собеседованию.
Оставляю ссылочку: GitHub
➡️ DevOps Ready | #репозиторий
В репозитории собраны практические задания, вопросы и готовые разборы по Linux, Docker, Kubernetes, Terraform, Ansible, CI/CD, сетям, облачным платформам и мониторингу. Материалы можно проходить по отдельным темам, использовать для проверки своих знаний или подготовки к собеседованию.
Оставляю ссылочку: GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤3👍3
Шпаргалка по безопасной настройке прав в Linux!
Например, chmod 600 ~/.ssh/id_ed25519 закрывает приватный ключ от других пользователей, а режим 2755 включает setgid для каталога и помогает сохранять его группу у новых файлов.
На картинке специальные биты setuid, setgid и sticky bit, рекомендуемые права для SSH, скриптов и web-root, а также причины ошибок Permission denied, особенности символических ссылок, ACL и рекурсивного chmod.
Сохрани, чтобы не потерять!
➡️ DevOps Ready | #ресурс
Например, chmod 600 ~/.ssh/id_ed25519 закрывает приватный ключ от других пользователей, а режим 2755 включает setgid для каталога и помогает сохранять его группу у новых файлов.
На картинке специальные биты setuid, setgid и sticky bit, рекомендуемые права для SSH, скриптов и web-root, а также причины ошибок Permission denied, особенности символических ссылок, ACL и рекурсивного chmod.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2
1000+ свежих IT-вакансий каждый месяц в одном месте 🤘
Пока другие листают hh — мы ищем вакансии по всему рынку: каналы, сайты компаний, стартапы и закрытые источники.
IT Россия
IT СНГ
Стажировки
Digital
Международка
Удалёнка
Python
Бигтех
Дизайн
QA
Джунам
Frontend
Аналитика
Стартапы за рубежом
DevOps
Не с HH
Автоотклики
Пока другие листают hh — мы ищем вакансии по всему рынку: каналы, сайты компаний, стартапы и закрытые источники.
IT Россия
IT СНГ
Стажировки
Digital
Международка
Удалёнка
Python
Бигтех
Дизайн
QA
Джунам
Frontend
Аналитика
Стартапы за рубежом
DevOps
Не с HH
Автоотклики
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему sudo echo всё равно может вернуть Permission denied?
Часто системный файл пытаются изменить так:
Но команда может завершиться ошибкой доступа, хотя перед echo указан sudo.
Причина в порядке выполнения. sudo запускает с повышенными правами только echo, а перенаправление > обрабатывает текущий shell ещё до запуска команды.
Именно обычный пользователь пытается открыть системный файл для записи.
Для таких случаев удобно использовать tee:
Здесь файл открывает уже tee, запущенный через sudo.
Чтобы не перезаписывать файл, а добавить строку в конец, используйте -a:
Многострочный конфиг можно записать через heredoc:
Кавычки вокруг 'EOF' запрещают shell подставлять переменные и выполнять команды внутри блока. Содержимое будет записано буквально.
➡️ DevOps Ready | #совет
Часто системный файл пытаются изменить так:
sudo echo "PORT=8080" \
> /etc/myapp/app.conf
Но команда может завершиться ошибкой доступа, хотя перед echo указан sudo.
Причина в порядке выполнения. sudo запускает с повышенными правами только echo, а перенаправление > обрабатывает текущий shell ещё до запуска команды.
Именно обычный пользователь пытается открыть системный файл для записи.
Для таких случаев удобно использовать tee:
echo "PORT=8080" |
sudo tee /etc/myapp/app.conf \
> /dev/null
Здесь файл открывает уже tee, запущенный через sudo.
Чтобы не перезаписывать файл, а добавить строку в конец, используйте -a:
echo "LOG_LEVEL=info" |
sudo tee -a /etc/myapp/app.conf \
> /dev/null
Многострочный конфиг можно записать через heredoc:
sudo tee /etc/myapp/app.conf \
> /dev/null <<'EOF'
PORT=8080
LOG_LEVEL=info
CACHE_ENABLED=true
EOF
Кавычки вокруг 'EOF' запрещают shell подставлять переменные и выполнять команды внутри блока. Содержимое будет записано буквально.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2
Шпаргалка по командам Docker CLI!
Например, docker run -p 8080:80 nginx запускает контейнер и публикует его порт, а docker logs -f <container> показывает новые строки логов в реальном времени.
На картинке команды для сборки и удаления образов, запуска и остановки контейнеров, просмотра логов и статистики, открытия shell внутри контейнера, а также загрузки и публикации образов через Docker Hub.
Сохрани, чтобы не потерять!
➡️ DevOps Ready | #ресурс
Например, docker run -p 8080:80 nginx запускает контейнер и публикует его порт, а docker logs -f <container> показывает новые строки логов в реальном времени.
На картинке команды для сборки и удаления образов, запуска и остановки контейнеров, просмотра логов и статистики, открытия shell внутри контейнера, а также загрузки и публикации образов через Docker Hub.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤7👍6
Bash-конвейер может скрыть ошибку одной из команд!
По умолчанию код завершения конвейера определяется последней командой:
Если
Опция
Теперь конвейер завершится с ошибкой, если неуспешной была любая его часть:
Коды отдельных команд последнего конвейера можно посмотреть через
В автоматизированных Bash-скриптах часто включают сразу несколько строгих настроек:
Ожидаемые ошибки при этом лучше обрабатывать явно:
Добавляйте
➡️ DevOps Ready | #совет
По умолчанию код завершения конвейера определяется последней командой:
curl -sS "$URL" | jq -r '.version'
Если
curl завершится с ошибкой, но jq успешно обработает пустой ввод, весь конвейер может вернуть код 0. Скрипт решит, что команда выполнилась успешно.Опция
pipefail меняет это поведение:set -o pipefail
Теперь конвейер завершится с ошибкой, если неуспешной была любая его часть:
curl -fsS "$URL" |
jq -r '.version' > version.txt
Коды отдельных команд последнего конвейера можно посмотреть через
PIPESTATUS:curl -fsS "$URL" | jq -r '.version'
printf '%s\n' "${PIPESTATUS[@]}"
В автоматизированных Bash-скриптах часто включают сразу несколько строгих настроек:
set -euo pipefail
-e завершает скрипт при необработанной ошибке, -u запрещает использование необъявленных переменных, а pipefail обнаруживает сбой внутри конвейера.Ожидаемые ошибки при этом лучше обрабатывать явно:
if ! grep -q "READY" health.log; then
echo "Service is not ready"
fi
Добавляйте
pipefail в Bash-скрипты, где ошибка загрузки, сборки или обработки данных не должна остаться незамеченной.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍5
Контроль целостности системных утилит Linux через проверку хэш-сумм.
При компрометации сервера злоумышленники часто подменяют базовые системные бинарники (например,
Сформируем базу данных эталонных хэш-сумм для выбранных системных утилит и сохраним её в защищенный файл:
Файл базы данных успешно создан и содержит уникальные криптографические отпечатки чистых бинарников.
Напишем автоматический скрипт валидации, который сверяет текущее состояние файлов с ранее сохраненным эталоном:
Команда выполнит сверку всех строк и выведет предупреждение только в случае несовпадения хэшей.
Ожидаемый вывод:
Регулярный запуск такого скрипта через cron помогает вовремя заметить активность руткитов и троянов. Чтобы атакующий не смог подделать саму базу хэшей, обязательно храните эталонный файл
🚪 Linux Ready | #практика
При компрометации сервера злоумышленники часто подменяют базовые системные бинарники (например,
ss, ps или login) на модифицированные версии с бэкдорами. Мы напишем лаконичный bash-скрипт, который создаст эталонные слепки контрольных сумм SHA-256 для критически важных утилит и проверит их на предмет несанкционированных изменений. Этот базовый механизм Host IDS (интрузивного детектирования) позволяет оперативно обнаружить факт присутствия атакующего в системе.Сформируем базу данных эталонных хэш-сумм для выбранных системных утилит и сохраним её в защищенный файл:
# Создание эталонных хэшей для проверки
sha256sum /bin/ps /bin/ss /usr/bin/whoami > /root/sys_integrity.db
Файл базы данных успешно создан и содержит уникальные криптографические отпечатки чистых бинарников.
Напишем автоматический скрипт валидации, который сверяет текущее состояние файлов с ранее сохраненным эталоном:
# Скрипт проверки и вывода измененных файлов
sha256sum -c /root/sys_integrity.db 2>&1 | grep -v 'OK' || echo "Integrity check: SUCCESS"
Команда выполнит сверку всех строк и выведет предупреждение только в случае несовпадения хэшей.
# проверка (контрольная эмуляция подмены для проверки реакции парсера)
echo "test" >> /root/sys_integrity.db && sha256sum -c /root/sys_integrity.db 2>&1 | grep 'FAILED'
Ожидаемый вывод:
/root/sys_integrity.db: FAILED
# cleanup (удаление тестовой базы данных из системы)
rm -f /root/sys_integrity.db
Регулярный запуск такого скрипта через cron помогает вовремя заметить активность руткитов и троянов. Чтобы атакующий не смог подделать саму базу хэшей, обязательно храните эталонный файл
sys_integrity.db на удаленном сервере логирования или на флешке в режиме "только чтение".Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7❤6
Ошибки в пайплайне лучше находить до запуска в
CI. Локальная отладка позволяет быстрее проверить логику скриптов, переменные окружения, Docker-окружение и конфигурацию, не тратя время на повторные запуски пайплайна.На картинке — 7 полезных команд для локальной проверки
CI/CD: от shellcheck и docker run до set -x, jq, git diff и других инструментов, которые помогают быстрее находить ошибки и делать пайплайны более надёжными.Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4🔥3
🔐 Защищённое подключение для DevOps, разработчиков и удалённых команд
При работе с серверами, панелями управления, Git-репозиториями и внутренними сервисами важно не только иметь доступ к инфраструктуре, но и защищать соединение в публичных и недоверенных сетях.
TrustTunnel предоставляет собственную международную сеть защищённого подключения для частных пользователей, системных администраторов и удалённых команд.
Что получает пользователь:
• защищённое соединение в общественных и домашних сетях
• единый аккаунт для нескольких устройств
• собственная серверная инфраструктура в разных странах
• автоматический импорт конфигурации после авторизации
• приложения для компьютеров, смартфонов и Android TV
• техническая поддержка и регулярные обновления
• собственная технология подключения TT Connect
Сервис развивается независимой командой. Мы самостоятельно разрабатываем клиентские приложения, серверную часть и систему управления подключениями.
🌐 Подробнее: https://www.trusttunnel.info
📢 Новости проекта: @trusttunnelconnect
При работе с серверами, панелями управления, Git-репозиториями и внутренними сервисами важно не только иметь доступ к инфраструктуре, но и защищать соединение в публичных и недоверенных сетях.
TrustTunnel предоставляет собственную международную сеть защищённого подключения для частных пользователей, системных администраторов и удалённых команд.
Что получает пользователь:
• защищённое соединение в общественных и домашних сетях
• единый аккаунт для нескольких устройств
• собственная серверная инфраструктура в разных странах
• автоматический импорт конфигурации после авторизации
• приложения для компьютеров, смартфонов и Android TV
• техническая поддержка и регулярные обновления
• собственная технология подключения TT Connect
Сервис развивается независимой командой. Мы самостоятельно разрабатываем клиентские приложения, серверную часть и систему управления подключениями.
🌐 Подробнее: https://www.trusttunnel.info
📢 Новости проекта: @trusttunnelconnect
www.trusttunnel.info
TrustTunnel | Secure, Fast & Private Access
Secure, fast and private access powered by a production-grade edge.
❤1👍1
Как в Bash гарантированно удалить временные файлы через trap?
В shell-скриптах часто создают временную папку:
А потом в конце вручную удаляют её:
Проблема в том, что скрипт может завершиться раньше: ошибка команды, Ctrl+C, ранний
Для таких случаев в Bash используют trap:
Теперь cleanup выполнится при выходе из скрипта почти в любом сценарии:
Даже если grep завершится ошибкой, trap всё равно сработает при выходе.
Это удобно сочетать со строгим режимом:
Полный минимальный шаблон:
Если нужно выполнить несколько действий при завершении, лучше вынести cleanup в функцию:
Такой подход полезен для архивов, временных конфигов, скачанных файлов, тестовых директорий и промежуточных данных в CI/CD.
➡️ DevOps Ready | #совет
В shell-скриптах часто создают временную папку:
tmp_dir=$(mktemp -d)
А потом в конце вручную удаляют её:
rm -rf "$tmp_dir"
Проблема в том, что скрипт может завершиться раньше: ошибка команды, Ctrl+C, ранний
exit. Тогда временные файлы останутся лежать на диске.Для таких случаев в Bash используют trap:
tmp_dir=$(mktemp -d)
trap 'rm -rf "$tmp_dir"' EXIT
Теперь cleanup выполнится при выходе из скрипта почти в любом сценарии:
cp app.log "$tmp_dir/"
grep "ERROR" "$tmp_dir/app.log"
Даже если grep завершится ошибкой, trap всё равно сработает при выходе.
Это удобно сочетать со строгим режимом:
set -euo pipefail
Полный минимальный шаблон:
set -euo pipefail
tmp_dir=$(mktemp -d)
trap 'rm -rf "$tmp_dir"' EXIT
Если нужно выполнить несколько действий при завершении, лучше вынести cleanup в функцию:
cleanup() {
rm -rf "$tmp_dir"
}
trap cleanup EXITТакой подход полезен для архивов, временных конфигов, скачанных файлов, тестовых директорий и промежуточных данных в CI/CD.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥3