Sysadminium
322 subscribers
148 photos
1 video
1 file
398 links
Я делюсь своими знаниями системного администратора. Всё проверено на себе — иногда даже дважды.
Download Telegram
✔️SIGQUIT (3) – Завершение процесса с дампом памяти. Сигнал отправляется вручную для отладки. Программа может перехватить его если есть обработчик.
kill -3 <PID>


✔️SIGSEGV (11) - завершение процесса с дампом памяти. Сигнал генерирует ядро при критических ошибках. Обычно не перехватывается.
kill -11 <PID>
📌Команда sed в Linux

Команда sed - это мощный потоковый текстовый редактор, который позволяет выполнять операции поиска, замены, удаления и другие преобразования текста без интерактивного редактирования файлов.

✔️Изменение подстроки, команда s . Укажем что и на что менять. Для реального редактирования файла добавьте опцию -i.
sed -i 's/old/new/' file.txt


✔️Изменение всей строки целиком, команда c. Укажем шаблон и новую строку:
sed -i '/pattern/c new_line' file.txt


✔️Удаление строк, подпадающих под шаблон, команда d:
sed '/pattern/d' file.txt


✔️Добавление строки после строки, попадающей под шаблон. Команда a:
sed '/pattern/a\New line' file.txt


✔️Выполнение нескольких команд с помощью опции -e :
sed -e 's/foo/bar/' -e '/baz/d' file.txt


✔️Пример замены параметра в конфиге (не важно fs.file-max закомментирован или нет, вам нужно помнить только название параметра):
sed -i '/fs.file-max/c fs.file-max=500000' /etc/sysctl.conf
📌DNS-записи для корректной работы почты

🔴 Записи MX
Указывают серверы, принимающие почту для домена. Например домен example.com обслуживает сервер mail.example.com:
example.com | MX | mail.example.com. 10


🔴Запись A
Сопоставляет домен почтового сервера с его IP-адресом.
mail.example.com | A | 166.36.28.18
🔴 Запись SPF (TXT-запись)
Указывает разрешённые IP-адреса для отправки почты.
example.com | TXT | "v=spf1 +a +mx ~all"

👉+a +mx - разрешает отправку писем с адреcов указанных в A-Записи и MX-записях;
👉~all - мягкое ограничение, разрешает отправку писем с других серверов, но они помечаются как ненадёжные;
👉-all - жёсткое ограничение.

🔴 Запись DKIM (TXT-запись)
Открытый ключ сервера. Письма подписываются закрытым ключом, а для проверки подлинности используется открытый ключ указанный в TXT-записи.
mail._domainkey | TXT | "v=DKIM1;k=rsa;p=<открытый ключ>"


🔴Запись DMARC (TXT-запись)
Определяет политику обработки писем, не прошедших SPF/DKIM.
_dmarc | TXT | "v=DMARC1; p=quarantine; pct=5; rua=mailto:admin@example.com"

👉p=quarantine - непрошедшие проверку письма попадут в спам, но не будут полностью отклоняться;
👉pct=5 - из всех писем только 5% будут проверяться;
👉rua=mailto:admin@example.com - email, куда будут отправляться отчёты о проверке писем;

🔴PTR-запись (Reverse DNS)
Обратная запись, которая сопоставляет IP почтового сервера с его доменом. Настраивается у вашего интернет-провайдера.
👍2
📌Команда gping

Gping - консольная утилита для Linux, которая не просто пингует узел, но и дополнительно рисует график.

👉В последних версиях Debian 13 и Ubuntu 24.04 эта утилита доступна в стандартных репозиториях:
apt install gping


👉А для установки gping на более старые версии Debian и Ubuntu нужно будет использовать репозиторий azlux.fr:
echo 'deb [signed-by=/usr/share/keyrings/azlux.gpg] https://packages.azlux.fr/debian/ bookworm main' | sudo tee /etc/apt/sources.list.d/azlux.list
sudo apt install gpg
curl -s https://azlux.fr/repo.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/azlux.gpg > /dev/null
sudo apt update
sudo apt install gping


👉Пример использования:
gping -n 2 sysadminium.ru

-n 2 - обновление графика раз в 2 секунды, а по умолчанию 0.5.
👍2
📌fping - консольная утилита для Linux, которая предназначена для массовой проверки доступности хостов.

Устанавливается из стандартных репозиториев:
sudo apt install fping


Основные опции fping:

-a — показать только доступные хосты
-u — показать только недоступные хосты
-g <IP/подсеть> — пинговать диапазон IP (например, fping -g 192.168.1.1 192.168.1.10)
-s — вывести статистику в конце
-c N — отправить N запросов к каждому хосту (аналог ping -c)
-q — тихий режим (только итоговый результат)
-f <файл> — читать цели из файла

✔️Проверка нескольких хостов:
fping ya.ru sysadminium.ru


✔️Проверка подсети:
$ fping -a -g 192.168.0.0/24 2>/dev/null

- дополнительные опции уберут недоступные хосты из вывода
👍4
✅В этой статье рассказано о развитии операционной системы Windows — от первой версии в 1985 году до современных Windows 10 и 11.
✅Рассматриваются ключевые изменения, нововведения и особенности каждой важной версии, включая Windows 95, XP, 7, 10 и 11.
✅Особое внимание уделено переходу от MS-DOS к ядру NT, различиям между линейками 9x и NT, а также крупным обновлениям Windows 10 и 11.
Статья: https://sysadminium.ru/history-windows/
📌Я обновил статью про инструмент apt-mirror, который позволяет создать своё зеркало различных репозиториев Linux.
Статья: https://sysadminium.ru/local_mirror_linux_repository-apt_mirror/

👉Apt-mirror это скрипт написанный на языке perl. Но он давно не обновляется. Разработчик Stifler6996 поправил скрипт для работы с современными дистрибутивами и репозиториями. Хоть репозиторий Stifler6996 закрылся, в статье я использую именно его версию скрипта, выложенную в свой репозиторий.

👉Кстати, я нашёл подобное решение, написанное на Go: https://github.com/aptly-dev/ Через некоторое время попробую и если мне понравится, то напишу статью про aptly.
👍8
📝Создание локального зеркала репозиториев с помощью Aptly

Ранее я писал про apt-mirror — старый, но рабочий инструмент для зеркалирования репозиториев. Однако сегодня разберем более мощную и современную альтернативу — Aptly!

🔍 Что может Aptly?
Он не просто копирует чужие репозитории, но и позволяет:
✔️ Создавать собственные репозитории с deb-пакетами
✔️ Подписывать их своим GPG-ключом
✔️ Гибко управлять версиями через снимки (snapshots)
✔️ Работать с Proxmox, Debian, Ubuntu и другими дистрибутивами

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

👉 Статья: https://sysadminium.ru/local_mirror_repo_using_aptly/
👍2
📌Как выбрать блок питания (использование не родного адаптера)

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

Напряжение (V) должно быть одинаковым.
- Например: ноутбук 19 В → блок 19 В - использовать можно✅
- Даже 19.5 В вместо 19 В — уже рискованно!

Сила тока (A) на блоке питания может быть такой-же или больше.
- Ноутбук: 1.58 А → блок: 3.42 А - использовать можно✅
- Чем выше ток — тем лучше (запас мощности, меньше греется).
- Нельзя использовать если сила тока блока питания меньше чем требуется устройству.

Разъём должен подходить по размеру и форме.
- Внутренний диаметр, длина, толщина — должны совпадать.
- Нельзя использовать если разъём не подходит или болтается.

💡 Пример:
- Ноутбук: 19 В, 1.58 А
- Блок питания: 19 В, 3.42 А → ✅ Можно! Безопасно!
Делись с друзьями! Многие губят технику из-за неправильно подобранного блока питания.
👍3
Недавно вышел Proxmox VE 9.0. Я решил протестировать его и написать цикл статей. Две первые статьи уже были готовы, я только актуализировал их для PVE 9:
1) Proxmox VE — знакомство и установка на ZFS
👉https://sysadminium.ru/installing-proxmox-ve-zfs/
2) Proxmox VE - замена системного диска в зеркале ZFS
👉https://sysadminium.ru/replace-disk-zfs-mirror-proxmox/

По плану - следующая статья:
📝Proxmox VE - настройка сети. Где я расскажу как настроить сеть с использованием Linux Bridge и OVS Bridge. А также как создавать бонды и работать с vlan.
👍5
Пока работаю над статьёй по сетям в Proxmox VE решил поделиться с вами способами вывода промежутка строк из файла. Например вам нужно получить строки с 100 по 200 из файла /var/log/syslog.

Чтобы посмотреть строки с 100 по 200 из файла в Linux, команды head и tail можно комбинировать. Ниже приведён способ, как это сделать:

tail -n +100 /var/log/syslog | head -n 101


Пояснение:
- tail -n +100 — выводит файл, начиная с 100-й строки (включительно) до конца.
- head -n 101 — берёт первые 101 строк из этого потока.
- Почему 101? Потому что строки с 100 по 200 — это 101 строка.

Можно также использовать sed, это более читаемо:

sed -n '100,200p' /var/log/syslog


Альтернатива: awk, тоже удобно и понятно:

awk 'NR>=100 && NR<=200' /var/log/syslog
👍3
📝В этой статье мы разберём настройку сети в Proxmox VE 9.0 — гипервизоре для управления виртуальными машинами и контейнерами.

👉Вы узнаете, как работать с двумя ключевыми технологиями: Linux Bridge (классический способ организации сети в Linux), Open vSwitch (решение для программно-определяемых сетей с поддержкой сложных сценариев).

👉Кроме того, вы освоите: создание бондов (агрегацию физических интерфейсов для повышения отказоустойчивости и пропускной способности), настройку VLAN для сегментации трафика между виртуальными машинами.

Статья: https://sysadminium.ru/proxmox-ve-network/
👍3
📌В этой статье я покажу процесс подготовки виртуальной машины на Proxmox VE 9 для установки Windows 11. Кстати, для Proxmox 8 ничего не меняется, процесс подготовки виртуальной машины и установки на неё Windows 11 будет совершенно одинаковым.

Статья: https://sysadminium.ru/proxmox-ve-for-windows-11/
👍2
📝Организационные единицы (OU) и группы в Active Directory

Очень часто начинающие администраторы путают группы и организационные единицы (OU) в Active Directory (AD), поэтому я написал эту заметку, чтобы коротко и понятно объяснить разницу.

✅Организационные единицы (OU)

👉Это контейнеры в домене AD, которые помогают структурировать объекты: пользователей, компьютеры, группы и другие OU.
👉Основная цель OU — применение групповых политик (GPO) и делегирование прав администрирования. Например, можно дать администратору отдела права изменять пользователей только в его OU.
👉OU используются для применения групповых политик (GPO). Политики можно привязывать к конкретной OU, и они будут действовать на все объекты внутри неё.
✅Группы в AD

👉Группы — это объекты для управления доступом и разрешениями. В AD есть два типа групп:
👉Security Groups (Группы безопасности)
Используются для назначения прав доступа к ресурсам (файлам, папкам, принтерам). Пользователи и компьютеры, включённые в эту группу, наследуют права, которые ей назначены. Security Group может использоваться и для рассылки почты, если нужно.
👉Distribution Groups (Группы рассылки)
Используются только для рассылки электронной почты (Exchange/Outlook). И не используются для назначения прав доступа.
👉Любые группы могут содержать пользователей, компьютеры и другие группы.

✅Взаимосвязь OU и Security Groups

👉Политики применяются к OU, а не к группам.
👉Права доступа назначаются группам, а не OU.
👉Пользователи могут находиться в любой OU, и принадлежать к любой группе.
👉Всё это позволяет гибко управлять политиками и доступом независимо друг от друга.

✅Пример:

👉OU: programmers - содержит всех программистов. GPO применяются к этой OU, и настраивают домашние папки и параметры рабочего стола каждого программиста.
👉Группа: programmers - используется чтобы все программисты получили доступ к общей сетевой папке.

✅Кстати, в AD - GPO наследуются вниз по иерархии OU (по умолчанию). Если к OU привязана политика, все объекты внутри этой OU и вложенных OU получают эту политику, если явно не запрещено наследование.
📌Univention Corporate Server (UCS)

Это сервер на базе Debian включающий в себя совместимый с Active Directory контроллер домена, реализованный с помощью Samba 4 и LDAP. Управляется UCS через встроенный web-интерфейс. На момент написания заметки последняя версия UCS 5.2.

Для установки предоставляется iso образ, для скачивания придётся заполнить анкету (оставить свой email).

Во время установки выбираем: Start with manual network settings. Запускается установщик похожий на установщик Debian. После установки в консоли нажимаем "Create a new UCS domain", придумываем имя домена, FQDN сервера, и пишем свой email для получения ключа активации UCS сервера. Он бесплатный, но требует активацию.

После подготовки контроллера домена из консоли переходим в web-интерфейс. Для логина используем имя Administrator, а пароль как у пользователя root.
👍2
Но это пока не полноценный контроллер домена, он работает без Samba и умеет обслуживать только Linux ПК. В web-интерфейсе из App Center устанавливаем приложение "Comprehensive Active Directory functions based on Samba". Это приложение установит и настроит Samba, что расширит возможности UCS для обслуживания Windows PC.

Для управления групповыми политиками из Windows 11 нужно использовать RSAT: средства управления групповыми политиками. Чтобы это сделать, переходим: "Настройки / Система / Дополнительные компоненты / Просмотреть компоненты / Просмотреть доступные функции / RSAT: средства управления групповыми политиками". После этого появится оснастка - gpmc.msc (Управление групповыми политиками).

А для управления пользователями нужно установить "Средства удалённого администрирования сервера: средства доменных служб Active Directory и служб облегченного доступа к каталогам". После этого появится - dsa.msc (Пользователи и компьютеры). Заметил особенность, что создать OU из этой оснастки не получится. Создавать OU нужно в UCS (web-интерфейсе). Для этого используется - LDAP directory.

UCS предоставляет возможность создать:
🔷Backup Directory Node (BDN) - это резервный контроллер домена, который можно превратить в основной. После установки, на него также нужно будет поставить приложение "Comprehensive Active Directory functions based on Samba".
🔷Replica Directory Node (RDN) - это облегченный вариант, что то вроде кэша контроллера домена, а не полноценный контроллер. Превратить его в основной не получится. Он призван снять нагрузку с основного контроллера домена. И кстати, он не поддерживает NLA для RDP подключений в отличии от BDN.

Для установки резервного контроллера домена, устанавливаем систему как обычно, только во время установки, в качестве DNS сервера укажем адрес первого UCS сервера. После установки и перезагрузки выбираем Join into an existing UCS domain, затем Backup Directory Node, а после ставим галочку Start join at the end of the installation и Search Primary Directory Node in DNS.

На резервный контроллер нужно будет также поставить "Comprehensive Active Directory functions based on Samba". Если при этом в App Center появится ошибка No repository to register, то нужно выполнить: ucr get repository/online/registered и apt update.

Для проверки что видны оба контроллера домена, на Windows клиенте выполняем команду:
nltest /dclist:<ваш домен>

✔️Должны быть видны оба контроллера домена.
📌Коды HTTP

Понимание HTTP-кодов ответа критически важно для диагностики проблем с веб-серверами, API, балансировщиками нагрузки и мониторингом инфраструктуры. Ниже приведены ключевые коды, с которыми DevOps-инженеры и Системные администраторы сталкиваются ежедневно.

🔷2xx — Успешные ответы
- 200 OK — Запрос успешно обработан. Ожидаемый ответ для большинства GET-запросов.
- 201 Created — Ресурс успешно создан (часто при POST-запросах к API).
- 204 No Content — Запрос успешен, но тело ответа пустое (часто используется в REST API).
👍2