Системный администратор
26.4K subscribers
3.05K photos
2.99K videos
208 files
3.26K links
Все для системного администратора.

По всем вопросам @evgenycarter

РКН clck.ru/3KoDXp
Download Telegram
Какая разница между командами GREP, AWK и SED

Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.

Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.

Например, все эти три команды могут легко проверить совпадения шаблона файла и отправить результаты запроса на вывод.

В этой статье является разберемся чем отличаются эти команды и в каких случаях использовать ту или иную команду.

https://telegra.ph/Kakaya-raznica-mezhdu-komandami-GREP-AWK-i-SED-01-23

👉 @i_odmin
👍9👎1
Awesome Linux Software

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

https://github.com/luong-komorebi/Awesome-Linux-Software

👉 @i_odmin
👍5
Есть приверженцы 😀

Подписывайтесь на канал 👉@tipsysdmin
👍41😁21
Media is too big
VIEW IN TELEGRAM
Как быстро добавить пользователей в группы AD [скрипт]

Пример скрипта

$ErrorActionPreference='Continue'
$error.Clear()
$i=0
import-module activedirectory
$pathToCSV='.\users.csv'
$csv=Import-Csv -path $pathToCSV -Delimiter ';'
foreach ($group in $csv)
{
$uname="$($group.Username)".split('\')[1]
$groupname="$($group.Groupname)"
Add-ADGroupMember -Identity $groupname -Members $uname
$i++
}
if ($error.Count -gt 0)
{
echo "Errors count: " $error.Count
}
$success=$($i-$error.Count)
if ($success -gt -1)
{
echo "Success records count: " $success
}


источник

👉 @i_odmin
👍142
Простая автоматизация

Переименовываем файлы пачкой с помощью Windows PowerShell.
Архивируем файлы "пачкой" с помощью Windows PowerShell.

источник

👉 @i_odmin
👍10
Media is too big
VIEW IN TELEGRAM
Защита от подбора пароля на устройствах MikroTik

Если у вас есть маршрутизатор MikroTik с белым IP-адресом и открытым стандартным портом SSH, вероятно, вы заметили, что журнал заполнен неудачными попытками входа в систему. В большинстве случаев это происходит из-за неумолимых попыток брутфорса SSH со стороны злоумышленников. Сегодня я расскажу вам, как можно защитить себя от подобных атак на устройствах MikroTik. Мы создадим что-то аналогичное fail2ban.

источник

👉 @i_odmin
👍18👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Именно так выглядит утечка данных 😁

Подписывайтесь на канал 👉@tipsysdmin
😁35🤣11👍3🔥1🤡1
Подборка скриптов PowerShell для работы с Azure, Active Directory, SCCM, SCSM, Exchange, O365 и тд


Примеры скриптов

Блокировка компьютера

Function Lock-Computer {
<#
.DESCRIPTION
Function to Lock your computer
.SYNOPSIS
Function to Lock your computer.
This is using the win32 user32.dll library.
.EXAMPLE
Lock-Computer

This will lock the current computer
.LINK
https://github.com/lazywinadmin/PowerShell
#>

$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@

$LockComputer = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockComputer::LockWorkStation() | Out-Null
}


Новый пароль

function New-Password {
<#
.SYNOPSIS
Function to Generate a new password.

.DESCRIPTION
Function to Generate a new password.
By default it will generate a 12 characters length password, you can change this using the parameter Length.
I excluded the following characters: ",',.,/,1,<,>,`,O,0,l,|
Some of those are ambiguous characters like 1 or l or |
You can add exclusion by checking the following ASCII Table http://www.asciitable.com/

If the length requested is less or equal to 4, it will generate a random password.
If the length requested is greater than 4, it will make sure the password contains an Upper and Lower case letter, a Number and a special character

.PARAMETER Length
Specifies the length of the password.
Default is 12 characters

.PARAMETER Count
Specifies how many password you want to output.
Default is 1 password.

.EXAMPLE
PS C:\> New-Password -Length 30

=E)(72&:f\W6:VRGE(,t1x6sZi-346

.EXAMPLE
PS C:\> New-Password 3

!}R

.NOTES
See ASCII Table http://www.asciitable.com/
Code based on a blog post of https://mjolinor.wordpress.com/2014/01/31/random-password-generator/

.LINK
https://github.com/lazywinadmin/PowerShell
#>
[CmdletBinding()]
PARAM
(
[ValidateNotNull()]
[int]$Length = 12,
[ValidateRange(1, 256)]
[Int]$Count = 1
)#PARAM

BEGIN {
# Create ScriptBlock with the ASCII Char Codes
$PasswordCharCodes = { 33..126 }.invoke()


# Exclude some ASCII Char Codes from the ScriptBlock
# Excluded characters are ",',.,/,1,<,>,`,O,0,l,|
# See http://www.asciitable.com/ for mapping
34, 39, 46, 47, 49, 60, 62, 96, 48, 79, 108, 124 | ForEach-Object -Process { [void]$PasswordCharCodes.Remove($_) }
$PasswordChars = [char[]]$PasswordCharCodes
}#BEGIN

PROCESS {
1..$count | ForEach-Object -Process {
# Password of 4 characters or longer
IF ($Length -gt 4) {

DO {
# Generate a Password of the length requested
$NewPassWord = $(foreach ($i in 1..$length) { Get-Random -InputObject $PassWordChars }) -join ''
}#Do
UNTIL (
# Make sure it contains an Upercase and Lowercase letter, a number and another special character
($NewPassword -cmatch '[A-Z]') -and
($NewPassWord -cmatch '[a-z]') -and
($NewPassWord -imatch '[0-9]') -and
($NewPassWord -imatch '[^A-Z0-9]')
)#Until
}#IF
# Password Smaller than 4 characters
ELSE {
$NewPassWord = $(foreach ($i in 1..$length) { Get-Random -InputObject $PassWordChars }) -join ''
}#ELSE

# Output a new password
Write-Output $NewPassword
}
} #PROCESS
END {
# Cleanup
Remove-Variable -Name NewPassWord -ErrorAction 'SilentlyContinue'
} #END
} #Function


https://github.com/lazywinadmin/PowerShell

👉 @i_odmin
👍17
Облачные базы данных: Шпаргалка

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

Структурированные базы данных📌

Структурированные базы данных организуют данные в предопределенные схемы и модели.

Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.

Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.

Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо

Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика


Полуструктурированные базы данных📌

Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.

Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.

Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах

Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT


Неструктурированные базы данных📌

Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.

Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость

Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.

#db

👉 @database_info
👍8🔥21
Убираем зомби процессы

Знакомство с семейством операционных систем Linux сопряжено пониманием особенностей управления процессами в этой системе. Процесс — это программа, которая, по сути, выполняется постоянно.

Программа, которая не выполняется, не считается процессом, поскольку она находится в пассивном состоянии. Состояние выполнения делает его активным объектом, следовательно, процессом. Также стоит отметить, что выполнение одной программы может быть связано с несколькими процессами.

Давайте определим два типа процессов:

Интерактивные процессы. За инициализацией и выполнением этих процессов стоит пользователь или программист. Системные службы не несут ответственности за их работу. Эти процессы возвращают выходные данные из ввода пользователя. Если процесс уже запущен, невозможно напрямую инициировать новый из того же терминала.

Фоновые процессы или неинтерактивные процессы. За их инициирование и выполнение несут ответственность системные службы или пользователи. Пользователи системы также могут управлять ими. Каждому из этих процессов присваивается уникальный идентификатор процесса (PID).

Состояние процесса.
В таблице процессов можно найти несколько состояний процессов.

Running (R) — это запущенные и активные процессы в данный момент.
Waiting (W) — это процессы, которые ожидают освобождение ресурсов или каких-либо событий. Такое ожидание может быть либо непрерывным спящим режимом (D), либо прерываемым (S)
Stopped (T) — запущенный процесс остановлен соответствующим сигналом.
Zombie(Z) — Это процессы, которые еще существуют в таблице процессов, несмотря на то, что они уже выполнили назначенные им задачи.

https://telegra.ph/Ubiraem-zombi-processy-01-28

👉 @i_odmin
👍121
Настройка Iptables для чайников

Операционные системы Linux, на которых чаще всего и функционируют серверы (виртуальные машины), имеют встроенный инструмент защиты – программный фильтр Iptables. Все сетевые пакеты идут через ядро приложения и проходят проверку на безопасность для компьютера. Сценария всего два – или данные передаются дальше на обработку, или полностью блокируются.

https://bookflow.ru/nastrojka-iptables-dlya-chajnikov/

👉 @i_odmin
👍93
This media is not supported in your browser
VIEW IN TELEGRAM
Выход Windows 95 в 1995 году

Подписывайтесь на канал 👉@tipsysdmin
😁33🤡11👍5👏1🤯1
Media is too big
VIEW IN TELEGRAM
Настройка фаервола в Ubuntu с помощью утилиты UFW

UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.

https://telegra.ph/Nastrojka-faervola-v-Ubuntu-s-pomoshchyu-utility-UFW-01-29

👉 @i_odmin
👍12
.RU домены ресолвятся с ошибками — имеются проблемы с DNSSEC

30 января 2024 года, примерно с 18:40 (время московское) многие пользователи российского (и не только) сегмента интернета, стали сталкиваться с ошибками DNS-ресолвинга доменов, размещенных в .ru зоне
Причина проблемы заключается в неправильной подписи зоны DNSSEC:

https://habr.com/ru/news/790188/

👉 @i_odmin
👍12🎉7🤔3
Terminus (Tabby) – Кросс-платформенный терминал с возможностью тонкой конфигурации.

Данный терминал имеет интегрированный ssh-клиент - что делает его превосходной заменой стандартного PowerShell или PuTTY на Windows.

https://github.com/Eugeny/tabby

👉 @i_odmin
👍10🤔2
Как работает HTTPS?

Безопасный протокол передачи гипертекста

(HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код.

Как шифруются и дешифруются данные?

Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.

Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS.

Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат.

Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа.

Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу.

Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины:

1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа.

2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях.

👉 @i_odmin_book
👍194🔥3
Media is too big
VIEW IN TELEGRAM
OpenSSH: Разбираем туннели

Мы с примерами разбираем прямые туннели, обратные и создаем SOCKS туннели для проксирования веб траффика.

PS
плохой звук

источник

👉 @i_odmin
👍122
Виртуализация KVM

Мы поговорим о виртуализации в целом и о технологии KVM в частности. Мы настроим QEMU и Libvirt для создания гостевых систем, использующих возможности современных процессоров для обеспечения аппаратной поддержки виртуализации. Во второй части мы продолжим рассматривать возможности системы виртуализации KVM, поговорим о моментальных снимках, настройке сети и многих других аспектах работы.

источник

👉 @i_odmin
👍17🔥4
📁Виртуальная файловая система Linux /proc/

👉 @i_odmin
👍12