Шпаргалка по скриптам Bash
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
Основы написания скриптов на Bash
Условные операторы
Циклы Bash
Арифметические операторы
Арифметические условные операторы
Операторы сравнения строк
👍1
Примеры скриптов для Mikrotik
Проверка изменения IP-адреса интерфейса для Mikrotik
Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.
Netmask
Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.
Резолвим имя хоста
Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.
Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:
А вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:
Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут
Проверка изменения IP-адреса интерфейса для Mikrotik
Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.
:global currentIP;
:local newIP [/ip address get [find interface="ether1"] address];
:if ($newIP != $currentIP) do={
:put "ip address $currentIP changed to $newIP";
:set currentIP $newIP;
}
Netmask
Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.
:global ipaddress 10.1.101.1/24
:for i from=( [:len $ipaddress] - 1) to=0 do={
:if ( [:pick $ipaddress $i] = "/") do={
:put [:pick $ipaddress 0 $i]
}
}
Резолвим имя хоста
Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.
Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:
/radius
add address=3.4.5.6 comment=myRad
А вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:
/system script add name="resolver" source= {
:local resolvedIP [:resolve "server.example.com"];
:local radiusID [/radius find comment="myRad"];
:local currentIP [/radius get $radiusID address];
:if ($resolvedIP != $currentIP) do={
/radius set $radiusID address=$resolvedIP;
/log info "radius ip updated";
}
}
Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут
/system scheduler add name=resolveRadiusIP on-event="resolver" interval=5m
👍3
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
https://telegra.ph/Sozdaem-logicheskie-toma-LVM-na-Linux-10-09
Команда curl. Синтаксис. Примеры использования
Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.
https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26
Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.
https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
RBAC Wizard
RBAC Wizard - это инструмент, который помогает визуализировать и анализировать конфигурации RBAC в кластере Kubernetes. Он обеспечивает графическое представление объектов RBAC Kubernetes.
https://github.com/pehlicd/rbac-wizard
RBAC Wizard - это инструмент, который помогает визуализировать и анализировать конфигурации RBAC в кластере Kubernetes. Он обеспечивает графическое представление объектов RBAC Kubernetes.
https://github.com/pehlicd/rbac-wizard
👍2
Как подключиться к контейнеру Docker по ssh
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
После того, как у вас появился контейнер Docker, работающий в системе Linux, одна из вещей, которые вам, вероятно, потребуется сделать, – это запустить команды внутри контейнера.
https://telegra.ph/Kak-podklyuchitsya-k-kontejneru-Docker-po-ssh-09-26
👍2
Шпаргалка по повышению привилегий в Linux
Эта шпаргалка предназначена для тех, кто готовится к OSCP, чтобы помочь им понять различные методы эскалации привилегий на машинах под управлением Linux и CTF с примерами.
https://github.com/Ignitetechnologies/Linux-Privilege-Escalation
Эта шпаргалка предназначена для тех, кто готовится к OSCP, чтобы помочь им понять различные методы эскалации привилегий на машинах под управлением Linux и CTF с примерами.
https://github.com/Ignitetechnologies/Linux-Privilege-Escalation
👍2
Шпаргалка по PowerShell
Основные команды
-
-
-
-
-
-
Навигация по файловой системе
-
-
-
-
Работа с файлами и папками
-
-
-
-
Работа с текстом и выводом
-
-
-
-
-
-
Переменные
-
-
-
Условия и циклы
-
-
-
Работа с процессами и службами
-
-
-
-
Фильтрация и сортировка
-
-
Примеры:
1. Получение списка файлов:
2. Копирование файла:
3. Вывод чисел от 1 до 10:
4. Фильтрация процессов по имени:
Основные команды
-
Get-Help <команда>
– получить справку по команде-
Get-Command
– список доступных команд-
Get-Command -Module <модуль>
– команды из конкретного модуля-
Get-Alias
– список псевдонимов команд-
Get-Process
– список запущенных процессов-
Get-Service
– список службНавигация по файловой системе
-
Get-Location
– текущий путь-
Set-Location <путь>
– перейти к каталогу-
Get-ChildItem
или ls
– просмотр содержимого каталога-
New-Item -Path <путь> -Name <имя> -ItemType <тип>
– создать файл или папкуРабота с файлами и папками
-
Copy-Item -Path <источник> -Destination <назначение>
– копировать файл/папку-
Move-Item -Path <источник> -Destination <назначение>
– переместить файл/папку-
Remove-Item -Path <путь>
– удалить файл/папку-
Rename-Item -Path <путь> -NewName <новое имя>
– переименовать файл/папкуРабота с текстом и выводом
-
Write-Output "текст"
– вывод текста-
Write-Host "текст"
– вывод текста на экран-
Read-Host -Prompt "вопрос"
– ввод данных от пользователя-
Get-Content <файл>
– чтение содержимого файла-
Set-Content <файл>
– запись в файл-
Add-Content <файл>
– добавление текста в файлПеременные
-
$<имя_переменной> = значение
– создание переменной-
$var += значение
– добавление к значению переменной-
$null
– пустое значениеУсловия и циклы
-
if (<условие>) { <действие> }
– условие if-
foreach ($item in $array) { <действие> }
– цикл foreach
-
while (<условие>) { <действие> }
– цикл while
Работа с процессами и службами
-
Start-Process <программа>
– запуск программы-
Stop-Process -Name <имя>
– завершение процесса-
Start-Service <служба>
– запуск службы-
Stop-Service <служба>
– остановка службыФильтрация и сортировка
-
Where-Object { <условие> }
– фильтрация объектов-
Sort-Object <свойство>
– сортировка объектовПримеры:
1. Получение списка файлов:
Get-ChildItem -Path "C:\папка"
2. Копирование файла:
Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"
3. Вывод чисел от 1 до 10:
for ($i = 1; $i -le 10; $i++) { Write-Output $i }
4. Фильтрация процессов по имени:
Get-Process | Where-Object { $_.Name -eq "notepad" }
👍1
Замена дисков меньшего объёма на диски большего объёма в Linux
В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot.
https://telegra.ph/Zamena-diskov-menshego-obyoma-na-diski-bolshego-obyoma-v-Linux-09-09
В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot.
https://telegra.ph/Zamena-diskov-menshego-obyoma-na-diski-bolshego-obyoma-v-Linux-09-09
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как удалить файлы в системах Linux или UNIX с помощью команды rm
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-01-08
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
https://telegra.ph/Kak-udalit-fajly-v-sistemah-Linux-ili-UNIX-s-pomoshchyu-komandy-rm-01-08
👍2
Как провести Тех. обслуживание сервера с уведомлением пользователей?
Для начала создаем пустой файл
Переходим к уведомлениям, возможно кто-то в данный момент работает в терминале.
Воспользуемся утилитой wall.
Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Запускаем команду:
Все кто подключен к серверу, получают сообщение:
И неважно что делает человек и где находится, сообщение появится у него на экране. Через wall можно спамить определенным группам пользователей.
В указанное время запускаем ассасина:
Выгнали всех с сервера, кроме root’а и проводим технические работы, удаляем /etc/nologin.
Wall можно заменить например на такое:
Но тут сообщение уйдет конкретному пользователю user. Конечно, если по какой-то причине, в системе отсутствует wall, можно и через цикл выгрести всех юзеров и через echo отправить им уведомление.
write - утилита, позволяющая отправить сообщение другому пользователю, который имеет сессию в этой же системе.
Или так:
Для начала создаем пустой файл
/etc/nologin
. Включаем возможность заходить под root
. Теперь только root
сможет авторизоваться по ssh
. Переходим к уведомлениям, возможно кто-то в данный момент работает в терминале.
Воспользуемся утилитой wall.
Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Запускаем команду:
wall "... текст сообщения ..."
Все кто подключен к серверу, получают сообщение:
... текст сообщения ...
И неважно что делает человек и где находится, сообщение появится у него на экране. Через wall можно спамить определенным группам пользователей.
В указанное время запускаем ассасина:
pkill -9 -u `who | awk '{print $1}'| grep -v root|head -1
Выгнали всех с сервера, кроме root’а и проводим технические работы, удаляем /etc/nologin.
Wall можно заменить например на такое:
echo "какой-то текст" | write user
Но тут сообщение уйдет конкретному пользователю user. Конечно, если по какой-то причине, в системе отсутствует wall, можно и через цикл выгрести всех юзеров и через echo отправить им уведомление.
write - утилита, позволяющая отправить сообщение другому пользователю, который имеет сессию в этой же системе.
Или так:
echo "какой-то текст" > /dev/pts/1
👍2
Структура каталогов в Linux
Структура каталогов Linux похожа на дерево. Первый каталог в файловой системе метко назван корневым каталогом «/», или можно сказать, что основание иерархии файловой системы начинается с корня. Корневой каталог содержит множество папок и файлов, в которых можно хранить еще больше папок, файлов и т.д. Вот пример того, как выглядит дерево каталогов.
https://bookflow.ru/struktura-katalogov-v-linux/
Структура каталогов Linux похожа на дерево. Первый каталог в файловой системе метко назван корневым каталогом «/», или можно сказать, что основание иерархии файловой системы начинается с корня. Корневой каталог содержит множество папок и файлов, в которых можно хранить еще больше папок, файлов и т.д. Вот пример того, как выглядит дерево каталогов.
https://bookflow.ru/struktura-katalogov-v-linux/
👍3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
NetAlertX — инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах. Он помогает администратору отслеживать новые устройства в сети, анализировать подключение и уведомлять о любых подозрительных изменениях. Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями.
https://github.com/jokob-sk/NetAlertX
https://github.com/jokob-sk/NetAlertX