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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
Как подготовить приложение к запуску в Kubernetes?

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

И 27 июня в 18:00 мы приглашаем вас на вебинар «Адаптация приложения под Kubernetes». 

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

где разворачивать базу данных, и можно ли это делать в кубе;
concurrence;
disruption budget;
конфигурации, хранение секретов, интеграции с волтом;
зависимости, кодовые базы.

Спикеры:

➡️ Кирилл Борисов, SRE Lead в MTS Digital
➡️ Виталий Лихачёв, Ex-avito Senior Software Engineer, SRE в booking.com
➡️ Виктор Попов, ecom.tech, единственный в мире малыш-девопёс

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

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

erid: LjN8KPtc5
🔥3👍2
⚙️ PhotoshopCClinux – установщик Photoshop CC v19 для Gnu/Linux

✔️Этот bash-скрипт поможет вам установить Photoshop CC версии 19 на вашу Linux машину. Также он использует wine и настраивает некоторые необходимые компоненты для наилучшей производительности.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥82
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:

1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
4👍3🔥1😐1
⚙️ Регулярные выражения Bash: полный гайд

✔️Одним из принципов Unix-систем является широкое использование текстовых данных: конфигурационные файлы, входные и выходные данные программ в *nix часто организованы в виде обычного текста. Регулярные выражения — это мощный инструмент для манипуляции текстовой информацией. В этом гайде разберем тонкости работы с регулярными выражениями Bash, которые помогут вам реализовать весь потенциал командной строки и скриптов в Linux.

➡️ Регулярные выражения — это специальным образом записанные строки, используемые для поиска символьных шаблонов в тексте. Чем-то они похожи на групповые символы в оболочке, но их возможности куда шире. Многие утилиты для работы с текстом в Linux и языки программирования включают в себя механизм регулярных выражений. Здесь возникают проблемы: разные программы и языки оперируют различными диалектами регулярных выражений. В этой статье рассмотрим стандарт POSIX, которому соответствуют большинство утилит в Linux

🖼️ Ссылка на гайд

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥53
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:

1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2😐1
⚙️ Несколько полезных команд в Linux

dhclient — утилита для работы с DHCP-протоколом (получение динамического IP-адреса, настройка сетевых интерфейсов и пр.).

dmidecode — позволяет получить информацию об аппаратных компонентах системы, а также другую полезную информацию: характеристики процессора, оперативной памяти (DIMM), детали BIOS и т.д.

eject — позволяет извлекать съемный носитель (обычно CD-ROM, дискету, ленту, JAZ- или ZIP-диск) с помощью программного обеспечения.

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

expr — вычисляет заданное выражение и отображает результат.

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

fc-cache — сканирует каталоги шрифтов (и создает их кэш), которые используют fontconfig для обработки шрифтов.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86🔥4
🔆 Приглашаем вас на вебинар "Знакомство с MySQL InnoDB Cluster"! 🚀
 
🧠 Мы разберём все отличия кластерного решения InnoDB Cluster от обычной репликации. Вы узнаете, как настроить и запустить рабочий кластер, получите полное представление о возможностях и ограничениях этого решения.

👍 Наш вебинар станет находкой для системных администраторов Linux, администраторов баз данных (DBA) и всех, кто хочет познакомиться с InnoDB Cluster. Вебинар откроет новые горизонты в администрировании баз данных, позволив понять основные различия архитектуры кластера и традиционной репликации.

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

Занятие пройдёт 04 июля 2024 года в 19:00 по мск в рамках курса «Инфраструктура высоконагруженных систем». Доступна рассрочка на обучение!

👉 Зарегистрируйтесь для участия https://otus.pw/Ayfv/
1
⚙️ LinEnum

✔️Данный скрипт представляет собой экспресс-тест по таким позициям, как Kernel and distribution release details, System Information, Privileged access, Jobs/Tasks, Services, Default/Weak Credentials, Searches, Platform/software specific tests.

Скрипт LinEnum успешно протестирован на различных версиях дистрибутивов Ubuntu, Debian, Red Hat и CentOS. Программа собирает информацию и делает проверки возможных векторов эскалации привилегий.

➡️ Установка LinEnum в систему:
$ git clone https://github.com/rebootuser/LinEnum
$ cd LinEnum/


➡️ Простой запуск с вызовом списка ключей:
$ ./LinEnum.sh

➡️ Пример запуска LinEnum с опциями (ключами):
$ ./LinEnum.sh -s -k keyword -r report -e /tmp/ -t


▶️Описание ключей LinEnum:
-k — ввести ключевое слово
-e — указать директорию для экспорта отчета
-t — включить в отчет «длинные» тесты (дополнительные тесты)
-s — произвести проверку эскалации текущей учетки sudo perms
-r — задать имя итогового отчета
-h — вызвать встроенную справку по программе
-k — опциональный переключатель, с которым можно указать ключевое слово для поиска файлов по нескольким расширениям

▶️Запуск без опций означает ограниченное сканирование без файла вывода.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54👍4😐1
Разбираем как решать задачи на LeetCode

Примеры решений
Пояснения

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

1. JavaScript
2. Python
3. Java
4. C#
5. C/C++
6. Golang
7. PHP
8. Kotlin
9. Swift
🔥1
⚙️ Контент автоматизации безопасности в SCAP, Bash, Ansible и других форматах

✔️Целью этого проекта является создание контента политики безопасности для различных платформ - Red Hat Enterprise Linux, Fedora, Ubuntu, Debian, SUSE Linux Enterprise Server (SLES),... - а также продуктов - Firefox, Chromium, ...

➡️ "Мы стремимся максимально упростить создание нового и поддержку существующего контента по безопасности во всех широко используемых форматах."

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥43
🧐 Увлекательный тест по сетевому инженеру💯

Ответьте на 22 вопроса и проверьте, насколько вы готовы к обучению на курсе - Network engineer.

📚Курс ориентирован на специалистов и системных администраторов, которые: 
- стремятся к более масштабным и крупным проектам;
- хотят получить более глубокое представление о своей работе и брать более сложные задачи;
- желают добавить к своим компетенциям навыки работы с сетями.

Время прохождения теста ограниченно 30 минут.

ПРОЙТИ ТЕСТ: https://clck.ru/3BX3Um 

Пройдёте тест и получите несколько уроков курса в подарок, а также спец. цену на курс! 😋

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2
⚙️ Пять скриптов на Bash, которые могут использоваться для автоматизации рутинных задач в кибербезопасности

➡️ Сканирование портов с использованием nmap
#!/bin/bash
# Сканирование портов конкретного хоста
echo "Введите адрес хоста для сканирования:"
read host
echo "Сканирование портов для хоста $host..."
nmap $host


➡️ Проверка статуса веб-сервера
#!/bin/bash
# Проверка статуса веб-сервера по HTTP статус-коду
url="http://example.com" # Замените example.com на реальный URL
status_code=$(curl -o /dev/null -s -w "%{http_code}\n" $url)
if [ $status_code -eq 200 ]; then
echo "Веб-сервер $url работает нормально (HTTP статус 200)"
else
echo "Веб-сервер $url имеет проблемы (HTTP статус $status_code)"
fi


➡️ Поиск изменений в файлах (интегритет)
#!/bin/bash
# Проверка интегритета файлов в заданной директории
directory="/var/www/html" # Замените на директорию, которую нужно отслеживать
hash_file="hashes.txt"
# Генерируем хэши файлов и сохраняем их для последующего сравнения
find $directory -type f -exec sha256sum "{}" + > $hash_file
# Функция, которая проверяет хэши
check_hashes() {
sha256sum -c $hash_file
}
# Вызываем функцию
check_hashes


➡️ Автоматическое создание бэкапов логов
#!/bin/bash
# Автоматическое создание бэкапов логов
log_path="/var/log/apache2" # Замените на путь к вашей папке с логами
backup_path="/backup/apache2"
# Создаем каталог для бэкапа, если он не существует
mkdir -p $backup_path
# Архивируем и перемещаем логи
tar -czvf $backup_path/log-$(date +%F).tar.gz $log_path


➡️ Мониторинг и оповещение об активности в логах
#!/bin/bash
# Мониторинг и оповещение о подозрительной активности в логах
log_file="/var/log/auth.log" # Замените на путь к вашему лог-файлу
pattern="Failed password" # Замените на паттерн, который вы хотите отслеживать
# Чтение новых строк из лог-файла
tail -fn0 $log_file | \
while read line ; do
echo "$line" | grep "$pattern" > /dev/null
if [ $? = 0 ]; then
# Отправляем уведомление
echo "Подозрительная активность: $line"
# Здесь может быть команда для отправки уведомления, например, через mailx
fi
done


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

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥85😐1
⚙️ Автоматическая блокировка экрана при отдалении от компьютера мобильного телефона

✔️Ниже представленный скрипт позволяет организовать автоматический вызов
блокировщика экрана при отдалении от компьютера мобильного телефона. В качестве
фактора вызова блокировщика используется пропадание указанного устройства
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