Admin Guides | Сисадмин
11.4K subscribers
1.22K photos
20 videos
34 files
557 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
👍29😢2
РКН может заблокировать работу крупных хостинг-провайдеров в РФ

Роскомнадзор (РКН) рассматривает возможность блокировки восьми зарубежных IT-компаний, включая GoDaddy, Kamatera, AWS, Hetzner, DigitalOcean, HostGator, Ionos и Network Solutions, за несоблюдение закона о “приземлении”.

Эти провайдеры не открыли филиалы в России и не выполнили другие требования законодательства.


В РКН предупреждают, что размещение сайтов на зарубежных хостингах чревато рисками:
Провайдеры могут внезапно разорвать сотрудничество.
Данные на их серверах менее защищены от утечек.
Сайты становятся уязвимыми для кибератак.

С 1 февраля 2024 года услуги хостинга в РФ могут оказывать только компании, включённые в реестр РКН (472 провайдера на данный момент). Организации, работающие без регистрации, признаются незаконными.

Кроме того, 15 декабря 2023 года Hetzner прекратил обслуживание российских клиентов, а ранее GoDaddy заявил о закрытии российских учётных записей.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬21👍9🎄4
REST – что это? Сделай POST и отдохни

REST (Representational State Transfer) – это стиль архитектуры программного обеспечения, который применяется для создания распределённых систем, таких как веб-службы.

Этот подход предложил Рой Филдинг, один из разработчиков HTTP-протокола, в начале 2000-х.


RESTFul-сервисы позволяют работать с данными через унифицированный интерфейс, основываясь на простых и понятных HTTP-командах:

GET – получение данных;
POST – создание или изменение;
PUT – обновление;
DELETE – удаление.

Каждая единица данных идентифицируется URL-адресом. Например:
— Книга в библиотеке: /books/2;
— Страница книги: /books/2/pages/145.

REST на практике

REST-сервисы исключают использование сложных слоёв, таких как SOAP или XML-RPC, и передают данные в их естественном виде. Это делает архитектуру более лёгкой и быстрой.

Пример типичных запросов REST:
1️⃣GET /books/ – возвращает список всех книг.
2️⃣ GET /books/2 – предоставляет информацию о второй книге.
3️⃣ POST /books/ – добавляет новую книгу.
4️⃣ DELETE /books/2 – удаляет книгу с ID 2.

Почему REST?
Простота: легко понять, что делает запрос.
Лёгкость: отсутствие дополнительных слоёв упрощает обработку данных.
Гибкость: работает с любыми клиентами (веб, мобильные приложения, программы).

Особенности и ограничения

REST упрощает обмен данными между системами, но не включает встроенную защиту. 


Для безопасности данных можно использовать механизмы аутентификации, такие как HTTP Authentication.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
Какой параметр iptables используется для логирования пакетов, попадающих под правило?
Anonymous Quiz
24%
--log
38%
-j LOG
23%
--log-prefix
16%
-m LOG
👍8🔥2😁1
5 новых полезных команд для PowerShell

Вот ещё 5 полезных команд PowerShell, которые помогут в автоматизации, администрировании и анализе данных.

1️⃣Measure-Object

Команда для подсчёта количества элементов, вычисления суммы, среднего значения, максимума и минимума числовых данных.

Get-Process | Measure-Object -Property WorkingSet -Sum -Average


Подсчёт общей и средней потребляемой памяти всеми процессами.

2️⃣ Test-Connection

Удобный инструмент для проверки доступности ресурсов в сети. Это аналог команды ping в Windows, но с расширенной функциональностью.

Test-Connection -ComputerName google.com -Count 5


Отправка 5 пакетов для проверки доступности сайта Google.

3️⃣ Select-String

Эта команда используется для поиска текста в файлах или потоках данных. Это аналог grep в Linux.

Select-String -Path "C:\Logs\*.txt" -Pattern "Error"


Поиск строки “Error” во всех текстовых файлах в папке Logs.

4️⃣ Out-GridView

Удобный инструмент для визуализации данных в виде таблицы. Полезен для анализа больших объёмов информации.

Get-Process | Out-GridView


Вывод списка процессов в таблицу с возможностью фильтрации.

5️⃣ Get-EventLog

Команда для работы с журналами событий Windows. Это мощный инструмент для анализа системных или приложенческих ошибок.

Get-EventLog -LogName Application -Newest 10


Получение 10 последних записей из журнала приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141🔥1
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое Node Affinity в Kubernetes и как это используется?

Ответ: Node Affinity — это механизм Kubernetes, который управляет размещением Pod’ов на узлах (Nodes) на основе заданных условий.

1️⃣Preferred Affinity: Под размещается на узлах с заданной меткой, если возможно:

affinity:  
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: node-role
operator: In
values: ["backend"]


2️⃣Required Affinity: Под запускается только на узлах, строго соответствующих условиям.

Node Affinity позволяет учитывать особенности узлов и оптимизировать распределение нагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
😁35👍71
Релиз NWinfo 1.0.5 — портативного инструмента для просмотра характеристик ПК

Состоялся релиз NWinfo 1.0.5 — лёгкого и портативного инструмента для быстрого просмотра ключевых характеристик ПК под управлением Windows (от XP до современных версий).

NWinfo отображает данные о процессоре, памяти, дисках, сети и других компонентах. 


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

Основные функции:
Информация о CPU, системе, ОЗУ, SMBIOS, CPUID, S.M.A.R.T., PCI, EDID, сетевых адаптерах, видеокарте.
Подробные отчёты в форматах JSON, YAML и LUA.
Удобный интерфейс для быстрой навигации.

Что нового в версии 1.0.5:
• PDF-документ Readme для облегчения использования.
• Скрипт PowerShell для создания отчётов об оборудовании.
• Возможность отображать статус UAC и Fast-Startup.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6👎1🔥1
Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump (Часть 2)

В первой части мы разобрали основные команды Mysqldump для резервного копирования баз данных MySQL.

Теперь поговорим о дополнительных функциях и рекомендациях для эффективного использования утилиты.

Игнорирование таблиц при создании дампа

Если вам нужно создать резервную копию базы данных, но исключить определённые таблицы, используйте параметр --ignore-table:

mysqldump -u root -p database_name --ignore-table=database_name.table_to_ignore > database_filtered.sql  


Вы можете указать несколько таблиц, добавив несколько --ignore-table в команду.

Разделение дампа на таблицы

Для больших баз данных может быть удобно создавать отдельные файлы для каждой таблицы:

tables=$(mysql -u root -p -Nse 'SHOW TABLES FROM database_name')  
for table in $tables; do
mysqldump -u root -p database_name $table > "${table}.sql"
done


Такой подход упрощает восстановление отдельных таблиц при необходимости.

Резервное копирование с учетом процедур и функций

Чтобы включить в дамп хранимые процедуры, функции и триггеры, используйте флаги --routines и --triggers:

mysqldump -u root -p --routines --triggers database_name > database_with_routines.sql  


Проверка восстановления перед развертыванием

Чтобы избежать ошибок при восстановлении, перед развертыванием дампа на новый сервер можно проверить SQL-скрипт:

mysql -u root -p --execute="SOURCE /path/to/your/file.sql;" --dry-run  


Учет прав доступа пользователей

Для полного переноса базы данных с учетом прав пользователей можно экспортировать информацию о привилегиях:

mysqldump -u root -p mysql db > mysql_users.sql  


Эта команда сохранит данные о пользователях и их привилегиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
💬Вопрос на собеседовании для сисадмина

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

Вопрос: Как настроить ACL (Access Control Lists) на файловой системе Linux для управления доступом?

Ответ: ACL позволяет задавать права доступа для отдельных пользователей или групп.

1️⃣Установка прав:

setfacl -m u:username:rw /path/to/file  


• Разрешает чтение и запись для пользователя.

2️⃣Проверка настроек:

getfacl /path/to/file  


3️⃣ Сброс ACL:

setfacl -b /path/to/file  


ACL упрощает управление доступом в сложных сценариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118
Какой файл отвечает за настройки ограничения размера ядра (core dump) в Linux?
Anonymous Quiz
37%
/proc/sys/kernel/core_pattern
42%
/etc/security/limits.conf
18%
/proc/coredump
4%
/proc/coredump
🤔13👍4😁31
Vifm Console File Manager: Быстрый и функциональный файловый менеджер для терминала

Vifm — это мощный консольный файловый менеджер с двухпанельным интерфейсом, который создан для любителей Vim. 


Если вы уже знакомы с Vim, то работать с Vifm будет максимально удобно: он использует те же сочетания клавиш, предлагая быстрый и эффективный способ управления файлами.

Основные возможности Vifm
1️⃣Двухпанельный интерфейс: позволяет одновременно работать с двумя директориями, упрощая копирование и перемещение файлов.
2️⃣ Знакомые команды: клавиши и команды из Vim работают без изменений. Например, :q для выхода, :w для записи.
3️⃣ Автодополнение: ускоряет ввод путей и команд.
4️⃣ Редактирование файлов: интеграция с Vim позволяет быстро редактировать текстовые файлы прямо из Vifm.
5️⃣ Сравнение файловых деревьев: удобная функция для синхронизации каталогов.
6️⃣ Удалённые команды: возможность запускать команды оболочки прямо из интерфейса менеджера.

Установка Vifm

Для установки Vifm в зависимости от вашей операционной системы используйте одну из следующих команд:
Для Debian/Ubuntu:

sudo apt install vifm  


Для CentOS/RHEL:

sudo yum install vifm  


Для Fedora:

sudo dnf install vifm  


Примеры использования
Открытие директории:
Введите в терминале vifm, чтобы открыть текущую директорию в двухпанельном режиме.
Навигация по директориям:
• Используйте клавиши h, j, k, l для перемещения.
• gg — перейти в начало списка.
• G — перейти в конец.
Копирование и перемещение файлов:
• yy — скопировать файл в буфер.
• p — вставить файл в текущую директорию.
• dd — вырезать файл.
Поиск файлов:
Нажмите /, введите имя файла и нажмите Enter.
Редактирование файла:
Выберите файл и нажмите Enter, чтобы открыть его в Vim.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
Релиз стабильной версии systemd 257

10 декабря 2024 года состоялся релиз systemd 257 — подсистемы инициализации и управления службами в Linux.

Что нового в systemd 257?

Новые утилиты:
systemd-sbsign — для подписания бинарных файлов.
systemd-keyutil — для работы с ключами.
Поддержка MPTCP (MultiPath TCP) для активации по сокету.
Начальная поддержка сборки с Musl — альтернативной C-библиотекой.
Утилита updatectl — для управления обновлениями через systemd-sysupdate.
Отдельный PID namespace — для изоляции запущенных сервисов.
Защита файлов: предотвращение случайного удаления при использовании systemd-tmpfiles --purge.

Минимальная версия ядра

Теперь рекомендованная версия ядра Linux — 5.4 (выпущена в 2019 году). В будущих релизах поддержка более старых ядер будет прекращена.

Краткий обзор предыдущих версий:

systemd 256 (июнь 2024):
• Утилиты run0, importctl, systemd-vpick.

systemd 255 (декабрь 2023):
• Введен компонент systemd-bsod (поддержка BSOD в Linux).

Что дальше?
Разработчики systemd планируют продолжать внедрение новых возможностей и полностью завершить переход на ядро 5.4 в будущих версиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое Ansible Inventory и как его использовать?

Ответ: Inventory — это файл, где описаны целевые серверы и группы для управления с помощью Ansible.

1️⃣Формат файла:
Inventory может быть статическим (ini/yaml) или динамическим (скрипт/плагин). Пример статического файла:

[web]  
web1.example.com
web2.example.com

[db]
db1.example.com ansible_host=192.168.1.10 ansible_user=root


2️⃣ Динамический Inventory:
Используется для интеграции с облаками или масштабных инфраструктур.
Пример вызова:

ansible-inventory --list -i aws_ec2.yml  


3️⃣ Проверка доступности:

ansible all -m ping -i inventory.ini  


Inventory упрощает управление конфигурацией серверов, делая их организацию гибкой и удобной.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝5👍32
Как настроить Fail2Ban для защиты от атак в Linux

Fail2Ban — это инструмент для защиты серверов от брутфорс-атак, который блокирует IP-адреса после нескольких неудачных попыток входа.

В этом посте рассмотрим, как установить и настроить Fail2Ban.

1️⃣Установка Fail2Ban

Для установки используйте следующую команду:
• Debian/Ubuntu:

sudo apt install fail2ban


• CentOS/RHEL:

sudo yum install fail2ban


Запустите и включите службу:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban


2️⃣ Настройка Fail2Ban

Настройки Fail2Ban хранятся в файле /etc/fail2ban/jail.local. Создайте его, если его нет:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local


Откройте файл для редактирования:

sudo nano /etc/fail2ban/jail.local


Настройте секцию для SSH:

[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600


maxretry — количество неудачных попыток.
bantime — время блокировки в секундах.
findtime — время, за которое нужно зафиксировать ошибки.

Перезапустите Fail2Ban:

sudo systemctl restart fail2ban


3️⃣ Проверка статуса

Для проверки статуса Fail2Ban:

sudo systemctl status fail2ban


Для проверки статуса SSH:

sudo fail2ban-client status sshd


4️⃣ Разблокировка IP-адреса

Для разблокировки IP-адреса используйте:

sudo fail2ban-client set sshd unbanip <IP-адрес>
Please open Telegram to view this post
VIEW IN TELEGRAM
👍162
This media is not supported in your browser
VIEW IN TELEGRAM
Кто хотел бы такую домой?)
👍123🔥3
Рекурсивный поиск слов в файлах и папках в Linux

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

В этом посте рассмотрим два способа, как рекурсивно найти слово или фразу в файлах с использованием консоли и Midnight Commander.


1. Поиск фразы в файлах через консоль

Для поиска фразы во всех файлах в указанной директории используйте команду grep:

grep -iRl "фраза" /директория/где/искать


Пример:

grep -iRl "merionet" /home/user/merion


Эта команда найдет файлы в директории /home/user/merion и ее подпапках, содержащие слово merionet.

Ключи команды grep:
• -i — игнорирует регистр (поиск “Merionet” и “merionet” даст одинаковый результат).
• -R — рекурсивный поиск в подпапках.
• -l — выводит только названия файлов с совпадением.

Дополнительные ключи:
• -n — показывает номера строк с совпадением.
• -w — выделяет точные совпадения слова.

Пример с дополнительными ключами:

grep -iRn "merionet" /home/user/merion


2. Поиск фразы через Midnight Commander

Midnight Commander (mc) — удобный файловый менеджер для работы через консоль. Он позволяет искать текст внутри файлов.

Установка mc:

sudo apt install mc        # для Debian/Ubuntu  
sudo yum install mc # для CentOS/RHEL


Использование mc для поиска текста:
1️⃣Запустите Midnight Commander:

mc


2️⃣ В меню Command выберите Find File (или нажмите Alt+Shift+F).
3️⃣ В открывшейся форме заполните поля:
Start at — директория, где нужно искать.
File name — маска файлов для поиска (например, *.txt).
Content — фраза или слово для поиска.
4️⃣ Нажмите OK и дождитесь результатов.

Пример настройки:
Start at: /home/user/merion
File name: *.log
Content: merionet

Midnight Commander выведет список файлов, содержащих указанную фразу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥1
💬Вопрос на собеседовании для сисадмина

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

Вопрос: Как ограничить количество файлов, которые пользователь может создавать в системе?

Ответ: Для этого используется команда ulimit и файл /etc/security/limits.conf.

1️⃣Временное ограничение:

ulimit -n 4096  


• Устанавливает лимит на количество открытых файлов до завершения сессии.

2️⃣ Постоянное ограничение:
Добавьте в /etc/security/limits.conf:

username hard nofile 8192  


Лимиты помогают предотвращать перегрузку системных ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥42
Какой метод предотвращает использование уязвимостей динамического транкинга в сети?
Anonymous Quiz
25%
LLDP
49%
Отключение DTP
16%
VTP
10%
CDP
👍3
Перезагрузка локального сервера Linux

1️⃣Использование команды shutdown

Для безопасной перезагрузки системы выполните:

sudo shutdown -r now


• -r — указывает, что система должна перезагрузиться.
• now — указывает выполнить перезагрузку немедленно.

Если необходимо запланировать перезагрузку:

sudo shutdown -r +15


В этом случае система будет перезагружена через 15 минут. Чтобы отменить запланированное действие, используйте:

sudo shutdown -c


Полезно: Сообщение для пользователей можно передать в команде:

sudo shutdown -r +10 "Система будет перезагружена через 10 минут"


2️⃣Команда reboot

Более краткий способ выполнить перезагрузку:

sudo reboot


Эта команда выполняет ту же функцию, что и shutdown -r now.

3️⃣ Использование systemctl

Для управления процессами systemd можно воспользоваться systemctl:

sudo systemctl reboot


Эта команда также инициирует безопасную перезагрузку системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥3
🤣21👍10