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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Direnv

✔️Менеджер переменных среды для терминала, который поддерживает bash, zsh, tcsh и другие оболочки. Он позволяет иметь переменные среды, специфичные для каждого проекта.

➡️ Перед каждым приглашением проверяется наличие файла .envrc в текущем и родительском каталогах. Если файл существует, он загружается в подшаблон bash, и все экспортированные переменные затем захватываются Direnv и становятся доступными для оболочки.

➡️ Установка direnv:
sudo apt-get install direnv

Далее необходимо внести изменения для настройки нашей оболочки, для bash необходимо в конец файла ~/.bashrc добавить следующее и перезапустить консоль:
eval "$(direnv hook bash)"


🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍63
3 полезных ресурса для сетевых и системных администраторов:

💻
NetworkAdmin авторский блог про компьютерные технологии.

⚙️ EasyTools — бот №1 с набором утилит для решения повседневных задач.

🗣 AdminHelp — крупнейший форум для IT-специалистов в Telegram.

Подпишись, чтобы не потерять.
🔥4
⚙️ Скрипт для автоматического создания резервной копии MySQL и ее хранения по FTP-соединению

✔️Этот простой bash-скрипт создаст резервную копию базы данных MySQL и сохранит ее на FTP-сервере.
Скрипт также удалит старые резервные копии с сервера, освободив место.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
Приглашаем на большой эксклюзивный вебинар по виртуализации от команды Deckhouse! Вы узнаете всё об уникальных возможностях Deckhouse Virtualization Platform (DVP), какие задачи она решает и как может удовлетворить самые взыскательные требования современной ИТ-инфраструктуры.

📌 12 июля в 12:00, онлайн. Требуется регистрация.

Среди ключевых спикеров:
– Давид Мэгтон, технический директор и сооснователь компании «Флант»;
– Павел Тишков, технический директор Deckhouse Virtualization Platform.

На вебинаре обсудим:
🔹 ожидания клиентов от современной платформы виртуализации;
🔹 особенности DVP и сценарии использования;
🔹 сетевые политики, микросегментацию, балансировку трафика, наблюдаемость;
🔹 блочные хранилища: встроенные СХД, интеграция с внешними СХД;
🔹 производительность виртуальных машин на разных платформах, масштабирование, аппаратные и системные требования;
🔹 планы по развитию DVP и лицензирование.

Присоединяйтесь!
3
⚙️ REST API сервер на Bash с использованием сокетов и Apache

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

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

➡️ В статье будут примеры, с помощью которых можно создать такой сервер используя сетевые сокеты netcat , socat и ncat, а также веб-сервера Apache с использованием встроенных модулей.

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

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

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

infosec — редкая литература, курсы и уникальные мануалы для ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
1👍1
⚙️ Полезные команды GNU/Linux для разработчика. Часть 1

✔️В этой статье поговорим про команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. Здесь мы собрали то, чем пользуемся сами и к чему привыкли, однако почти все упомянутые задачи можно решить и другими способами.

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

Просмотр информации о системе и пользователях
▶️Самая первая команда - информация о пользователе — id <user>. Если ее набрать без параметров, вы получите информацию о том пользователе, под которым работаете в данный момент, а также список групп, в которых состоите. Иногда бывает полезно глянуть как раз список групп, чтобы понять, есть ли у вас права, например на исполнение команд Docker.

▶️Чтобы посмотреть разнообразную информацию о системе (о пользователях, времени ее работы и т.п.), есть три команды — who, uptime, w.

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

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍43
😱 👉 Важное событие для всех, кто хочет повысить производительность своих серверов!

🔆 Присоединяйтесь к открытому уроку «Оптимизация Nginx и Angie под высокие нагрузки»

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

🏆 Спикер Николай Лавлинский — технический директор в Метод Лаб, PhD Economic Science, опытный руководитель разработки и преподаватель.

👉 Регистрируйтесь для участия: https://otus.pw/xvNy/?erid=LjN8K9nP2
👍2
🎲 Высокая доступность в Kubernetes: бесплатный вебинар

Привет! Мы — команда Слёрма, учебный центр для айти-специалистов middle+ и фанаты k8s.😎 

11 июля в 18:00 мы приглашаем вас на вебинар «Высокая доступность в Kubernetes: пробы, реквесты/лимиты, HPA».

На встрече обсудим:

Можно ли не делать рединесс пробы и лить трафик сразу на сервер?
Что будет, если выставить неправильные пробы?
И еще много интересного!

Спикеры:

➡️ Кирилл Борисов, SRE Lead в MTS Digital
➡️ Всеволод Севостьянов, Staff engineer в Lokalise
➡️ Дмитрий Будаков, Системный инженер в интеграторе

Зарегистрироваться на вебинар можно с помощью нашего бота-помощника. Подключайтесь!

🔗 ХОЧУ НА ВЕБИНАР

erid: LjN8K5hwP
2👍1
⚙️ Полезные команды GNU/Linux для разработчика. Часть 2

✔️Подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер. Речь пойдет о возможностях bash, работе с сетью и ssh.

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

Не все знают, но у bash есть автодополнение - можно начать писать имя команды и если она есть где-то в переменной path, bash автоматически ее дополнит. Применить автодополнение можно клавишей TAB. Правила автодополнения на самом деле чуть более сложные и их можно редактировать самостоятельно. Для многих распространённых команд такие правила уже созданы и, скорее всего, уже установлены в вашем дистрибутиве.

▶️Очистить консоль от предыдущего хлама, который там накопился можно командой clear

▶️Альтернативная команда позволяет также вернуть клиентскую часть терминала в первоначальный режим (если внезапно все сломалось) — reset

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥73
⚙️ Advanced Bash-Scripting Guide

✔️Искусство программирования на языке сценариев командной оболочки.

➡️ Данное руководство не предполагает наличие у читателя познаний в области программирования на языке сценариев, однако, быстро восполняет этот недостаток, постепенно, шаг за шагом, раскрывая мудрость и красоту UNIX. Это руководство может рассматриваться как учебник, предназначенный для самостоятельного изучения или как справочник по программированию на shell.

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

🖼️ Перейти к руководству

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥73
Бесплатный однодневный интенсив по искусственному интеллекту!

За 1 день научим тебя писать нейронные сети. Напишешь 9 нейронок с нуля, без опыта программирования!

На интенсиве ты создашь:
- 3 нейронки из области компьютерного зрения
- 3 нейронки по распознаванию и обработке текста
- 3 нейронки по сегментации, временным рядам и аудио

Регистрируйся прямо сейчас, исследуй футуристичный мир нейросетей с нами!

Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8KQEYZ
3😐2👍1
⚙️ Как отправлять и обрабатывать графические уведомления на bash

✔️Сегодня будет разбор интересной задачи: как рисовать красивые графические уведомления и взаимодействовать с ними из скриптов bash.

➡️ Демонстрация будет осуществляться не на абстрактных примерах, а на вполне реальной задаче — необходимо уведомить пользователя о скором истечении пароля и дать возможность его сменить. Ситуация не надуманная — компьютер в домене, sssd даёт возможность авторизоваться/аутентифицироваться пользователю, но вот демонстрировать ему информацию о необходимости смены пароля не может — не его уровень. Вроде как gdm готов этим заняться, только весьма специфически — при удачном логине быстро проскакивает малозаметная строчка с информацией о последнем входе и количестве дней до смены. Раньше, когда все пользователи Linux в большинстве своём были сисадминами/гиками, это никого особо не напрягало. А вот сейчас, из-за активного импортозамещения, появилось большое количество «начинающих» пользователей Linux и, как следствие, достаточно глупые заявки — учётка заблочилась, потому что кто-то не поменял пароль вовремя.

✔️Архитектура проекта
Мы люди серьёзные — сначала думаем, а потом делаем (или не делаем). Набросаем нечто вроде ТЗ: Уведомление должно быть ненавязчивым, а также всё должно быть красиво и удобно!

В качестве среды исполнения будет bash, coreutils — в общем всё, что есть в фундаментальных трудах предков, с учётом современных реалий.

➡️ Скрипт будет исполняться при старте графической сессии пользователя и производить следующие действия:

▶️Определять дату истечения пароля данного пользователя.
▶️В случае, если до истечения пароля осталось менее 7 дней, выводить уведомление пользователю с предложением изменить его.
▶️Если пользователь согласился изменить пароль — вызвать штатную утилиту изменения пароля.
▶️Если пользователь бездействует, уведомление исчезает.

Имеются удобные для нас факторы — т. к. скрипт выполняется в графической сессии пользователя, то выполняется он с его правами и установленной переменной DISPLAY.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥53
Курс "Профессия Пентестер" стартует 22 июля!

- Научитесь атаковать сети, WEB-сайты, операционные системы и локальные устройства и проводить внутренний и внешний пентест
- Участвуйте в BugBounty программах или постройте карьеру в сфере информационной безопасности

Полный цикл обучения:
- от освоения Kali Linux и администрирования, до написания эксплойтов и шелл-кода, обхода антивирусных решений
- от сетевой разведки до эксплуатации уязвимостей, повышения привилегий и закрепления в сети

Хотите стать пентестером? Присоединяйтесь к нам – защищайте мир от угроз, находя уязвимости и предотвращая кибератаки!

Пишите нам @Codeby_Academy или 
Узнайте подробнее о курсе
👍31🔥1
⚙️ Как запускать команды внутри контейнера Docker?

✔️ Контейнер Docker – это изолированная среда, которая обычно содержит одно приложение со всеми необходимыми зависимостями.
Зачастую нам необходимо запустить некоторые команды внутри контейнера. Есть несколько способов, которыми мы можем выполнить команду внутри контейнера и получить требуемый результат.

➡️ Использование интерактивного шелла
Мы можем напрямую обращаться к оболочке контейнера и выполнять наши команды, как в обычном терминале Linux. Чтобы получить интерактивную оболочку остановленного (не в рабочем состоянии) контейнера, вы можете использовать:
$ docker run -it ubuntu bash


Мы попали прямо в новый контейнер Ubuntu, где мы можем запускать наши команды.

Если контейнер уже запущен, вы можете использовать команду exec, как показано ниже.

Узнаем идентификатор контейнера.
$ docker ps


Затем зайдем в контейнер с идентификатором, например, c2d969adde7a
$ docker exec -it c2d969adde7a bash 
root@c2d969adde7a:/#


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

Обратите внимание: в вашем контейнере может не быть bash, и если это так, вы можете использовать sh.
docker exec -it c2d969adde7a sh


➡️ Прямой вывод
Зачастую нам просто нужен вывод одной или двух команд и не требуется полноценный интерактивный сеанс для нашей задачи.
Вы можете запустить требуемую команду внутри контейнера и получить ее вывод напрямую, не открывая новый сеанс оболочки, используя команду exec без флага -it.

Cинтаксис будет таким:
$ docker exec <container-id or name> <command>


➡️ Использование Dockerfile
Это не совсем тот способ, которым вы можете запускать команды внутри контейнера, хотя он может быть полезен в ситуациях разработки или для начальной отладки развертывания и т.д.

Мы можем использовать команду RUN внутри Dockerfile.
Вот наш пример Dockerfile:
FROM nginx:latest
RUN nginx -V


Данный метод просто извлекает последний образ nginx из реджестри, а затем запускает команду nginx -V, чтобы отобразить версию Nginx при создании образа.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍3
Курс по Kubernetes для разработчиков. Видеокурс по Docker в подарок ⤵️

Ваша компания решила мигрировать сервисы на Kubernetes?
Большая часть интересных вам вакансий требует навыков в K8s?
Вы не врубаетесь, где границы ответственности девопсов и разработчиков в работе с кубами?

Разбираемся с этим на курсе Слёрма «Kubernetes для разработчиков» 😎

Старт потока — 22 июля

ПРОГРАММА КУРСА

Вас ждут:
7 недель обучения 
112 часов практики + 26 часов теории
Общий чат со студентами, экспертами и куратором
Стенды для отработки практических навыков
Сдача сертификации
Итоговый проект

Эксперты — действующие devops-инженеры:
➡️ Марсель Ибраев, Senior System Engineer G42 Cloud
➡️ Павел Селиванов, архитектор Yandex Cloud

🎁 При оплате обучения до 22 июля — видеокурс по основам Docker в подарок🎁

🔗 ПРОЙТИ ПЕРВЫЕ ТРИ УРОКА БЕСПЛАТНО
👍2
⚙️ Подборка часто используемых инструментов удаленного подключения

▶️ Xshell — это очень мощное программное обеспечение для эмуляции защищенного терминала, которое поддерживает SSH1, SSH2 и протокол TELNET платформы Windows. Xshell можно использовать в интерфейсе Windows для доступа к удаленным серверам на различных системах, тем самым лучше достигая цели терминала удаленного управления.

▶️ SecureCRT — это мощное программное обеспечение для эмуляции защищенного терминала, которое может помочь пользователям более безопасно подключаться к удаленным серверам, а также может быть использовано для реализации функций удаленного управления сервером и передачи файлов. SecureCRT поддерживает протоколы SSH1, SSH2, Telnet, Rlogin, Serial и SSL/TLS, которые могут быть использованы для подключения к различным удаленным терминалам, что позволяет удовлетворить различные потребности пользователей.

▶️ WinSCP — это графический клиент SFTP с открытым исходным кодом, который использует SSH в среде Windows. Он также поддерживает протокол SCP. Его основная функция — безопасное копирование и передача файлов между локальным и удаленным компьютерами.

▶️ Putty — это легкий клиент SSH и Telnet, который может помочь пользователям подключиться к удаленным серверам, а также поддерживает протокол шифрования аутентификации SSH-2, что может сделать доступ пользователей к сети более безопасным. Putty также поддерживает протокол SSH на платформе Windows, что позволяет пользователям лучше контролировать удаленные серверы.

▶️ MobaXterm предоставляет комплексные возможности, почти все важные удаленные сетевые инструменты (такие как SSH, X11, RDP, VNC, FTP, MOSH и т.д.), а также команды Unix на рабочем столе Windows (bash, ls, cat, sed, grep, awk, rsync и т.д.), и автоматически открывает режим sftp после входа в систему.

▶️ Tabby — это современный инструмент терминального подключения, с открытым исходным кодом и кроссплатформенный, поддерживающий системы Windows, MacOS и Linux. Tabby имеет более 20k+ Star на Github, что говорит о том, что это очень популярный терминальный инструмент!

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥4😐3
⚠️ Как создать собственный тип данных с помощью PostgreSQL?

Расскажем на открытом уроке «Пользовательские типы данных в PostgreSQL» в рамках практического курса «PostgreSQL для администраторов баз данных и разработчиков» от OTUS

🔹На открытом уроке рассмотрим как можно создать пользовательский тип и как с ним работать.

🔹Разберем несколько примеров детально "до винтика"

🦾  PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Тестируйте занятие на бесплатном уроке и начните обучение уже 30 июля. 

👉  Регистрация и подробности
https://otus.pw/KVCL/?erid=LjN8KRVSz
2
⚙️ Каталог /bin

✔️В каталоге /bin находятся бинарные или исполняемые файлы. Программы пишутся в исходном коде, который представляет собой текст, читаемый человеком. Затем исходный код компилируется в машинный двоичный код. Они называются двоичными, потому что машинный код представляет собой серию нулей и единиц. Важно знать, что команды, программы и приложения, которые вы можете использовать, иногда находятся в каталоге /bin.

/bin содержит оболочки типа bash и часто используемые команды, такие как cp, mv, rm, cat, ls, grep, tar, kill, echo, ps, gzip, ping, su и vi, которые используются как системным администратором, так и непривилегированными пользователями. Он содержит необходимые двоичные файлы (в отличие от каталога /usr/bin), в том числе для загрузки. Он также может содержать команды, которые косвенно используются скриптами.

Список всех программ в /bin можно посмотреть с помощью команды ls, которая обычно используется для просмотра содержимого каталогов : ls /bin

➡️ Следующие команды или символические ссылки на них должны находиться в /bin:

cat — Утилита для конкатенации файлов в стандартный вывод
chgrp — Утилита для изменения группы, которой принадлежит файл или директория
chmod — Утилита для изменения прав доступа к файлам
chown —Утилита для изменения владельца и группы файлов
cp — Утилита для копирования файлов и каталогов
date — Утилита для вывода или установки системных данных и времени
dd — Утилита для преобразования и копирования файла
df — Утилита для создания отчета об использовании дискового пространства файловой системы
dmesg — Утилита для вывода буфера сообщений ядра в стандартный поток вывода (по умолчанию на экран)
echo — Утилита для отображения строки текста
false — Утилита, единственное действие которой — возвратить ненулевое значение (обычно 1)
hostname — Утилита для отображения или установки имени хоста системы
kill — Утилита отправляет сигнал процессу(-ам), указанному с помощью каждого из операндов идентификатор_процесса
ln — Утилита командной строки для создания ссылок между файлами
login — Утилита, которая позволяет пользователям войти в систему
ls — Утилита для просмотра содержимого каталога
mkdir — Утилита для создания каталогов
mknod — Утилита создаёт запись в файловой системе (обычный файл, файл устройства или именованный канал)
more — Утилита для постраничного просмотра текста
mount — Утилита для монтирования файловой системы
mv — Утилита для перемещения/переименования файлов
ps — Утилита для сообщения о состоянии процесса
pwd — Утилита выводит полный путь от корневого каталога к текущему рабочему каталогу
rm — Утилита для удаления файлов или каталогов
rmdir — Утилита для удаления пустых каталогов
sed — Утилита Sed работает с текстовыми файлами
sh — Это интерпретатор командного языка, который выполняет команды, прочитанные из строки командной строки, стандартный ввод или указанный файл
stty — Утилита для изменения и печати настроек терминальной строки
su — Утилита для изменения идентификатора пользователя
sync — Утилита Unix, предназначенная для обновления файловых систем и для синхронизации данных на диске с данными в памяти
true — Утилита, единственное действие которой — возвратить значение 0
umount — Утилита для размонтирования файловых систем
uname — Утилита для вывода информации о системе

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥75😐1
Курс "Профессия Пентестер" стартует 22 июля!

- Научитесь атаковать сети, WEB-сайты, операционные системы и локальные устройства и проводить внутренний и внешний пентест
- Участвуйте в BugBounty программах или постройте карьеру в сфере информационной безопасности

Полный цикл обучения:
- от освоения Kali Linux и администрирования, до написания эксплойтов и шелл-кода, обхода антивирусных решений
- от сетевой разведки до эксплуатации уязвимостей, повышения привилегий и закрепления в сети

Хотите стать пентестером? Присоединяйтесь к нам – защищайте мир от угроз, находя уязвимости и предотвращая кибератаки!

Пишите нам @Codeby_Academy или 
Узнайте подробнее о курсе
1