7 полезных команд в Linux
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
⏺ grpck — проверка целостности информации о группах, а именно: все записи в /etc/group и /etc/gshadow имеют правильный формат и содержат допустимые данные.
⏺ halt — указание аппаратному обеспечению компьютера остановить все исполняющиеся в данный момент процессы. Основное применение — перезагрузка или выключение системы.
⏺ ifup — задействует (поднимает) сетевой интерфейс, позволяя ему передавать и получать данные.
⏺ hdparm — получение информации о жестком диске, изменении интервалов записи, настроек DMA (сокр. от «Direct Memory Access»).
⏺ ipcrm — удаление IPC-ресурсов (сокр. от «Inter-Process Communication») и связанных с ними данных.
⏺ let — вычисление арифметических выражений для переменных оболочки.
⏺ look — выводит строки, начинающиеся с заданной подстроки.
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.«vgextend <vloume_group_name> /dev/sdb».Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👏4❤1
Как вывести от определённого столбца до последнего в командной строке Linux
В этом посте рассмотрим, как вывести данные с определённого столбца до последнего в командной строке Linux. Например:
• Как вывести со второго столбца до последнего
• Как вывести с третьего столбца до последнего
• Как вывести с четвёртого столбца до последнего
• Как вывести с n-го столбца до последнего
• Как вывести последний столбец
Для этих целей можно использовать команды cut и awk.
Использование команды cut
Как вывести с n-го столбца до последнего:
Используйте следующую команду, заменив «N» на номер столбца, с которого необходимо начать вывод:
Вывести со второго столбца до последнего:
Пример:
Вывести с третьего столбца до последнего:
Пример:
Вывести с четвёртого столбца до последнего:
Пример:
Использование команды awk
Как вывести с n-го столбца до последнего:
В awk вы можете использовать следующую команду:
Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.
Для удаления лишних пробелов используйте команду sed:
Или:
Вывести со второго столбца до последнего:
Примеры:
Вывести с третьего столбца до последнего:
Примеры:
Вывести с четвёртого столбца до последнего:
Примеры:
Как вывести последний столбец
Для вывода последнего столбца с помощью awk используйте команду:
Пример:
Если вы хотите обойтись без awk, используйте следующую команду:
Пример:
В этом посте рассмотрим, как вывести данные с определённого столбца до последнего в командной строке Linux. Например:
• Как вывести со второго столбца до последнего
• Как вывести с третьего столбца до последнего
• Как вывести с четвёртого столбца до последнего
• Как вывести с n-го столбца до последнего
• Как вывести последний столбец
Для этих целей можно использовать команды cut и awk.
Использование команды cut
Как вывести с n-го столбца до последнего:
Используйте следующую команду, заменив «N» на номер столбца, с которого необходимо начать вывод:
cut -fN- -d' '
Вывести со второго столбца до последнего:
cut -f2- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f2- -d' '
Вывести с третьего столбца до последнего:
cut -f3- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f3- -d' '
Вывести с четвёртого столбца до последнего:
cut -f4- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f4- -d' '
Использование команды awk
Как вывести с n-го столбца до последнего:
В awk вы можете использовать следующую команду:
awk '{$1=$2=$3=""; print $0}'Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.
Для удаления лишних пробелов используйте команду sed:
awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"Или:
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Вывести со второго столбца до последнего:
awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; $0=$0; $1=$1; print}'Вывести с третьего столбца до последнего:
awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; $0=$0; $1=$1; print}'Вывести с четвёртого столбца до последнего:
awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Как вывести последний столбец
Для вывода последнего столбца с помощью awk используйте команду:
awk '{print $NF}'Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{print $NF}'Если вы хотите обойтись без awk, используйте следующую команду:
rev | cut -d' ' -f1 | rev
Пример:
echo 'vddp vddpi vss' | rev | cut -d' ' -f1 | rev
🔥11👍9❤2
Что делает команда fio в Linux?
Anonymous Quiz
63%
Тестирует производительность ввода-вывода дисков
20%
Управляет файловыми системами
3%
Конфигурирует параметры сети
14%
Мониторит использование памяти
❤6👍3
Одновременное использование нескольких OpenVPN на одном сервере
Вы можете одновременно использовать несколько OpenVPN процессов на одном сервере, настроив их для работы на разных портах и предоставляя отдельные виртуальные частные сети, не пересекающиеся друг с другом.
Шаги по настройке
1️⃣ Разные порты для служб OpenVPN
Все OpenVPN службы должны использовать уникальные порты. UDP и TCP могут использовать одинаковые номера портов, если они работают на разных протоколах. Например:
2️⃣ Диапазон адресов виртуальной частной сети
В конфигурационном файле указываются разные диапазоны IP адресов для каждой службы OpenVPN:
3️⃣ Маршрутизация трафика
Включите NAT для трафика всех виртуальных частных сетей, чтобы они могли подключаться к Интернету.
Пример конфигурации файла
Проверьте настройки NAT командой:
4️⃣ Настройка статичных локальных адресов
Если вы назначаете статичные IP для клиентов, используйте уникальные имена клиентов и диапазоны IP адресов для каждой сети OpenVPN.
5️⃣ Запуск и добавление служб в автозагрузку
Используйте systemctl для управления службами OpenVPN. Например, для запуска службы с конфигурацией server-tcp.conf:
Вы можете одновременно использовать несколько OpenVPN процессов на одном сервере, настроив их для работы на разных портах и предоставляя отдельные виртуальные частные сети, не пересекающиеся друг с другом.
Шаги по настройке
Все OpenVPN службы должны использовать уникальные порты. UDP и TCP могут использовать одинаковые номера портов, если они работают на разных протоколах. Например:
2021-11-02 09:26:50 us=736094 TCP/UDP: Socket bind failed on local address [AF_INET][undef]:53: Address already in use (errno=98)
2021-11-02 09:26:50 us=736216 Exiting due to fatal error
В конфигурационном файле указываются разные диапазоны IP адресов для каждой службы OpenVPN:
server 10.8.0.0 255.255.255.0
server 10.8.1.0 255.255.255.0
server 10.8.2.0 255.255.255.0
Включите NAT для трафика всех виртуальных частных сетей, чтобы они могли подключаться к Интернету.
Пример конфигурации файла
/root/bin/vpn_route.sh:#!/bin/sh
DEV='ens3'
PRIVATE=10.8.0.0/24
sysctl net.ipv4.ip_forward=1
iptables -I FORWARD -j ACCEPT
iptables -t nat -I POSTROUTING -s $PRIVATE -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.1.0/24 -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.2.0/24 -o $DEV -j MASQUERADE
Проверьте настройки NAT командой:
iptables -L -t nat
Если вы назначаете статичные IP для клиентов, используйте уникальные имена клиентов и диапазоны IP адресов для каждой сети OpenVPN.
Используйте systemctl для управления службами OpenVPN. Например, для запуска службы с конфигурацией server-tcp.conf:
sudo systemctl start openvpn-server@server-tcp.service
systemctl status openvpn-server@server-tcp.service
journalctl -xeu openvpn-server@server-tcp.service
sudo systemctl enable openvpn-server@server-tcp.service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
Релиз Linux 6.10
14 июля 2024 года Линус Торвальдс представил стабильный релиз ядра Linux 6.10.
Исходный код доступен на kernel.org, а коммит релиза — на GitHub и Makefile.
Linux 6.10 включает 14 564 исправления от 1 989 разработчиков, патч размером 41 МБ изменяет 12 509 файлов, добавлено 547 663 строки кода, удалено 312 464.
Около 41% изменений связаны с драйверами устройств, 15% — с кодом для аппаратных архитектур, 13% — с сетевым стеком, 5% — с файловыми системами и 4% касаются внутренних подсистем ядра.
Основные новшества:
⏺ Драйвер Panthor DRM для Arm Mali.
⏺ Поддержка графики Intel Xe2 и AMD ROCm/AMDKFD.
⏺ Улучшенная производительность IO_uring и AES-XTS на современных процессорах.
⏺ Поддержка Steam Deck IMU, RISC-V, и Rust.
⏺ Подсистема ntsync для игр Linux/Wine.
⏺ JIT-компилятор BPF для ARCv2.
⏺ Поддержка Rust обновлена до 1.78.0.
⏺ ARM получила Clang CFI и LPAE privileged-access-never.
⏺ OverlayFS теперь поддерживает создание временных файлов с O_TMPFILE.
Поддержка нового оборудования включает платы Radxa ROCK 3C, процессоры Intel Arrow Lake-H, ноутбуки Lenovo Thinkbook и ASUS ROG 2024, и контроллер Machenike G5 Pro.
🔥 Ожидается, что релиз Linux 6.11 состоится в середине или конце сентября 2024 года.
14 июля 2024 года Линус Торвальдс представил стабильный релиз ядра Linux 6.10.
Новая версия вышла по графику, спустя два месяца после Linux 6.9.
Исходный код доступен на kernel.org, а коммит релиза — на GitHub и Makefile.
Linux 6.10 включает 14 564 исправления от 1 989 разработчиков, патч размером 41 МБ изменяет 12 509 файлов, добавлено 547 663 строки кода, удалено 312 464.
Около 41% изменений связаны с драйверами устройств, 15% — с кодом для аппаратных архитектур, 13% — с сетевым стеком, 5% — с файловыми системами и 4% касаются внутренних подсистем ядра.
Основные новшества:
Поддержка нового оборудования включает платы Radxa ROCK 3C, процессоры Intel Arrow Lake-H, ноутбуки Lenovo Thinkbook и ASUS ROG 2024, и контроллер Machenike G5 Pro.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Логи в Linux. Модули и сервер логов
Обсудим работу с модулями в rsyslogd, интеграцию rsyslogd и journald, а также настройку центрального сервера логов.
Модули rsyslogd
Модули делают rsyslogd расширяемым и позволяют включать дополнительные функции.
В rsyslogd используются различные типы модулей:
⏺ Модули ввода (im): определяют, откуда rsyslogd будет получать сообщения.
⏺ Модули вывода (om): позволяют отправлять сообщения в разные места, например, в базы данных.
⏺ Другие модули: синтаксического анализа, модификации сообщений и т.д.
Модули позволяют поддерживать обратную совместимость с оригинальным syslog, одновременно вводя новые функции.
Пример использования модуля imfile
Модуль imfile используется для мониторинга входного файла и записи новых событий в rsyslogd.
Параметры модуля imfile
⏺ $InputFileName: Имя файла, который отслеживает модуль.
⏺ $InputFileTag: Тег, используемый при записи логов.
⏺ $InputFileStateFile: Имя файла, который rsyslog использует для внутреннего отслеживания изменений.
⏺ $InputRunFileMonitor: Параметр для запуска непрерывного мониторинга входного файла.
⏺ $InputFileFacility: Название объекта rsyslog, используемого в этом модуле.
⏺ $InputFileSeverity: Приоритет (тип сообщения), используемый при логировании.
⏺ $InputFilePollInterval: Интервал опроса входного файла.
Пример использования модуля ommysql
Модуль ommysql позволяет записывать сообщения в MySQL или MariaDB.
Для отправки сообщений в MySQL требуется немного настроек. Необходимо загрузить модуль вывода ommysql и добавить строку для отправки всех сообщений в модуль ommysql, настроенный во второй строке.
Параметры включают:
• Имя сервера базы данных.
• Название базы данных.
• Имя пользователя для подключения к базе данных.
• Пароль пользователя.
❗️ Убедитесь, что файл конфигурации защищен от несанкционированного доступа.
Обсудим работу с модулями в rsyslogd, интеграцию rsyslogd и journald, а также настройку центрального сервера логов.
Модули rsyslogd
Модули делают rsyslogd расширяемым и позволяют включать дополнительные функции.
В rsyslogd используются различные типы модулей:
Модули позволяют поддерживать обратную совместимость с оригинальным syslog, одновременно вводя новые функции.
Пример использования модуля imfile
Модуль imfile используется для мониторинга входного файла и записи новых событий в rsyslogd.
$ModLoad imfile
$InputFileName /var/log/httpd/access_log
$InputFileTag apache-access:
$InputFileStateFile state-apache-access
$InputRunFileMonitor
$InputFileFacility local1
$InputFileSeverity info
$InputFilePollInterval 30
Параметры модуля imfile
Пример использования модуля ommysql
Модуль ommysql позволяет записывать сообщения в MySQL или MariaDB.
$ModLoad ommysql
*.* :ommysql:myservername,rsyslog,dbuser,password
Для отправки сообщений в MySQL требуется немного настроек. Необходимо загрузить модуль вывода ommysql и добавить строку для отправки всех сообщений в модуль ommysql, настроенный во второй строке.
Параметры включают:
• Имя сервера базы данных.
• Название базы данных.
• Имя пользователя для подключения к базе данных.
• Пароль пользователя.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46👍7🤬6🌚1🤣1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Если дело касается максимизации эффективности непрерывной интеграции, то вариантов предостаточно.
Однако наиболее известными являются:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Какая команда в Linux используется для анализа и управления приоритетами ввода-вывода процессов?
Anonymous Quiz
36%
ionice
29%
nice
13%
renice
21%
ioprio_set
👍12
Логи в Linux. Модули и сервер логов. Часть 2
Первая часть тут
Подключение journald к rsyslog
Journald отправляет сообщения в rsyslog по умолчанию. Это настроено в файле /etc/systemd/journald.conf с параметром ForwardToSyslog=yes.
В rsyslog.conf необходимы следующие строки:
Первая строка отключает прием логов через модуль imuxsocks. Вторая строка определяет имя файла состояния, который rsyslogd использует для отслеживания синхронизации между rsyslogd и journald.
Настройка удаленного логирования
Центральный сервер логов позволяет хранить сообщения на удаленном сервере, что повышает безопасность и упрощает анализ логов. Для настройки удаленного логирования:
⏺ Настройте rsyslogd на сервере для приема сообщений через модули imudp или imtcp.
⏺ Откройте соответствующий порт в файерволе.
⏺ Настройте клиентские серверы для отправки сообщений на удаленный сервер логов.
Пример настройки
На сервере для приема сообщений (server2):
На клиентском сервере (server1):
Для отправки сообщений по TCP используйте двойной @, для UDP — одинарный @.
Преимущества использования удаленного сервера логов
⏺ Безопасность: Сообщения, хранящиеся на удаленном сервере, защищены от злоумышленников.
⏺ Хранение: Больше места для хранения сообщений, возможность настройки logrotate для более длительного хранения сообщений.
⏺ Удобство: Анализ логов с одного сервера проще, чем подключение к нескольким серверам.
Первая часть тут
Подключение journald к rsyslog
Journald отправляет сообщения в rsyslog по умолчанию. Это настроено в файле /etc/systemd/journald.conf с параметром ForwardToSyslog=yes.
В rsyslog.conf необходимы следующие строки:
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
Первая строка отключает прием логов через модуль imuxsocks. Вторая строка определяет имя файла состояния, который rsyslogd использует для отслеживания синхронизации между rsyslogd и journald.
Настройка удаленного логирования
Центральный сервер логов позволяет хранить сообщения на удаленном сервере, что повышает безопасность и упрощает анализ логов. Для настройки удаленного логирования:
Пример настройки
На сервере для приема сообщений (server2):
$ModLoad imtcp
$InputTCPServerRun 514
firewall-cmd --add-port=514/tcp --permanent
firewall-cmd --reload
На клиентском сервере (server1):
*.* @@адрес-сервера-server2:514
systemctl restart rsyslog
Для отправки сообщений по TCP используйте двойной @, для UDP — одинарный @.
Преимущества использования удаленного сервера логов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32
HEX редакторы в Linux
HEX редактор (или шестнадцатеричный редактор) — это инструмент, который позволяет просматривать и редактировать двоичные файлы, отображая их содержимое в шестнадцатеричном (HEX) формате.
Эти редакторы полезны для работы с низкоуровневыми данными, такими как структуры файлов, прошивки, двоичные протоколы, и даже для отладки программного обеспечения.
Как работает HEX редактор?
HEX редакторы представляют данные в виде двух столбцов: шестнадцатеричные значения байтов и их ASCII-эквиваленты.
Это позволяет пользователям видеть как числовые, так и текстовые представления данных.
Основные функции HEX редакторов
• Просмотр и редактирование байтов: Возможность изменять отдельные байты данных.
• Поиск и замена: Поиск определённых последовательностей байтов и их замена.
• Анализ структуры файлов: Возможность видеть заголовки файлов и другие структуры.
• Работа с большими файлами: Поддержка больших двоичных файлов, что часто важно для анализа образов дисков и прошивок.
Лучшие HEX редакторы для Linux
⏺ GHex — это простой и удобный графический HEX редактор для GNOME. Он позволяет легко просматривать и редактировать двоичные файлы. Интуитивно понятный интерфейс и возможность редактирования данных в реальном времени делают его отличным выбором для пользователей, которые предпочитают работать в графической среде.
⏺ HexEdit — мощный командный HEX редактор с множеством функций. Он предлагает интерактивный интерфейс с цветовой подсветкой, что упрощает анализ данных. HexEdit поддерживает работу с большими файлами и позволяет эффективно искать и заменять последовательности байтов.
⏺ Bless — это мощный и универсальный HEX редактор с графическим интерфейсом. Bless предлагает многофункциональный интерфейс с вкладками и поддержкой плагинов, что делает его подходящим для комплексного анализа и редактирования данных. Он также хорошо справляется с большими файлами и различными типами данных.
HEX редактор (или шестнадцатеричный редактор) — это инструмент, который позволяет просматривать и редактировать двоичные файлы, отображая их содержимое в шестнадцатеричном (HEX) формате.
Эти редакторы полезны для работы с низкоуровневыми данными, такими как структуры файлов, прошивки, двоичные протоколы, и даже для отладки программного обеспечения.
Как работает HEX редактор?
HEX редакторы представляют данные в виде двух столбцов: шестнадцатеричные значения байтов и их ASCII-эквиваленты.
Например, байт с шестнадцатеричным значением 41 будет отображаться как буква 'A'.
Это позволяет пользователям видеть как числовые, так и текстовые представления данных.
Основные функции HEX редакторов
• Просмотр и редактирование байтов: Возможность изменять отдельные байты данных.
• Поиск и замена: Поиск определённых последовательностей байтов и их замена.
• Анализ структуры файлов: Возможность видеть заголовки файлов и другие структуры.
• Работа с большими файлами: Поддержка больших двоичных файлов, что часто важно для анализа образов дисков и прошивок.
Лучшие HEX редакторы для Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Первый, с использованием команды systool. Например так:
# systool -c fc_host -v | grep «port_name»
Второй способ — просмотреть содержимое файла классов в файловой системе sys:
# cat /sys/class/fc_host/host*/port_name
0x7001639028cbeca0
0x7001639028cbefa2
0x7001639028cbf5d8
0x7001639028cbf6da
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔5
Настройка SSH и MOTD баннера в CentOS
Для каждого сервера полезно установить баннер, который может предупредить злоумышленников о возможных последствиях взлома, а также предоставлять важную информацию пользователям после успешной авторизации.
В CentOS есть две сущности: баннер и MOTD (Message of the Day).
Баннер отображается после ввода логина, а MOTD показывается после успешной авторизации.
Настройка SSH баннера
Создайте файл /etc/issue.net и добавьте текст вашего баннера. Например:
В файле /etc/issue.net добавьте:
********************************************
Настройка SSH для отображения баннера:
Отредактируйте конфигурационный файл SSH /etc/ssh/sshd_config:
Найдите и раскомментируйте (или добавьте) строку:
Перезапустите службу SSH, чтобы изменения вступили в силу:
Настройка MOTD
Отредактируйте файл /etc/motd для добавления сообщения дня. Например:
В файле /etc/motd добавьте:
Обновление информации:
MOTD отображается автоматически после успешного входа в систему.
Если вам нужно, чтобы информация обновлялась динамически, вы можете использовать скрипты в директории /etc/profile.d/ или отредактировать файл /etc/profile.
Пример скрипта для динамического MOTD
Создайте скрипт в директории /etc/profile.d/, который будет генерировать динамическое сообщение:
Добавьте следующий код:
Сделайте скрипт исполняемым:
Для каждого сервера полезно установить баннер, который может предупредить злоумышленников о возможных последствиях взлома, а также предоставлять важную информацию пользователям после успешной авторизации.
В CentOS есть две сущности: баннер и MOTD (Message of the Day).
Баннер отображается после ввода логина, а MOTD показывается после успешной авторизации.
Настройка SSH баннера
Создайте файл /etc/issue.net и добавьте текст вашего баннера. Например:
sudo nano /etc/issue.net
В файле /etc/issue.net добавьте:
************************************************
* WARNING: Unauthorized access is prohibited *
* and will be prosecuted to the full extent *
* of the law. *
********************************************
Настройка SSH для отображения баннера:
Отредактируйте конфигурационный файл SSH /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Найдите и раскомментируйте (или добавьте) строку:
Banner /etc/issue.net
Перезапустите службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd
Настройка MOTD
Отредактируйте файл /etc/motd для добавления сообщения дня. Например:
sudo nano /etc/motd
В файле /etc/motd добавьте:
Welcome to the server!
Unauthorized access is prohibited.
Обновление информации:
MOTD отображается автоматически после успешного входа в систему.
Если вам нужно, чтобы информация обновлялась динамически, вы можете использовать скрипты в директории /etc/profile.d/ или отредактировать файл /etc/profile.
Пример скрипта для динамического MOTD
Создайте скрипт в директории /etc/profile.d/, который будет генерировать динамическое сообщение:
sudo nano /etc/profile.d/motd.sh
Добавьте следующий код:
#!/bin/bash
echo "Welcome to the server!"
echo "Current system date and time: $(date)"
echo "System load: $(uptime)"
echo "Logged in users: $(who)"
Сделайте скрипт исполняемым:
sudo chmod +x /etc/profile.d/motd.sh
👍21😁1🥴1
Сбой в Windows на ПК и серверах после обновления CrowdStrike затронул IT-инфраструктуру компаний, банков и аэропортов
18 и 19 июля 2024 года системные администраторы и корпоративные пользователи столкнулись с нерабочими ПК и серверами на Windows.
Инцидент произошёл глобально, затронув IT-инфраструктуру многих компаний, банков и аэропортов.
Проблема и последствия
Глава CrowdStrike Джордж Куртц заявил, что проблема была "выявлена, изолирована и исправлена", и был запущен процесс устранения неполадок.
Сбой затронул "все продукты Microsoft", что привело к нарушению работы банков, коммунальных предприятий, СМИ, ТВ, сотовой связи и интернет-провайдеров. Гражданская авиация многих стран приостановила полеты.
Действия системных администраторов
Системные администраторы начали экстренно отключать сервера с CrowdStrike.
Также временным решением стало переименование папки "c:\windows\system32\drivers\crowdstrike".
Временные решения от CrowdStrike:
1️⃣ Загрузка Windows в безопасном режиме или Windows Recovery Environment.
2️⃣ Удаление файла:
"C-00000291*.sys" в директории "C:\Windows\System32\drivers\CrowdStrike".
3️⃣ Изменение значения параметра реестра Windows 10:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSAgent" с 1 на 4.
⚡️ CrowdStrike и Microsoft продолжают работать над устранением проблемы. Microsoft сообщает о постепенной стабилизации ситуации после многочисленных жалоб на проблемы с доступом к сервисам компании.
18 и 19 июля 2024 года системные администраторы и корпоративные пользователи столкнулись с нерабочими ПК и серверами на Windows.
После обновления ИБ-приложения CrowdStrike начали возникать синие экраны смерти (BSOD) и бесконечные перезагрузки (Boot Loop).
Инцидент произошёл глобально, затронув IT-инфраструктуру многих компаний, банков и аэропортов.
Проблема и последствия
Глава CrowdStrike Джордж Куртц заявил, что проблема была "выявлена, изолирована и исправлена", и был запущен процесс устранения неполадок.
Сбой затронул "все продукты Microsoft", что привело к нарушению работы банков, коммунальных предприятий, СМИ, ТВ, сотовой связи и интернет-провайдеров. Гражданская авиация многих стран приостановила полеты.
Действия системных администраторов
Системные администраторы начали экстренно отключать сервера с CrowdStrike.
После этого ПК, IP-телефония и другие системы у корпоративных пользователей снова заработали.
Также временным решением стало переименование папки "c:\windows\system32\drivers\crowdstrike".
Временные решения от CrowdStrike:
"C-00000291*.sys" в директории "C:\Windows\System32\drivers\CrowdStrike".
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSAgent" с 1 на 4.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17👍5👎1😱1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17
🤷♂️ Microsoft выпустила инструмент для исправления BSOD в Windows из-за CrowdStrike с помощью загрузочного USB-накопителя
Microsoft выпустила вспомогательный инструмент для системных администраторов для исправления BSOD в Windows 10/11 из-за некорректного обновления ПО CrowdStrike с помощью загрузочного USB-накопителя и скрипта MsftRecoveryToolForCS.ps1.
Восстановление IT-систем клиентов может занять недели, так как администраторам приходится вручную возвращать к жизни ПК, серверы и ноутбуки.
Инструмент Microsoft Recovery Tool помогает обойти необходимость загрузки ПК в безопасном режиме и запуска процесса удаления проблемного файла вручную.
⏺ Он загружает среду Windows PE через USB-накопитель, получает доступ к диску поражённого компьютера и автоматически удаляет проблемный файл CrowdStrike.
Если диск защищён шифрованием BitLocker, инструмент запросит ключ восстановления.
Глава CrowdStrike Джордж Куртц заявил, что проблема вызвана логической ошибкой в файле обновления C-00000291-*.sys, затронувшей только хосты Windows.
👀 Microsoft также выпустила пошаговые инструкции для системных администраторов под названием KB5042421 для решения этой проблемы.
Microsoft выпустила вспомогательный инструмент для системных администраторов для исправления BSOD в Windows 10/11 из-за некорректного обновления ПО CrowdStrike с помощью загрузочного USB-накопителя и скрипта MsftRecoveryToolForCS.ps1.
Ранее CrowdStrike выпустила патч для исправления ошибки, но большинство ПК не могут автоматически получить его из-за своего нерабочего состояния.
Восстановление IT-систем клиентов может занять недели, так как администраторам приходится вручную возвращать к жизни ПК, серверы и ноутбуки.
Инструмент Microsoft Recovery Tool помогает обойти необходимость загрузки ПК в безопасном режиме и запуска процесса удаления проблемного файла вручную.
Если диск защищён шифрованием BitLocker, инструмент запросит ключ восстановления.
Microsoft сообщила, что глобальный сбой затронул не менее 8,5 млн устройств.
Глава CrowdStrike Джордж Куртц заявил, что проблема вызвана логической ошибкой в файле обновления C-00000291-*.sys, затронувшей только хосты Windows.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21👍5
Что такое chroot jail и как этим пользоваться?
Chroot (сокращение от "change root") — это операция Unix, которая изменяет видимый корневой каталог на тот, который задан пользователем.
Эта операция широко известна как chroot jail, поскольку процессы не могут читать или писать вне нового корневого каталога.
Для чего используется chroot jail?
Chroot jail используется для создания ограниченной «песочницы» для запуска процесса, что означает, что процесс не может изменять данные за пределами предписанного дерева каталогов.
Другим применением chroot jail является замена виртуальных машин, что называется виртуализацией на уровне ядра.
Создайте новый каталог с именем chroot_jail:
Если попытаться использовать chroot на этом каталоге, возникнет ошибка. Необходимо включить команду bash.
Создайте новое дерево подкаталогов внутри chroot_jail:
Скопируйте команды bash и ls:
Если у команды есть псевдоним, используйте unalias [command].
Добавьте все связанные библиотеки:
Скопируйте соответствующие библиотеки:
Измените корневой каталог на chroot_jail:
Запустится новый экземпляр оболочки bash. Используйте команду ls для вывода списка всех файлов и каталогов в новом корневом дереве каталогов:
Завершите использование новой корневой папки, выйдя из оболочки:
Chroot (сокращение от "change root") — это операция Unix, которая изменяет видимый корневой каталог на тот, который задан пользователем.
Любой процесс, который вы запускаете после операции chroot, имеет доступ только к новому определенному корневому каталогу и его подкаталогам.
Эта операция широко известна как chroot jail, поскольку процессы не могут читать или писать вне нового корневого каталога.
Для чего используется chroot jail?
Chroot jail используется для создания ограниченной «песочницы» для запуска процесса, что означает, что процесс не может изменять данные за пределами предписанного дерева каталогов.
Другим применением chroot jail является замена виртуальных машин, что называется виртуализацией на уровне ядра.
Создайте новый каталог с именем chroot_jail:
mkdir chroot_jail
Если попытаться использовать chroot на этом каталоге, возникнет ошибка. Необходимо включить команду bash.
Создайте новое дерево подкаталогов внутри chroot_jail:
mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu
Скопируйте команды bash и ls:
cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/
Если у команды есть псевдоним, используйте unalias [command].
Добавьте все связанные библиотеки:
ldd $(which bash)
ldd $(which ls)
Скопируйте соответствующие библиотеки:
cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/
Измените корневой каталог на chroot_jail:
sudo chroot chroot_jail
Запустится новый экземпляр оболочки bash. Используйте команду ls для вывода списка всех файлов и каталогов в новом корневом дереве каталогов:
ls -R
Завершите использование новой корневой папки, выйдя из оболочки:
exit
👍26
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.В общих чертах, шаблон проектирования представляет собой решение какой-то проблемы, с которой сталкиваются разработчики.
Эти шаблоны помогают новым разработчикам избежать возможных проблем… что же, показывая возможные шаблоны и решения.
Всего существует три главных типа шаблонов проектирования для разработчиков – поведенческие, творческие и структурные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Как расшарить папку в CentOS с помощью Samba
Для этого будем использовать сервер Samba и несколько дополнительных манипуляций.
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System).
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux. Для этого выполните команду:
Если результат такой же, как на скриншоте ниже, можете смело приступать к установке:
В противном случае вам необходимо будет отключить SELinux.
Для этого откройте конфигурационный файл /etc/selinux/config любым текстовым редактором, например Vi:
Поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой:
SELinux — дополнение к стандартной системе контроля доступа Linux. Его настройка достаточно трудоемка, и оно включено по умолчанию.
Без каких-либо манипуляций SELinux часто блокирует изменения, вызываемые при запуске различных служб или программ.
Теперь приступаем к установке Samba сервера. Выполните команду:
Настройка
Теперь создадим папку, которой будем предоставлять общий доступ:
Откройте файл конфигурации Samba:
Добавьте в конец файла следующие строки:
Сохраните и закройте файл.
Настройка разрешений и перезапуск сервиса
Установите нужные разрешения для папки:
Перезапустите сервисы Samba:
Убедитесь, что сервисы Samba запущены и добавьте их в автозагрузку:
Открытие портов в брандмауэре
Откройте необходимые порты в брандмауэре для Samba:
Теперь вы можете подключиться к расшаренной папке с любого устройства в вашей сети. Для этого в проводнике Windows введите:
Таким образом, вы успешно настроили Samba на CentOS для предоставления общего доступа к папке без указания пароля.
Расскажу, как «расшарить» папку на CentOS сервере, то есть предоставить ей общий доступ без указания пароля.
Для этого будем использовать сервер Samba и несколько дополнительных манипуляций.
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System).
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux. Для этого выполните команду:
selinuxenabled && echo enabled || echo disabled
Если результат такой же, как на скриншоте ниже, можете смело приступать к установке:
[root@server ~]# selinuxenabled && echo enabled || echo disabled
disabled
В противном случае вам необходимо будет отключить SELinux.
Для этого откройте конфигурационный файл /etc/selinux/config любым текстовым редактором, например Vi:
vi /etc/selinux/config
Поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой:
reboot
SELinux — дополнение к стандартной системе контроля доступа Linux. Его настройка достаточно трудоемка, и оно включено по умолчанию.
Без каких-либо манипуляций SELinux часто блокирует изменения, вызываемые при запуске различных служб или программ.
Теперь приступаем к установке Samba сервера. Выполните команду:
yum install samba samba-common cups-libs samba-client
Настройка
Теперь создадим папку, которой будем предоставлять общий доступ:
mkdir -p /root/SHAREDFOLDER
Откройте файл конфигурации Samba:
vi /etc/samba/smb.conf
Добавьте в конец файла следующие строки:
[SHAREDFOLDER]
path = /root/SHAREDFOLDER
browsable = yes
writable = yes
guest ok = yes
read only = no
Сохраните и закройте файл.
Настройка разрешений и перезапуск сервиса
Установите нужные разрешения для папки:
chmod -R 0777 /root/SHAREDFOLDER
chown -R nobody:nobody /root/SHAREDFOLDER
Перезапустите сервисы Samba:
systemctl restart smb
systemctl restart nmb
Убедитесь, что сервисы Samba запущены и добавьте их в автозагрузку:
systemctl enable smb
systemctl enable nmb
Открытие портов в брандмауэре
Откройте необходимые порты в брандмауэре для Samba:
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
Теперь вы можете подключиться к расшаренной папке с любого устройства в вашей сети. Для этого в проводнике Windows введите:
\\<IP-адрес вашего сервера>\SHAREDFOLDER
Таким образом, вы успешно настроили Samba на CentOS для предоставления общего доступа к папке без указания пароля.
👍15❤1