IT-KB 🤖
6.81K subscribers
636 photos
76 videos
6 files
787 links
Бесплатное обучение по Windows, Linux, сети, программирование, DevOps от IT-KB.RU

Наши ресурсы:
Блог -> it-kb.ru
Wiki -> wiki.it-kb.ru
Соц.сети -> vk.com/blogitkb
Купить рекламу: https://telega.in/c/ITKB_channel

💾 - @ITKB_Archive

👨‍💻 @itkb_ceo 👀
加入频道
📚 Командная строка Linux. (2023)

Для кого:
Для системных администраторов, программистов и квалифицированных пользователей Linux

Описание:
Рассмотрены задачи, которые выполняются из командной строки операционной системы Linux. Объясняется, как попасть в командную строку, работать в консоли,настраивать систему с помощью программ, обладающих только текстовым интерфейсом. Описаны особенности файловой системы Linux, наиболее полезные команды для работы с текстом, сетью и Интернетом, а также команды системного администратора. Особое внимание уделено написанию сценариев автоматизации рутинных задач на языках командных оболочек bash и tcsh. Рассмотрены способы перенаправления
ввода-вывода, маски и псевдонимы, различные варианты запуска программ,эффективные приемы использования клавиатуры, примеры сложных команд и другие вопросы.

🗂 Скачать
👀 Смотреть

#Linux #Bash #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122
Как запустить процесс от имени другого пользователя в Linux

Пробуем запуск исполняемого файла «/usr/bin/ntlm_auth» с параметрами от имени пользователя «proxy» (на примере Ubuntu Linux):

sudo su -s "/bin/sh" -c "/usr/bin/ntlm_auth --debuglevel=9 --diagnostics --helper-protocol=squid-2.5-ntlmssp" proxy


#Linux #bash
👍13
💻 Курс "Основы Linux: структура Linux, Bash, сети, управление пакетами и службами (2023)"

После прохождения курса вы сможете:
- Разворачивать виртуальные машины
- Работать с GitHub
- Понимать структуру и устройство Linux
- Управлять пакетами
- Работать с Bash
- Управлять планировщиком cron
- Искать файлы и директории
- Работать с сетями Linux
- Разбираться в файловых системах
- Создавать службы

🗂 Скачать
👀 Смотреть

#Linux #Bash #Обучение #Видео #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
📚 Идиомы bash

Эта книга на практических примерах покажет, как расшифровывать старые сценарии и писать новый код, максимально понятный и легко читаемый.
Авторы покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне.

Чему вы научитесь
:

🔵 Работе с переменными и аргументами командной строки
🔵 Условиям и циклам в bash-скриптах
🔵 Работе с файлами и директориями
🔵 Параллельному выполнению команд
🔵 Созданию функций для повторного использования кода

Книга "Идиомы bash" позволит вам углубить свои знания в работе с bash-скриптами, научиться использовать переменные и условия, работать с файлами и директориями, а также создавать функции для часто используемого кода.

👀 Смотреть (pdf, epub)
🗂 Скачать

#Linux #Книга #bash #Rus
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10👍6
1000+ Bash скриптов для DevOps

Большая подборка bash скриптов, связанных с настройкой и управлением AWS, GCP, Kubernetes, Docker, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure TeamCity, Spotify, LDAP, Python и это далеко не полный список


Здесь и скрипты для конфигурирования .bashrc, .vimrc, .gitconfig, .screenrc, tmux


👀 Подробнее

#Linux #Bash #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1943🍾2❤‍🔥1👀1
📱 Как сделать безопасную загрузку с полностью зашифрованным диском без загрузчика на UEFI

Эта статья предназначена для довольно искушённых пользователей Linux. Я покажу, как устанавливать Debian или его аналоги стандартным установщиком в Secure boot. Эту установку я проверил на AWS ARM64 и в Selectel Cloud. Также конечные скрипты работают на служебном Lenovo ThinkPad T14 и личном L380 Yoga.


Чего в итоге мы добьёмся:

Включённый Secure boot с личными ключами для него. Так мы получим возможность загружать только EFI-файлы, подписанные нашим ключом. Это исключит возможность запуска сторонних EFI-файлов, подписанных другими ключами, например, Microsoft или производителем железа.

Файл ядра и initramfs, которые подписаны нашим ключом. Это возможно благодаря использованию UKI. Так мы получаем EFI-файл, содержимое которого подписано. Это позволяет нам исключить из последовательности загрузки grub или systemd-boot. Исключение загрузчиков нужно для уменьшения возможного вектора взлома ноутбука.

Зашифрованные разделы, кроме EFI boot. Так мы получим возможность исключить утечку данных в случае кражи ноутбука, а также усложним жизнь потенциальному взломщику тем, что в его распоряжении будут только подписанные EFI-файлы.


Итоги
После завершения установки мы получим установленный Debian на зашифрованном диске с ограниченным списком того, что может быть загружено с ноутбука. В такой системе мы доверяем UEFI — что она не позволит загрузить неподписанные EFI-файлы.


👩‍💻 Источник

#Linux #Debian #Bash #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥3
🔎 Автоматизация сканирования открытых сетевых портов

В рамках данной статьи мы рассмотрим следующие пункты:

- разработка скрипта для поиска поддоменов;

- разработка скрипта для преобразования найденных поддоменов в IP-адреса;

- разработка скрипта для сканирования внешней сети при помощи утилиты Nmap и сбора информации о доступных портах;

- разработка телеграмм-бота для автоматизации.



Заключение

Благодаря данной автоматизации сканирования можно систематизировать проверку сетевой инфраструктуры компании, используя хакерские утилиты. Когда данная процедура выполняется регулярно, можно оперативно отслеживать бреши в безопасности, например после конфигурации оборудования, или при развертывании новой инфраструктуры.


💠 Источник

#Python #bash #Linux #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍173
https://quickref.me - шпаргалка по разным утилитам для Linux и языкам программирования

#взакладки #Linux #Vim #Python #Go #VScode #Bash #Git #БД #MySQL
👍3832
hadolint — линтер dockerfile для файлов Dockerfile

— docker run --rm -i hadolint/hadolint < Dockerfile

hadolint — умный линтер Dockerfile, который поможет в создании образов Docker. Использует ShellCheck для проверки Bash-кода внутри инструкций RUN


🖥 Ознакомиться

P.S. Docker Linting способствует тому, что ваши файлы конфигурации Docker соответствуют лучшим практикам, стандартам и не содержат распространенных ошибок. Он поддерживает согласованность образов Docker и помогает более плавному процессу разработки и развертывания.


#Docker #Bash #hadolint #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🤣1
Контроль оплаты домена через Zabbix (domain registration expires)

Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.

На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.


👉 Описание настройки

#Monitoring #Zabbix #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🆒4💯32
Парсинг лога в sql (с использованием awk)


#!/bin/sh
log="/var/log/asterisk/queue_log"
host="localhost"
user="user"
passwd="passwd"
db="database"
begin="INSERT INTO \
queuelog\ (\timestamp\,\callid\,\qname\,\agent\,\action\,\info1\,\info2\,\info3\) VALUES "
end="('%s','%s','%s','%s','%s','%s','%s','%s')"
sql="/usr/local/bin/mysql --host=${host} --user=${user} --password=${passwd} --database=${db}"
awk -v begin="${begin}" -v end=${end} -F '|' 'BEGIN {print begin} {if (s!="") {print s","; s="";};\
s=sprintf(end, $1,$2,$3,$4,$5,$6,$7,$8)} END {if (s!="") print s";"}' ${log} | ${sql}


〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
AWK – это скриптовый язык, который полезен при работе в командной строке и широко применяется для обработки текста.


🤔 P.S. А вы часто используете awk?
Да
👍 / Нет 👾

#Linux #Asterisk #logs #bash #awk #скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👾24👍121🗿1
Сборник Bash скриптов

Скрипт оповещения по email об остатке дискового пространства менее 10%
#!/bin/bash
used=`df -hl / | awk {'print $4'} | grep "%"`
used=${used/\%/}
if [ $used -gt 90 ];
then
echo "Attention! Available space less than 10%. Used space = $used"% | mail -s "DISK ALERT" <a href="mailto:[email protected]">[email protected]</a>
fi



Сканирование сети на наличие хостов
#scannet.sh
#Сканируем сеть на наличие хостов
#!/bin/sh

NET=${1}

if [ -z ${NET} ]; then

echo 'Usage:'
echo ' scan.sh first_3_octets'
echo ''
echo 'Example:'
echo ' scan.sh 192.168.0'
echo ''

else

echo "Finding hosts in net ${NET}.0/24"
echo ''
echo 'Found hosts:'
for host in `seq 1 254`; do
if (ping -c 3 ${NET}.${host} > /dev/null 2> /dev/null) then
echo ${NET}.${host}
fi
done

fi


Удалить временные файлы из домашнего каталога
#deltmp.sh
#Удаляет временные файлы из домашнего каталога
#!/bin/bash
echo "******************* start **********"
find -name .*~. -exec rm -i {} \;
echo "****************** finish **********"


#Linux #Bash
👍215🔥3
🧑‍💻 Как писать красивые и безопасные bash скрипты

✔️Добавить в начало скрипта:
set -euxo pipefail


Что всё это значит:

⚫️set -e - прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true.

⚫️set -u - прекращает выполнение скрипта, если встретилась несуществующая переменная.

⚫️set -x - выводит выполняемые команды в stdout перед выполненинем.

⚫️set -o pipefail - прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand вернёт ошибку, не смотря на true в конце пайплайна: mycommand | true.

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

#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
313👍11🔥5🙏1
👩‍💻 Автоматическая синхронизация файлов с удалённым сервером

#!/bin/bash

# Локальная директория для синхронизации
LOCAL_DIR="/path/to/local/dir"

# Удалённый сервер и директория
REMOTE_USER="user"
REMOTE_SERVER="server.com"
REMOTE_DIR="/path/to/remote/dir"

# Синхронизация с удалённым сервером
rsync -avz $LOCAL_DIR $REMOTE_USER@$REMOTE_SERVER:$REMOTE_DIR

# Вывод сообщения о завершении
echo "Синхронизация завершена!"


Скрипт синхронизирует файлы из локальной директории на удалённый сервер с помощью rsync.

Особого внимания заслуживает использование команды rsync с опциями -avz для архивации, вывода подробной информации и сжатия данных при передаче. Этот скрипт удобен для автоматического резервного копирования или синхронизации данных между локальной машиной и сервером. Для работы скрипта потребуется установленный SSH и настроенный доступ к серверу.


#Linux #Bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194🆒32😁2
🐧 Моментальное восстановление процессов после перезапуска с systemd и RuntimeMaxSec.

ℹ️ Иногда сервис может зависнуть или внезапно завершиться, и вам нужно автоматически перезапустить его. Вместо крон-задач или костыльных скриптов используйте systemd с мощными возможностями автоматического восстановления.

🔥 Пример: автоматический рестарт процесса с ограничением по времени

Допустим, у вас есть скрипт /usr/local/bin/my_script.sh, который должен работать постоянно, но может зависнуть. Вместо ручного контроля создадим systemd-юнит.

🖥 1. Создаём сервис:

sudo nano /etc/systemd/system/my_script.service


📑 2. Добавляем конфигурацию:

[Unit]
Description=Мой скрипт с автоматическим рестартом
After=network.target

[Service]
ExecStart=/usr/local/bin/my_script.sh
Restart=always
RestartSec=5
RuntimeMaxSec=600
KillMode=process

[Install]
WantedBy=multi-user.target


Restart=always — перезапуск при любой ошибке
RestartSec=5 — подождать 5 секунд перед рестартом
RuntimeMaxSec=600 — убьёт процесс, если он работает больше 10 минут (предотвращает зависания)
KillMode=process — убивает только главный процесс, не трогая детей

3. Активируем сервис:

sudo systemctl daemon-reload
sudo systemctl enable my_script
sudo systemctl start my_script


✳️ Теперь ваш скрипт будет автоматически перезапускаться, даже если он зависнет!

#Linux #bash
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🔥41
Материалы по курсу "Архитектура вычислительных систем".
v.12102024
ITSM. Управление IT инфраструктурой и IT сервисов Автор Артём Береснев


🎥 Лекции:
1️⃣ Вводная лекция. Слой Аппаратного обеспечения. 📺 📊 Презентация.
2️⃣ Слой Servers. Аппаратура. Часть 1. 📺 Видеозапись 📊 Презентация.
3️⃣ Слой Servers. Аппаратура. Часть 2. 📺 Видеозапись 📊Презентация.
4️⃣
Слой Storage. Часть 1. 📺 Видеозапись 📊Презентация.
5️⃣ Слой Storage. Часть 2. 📺 Видеозапись 2 шт 📊Презентация.
6️⃣ Слой Network. Часть 1. 📺 Видеозапись 📊 Презентация.
7️⃣ Слой Network. Часть 2. 📺 📊 Презентация.
🎱
Необходимые сведения о информационной безопасности 📺 Видеозапись 📊 Презентация.
9️⃣ Слой ОС. Часть 1. 📺 Видеозапись 📊 Презентация.
🔟
Слой Virtualization. 📊 Презентация.

🛠 Задания к практикам:
1️⃣ Практика 1. Основы работы с Virtual Box и Linux
2️⃣ Практика 2. Работа с аппаратурой в Linux
3️⃣ Практика 3. Основы BASH (кино про лабу)
4️⃣ Практика 4. Слой хранения.
5️⃣ Практика 5. Слой сети и безопасность (кино про лабу)
6️⃣ Практика 6. Docker (c) @itregernium


🎖 Вопросы к зачету

📺 Полезные видео по VirtualBox в VK (Основы работы, Настройка сети, Борьба с текстовым дисплеем)

📔 Книга "Complete A+ Guide to IT Hardware and Software A CompTIA A+ Core 1 (220-1001) & CompTIA A+ Core 2 (220-1002) ". Странное чтиво, для начинающих. Это для тех ребят, которые столкнулись с недостаточным владением айтишной терминологией. Это официальное руководство к сертификации. Можно почерпнуть интересные моменты.

💾 Файлы:
1️⃣ Шаблон отчета
2️⃣ OVA файл виртуальной машины Linux Debian 12 64 (пароль рута jango123# 🙊 есть пользователь myuser с тем же паролем)

#Linux #Docker #Bash
🔥11👍43
🔒 once(): один экземпляр скрипта без PID-файлов

Cron дергает backup каждые 5 минут, но предыдущий ещё копирует 200 ГБ? Оберни команду во flock — и параллельные запуски отрубаются без лишней логики.

#!/usr/bin/env bash
# once.sh — запускает «тяжёлую» команду, если другая копия ещё не идёт
(
flock -n 9 || { echo " Уже выполняется"; exit 1; }

# 👉 основная работа
./sync_to_s3.sh
) 9>/var/lock/sync_to_s3.lock

Bash
# Пример: в crontab каждые 5 минут
*/5 * * * * /opt/scripts/once.sh >>/var/log/once.log 2>&
1


💡 Нужна блокировка на целый юнит? Используй flock /run/lock/… или опцию --lock-file в systemd-run — принцип тот же, а возможностей больше.

#Bash #DevOps #Cron #Flock
👍123
Когда денег нет, но мы держимся. Резервное копирование на Python

Эта заметка является продолжением и развитием проекта, описанного в статье «Резервное копирование без лишних затрат» https://habr.com/ru/articles/653941/


Тяжелой поступью по стране идет импортозамещение, хочешь или не хочешь, но с Windows платформы приходится уходить. Расскажу про один из таких шагов.
Уже очень давно у меня существовала система резервного копирования файлов, построенная на архиваторе 7-zip и обертки из js и bat файлов, которая позволила довольно простым и удобным (для меня) способом делать как полные, так и разностные архивы.
С внедрением серверов на платформе Linux, старую систему эксплуатировать, по понятным причинам, уже не получится. Возникла задача перенести существующий функционал под Linux.
Сначала я рассматривал возможность переделать все скрипты с помощью bash, но сервера на Windows пока совсем не исчезли, некоторые задачи на них «крутятся» и поддерживать две системы резервного копирования не самый хороший способ облегчить себе жизнь. Нужно создать универсальную систему, которая будет работать на обеих платформах.
После недолгих размышлений в качестве основы для разработки был взят язык Python. С его помощью можно сделать универсальную систему, которая будет одинаково функционировать на любой платформе, которая у меня используется.


➡️ Подробнее

#backup #Python #Bash #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
84👍3👎2😁1