Системный Администратор (Сисадмин)
13.6K subscribers
1.64K photos
1.47K videos
87 files
1.67K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
Linux

Три простых способа создания загрузочных флешек в Linux
Timeshift как Time Machine только для Linux
Автоматизация задач в Linux с помощью crontab и таймеров systemd
Создание и управление RAID массивами в РОСА ОС Linux
Установка российских SSL сертификатов в Linux
Перенос виртуальных машин из VirtualBox и Hyper V в QEMU KVM
Настройка KDE Connect AirDrop давай до свидания!
Файловая система Linux
Этапы загрузки ОС Linux
Управление доступом в ОС Linux

источник

👉 @sysadminof
🛡Защита операционных систем — это основа безопасности всей ИТ-инфраструктуры компании. Готовы стать экспертом в этой актуальной области?

Курс «Безопасность операционных систем» от OTUS научит вас защищать ОС от актуальных угроз, работать с логами, конфигурациями и обеспечивать безопасность на разных уровнях. Вы освоите принципы работы с Windows и Linux, научитесь защищать доменные инфраструктуры и бороться с современными видами атак.

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

⚡️Пройдите курс «Безопасность операционных систем», обновите свои знания и навыки. Подайте заявку прямо сейчас и получите скидку на обучение: https://vk.cc/cN6Mda

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Бывало ли у вас такое, что вы подключились к общественной сети или мобильному интернету, но он себя странно ведёт. Надпись «Подключено, без доступа к интернету» отсутствует, устройство думает, что всё нормально. Вы открываете браузер и видите «Пройдите проверку личности в сети нашего кафе» или в случае с мобильным интернетом «Пополнить баланс можно тут, тут и тут».

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

https://habr.com/ru/companies/ruvds/articles/763600/

👉 @sysadminof
Шпаргалка по редиректам командной строки Linux

👉 @sysadminof
Подборка скриптов PowerShell для работы с Azure, Active Directory, SCCM, SCSM, Exchange, O365 и тд

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

Новый пароль


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

👉 @sysadminof
⚠️ До старта курса «Administrator Linux. Basic» осталось совсем немного. Набор закрывается 27 июня.

👉 Успейте пройти вступительный тест и получить запись двух вебинаров бесплатно:
— «Что нужно знать, когда переходишь с Windows на Linux. Базовые понятия Linux, работа в консоли с базовыми командами»
— «Вся правда о рынке труда или как быть востребованным в современных реалиях»

💪 Курс построен так, чтобы даже без опыта в Linux вы быстро вошли в профессию. В программе только актуальное: Bash, сети, логика работы ОС, файловые системы и автоматизация.

👉 Пройдите бесплатное вступительное тестирование сегодня и получите запись двух вебинаров: https://vk.cc/cNd9tB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
This media is not supported in your browser
VIEW IN TELEGRAM
🐧Linux Kernel Manager and Activity Monitor

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

https://github.com/orhun/kmon

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
Powershell суточный отчет по пользователям из ActiveDirectory

Раз в сутки (через планировщик задач) скрипт опрашивает

🔘ActiveDirectory на предмет:
🔘Всего пользователей
🔘Сколько активных
🔘Сколько служебных
🔘Сколько заблокированных
🔘Сколько новых


$Date = Get-Date -Format "dd MMMM yyyy HH:mm"
$AllUsers = (Get-AdUser -Filter * | ?{$_.name -notmatch 'Healthmailbox'}).count
$ActiveUsers = (Get-ADUser -Filter {Enabled -eq $true} | ?{$_.name -notmatch 'Healthmailbox'}).count
$DisabledUsers = (Get-ADUser -Filter {Enabled -eq $false} | ?{$_.name -notmatch 'Healthmailbox'}).count

$StartDate = (Get-Date).AddDays(-1)
$EndDate = (Get-Date).AddDays(+1)
$Zapros = Get-ADUser -Filter * -Properties Created | Where-Object {$_.Created -gt $StartDate -and $_.Created -le $EndDate}
$NewUsers = ($Zapros).count
$OFS = "`r`n" #`r`n`r`n
"$($WhoUsers = $Zapros | foreach {$_.Name })"

$NotSurname = Get-ADUser -filter "Enabled -eq '$true' -and Surname -notlike '*' -and Name -ne 'Healthmailbox'"
$NotFIO = ($NotSurname).count

$Message = "На $Date в ActiveDirectory всего пользователей $AllUsers из них: `nАктивных: $ActiveUsers из них служебные: $NotFIO. `nЗаблокированных: $DisabledUsers. `nНовых пользователей: $NewUsers `r`n`r`n$WhoUsers"
$Message | Out-File -FilePath "C:\temp\$(Get-Date -Format "dd MMMM yyyy")-UsersAD.txt"


После выполнения получаем файлик с текущей датой в папке temp.

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Создание SSH ключа, настройка SSH-сервера, клиента, проброс портов

⏱️ Таймкоды:
0:00 Вступление
0:28 Теория про SSH
1:32 Создание ключей
3:48 Подключение
4:43 Добавление ключа
9:42 Настройка сервера
12:19 Настройка клиента
14:00 Проброс порта

источник

👉 @sysadminof
👋 Привет, админы!

Недавно на одном из серверов столкнулся с проблемой: служба Windows Update зависала в статусе "Ожидание другого установщика". Перезапуск сервиса не помогал, обновления не ставились, а WSUS-задание висело вечно.

💡 Решение оказалось простым, но неочевидным — кто-то (привет, SCCM или ручной запуск MSI) заблокировал установщик Windows Installer.

📌 Что делать:

1. Проверяем, нет ли зависших процессов установщика:


Get-Process -Name msiexec


2. Если что-то висит — снимаем задачу:


Stop-Process -Name msiexec -Force


3. Чистим временные каталоги обновлений:


net stop wuauserv
Remove-Item -Path "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force
net start wuauserv


4. И главное — проверяем, не заблокирована ли установка:


Get-WmiObject -Class Win32_Process | Where-Object { $_.Name -like "*msi*" }


Если ничего подозрительного нет — можно запускать установку обновлений повторно.

🧩 В моем случае зависший msiexec.exe не давал поставить ни одно обновление — после его убийства всё пошло как по маслу.

💬 А у вас бывали подобные подвисания с Windows Update? Как решаете — через PowerShell, скрипты или руками? Делитесь!

👉 @win_sysadmin
📕 Практикум по построению карты сети из базы данных маршрутизаторов для сетевых инженеров, архитекторов и администраторов сетей, а также технических руководителей

На открытом уроке 3 июля в 20:00 мск мы погрузимся в тонкости работы с OSPF Deep Dive:  

📗 На вебинаре разберём:

1. Как устроена база данных OSPF (LSDB) и чем она отличается от итоговой таблицы маршрутизации;
2. Как интерпретировать LSA-сообщения для построения полной топологии сети;

📘 В результате на практике разберетесь в построении карты сети из LSDB на примере реального дампа и освоите навыки анализа LSDB.

👉 Регистрация и подробности о курсе Дизайн сетей ЦОД: https://vk.cc/cNjLmK

Все участники открытого урока получат скидку на курс "Дизайн сетей ЦОД"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
ТРАБЛШУТИНГ LINUX // Основные команды, примеры

⏱️ Таймкоды:
0:00 Вступление
0:08 Мониторинг
0:43 Место на дисках
2:39 Состояние дисков
5:15 Нагрузка на диски
5:55 Процессор
8:17 Оперативная память
9:17 Процессы
10:46 Сеть
17:30 Логи

источник

👉 @sysadminof
DevOps и SRE: конкуренты или союзники в борьбе за надёжность?
Где заканчивается зона ответственности DevOps-инженера и начинается область контроля SRE?

Приглашаем на открытый урок, где разберём разницу между подходами DevOps и SRE, особенно — в контексте Service Level Indicators (SLI), Service Level Objectives (SLO) и Service Level Agreements (SLA).

Вы узнаете, как эти практики помогают создавать надёжную платформу и кто за что отвечает в команде.

📌 Обсудим как DevOps и SRE трактуют «качество платформы». И кто за какими метриками следит: производительность, аптайм, алерты, ошибки

⬆️ Протестируй курс «SRE практики и инструменты» на открытом уроке: https://vk.cc/cNl1Tu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
20 команд мониторинга Linux, которые вы должны знать

Если вы работаете системным администратором / администратором Linux / DevOps / SRE, то, скорее всего, вам придется решать проблемы, связанные с производительностью, в среде Linux.

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

1. Top
2. vmstat
3. iostat
4. iostat-d
5. lsof
6. tcpdump
8. netstat-s
9. ps -ef |grep PID
10. nethogs
11. mpstat
12. free-m
13. uptime
14. ps -e
15. ac
16. ac-d
17. ac -p
18. vmstat-m
19. vmstat–d
20. pstree

➡️ https://telegra.ph/20-komand-monitoringa-Linux-kotorye-vy-dolzhny-znat-07-02

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезные команды Linux. Атрибуты файлов

# chattr +a file
Разрешает только добавление данных в файл

# chattr +d file
Игнорировать данный файл при создании резервной копии с помощью программы dump

# chattr +c file
Разрешить ядру автоматически сжимать/разжимать содержимое файла

# chattr +i file1
Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него

# chattr +S file1
Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync

# chattr +u file1
При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости

# chattr +s file1
Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению

# lsattr
Листинг файлов с атрибутами

👉 @sysadminof