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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
У топовых айтишников есть секрет, они работают не 8 часов, а головой!

Понимают, что без английского в айти делать нечего. Поэтому в начале карьеры изучают технический английский, а потом смело прибавляют +40% к рыночной зарплате.

Знают где в телеграме брать современные идеи и материалы для работы. Например, для web-разработчиков – это Сайтодел.

Становись Senior-разработчиком. Всё просто, два клика:

Английский для программистов

Сайтодел

🎁 Бесплатно: Поиск разработчика для сайта и первый созвон по обучению английскому. Не упускай такую возможность!
👍4🔥1
⚙️ Linux. Выключение и перезагрузка любым пользователем

✔️Проблема: перезагружать или выключать сервер может только root пользователь. Чтобы войти это ограничение можно дать возможность пользователям устанавливать флаг на эти действия, который раз в минуту будет считываться root по cron заданию.

Далее описана небольшая конструкция, которая позволяет любому пользователю перезагружать или выключать систему. Её можно модифицировать и ограничить определёнными пользователями, но сама логика будет прежней.

➡️ Чтобы всё заработало crontab -e от лица root пользователя ставим в конец:
@reboot /usr/bin/bash /root/sys_action.sh


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

В сам файл /root/sys_action.sh пишем:
# очищаем запланированные операции
echo '' > /tmp/sys_action

# даём доступ всем пользователям
chmod 766 /tmp/sys_action

# бесконечный цикл до тех пор, пока в файле /tmp/sys_action не появится команда, которая считывается раз в 60 секунд
while true
do
if [ -f /tmp/sys_action ]; then
if [[ "$(cat /tmp/sys_action)" == 'reboot' ]]; then
echo 'Перезагрузка сервера';
systemctl reboot;
fi
if [[ "$(cat /tmp/sys_action)" == 'poweroff' ]]; then
echo 'Выключение сервера';
systemctl poweroff;
fi
fi
sleep 60
done

Теперь любой пользователь может вызывать перезагрузку, если выполнит команду:
echo 'poweroff' > /tmp/sys_action


➡️ Можно вынести эту команду в алиас, в файл .bashrc в домашней папке пользователя:
alias poweroff='echo "poweroff" > /tmp/sys_action'


Тогда можно будет просто набирать poweroff в консоли и сервер выключится максимум через 60 секунд.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5🔥4😐2
Хотите быстро улучшить свой английский? Актуальная лексика, понятные разборы грамматики, квизы и другие полезные материалы на канале «Гапонова и её английский»:

🔹Планы на выходные: подборка бесплатных материалов, чтобы заняться английским уже сейчас
🔹Что посмотреть и послушать на youtube
🔹Что делать, если застрял на среднем уровне и не видишь результатов?

Ещё больше английского для жизни и работы на канале Лены Гапоновой — преподавателя английского и автора курсов Gaponova School.

Подписывайтесь на @gaponova

erid: LjN8KHpwz
2
⚙️ 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