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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Автоматическая блокировка экрана при отдалении от компьютера мобильного телефона

✔️Ниже представленный скрипт позволяет организовать автоматический вызов
блокировщика экрана при отдалении от компьютера мобильного телефона. В качестве
фактора вызова блокировщика используется пропадание указанного устройства
Bluetooth из области видимости.

Для определения MAC-адреса и имени устройства, следует использовать утилиту hcitool scan.

Код скрипта:
#!/bin/bash

DEVICE=MAC-адрес Bluetooth-устройства
DEV_NAME="Имя устройства"
INTERVAL=5 # in seconds

# The xscreensaver PID
XSS_PID=

# Start xscreensaver if it's not already running
pgrep xscreensaver
if [ $? -eq 1 ]; then
echo "Starting xscreensaver..."
xscreensaver &
fi

# Assumes you've already paired and trusted the device
while [ 1 ]; do
opt=$(hcitool name $DEVICE)
if [ "$opt" = "$DEV_NAME" ]; then
echo "Device '$opt' found"
if [ -n "$XSS_PID" ]; then
echo "Killing $XSS_PID"
kill $XSS_PID
XSS_PID=
fi
else
echo "Can't find device $DEVICE ($DEV_NAME); locking!"
xscreensaver-command -lock
XSS_PID=$!
fi
sleep $INTERVAL
done


🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥86
Что нового в маршрутизаторах ESR. Обновление 1.13 ЕССМ

🗓 05 июля 2024
🕒 14:00 по МСК

Часть 1. Что нового в маршрутизаторах ESR

- Авторизация команд через TACACS
- Большие обновления в реализации протокола OSPF
- Поддержка регулярных выражений route map для AS PATH
- FQDN в качестве адреса NTP сервера

Часть 2. Обновление 1.13 ЕССМ

- Поддержка SYSLOG
- Журналирование действий пользователя
- Эмулятор терминала
- Определение переменных шаблона

👉Регистрация

#eltex #eltexcm #webinar #esr #eccm 

@eltexcm

Реклама. ООО "ЭЛТЕКС КОММУНИКАЦИИ". ИНН 7714966730.
🔥43
⚙️ Как переподключить все USB устройства

✔️Иногда на компьютерах происходит беда с USB устройствами. К примеру, во время загрузки операционной системы они не могут начать работать, хотя и "видны" в системе. Лечится это просто - достаточно выдернуть и воткнуть заново проблемное устройство. Но есть и другой способ.

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

for i in /sys/bus/pci/drivers/[uoex]hci_hcd/*:*; do

[ -e "$i" ] || continue
echo "${i##*/}" > "${i%/*}/unbind"
echo "${i##*/}" > "${i%/*}/bind"

done


Исполнять этот файл необходимо от имени администратора (root). Обратите внимание, что клавиатура и мышка - это тоже USB устройства. Поэтому в процессе выполнения скрипта останетесь без них. Будьте готовы.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥65
У топовых айтишников есть секрет, они работают не 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