Media is too big
VIEW IN TELEGRAM
Прохождение IP пакета между сетями
Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.
👉 @sysadminof
Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.
👉 @sysadminof
🥰7👍4❤1
🔥 Современный процесс загрузки Linux 🔥
💻 Power On — Включение компьютера
🔹 1. Инициализация BIOS/UEFI
При включении компьютера загружается прошивка BIOS или UEFI из энергонезависимой памяти (NVRAM). Она отвечает за инициализацию оборудования, выполнение самотестирования (POST) и запуск процесса загрузки.
🔹 2. Поиск оборудования
BIOS/UEFI проверяет подключенные компоненты системы, такие как процессор, оперативная память, дисковые накопители и периферийные устройства.
🔹 3. Выбор загрузочного устройства (HDD, USB, PXE…)
После обнаружения оборудования BIOS/UEFI позволяет выбрать устройство, с которого будет загружена операционная система. Это может быть локальный диск, сеть или другой носитель.
🔹 4. Определение EFI-раздела (ESP)
Если используется UEFI, система определяет EFI System Partition (ESP) на загрузочном устройстве. Этот раздел содержит загрузочные файлы и другие важные данные для загрузки ОС.
🔹 5. Загрузка загрузчика (например, GRUB2)
BIOS/UEFI передает управление загрузчику, такому как GRUB (Grand Unified Bootloader). GRUB предоставляет меню выбора ОС или автоматически загружает установленный по умолчанию Linux.
🔹 6. Определение ядра Linux
GRUB или другой загрузчик выбирает ядро Linux, основываясь на конфигурационных файлах и версиях ядра.
🔹 7. Загрузка выбранного ядра
Загрузчик загружает выбранное ядро Linux в оперативную память. Ядро – это центральный компонент ОС, отвечающий за инициализацию оборудования и управление ресурсами системы.
🔹 8. Инициализация структур данных ядра
После загрузки ядро инициализирует свои структуры данных, систему управления памятью и подготавливается к передаче управления пользовательскому пространству.
🔹 9. Запуск Init/systemd (PID 1)
Ядро запускает инициализационную систему (init) или systemd, которая становится первым процессом в системе (PID 1). В современных дистрибутивах по умолчанию используется systemd, который управляет службами и процессами системы.
🔹 10. Выполнение стартовых скриптов
Init/systemd выполняет стартовые скрипты и инициализирует системные службы. Эти скрипты настраивают сеть, подключают файловые системы и выполняют другие важные задачи.
🔹 11. Готовая к работе система 🚀
После завершения всех этапов загрузки система полностью загружена и готова к использованию. Вы можете войти в систему и запускать приложения, работать с файлами и выполнять другие задачи.
👉 @sysadminof
💻 Power On — Включение компьютера
🔹 1. Инициализация BIOS/UEFI
При включении компьютера загружается прошивка BIOS или UEFI из энергонезависимой памяти (NVRAM). Она отвечает за инициализацию оборудования, выполнение самотестирования (POST) и запуск процесса загрузки.
🔹 2. Поиск оборудования
BIOS/UEFI проверяет подключенные компоненты системы, такие как процессор, оперативная память, дисковые накопители и периферийные устройства.
🔹 3. Выбор загрузочного устройства (HDD, USB, PXE…)
После обнаружения оборудования BIOS/UEFI позволяет выбрать устройство, с которого будет загружена операционная система. Это может быть локальный диск, сеть или другой носитель.
🔹 4. Определение EFI-раздела (ESP)
Если используется UEFI, система определяет EFI System Partition (ESP) на загрузочном устройстве. Этот раздел содержит загрузочные файлы и другие важные данные для загрузки ОС.
🔹 5. Загрузка загрузчика (например, GRUB2)
BIOS/UEFI передает управление загрузчику, такому как GRUB (Grand Unified Bootloader). GRUB предоставляет меню выбора ОС или автоматически загружает установленный по умолчанию Linux.
🔹 6. Определение ядра Linux
GRUB или другой загрузчик выбирает ядро Linux, основываясь на конфигурационных файлах и версиях ядра.
🔹 7. Загрузка выбранного ядра
Загрузчик загружает выбранное ядро Linux в оперативную память. Ядро – это центральный компонент ОС, отвечающий за инициализацию оборудования и управление ресурсами системы.
🔹 8. Инициализация структур данных ядра
После загрузки ядро инициализирует свои структуры данных, систему управления памятью и подготавливается к передаче управления пользовательскому пространству.
🔹 9. Запуск Init/systemd (PID 1)
Ядро запускает инициализационную систему (init) или systemd, которая становится первым процессом в системе (PID 1). В современных дистрибутивах по умолчанию используется systemd, который управляет службами и процессами системы.
🔹 10. Выполнение стартовых скриптов
Init/systemd выполняет стартовые скрипты и инициализирует системные службы. Эти скрипты настраивают сеть, подключают файловые системы и выполняют другие важные задачи.
🔹 11. Готовая к работе система 🚀
После завершения всех этапов загрузки система полностью загружена и готова к использованию. Вы можете войти в систему и запускать приложения, работать с файлами и выполнять другие задачи.
👉 @sysadminof
👍11🔥4
🗓 19 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Highload Architect» от Otus.
На вебинаре вы узнаете:
🔗 Ссылка на регистрацию: https://vk.cc/cIwnq5
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Active Directory: утилита DCDIAG
Утилита dcdiag позволяет выполнить до 20 тестов над инфраструктурой Active Directory. Некоторые из тестов предоставляют диагностическую информацию об определенном контроллере домена. Многие тесты предоставляют информацию о конфигурации репликации в пределах леса.
Проверяет, правильно ли контроллер домена сообщает о себе и о своей роли хозяина операций. Этот тест завершиться неудачно, если служба NetLogon не запущена
Проверяет правильность доменов ссылок дескрипторов безопасности для каждого раздела каталогов программ
Проверяет регистрацию DNS для каждого контроллера домена, отправляет тестовый эхо-пакет на каждый контроллер домена и проверяет подключение по протоколам LDAP и RPC к каждому контроллеру домена
Проверяет правильность перекрестных ссылок для доменов
проверяет состояние готовности для FRS SYSVOL
Проверяет ошибки репликации в работе службы репликации файлов, что может означать наличие проблем в репликации SYSVOL и, таким образом, целостности копий объектов групповых политик
Не проверяет роли хозяев операций, а вместо этого запрашивает сервер глобального каталога, первичный контроллер домена, предпочтительный сервер времени, сервер времени и центр распространения ключей
Проверяет наличие ошибок, которые могут помешать нормальной репликации между сайтами. Компания Microsoft предупреждает, что иногда результаты этого теста могут оказаться неточными
Проверяет безошибочность создания объектов соединений для репликации между сайтами
Проверяет возможность подключения контроллеров домена ко всем пяти хозяевам операций
Проверяет правильность регистрации учетной записи целевого компьютера и правильность объявлений служб этого компьютера. Если обнаружена ошибка, ее можно исправить с помощью утилиты dcdiag, указав параметры /fixmachineaccount или /recreatemachineaccount
Проверяет правильность разрешений для репликации в дескрипторах безопасности для заголовков контекста именования
Проверяет правильность разрешений регистрации, позволяющих регистрацию, для каждого контроллера домена
Проверяет правильность репликации агента сервера каталогов и объектов учетных записей компьютеров
Проверяется наличие безопасных каналов между всеми контроллерами домена в интересующем домене
Проверяет возможность репликации между контроллерами домена и сообщает обо всех ошибках при репликации
Проверяет работоспособность и доступность хозяина относительных идентификаторов
Проверяет работоспособность всех служб, необходимых для работы контроллера домена, на указанном контроллере домена
Проверяет безошибочность работы системного журнала
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на всех контроллерах домена в лесу
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на указанном контроллере домена
Проверяет действительность всех разделов каталога приложения на всех серверах, принимающих участие в репликации
Синтаксис команды dcdiag:
👉 @sysadminof
Утилита dcdiag позволяет выполнить до 20 тестов над инфраструктурой Active Directory. Некоторые из тестов предоставляют диагностическую информацию об определенном контроллере домена. Многие тесты предоставляют информацию о конфигурации репликации в пределах леса.
Advertising
Проверяет, правильно ли контроллер домена сообщает о себе и о своей роли хозяина операций. Этот тест завершиться неудачно, если служба NetLogon не запущена
CheckSDRefDom
Проверяет правильность доменов ссылок дескрипторов безопасности для каждого раздела каталогов программ
Connectivity
Проверяет регистрацию DNS для каждого контроллера домена, отправляет тестовый эхо-пакет на каждый контроллер домена и проверяет подключение по протоколам LDAP и RPC к каждому контроллеру домена
CrossRefValidation
Проверяет правильность перекрестных ссылок для доменов
RRSSysvol
проверяет состояние готовности для FRS SYSVOL
FRSEvent
Проверяет ошибки репликации в работе службы репликации файлов, что может означать наличие проблем в репликации SYSVOL и, таким образом, целостности копий объектов групповых политик
FSMOCheck
Не проверяет роли хозяев операций, а вместо этого запрашивает сервер глобального каталога, первичный контроллер домена, предпочтительный сервер времени, сервер времени и центр распространения ключей
Intersite
Проверяет наличие ошибок, которые могут помешать нормальной репликации между сайтами. Компания Microsoft предупреждает, что иногда результаты этого теста могут оказаться неточными
KCCEvent
Проверяет безошибочность создания объектов соединений для репликации между сайтами
KnowsOfRoleHolders
Проверяет возможность подключения контроллеров домена ко всем пяти хозяевам операций
MachineAccount
Проверяет правильность регистрации учетной записи целевого компьютера и правильность объявлений служб этого компьютера. Если обнаружена ошибка, ее можно исправить с помощью утилиты dcdiag, указав параметры /fixmachineaccount или /recreatemachineaccount
NCSecDesc
Проверяет правильность разрешений для репликации в дескрипторах безопасности для заголовков контекста именования
NetLogons
Проверяет правильность разрешений регистрации, позволяющих регистрацию, для каждого контроллера домена
ObjectsReplicated
Проверяет правильность репликации агента сервера каталогов и объектов учетных записей компьютеров
OutboundSecureChannels
Проверяется наличие безопасных каналов между всеми контроллерами домена в интересующем домене
Replications
Проверяет возможность репликации между контроллерами домена и сообщает обо всех ошибках при репликации
RidManager
Проверяет работоспособность и доступность хозяина относительных идентификаторов
Services
Проверяет работоспособность всех служб, необходимых для работы контроллера домена, на указанном контроллере домена
SystemLog
Проверяет безошибочность работы системного журнала
VerifyEnterpriseReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на всех контроллерах домена в лесу
VerifyReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на указанном контроллере домена
VerifyReplicas
Проверяет действительность всех разделов каталога приложения на всех серверах, принимающих участие в репликации
Синтаксис команды dcdiag:
dcdiag /s:<DomainController> [/n:<NamingContext>] [[/u:<domain\user>] [/p:<password>] ] [{/a|/e}{/q|/v}] [/i] [/f:<LogFile>] [/ferr:<ErrorLog>] [/c [/skip:<test]] [/test:<test>] [/fix]
👉 @sysadminof
👍11❤1
Лучшие практики сегментации корпоративной сети любой компании
Данный проект создан для публикации лучших практик сегментации корпоративной сети любой компании. В целом схемы, приведенные в данном проекте, подходят для любой компании.
https://github.com/sergiomarotco/Network-segmentation-cheat-sheet
👉 @sysadminof
Данный проект создан для публикации лучших практик сегментации корпоративной сети любой компании. В целом схемы, приведенные в данном проекте, подходят для любой компании.
https://github.com/sergiomarotco/Network-segmentation-cheat-sheet
👉 @sysadminof
👍5
Подборка популярных каналов по информационной безопасности и этичному хакингу:
🔐 infosec — ламповое сообщество, которое публикует редкую литературу, курсы и полезный контент для ИБ специалистов любого уровня и направления.
😈 Social Engineering — самый крупный ресурс в Telegram, посвященный этичному Хакингу, OSINT и социальной инженерии.
💬 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥰2
Работа с архивами
Создать .tar.gz:
Распаковать .tar:
Распаковать gz:
Распаковать многотомный архив:
Получить листинг файлов в архиве:
Извлечь конкретный файл из архива:
Скопировать файл на сервер:
👉 @sysadminof
Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz
(архив)tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2
(архив)Распаковать .tar:
tar -xvf file.tar.gz
Распаковать gz:
gunzip yourfile.gz
Распаковать многотомный архив:
7za x arch.7z.001
Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>
Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]
Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user
👉 @sysadminof
👍7❤1
🗓 17 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Администратор Windows» от Otus.
На вебинаре вы узнаете:
🔗 Ссылка на регистрацию: https://vk.cc/cIypjI
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
htop и многое другое на пальцах
На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?
Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Rus https://habr.com/ru/articles/316806/
Eng https://peteris.rocks/blog/htop/
👉 @sysadminof
На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?
Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
Rus https://habr.com/ru/articles/316806/
Eng https://peteris.rocks/blog/htop/
👉 @sysadminof
👏9👍1
Крутая программа для тех, кто уже работает с Linux и хочет погрузиться DevOps.
В двух словах: программа на 2 месяца, ты учишься, тебе еще и платят. Начинка: начинающий и продвинутый курс по Linux, погружение в DevOps. Обучение с практикой, лабораторными и под контролем экспертов из K2 Сloud.
Подробнее можно узнать на сайте
В двух словах: программа на 2 месяца, ты учишься, тебе еще и платят. Начинка: начинающий и продвинутый курс по Linux, погружение в DevOps. Обучение с практикой, лабораторными и под контролем экспертов из K2 Сloud.
Подробнее можно узнать на сайте
👍2
Утилиты linux
rsync
Примеры:
ss
Примеры:
ps
mpstat
Показывает статистику загрузки процессора. Команды:
free
Показывает потребление ОЗУ на текущий момент:
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
netstat
👉 @sysadminof
rsync
-v
— выводит подробную информацию о процессе копирования;[-a]
— сохраняет все атрибуты оригинальных файлов;-u
— не перезаписывать более новые файлы;-l
— копирует символьные ссылки;-L
— копирует содержимое ссылок;-p
— сохраняет права для файлов;-t
— сохраняет время модификации;-e
— использовать другой транспорт, например, ssh;[-z]
— cжимает файлы перед передачей;—recursive
— перебирать директории рекурсивно;—exclude
— Исключить файлы по шаблону;Примеры:
rsync -avz skillproject/data/
. — из подкаталога в текущий каталогrsync -avz skillproject/data/ aaa/
— из подпапки в подпапку aaa/rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— передача на удаленный серверrsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/
— то же самое м явным указанием sshss
-l или —listening
— посмотреть только прослушиваемые порты;-p или —program
— показать имя программы и ее PID;-t или —tcp
— показать tcp порты;-u
или —udp
показать udp порты;-n
или —numeric
показывать ip адреса в числовом виде.Примеры:
ss -tlpn
— проверить все прослушивающие tcp-портыss -tulpn | grep :80
— показать все процессы, работающие на 80-м портуps
ps -e
— показать все процессыps -ef
— показать подробную информацию о каждом процессеps -ef | grep phantom
— найти все процессы с именем phantom
mpstat
Показывает статистику загрузки процессора. Команды:
mpstat
— показывает общую информациюmpstat -P ALL
— по каждому ядруfree
Показывает потребление ОЗУ на текущий момент:
free -h
— показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname>
— проверить, установлен ли пакетdpkg -l
— список всех пакетовdpkg -l | grep apache2
— проверить, установлен ли конкретный пакетdpkg -i <package.deb>
— установить пакетnetstat
netstat -pnltu
— посмотреть список используемых портов👉 @sysadminof
👍12🥰2
Zenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска.
Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)
Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)
https://github.com/bvaisvil/zenith
👉 @sysadminof
Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)
Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)
sudo apt install curl
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get
https://github.com/bvaisvil/zenith
👉 @sysadminof
👍8❤2😁1
Генерируем пароль в терминале Linux
Будем использовать /dev/urandom и утилиты makepasswd, pwgen.
Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.
То есть сгенерировать пароль в Linux поможет следующая команда:
Вы можете сделать bash функцию и записать её в ваш .bashrc:
Затем применим изменения и попробуем сгенерировать пароль:
Используем makepasswd
Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
Просто выполните эту команду без параметров чтобы получить случайный пароль:
Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
Используем pwgen
Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
....
Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.
👉 @sysadminof
Будем использовать /dev/urandom и утилиты makepasswd, pwgen.
Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.
То есть сгенерировать пароль в Linux поможет следующая команда:
$ tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs
AurTdatFbw
Вы можете сделать bash функцию и записать её в ваш .bashrc:
$ nano .bashrc
genpasswd() {
local l=$1
[ "$l" == "" ] && l=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}
Затем применим изменения и попробуем сгенерировать пароль:
$ . .bashrc
~$ genpasswd 5
Hbe7a
$ genpasswd 10
PDbt1tjBg0
Используем makepasswd
Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
$ sudo apt install makepasswd
Просто выполните эту команду без параметров чтобы получить случайный пароль:
$ makepasswd
5q6m4jMHJ
Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
$ makepasswd --chars 4 --count 3
1d65
R5Xe
Lhes
Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
$ makepasswd --chars 4 --count 3 --crypt-md5
DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1
xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda.
A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155.
Используем pwgen
Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
$ sudo apt install pwgen
Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
$ pwgen
Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai
....
Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
$ pwgen -N 3 -n 5
aeCo2 Le7oy uv6Oh
Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
$ pwgen -N 3 -n 5 -s
fY60V y6FIU 9XEt4
Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.
👉 @sysadminof
👍10
Media is too big
VIEW IN TELEGRAM
🎥 Чем выпускник Открытых школ Т1 отличается от обычного кандидата?
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.Это не просто интенсив, а карьерный буст!
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
👍2👏2
Как редактировать файлы qcow2 для KVM
Покажу на примере восстановления утерянного пароля к виртуальной машине на KVM.
Для редактирования образа мы используем утилиту guestfish. Для установки используем на всех популярных дистрибутивах пакет libguestfs-tools. Например:
Шаг 1 — Выключение VM
Выводим список всех VM:
Вывод будет примерно таким:
Id Name State
----------------------------------------------------
1 vm-ubuntu running
Теперь выключаем VM:
Шаг 2 — Определение расположения файлов VM
Эту информацию можно взять из XML конфигурации VM:
Вывод должен быть примерно таким:
<source file='/var/lib/libvirt/images/vm-ubuntu.qcow2'/>
Шаг 3 — Подготовка хэша пароля пользователя root для замены
Для генерации можно использовать утилиту openssl:
обратите внимание на аглоритм шифрования пароля, они могут быть разные, и вот информация, как их различать:
Также есть возможность добавить соль для изменения пароля
Думаю тут понятно, копируем куда-нибудь хэш и приступаем к следующим шагам.
Шаг 4 — Редактирование файла внути qcow2 файла VM
Используем guestfish, открываем файл qcow2, запускаем, смотрим какие файловые системы есть внутри, монтируем root раздел и открываем редактор vi для файла /etc/shadow
В файле shadow находим строку для root пользователя, они будет вида:
Теперь надо заменить часть которая содержит хэш пароля на новый хэш
Сохраняем изменения в файле shadow и закрываем vi. Далее выходим из редактора guestfish:
Шаг 5 — Запуск VM
Проверяем, что у нас получилось:
Теперь пробуем авторизоваться под новым паролем root. У меня все получилось.
Альтернативное решение:
Если ваша задача в редактировании файлов qcow2 довольно стандартаная, как выше описанная, то есть смысл попробовать применить другую утилиту — virt-customize:
После этого снова запускаем VM и пароль будет уже новый.
👉 @sysadminof
Покажу на примере восстановления утерянного пароля к виртуальной машине на KVM.
Для редактирования образа мы используем утилиту guestfish. Для установки используем на всех популярных дистрибутивах пакет libguestfs-tools. Например:
$ sudo apt install libguestfs-tools
Шаг 1 — Выключение VM
Выводим список всех VM:
# virsh list
Вывод будет примерно таким:
Id Name State
----------------------------------------------------
1 vm-ubuntu running
Теперь выключаем VM:
# virsh shutdown vm-ubuntu
Шаг 2 — Определение расположения файлов VM
Эту информацию можно взять из XML конфигурации VM:
# virsh dumpxml vm-ubuntu | grep 'source file'
Вывод должен быть примерно таким:
<source file='/var/lib/libvirt/images/vm-ubuntu.qcow2'/>
Шаг 3 — Подготовка хэша пароля пользователя root для замены
Для генерации можно использовать утилиту openssl:
# openssl passwd -1 myNewPassword
$1$snYRmJA1$1vpz.ii09.BcDf6AY6ZPj/
# openssl passwd -6 myNewPassword
$6$4ofbn2TGn3xXCExZ$2o8NxDUsiaYh14sEtNYMwyifRUjgOhw/NKgDli/w853YzpH0iP2ky0NlWy6AoAOe1En2fmHR31ndQy2wEQLYG0
обратите внимание на аглоритм шифрования пароля, они могут быть разные, и вот информация, как их различать:
openssl passwd -1 password # MD5 hash
openssl passwd -5 password # SHA-256 hash
openssl passwd -6 password # SHA-512 hash
openssl passwd -apr1 password # MD5 Apache variant hash
openssl passwd -aixmd5 password # MD5 AIX variant hash
openssl passwd -crypt password # Standard Unix hash
Также есть возможность добавить соль для изменения пароля
# openssl passwd -1 -salt "OKgLCmVl" "myNewPassword"
$1$OKgLCmVl$mroGe0I8pVZcPC91VTFaE.
Думаю тут понятно, копируем куда-нибудь хэш и приступаем к следующим шагам.
Шаг 4 — Редактирование файла внути qcow2 файла VM
Используем guestfish, открываем файл qcow2, запускаем, смотрим какие файловые системы есть внутри, монтируем root раздел и открываем редактор vi для файла /etc/shadow
# guestfish --rw -a /var/lib/libvirt/images/vm-ubuntu.qcow2
><fs>
><fs> launch
><fs> list-filesystems
/dev/sda1: ext4
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow
В файле shadow находим строку для root пользователя, они будет вида:
root:$6$d431Zi5mfQN5sRXj$9SUQhRSR.tKMp64KyTe.yip8U4ysal55doO/xVnaIjV8Bholwrecqa387B6hFkiu4jDsl2DISoJ7G3UDilXNk0:18669:0:99999:7:::
Теперь надо заменить часть которая содержит хэш пароля на новый хэш
root:$6$4ofbn2TGn3xXCExZ$2o8NxDUsiaYh14sEtNYMwyifRUjgOhw/NKgDli/w853YzpH0iP2ky0NlWy6AoAOe1En2fmHR31ndQy2wEQLYG0:18669:0:99999:7:::
Сохраняем изменения в файле shadow и закрываем vi. Далее выходим из редактора guestfish:
><fs> flush
><fs> quit
Шаг 5 — Запуск VM
Проверяем, что у нас получилось:
# virsh start vm-ubuntu
Domain vm-ubuntu started
Теперь пробуем авторизоваться под новым паролем root. У меня все получилось.
Альтернативное решение:
Если ваша задача в редактировании файлов qcow2 довольно стандартаная, как выше описанная, то есть смысл попробовать применить другую утилиту — virt-customize:
# virsh shutdown vm-ubuntu
# virt-customize -a /var/lib/libvirt/images/vm-ubuntu.qcow2 --root-password password:myNewPassword --uninstall cloud-init
После этого снова запускаем VM и пароль будет уже новый.
👉 @sysadminof
👍7😁1
💣 Хардкорный тест для сетевых инженеров!
🏆 Пройди тест из 22 вопросов и получи скидку на онлайн-курс «Network Engineer. Professional» от OTUS!
💻 В программе курса — все актуальные инструменты, необходимые сетевому инженеру.
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокодNETWORKPRO5
🎫 Курс можно приобрести в рассрочку
➡️ Пройти тест и забрать скидку: https://vk.cc/cIHPYa
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🏆 Пройди тест из 22 вопросов и получи скидку на онлайн-курс «Network Engineer. Professional» от OTUS!
💻 В программе курса — все актуальные инструменты, необходимые сетевому инженеру.
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Быстрая настройка маршрутизатора MIkroTik для офиса и дома
В данном видео приводится пример по настройке маршрутизатора под управление ОС MikroTik RouterOS для малого офиса или дома. Настройка производится с помощью функции Quick Set и не занимает много времени. Полученная конфигурация обеспечивает стабильную работу и приемлемый уровень безопасности.
источник
👉 @sysadminof
В данном видео приводится пример по настройке маршрутизатора под управление ОС MikroTik RouterOS для малого офиса или дома. Настройка производится с помощью функции Quick Set и не занимает много времени. Полученная конфигурация обеспечивает стабильную работу и приемлемый уровень безопасности.
источник
👉 @sysadminof
👍13