BashMaster
8.28K subscribers
725 photos
18 videos
1 file
748 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Rescuezilla — инструмент для создания резервных копий образов разделов и целых дисков в Linux

✔️Резервные копии можно сохранить на жестком диске USB или на сетевом диске. Кроме того, из загруженного ISO-файла можно записать DVD-диск или создать загрузочный USB-накопитель с помощью таких инструментов, как Etcher.

▶️При использовании Rescuezilla выберите метод сжатия «Несжатый» для создания полной резервной копии образа. Вы можете извлекать из образа отдельные файлы или папки с помощью программы Image Explorer, входящей в состав Rescuezilla.

▶️Для восстановления сохраненного образа достаточно нажать кнопку «Восстановить», и система будет возвращена в состояние, зафиксированное в резервной копии.

➡️ Rescuezilla работает в фоновом режиме под управлением Clonezilla — мощного инструмента, который профессионалы могут использовать непосредственно из терминала, получая при этом доступ к дополнительным опциям.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍53
Популярные ресурсы по информационной безопасности и этичному хакингу:

🔐 infosec — редкая литература, курсы и уникальные мануалы для ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.

🧠 Social Engineering — авторский Telegram канал, посвященный информационной безопасности, OSINT и социальной инженерии.

💬 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
⚙️ Inotify в bash: ловим изменения файловой системы

✔️Inotify — это подсистема ядра Linux, которая позволяет отслеживать изменения файловых систем. Использование этой подсистемы позволяет выполнять определенные действия в том случае если вы создали файл, что-то в него записали, открыли, закрыли, удалили и так далее. Использование этого механизма позволяет избавиться от необходимости вставлять в скрипты проверки с таймаутами при помощи команды sleep. Это упрощает логику скрипта, поскольку нам нужно просто ждать информацию об изменениях файловой системы, а при получении информации о том, что что-то изменилось, выполнить необходимые действия. Давайте рассмотрим пример скрипта, использующего inotify.

➡️ Программы inotifywait и inotifywatch
▶️Эти программы как раз и помогут нам обеспечить необходимый функционал отслеживания изменений файловой системы. В Debian и Ubuntu они входят в пакет inotify-tools. Установка пакета:
apt-get install inotify-tools


➡️ Пишем скрипт, который использует inotify
▶️Прежде всего определимся с условиями задачи, которую нам предстоит решить. Есть некоторые директории, куда пользователи загружают файлы (пусть это будут домашние директории пользователей, /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ). Иногда пользователи эти файлы удаляют, поэтому нам нужно отслеживать изменения и при появлении новых файлов (или новых версий уже существующих файлов) копировать их в директорию /backup/ИМЯ-ПОЛЬЗОВАТЕЛЯ.

▶️Для реализации нам нужно отслеживать изменения файловой системы, на которой находится директория /home, определять, что произошло событие закрытия файла после записи в него, получать директорию, в которой произошло закрытие файла, имя самого файла, определять имя директории, в которую планируется копировать файл, создавать её, если она еще не существует, и, собственно, копировать этот файл в эту директорию.
#!/bin/bash

SRC_DIR="/home"
DST_DIR="/backup"

# Функция, которая будет выполнять необходимые действия
# В нашем случае копировать в другую директорию
make_action(){
# Получаем директорию назначения
DIR_TO_COPY_TO=${1/${SRC_DIR}/${DST_DIR}}
# Создаем ее, если ее еще не существует
mkdir -p $DIR_TO_COPY_TO
# Копируем файл
cp $1$2 $DIR_TO_COPY_TO
}

IFS='
'
# Отслеживаем закрытие файлов после записи
# Получаем вывод в нужном нам формате
inotifywait -e close_write --format '%w %f' -m -r $SRC_DIR |\
(
while read
do
# Получаем имя директории
DIR=$(echo $REPLY | cut -f 1 -d' ')
# Получаем имя файла
FILE=$(echo $REPLY | cut -f 2 -d' ')
# Передаем имена директории и файла в функцию
make_action $DIR $FILE
done
)


🖼️ Прочитать статью полностью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Конкурс [Видео]охота на Eltex
Призы за видео Eltex в эксплуатации

Дарим современный ноутбук i7 с портом RJ-45, PlayStation 5, 27" Монитор AOC, 4К, IPS, 0.5 мс и ещё 25 крутейших призов

Полный список призов>>

Пришлите больше РАЗНЫХ МОДЕЛЕЙ и победите!

Принимаются:
1 модель = 1 балл
2 одинаковых модели = 1 балл
2 разные модели = 2 балла

Как снимать, что говорить?
Пример видео

🗓Принимаем ролики до 30 сентября

📹Отправить видео:
@eltexcm_hunter

Видео уже принятых устройств с прошлого года, не принимаем! Спасибо за понимание! ;)

#eltex #eltexcm #видеоохота

@eltexcm

Реклама. ООО "ЭЛТЕКС КОММУНИКАЦИИ". ИНН 7714966730.
👍4🔥21😐1
⚙️ IntelliShell

✔️Инструмент, который действует как хранилище закладок для ваших терминальных команд .

➡️ Позволяет пользователям легко находить полезные команды без необходимости поддерживать чистоту истории команд.

▶️В настоящее время он работает на Bash, Zsh и Fish и совместим с большинством систем GNU/Linux, Windows и macOS.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥3
Что хуже потери данных?
Неправильное восстановление.

Отсутствие чёткого плана на случай сбоя в RAID-массивах и непонимание, как эти самые массивы работают, может привести к полной потери информации.

Хотите разобраться, как восстанавливать данные правильно?
Приходите на открытый вебинар «Как восстанавливать повреждённые данные на дисках и RAID-массивах?»

Вебинар проведёт Андрей Буранов, один из лучших преподавателей образовательных порталов и системный администратор VK

Вы узнаете:
- Чем полезны снапшоты для восстановления данных
- Какие утилиты нужны для восстановления данных
- Когда есть смысл обращаться к аппаратному восстановлению данных
- Как минимизировать время простоя систем и сохранить целостность данных во время восстановления

Бонус! Всем участникам – скидка 5% и полезный гайд

12 сентября, 19:00 МСК, Бесплатно

Записаться на событие - https://otus.pw/clZx/?erid=LjN8KEPiy

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
👍2
⚙️ Быстрая разработка скриптов мониторинга с помощью Bash, Outthentic и Sparrow

✔️Задача — у нас есть сервер, на который мы устанавливаем приложения и делаем настройку конфигурации. Хочется написать скрипт, который быстро даст нам ответ, что с сервером все хорошо, и приложение настроено и работает корректно. Этакий smoke тест, который будет нам полезен, когда мы будем заниматься поиском проблем или же просто проверять, что очередной деплоймент ничего не сломал. Предвидя возможные вопросы, я знаю, что уже существуют инструменты, которые делают что-то подобное ( inspec ), тем не менее, хочу рассказать об альтернативном походе.

➡️ Выбор инструментария

▶️Итак, почему Bash? Потому что он достаточно прост в использовании и позволяет быстро и эффективно писать разного рода скрипты, imho я бы не стал использовать Bash для более сложных задач, но для данного рода проблем он вполне подходит.

▶️Затем, что такое Outthentic и как он нам здесь пригодится? Outthentic — это фреймворк для написания скриптов, позволяющий быстро написать, настроить и запустить ваш скрипт ( в данном случае, написанный на Bash, но можно и на других языках ), так же, что немаловажно, Outthentic имеет встроенный DSL, подходящий под написание скриптов в стиле автоматизированных тестов, что может быть удобным при написании скриптов мониторинга.

▶️И последнее — почему ( или что-то такое ) Sparrow и как он нам поможет? Sparrow — это платформа и среда выполнения пользовательских скриптов, позволяющая распространять и настраивать готовые скрипты в виде т.н. Sparrow плагинов. Основной выхлоп в том, что когда наш скрип написан и оттестирован, вы можете упаковать его в виде плагина, загрузить в Sparrow репозитарий и передать далее в отдел эксплуатации и/или любым другим коллегам, которые захотят воспользоваться вашим скриптом.

🖼️ Дочитать статью на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Станьте AI-разработчиком на Python и зарабатывайте от 150.000₽ в месяц 🔥🔥🔥

Мы научим вас создавать и тренировать нейронные сети, и вы сможете:

1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тыс. ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тыс. ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате

На интенсиве будет много практики: создадим 9 нейросетей за 1 вечер:

🧬 Оценка выброса CO2 по параметрам машины
🧬 Сегментация изображения для робота доставщика
🧬 Трекинг людей на видео
🧬 Распознавание речи
и другие

Ведущий интенсива - Senior AI-разработчик и основатель Университета искусственного интеллекта

🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайшую среду. Вы узнаете, как освоить самую востребованную профессию!
🔥2😐1
⚙️ insh (Intelli Shell)

✔️Обработчик, который работает поверх оболочки Bash и реализующий автозаполнение команд с использованием выпадающего списка в режиме реального времени.

▶️Отображает и фильтрует по мере ввода текста историю команд с сортировкой по выполнению в стиле PowerShell Core. Вы можете выбирать любую команду из выпадающего списка с помощью стрелочек вверх/вниз и выполнять их по нажатию кнопки Enter.

▶️Поддерживает регулярных выражений при фильтрации с учетом положения введенных фраз в команде с использованием символа ^ в начале или конце строки (по умолчанию поиск осуществляется независимо от положения введенных фраз, разделенных пробелом).

▶️Позволяет производить навигацию по каталогам не покидая текущую строку ввода с помощью команд cd и выбор файлов для чтения через cat, nano, vim и mcedit, а также копирование через cp и mv.

▶️Реализует функцию интерактивного (нечеткого поиска) в стиле grep . Выполняет поиск на основе вывода последней выполненной команды при использовании символ @ в начале строки ввода.

▶️Поддерживает вывод всех переменных через символ: $$ а также интеграция с cheat.sh для автоматического поиск исполняемых команд с помощью символа ! и вывода шпаргалок для последней введенной команды в строке.

▶️Фиксирует и отображает время выполнения последней выполненной команды в духе oh-my-bash.

➡️ Что не поддерживает:
На текущий момент есть одна ключевая проблема, все вызываемые команды выполняются во внешних процессах bash, который завершается после каждого выполнения команды (в поисках решения), что не позволяет вызывает процессы, которые требуют участия пользователя для своей работы, но при этом поддерживается хранение и передача переменных во внешние процессы.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥3
Администрирование Linux. Без которого никуда.

Курс «Администрирование Linux.Мега» уже стартовал, но у вас еще есть возможность присоединиться к группе! Студенты только начали работу с первыми материалами – самое время залететь и продолжить обучение вместе с ними.

⚙️ 70% курса — это практика. За 1.5 месяца вы научитесь:
➡️ Управлять процессами и правами через консоль с vi/vim, grep, awk, sed
➡️ Автоматизировать задачи с помощью bash-скриптов
➡️ Настраивать мониторинг, собирать логи и управлять ресурсами

Не откладывайте:
📍 В таком же виде курс больше не повторится ⚡️
📍 Регистрация до 15 сентября, а набор в следующий поток откроется только через несколько месяцев.

📌 Подробности по ссылке.

Присоединяйтесь, если хотите не просто разобраться в Linux, а уверенно работать с ним каждый день.

Реклама. ООО "СЛЁРМ". ИНН 3652901451.
👍21
👉 Docker с 0 до 100%. Всё, что нужно знать

Описание:
00
:00:00 | Intro
00:01:35 | Основы Docker.
00:19:30 | Установка Docker в Linux и Windows.
00:25:40 | Основные команды.
00:54:55 | Управление портами: Port Mapping.
01:08:55 | Переменные в Docker: Environment Variables.
01:20:20 | Постоянные данные: Docker Volumes.
01:48:41 | Сети в Docker. Network.
02:30:11 | Создание своих контейнеров. Dockerfile.
03:40:59 | Docker Compose. Применение.
04:32:28 | Portainer – Web UI для управления Docker.

📹 Смотреть на YouTube

Канал: RomNero

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥42
📹 Кстати, мы собрали большой архив видеоуроков по всем направлениям IT в нашем дочернем канале:

https://t.me/videos_it
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍42😐1
Сегодня 256-ой день в году, а значит с днём программиста! 👨‍💻

Чистого кода без багов и пушистой техподдержки! 🐱

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥9
🦙 Искали бесплатные ChatGPT-4 и Gemini? Хотели бота со всеми передовыми нейросетями?

Lama — проект, содержащий в себе самые свежие и мощные модели:
⚡️ ChatGPT-4o/turbo
⚡️ Самые последние модели Gemini c контекстом 2млн токенов.
⚡️ Llama-3.1-400b, Gemma, Mistral large 2
⚡️ Suno, Kling, Dall-E 3, Pixart и многие другие!
⚡️ Мы единственные, кто предоставляет доступ к GPT-4, GPT-4o mini, Gemini 1.5, Dall-E 3 совершенно бесплатно.

Подписывайтесь на канал Lama News и откройте себе доступ в мир искусственного интеллекта!
👍3😐3
⚙️ LINUX Commands

✔️Самый подробный обзор всех команд Linux, коротко и по делу. Просто гигантская шпаргалка-обучалка для всех линуксоидов.

➡️ Вас ждут:
▶️Основные операции с файлами: ls, cp, mv, rm;
▶️Просмотр файлов: cat, less, head, tail, nl;
▶️Даты и время: xclock, cal, date;
▶️Сеть: traceroute, ifconfig, netstat, who;
▶️Просмотр процессов: ps, uptime, w, top и другие.

🖼️ Ссылка на шпаргалку

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥3
⚙️ Учебник по Bash

✔️Учебник будет полезен если вы хотите научиться писать Bash-скрипты в Unix/Linux.

▶️Изучите Bash с помощью руководства для начинающих, включающего понятные описания и множество примеров.

➡️ Вы получите прочную основу в том, как писать Bash-скрипты, чтобы заставить компьютер выполнять сложные повторяющиеся задачи для вас.

🖼️ Ссылка на учебник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥85👍4
⚙️ Nexterm

✔️Опенсорсный инструмент для простого управления серверами с SSH, VNC и RDP

▶️Nexterm предлагает двухфакторную аутентификацию и управление сеансами. Инструмент разделен на папки и вкладки для удобства навигации

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥43
“Active Directory: пентест инфраструктуры - 2024"

Старт: 23 сентября

Авторы: HackerRalf (Михаил Порываев) и BlackRabbit (Павел Никитин), 5-кратные победители the Standoff

Содержание курса:
- Архитектура AD и ее базис
- Компоненты AD Kerberos, Microsoft SQL Server и центр сертификации — как их взломать?
- Харденинг в AD, добыча критичной информации, развитие по инфраструктуре
- Как закрепиться внутри? Техники и эксплоиты

На 100% прикладной курс:
практическая лаборатория AD содержит 16 виртуальных машин, позволяя участникам отточить свои навыки на практике в 100+ рабочих тасках

🏆 Трудоустройство для лучших выпускников
🏆 Сертификат / удостоверение о повышении квалификации 

Пишите нам @Codeby_Academy

Подробнее о курсе
🔥21
⚙️ Маска подсети: считаем на bash

✔️Маска подсети — это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
<адрес-подсети>/<количество-бит>


▶️Предположим, у вас есть некоторая сеть 192.168.1.0 (сеть класса C), а маска подсети (netmask) представлена как 255.255.255.0 (в бинарном виде это 11111111 11111111 11111111 00000000). Это говорит о том, что для адреса подсети выделены первые 24 бита, а под адрес компьютера в подсети 8 бит, то есть, интервал значений последнего октета (последних 8 бит) будет принимать 256 различных значений (значения от 0 до 255 включительно), где 0 — это адрес подсети, а 255 — броадкаст. Соответственно, под адреса компьютеров вы сможете выделить 254 адреса (от 1 до 254). И, находясь на каком-либо компьютере под управлением операционной системы на базе ядра Linux, вы можете посмотреть адрес компьютера и сетевую маску при помощи команд «ifconfig» и «ip addr».

▶️Иногда требуется имея адрес компьютера и маску подсети определить адрес подсети и битность сетевой маски, чтобы представить адрес подсети в виде:
<адрес-подсети>/<количество-бит-в-маске>

Например:
192.168.1.0/24

▶️Давайте попробуем решить задачу по такому преобразования на bash.

➡️ Перевод из десятичной системы в двоичную в bash

▶️Для решения задачи нам необходимо будет перевести маску подсети в бинарный вид, поскольку маска подсети (netmask) — это последовательность бит, определяющая, какие из бит в указанном адресе выделены под адрес подсети (бит установлен в единицу), а какие — под адрес компьютера в подсети. Это очень важный момент в понимании IP адресов.

▶️Функции, которая позволяет преобразовать десятичные числа в двоичные, в bash нет, поэтому необходимо будет использовать небольшую хитрость. Она заключается в том, что мы можем сгенерировать массив из последовательностей единиц и ноликов, каждый элемент которого будет являться двоичным представлением десятичного значения индекса этого элемента
BINARRAY=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1})

▶️Эта строчка будет развернута в массив, содержащий 8-разрядные значения, что равносильно следующим операциям:
BINARRAY[0]="00000000"
BINARRAY[1]="00000001"
BINARRAY[2]="00000010"
...
BINARRAY[254]="11111110"
BINARRAY[255]="11111111"

➡️ Перевод из двоичной системы в десятичную в bash

▶️Обратное преобразование нам потребуется, чтобы преобразовать последовательность бит обратно в десятичное число. Тут всё проще. В bash есть возможность преобразовывать число из N-ричного в десятичное, где N — это число до 64 включительно. Вот как это выглядит для системы счисления с основанием 2
> A=$((2#00000010))
> echo $A
2
> B=$((2#11111110))
> echo $B
254

▶️Как видите, в данном случае всё очень просто.

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍106🔥5
👩‍💻 Программирование теперь в Telegram!

Вот 8 обучающих каналов по самым востребованным направлениям в IT.

Выбирай своё направление:

👩‍💻 Frontend: @code_ready
👩‍💻 Backend: @backend_ready
📖 Общее IT: @roadmap_ready
👩‍💻 Python: @python_ready
👩‍💻 Java: @java_ready
👩‍💻 C#: @csharp_ready
👩‍💻 C/C++: @cpp_ready
🖥 Базы Данных & SQL: @sql_ready
🖥 Design: @time_design

📌 Ресурсы, гайды, шпаргалки, книги, задачи и статьи для каждого языка программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1😐1