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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Удобная работа с файлами по SSH

✔️Если у вас имеется больше одного Linux-компьютера, то вы, вероятно, постоянно пользуетесь ssh. Это — отличный инструмент, но мне всегда казалась в нём странной одна деталь. Несмотря на то, что ssh-соединения позволяют передавать файлы с применением scp и sftp, у нас нет возможности перемещать файлы между локальной и удалённой системой, не запуская программу на локальном хосте, или не подключаясь к локальной машине с удалённой.

Последнее — это настоящая проблема, так как к серверам часто подключаются, находясь в это время за файрволом или за NAT-маршрутизатором, то есть, не имея постоянного IP-адреса. В результате сервер, в любом случае, не сможет подключиться к локальной системе, с которой раньше к нему обращались. Если бы в ssh-сессии можно было бы просто взять локальный или удалённый файл и передать его туда, куда нужно, это было бы очень удобно.

✔️В этом материале вам расскажут о скрипте, который позволяет монтировать удалённые директории на локальном компьютере. На локальной машине надо будет установить sshfs, но на удалённой, на которую вы, возможно, не можете устанавливать программы, ничего менять не придётся. Если же потратить на настройку систем некоторое время, и если на клиентском компьютере имеется работающий ssh-сервер, то можно будет ещё и монтировать локальные директории на удалённых системах. При этом не придётся беспокоиться о блокировке IP-адресов или портов. Фактически, если вы способны подключиться к удалённой машине, это означает, что вам удастся и то, о чём вам расскажут.

➡️ Содержание статьи:
▶️Пара слов о sshfs
▶️Предварительная подготовка
▶️Скрипт
▶️Решаем обратную задачу
▶️Итоги

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4
Хочешь стать Linux-экспертом?

Linux++ - канал для тех, кто хочет профессионально освоить Linux и программирование!

- Уникальные гайды по администрированию Linux

- Продвинутые техники и рекомендации по разработке на языках C/C++

- Подробные статьи о внутреннем устройстве операционных систем

- Интересные факты и новости из мира технологий

🌐 Присоединяйся к нам и становись частью сообщества истинных гуру: Linux++
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
⚙️ Bash-Oneliner

Объемная подборка команд, от очевидных, до каких-то мелочей, упрощающих жизнь для обработки данных и обслуживания системы Linux

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍53
До сих пор боишься вопроса про TCP/IP протоколы на собеседовании?

🖥 Network Admin — обучающий канал по сетевым технологиям. В канале ты найдешь множество полезной информации:

Типы SSL - сертификатов
Иерархия DNS
Сетевая аналитика
Процессы TCP сервера
Маршрутизатор, Коммутатор, Хаб: В чем разница?
Проверка уязвимости сервера Linux

С Network Admin твои знания и навыки стремительно пойдут вверх


Подписывайся - @networkadm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
⚙️ Обходим замедление YouTube без VPN

➡️ Оживляем Ютуб на macOS

Способ работает в Safari, Chrome и Яндекс Браузере — он тоже связан с DPI.

▶️Открываем приложение «Терминал» и вставляем это:
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-amd64


▶️Затем вставляем это:
export PATH=$PATH:~/.spoof-dpi/bin


▶️Потом это:
spoof-dpi


▶️Проверяем скорость в максимальном разрешении! Если не сработало, то закрываем терминал, делаем всё заново, но вместо последней команды прописываем:
spoof-dpi --enable-doh --window-size 0


➡️ PC/Android

1. Открываем браузер.
2. Запускаем экспериментальными функции браузера — для этого в адресной строке вводим:

▶️Chromechrome://flags/#enable​-quic
▶️Edgeedge://flags/#enable​-quic
▶️Firefoxabout:config → network.http.http3.enabled
▶️Opera - opera://flags/#enable​-quic

3. Ставим протокол QUIC в положение Default или Enabled. Если он уже Default — меняем на Enabled.

4. Перезагружаем браузер и смотрим видосики без зависаний.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
😐2013👍9🔥5
👾 Где практиковаться этичному хакингу? 

Codeby Games предлагает тебе уникальную возможность отточить свои навыки пентеста, решая задачи, приближенные к боевым!

- Более 50 уязвимых машин на Windows и Linux
- Более 300 CTF заданий
- Регулярные обновления
- Самое отзывчивое комьюнити

Огромное количество практики в любой из областей информационной безопасности:

🌐 Web-эксплуатация
🔑 Криптография
🕵️‍♂️ Форензика
🔍 OSINT
🖼 Стеганография
👨‍💻 PWN
⚙️ Реверс-инжиниринг
🎟 Active Directory

Присоединяйся к Codeby Games и окунись в мир инфобеза уже сегодня!

👉 Codeby Games

Приятного хакинга!
1👍1😐1
⚙️ Мониторинг производительности системы с помощью Bash и Python

✔️Создаём простой, но мощный инструмент для мониторинга производительности вашей системы.

➡️ Создаем Python скрипт для сбора данных:

▶️Создайте файл monitor.py и добавьте в него следующий код:
import psutil
import json

def get_system_stats():
stats = {
"cpu": psutil.cpu_percent(interval=1),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent
}
return json.dumps(stats)

if __name__ == "__main__":
print(get_system_stats())


▶️Этот скрипт собирает данные о загрузке процессора, использовании памяти и состоянии диска, и выводит их в формате JSON

➡️ Создаем Bash скрипт для вызова Python скрипта и обработки данных:

▶️Создайте файл monitor.sh и добавьте в него следующий код:
#!/bin/bash

# Запуск Python скрипта и сохранение результата в переменную
stats=$(python3 monitor.py)

# Извлечение данных из JSON
cpu=$(echo $stats | jq -r '.cpu')
memory=$(echo $stats | jq -r '.memory')
disk=$(echo $stats | jq -r '.disk')

# Вывод данных
echo "CPU Usage: $cpu%"
echo "Memory Usage: $memory%"
echo "Disk Usage: $disk%"


▶️ Не забудьте сделать скрипт исполняемым:
chmod +x monitor.sh


▶️Теперь, при запуске monitor.sh, вы получите информацию о состоянии системы в удобном виде

▶️Запуск скрипта:
./monitor.sh


▶️Результат:
CPU Usage: 12.3%
Memory Usage: 45.6%
Disk Usage: 67.8%


✔️Вы можете расширить этот скрипт, добавив отправку данных на удаленный сервер, логирование результатов в файл или даже настройку алертов при превышении определенных порогов

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍216🔥3😐1
⚙️ Удаление дубликатов строк в файле

✔️Скрипт удаляет дубликаты строк из файла input.txt и сохраняет результат в output.txt
#!/bin/bash

# Путь к файлу
FILE="input.txt"

# Удаление дубликатов строк и сохранение в новый файл
awk '!seen[$0]++' "$FILE" > "output.txt"


➡️ Особого внимания заслуживает использование команды awk. В конструкции !seen[$0]++ seen[$0] — это ассоциативный массив, в котором ключом является строка. Если строка встречается впервые, её значение в массиве будет равно 0, и она будет выведена.
При последующих вхождениях строки её значение увеличивается, и строка не выводится повторно. Более подробно о awk можно прочитать в man awk

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍86
Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbox по разработке на C++ и создайте своё первое приложение всего за 5 дней: https://epic.st/pLs_T?erid=2VtzqxAoNf5

На мини-курсе вас ждут:
— Погружение в C++: даже если вы никогда не занимались программированием, всё равно поймёте основы языка и напишете своё первое финансовое приложение
— Доступ к материалам навсегда: смотрите видео в удобное время и повторяйте пройденный материал, когда потребуется
— Поддержка эксперта: общение со спикером и разбор ваших практических работ на вебинаре

Запишитесь на мини-курс и получите 5 чек-листов разработчика на C++, а также год бесплатного изучения английского языка!

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
3👍1😐1
⚙️ Relax-and-Recover — решение для аварийного восстановления и миграции систем на новое железо под управлением Linux

✔️Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции

➡️ В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg)

▶️Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥65
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

- 70% практики
- сопровождение куратора
- финальный проект для портфолио
- сертификат или удостоверение о повышении квалификации
- одна из самых низких цен на обучение

Запись до 18 августа (длительность 3,5 месяца)

@Codeby_Academy
+74994441750

Узнать подробнее
🔥42😐1
⚙️ Отрезаем расширение у файла

✔️Стандартный способ — использовать утилиту basename, который отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс.

➡️ Например пишем file.txt и суффикс .txt
basename file.txt .txt


▶️Получаем: file

➡️ Но можно обойтись внутренними преобразованиями в bash
filename=file.txt; echo ${filename%.*}


▶️Получаем: file

➡️ Или наоборот, отрезать имя файла и оставить только расширение:
filename=file.txt; echo ${filename##*.}


▶️Получаем: txt

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍137🔥6
erid: LjN8K1m7F

Хотите быть востребованным спецом в работе с Linux? Присоединяйтесь к курсу «Администрирование Nginx/Angie» и откройте для себя новые возможности:
- Настраивайте Angie и Nginx как фронт веб-серверы для любых приложений.
- Оптимизируйте серверную и клиентскую производительность.
- Конфигурируйте балансировщики нагрузки L4 (TCP, UDP) и L7 (HTTP/HTTPS).
- Управляйте логированием и оптимизируйте HTTPS-соединения.

🔝Эта программа, созданная при участии авторов Angie, идеально подходит для:
- Сисадминов Linux, стремящихся к профессиональному росту.
- Разработчиков веб-приложений, желающих освоить навыки DevOps.
- Администраторов и разработчиков компаний, переходящих на Angie в рамках импортозамещения.
🧐Оставляйте заявку сейчас: https://clck.ru/3CUWQC

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
3
⚙️ Как избежать перезаписи истории команд

➡️ Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды.

▶️Это можно исправить. Отредактируем файл .bashrc добавив в него строки:
shopt -s histappend

PROMPT_COMMAND='history -a'


✔️Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍10🔥6
⚙️ Настройка безопасности SSH соединения

✔️Настройка безопасности SSH соединения – залог спокойствия. Спокойствие бывает двух типов. Первое – это когда ты не знаешь о том что проблема есть. Так называемое “меньше знаешь – спокойнее спишь”. Второе и самое ценное – это когда ты знаешь что проблема есть, но она решена. И сегодня будет рассмотрен способ как обезопасить ваш SSH сервер.

▶️Далеко не все, установив линуксовый сервер, заморачиваются за то, чтобы как-то обезопасить на нём авторизацию. Во-первых — зачем? Ведь всё зачастую происходит в локальной сети, кто тут может пакостить? Во-вторых — как и кто может напакостить? Там же пароль длинною стотыщ символов, умрут перебирать. В свою очередь за настройку всяких fail2ban и подобных служб никто не заморачивается.

▶️Таки что в итоге может случиться? Чисто гипотетически к вам в локальную сеть может пробраться какой-нибудь зловред, который планомерно будет подбирать пароли. Чтобы не вызывать какую-то небывалую нагрузку и избежать срабатывания fail2ban и подобных служб, он будет делать попытки раз в минуту, или раз в 5 минут. Или раз в час, это не критично. Перебрать например пачку стандартных паролей от кучи всяких апплаенсов – вообще не проблема край за неделю. Если делать по одному запросу в час, 24*7 = 168 запросов за неделю. Достаточно солидный список кандидатов стандартных паролей. Если найдена хотя бы одна успешная комбинация, можно уже пытаться авторизоваться под рутом. Если получилось авторизоваться под рутом – можно подтаскивать на этот хост какой-нибудь пейлоад. На этом этапе количество вариантов векторов развития атаки стремится к бесконечности. А вы, если не заморачивались за защиту – даже и не узнаете что в ваших рядах самозванец.

➡️ Содержание статьи:
▶️Настройка безопасности SSH соединения – подготовка
▶️Закручиваем гайки
▶️Жестко прописываем IP адрес ssh сервера
▶️Изменяем порт SSH сервера
▶️Включаем только протокол второй версии
▶️Ограничиваем время предоставляемое для авторизации
▶️Ограничиваем количество попыток авторизации
▶️Включаем разделение прав пользователей
▶️Ограничиваем список доступа по SSH
▶️Отключаем пустые пароли
▶️Отключим список доверенных хостов
▶️Настройка безопасности SSH – Пробуем подключиться к серверу через Putty
▶️Настройка безопасности SSH – Ограничим допущенные к подключению IP адреса
▶️Настройка безопасности SSH – Проверяем авторизацию по паролю
▶️Настройка безопасности SSH – Заключение

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍93
Почему тупит Kafka?

Знаний об отправке/приёме сообщений не хватит, чтобы быстро найти причину просадки. Если хотите отказоустойчивую систему, которую легко дебажить, стоит разобраться в архитектуре Кафки. 

➡️На обновлённом курсе Слёрма «Apache Kafka для разработчиков» вы получите больше, чем просто настройка Kafka. Вы изучите архитектуру и логику работы с Kafka на примере бизнес-кейсов компаний: MovieFlix, GetTaxi, MyBank. 

За 8 недель вы:

✔️Поймете основы работы с Kafka и принципы построения архитектуры и бизнес-процессов
✔️Научитесь решать проблемы отправки/получения большого количества сообщений из разнородных систем
✔️Подготовитесь к собеседованиям на уровень пользователя Kafka

❗️Углублённый курс с практикой на Java и платформой Docker+Postgres.  

Спикеры:

🔥Всеволод Севостьянов. Staff Engineer в Lokalise
🔥Василий Калугин. Владелец корпоративного сервиса Apache Kafka в АО «ЭР-Телеком Холдинг»

⚡️Старт — 26 августа
Занять место на потоке — по ссылке

erid: LjN8JwiLi
🔥4👍1😐1
⚙️ Команда read в Linux с примерами

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

В среде команд Linux команда read предстает как простой, но мощный инструмент для создания и выполнения скриптов. Встроен изначально в системы Linux, read устраняет необходимость во внешних установках, оптимизируя процесс написания сценариев. Его основная роль заключается в захвате пользовательского ввода, перенося содержимое строки непосредственно в переменную. Эта функциональность делает ее краеугольным камнем в bash-скриптинге, сравнимой по полезности с командой echo и позиционными параметрами.

Универсальность read выходит за рамки простого сбора входных данных; она умело разбивает и назначает переменные оболочки, повышая гибкость скрипта. Независимо от того, разрабатываете ли вы сценарии взаимодействия с пользователем или реализуете тонкие функции, требующие ввода, read является незаменимым помощником. По мере изучения его возможностей вы получите представление о том, как он может улучшить ваше взаимодействие с командной строкой, сделав ваши скрипты более отзывчивыми и интерактивными.

➡️ Содержание статьи:
▶️Синтаксис команды чтения в Linux
▶️Общие параметры в команде чтения
▶️Практические примеры использования команды чтения в Linux
▶️Чтение пользовательского ввода
▶️Чтение нескольких значений
▶️Использование пользовательского запроса с помощью -p
▶️Скрытие ввода с помощью -s
▶️Чтение из файла
▶️Расширенное использование команды чтения в Linux
▶️Реализация тайм-аута для пользовательского ввода
▶️Чтение пользовательского ввода в цикле
▶️Обработка данных с разделителями
▶️Безопасное чтение паролей
▶️Условное выполнение на основе входных данных

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3
👋 В Telegram появился канал от создателя NetworkAdmin.ru

Автор пишет про компьютерные технологии и их тенденции, гайды по ОС Windows/Linux, и немного о жизненных историях.

Подпишись: @networkadminru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2😐1
⚙️ Резервное копирование с ротацией бэкапов

✔️Возникла потребность сделать более улучшенную версию скрипта для создания бэкапа всего сервера (файлы нескольких сайтов и их БД ), а также загружать на FTP все это хозяйство c помощью cURL, так как на сервере не было установлен FTP клиент и установить его не было возможности. Также нужно было удалять на FTP сервере старые бэкапы, чтобы не засорялось место на диске.

➡️ Содержание статьи:
▶️Бэкап сайтов и Баз Данных
▶️Загрузка данных на FTP

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍42
Ворвись в IT с Романом Сакутиным 

Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков. 

В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце. 

Играйте бесплатной в боте - https://t.me/break_into_it_bot?start=TG_IN_20082024

erid: LjN8KGWhZ
😐16👍5🔥1