Shell скрипт для управления Linux- пользователями
Функциональные возможности
Создание пользователей
Просмотр списка существующих пользователей
Сброс пароля для существующих пользователей
Блокировка / Разблокировка пользовтеля
Просмотр всех заблокированных пользователей
Создание резервной копии домашнего каталога пользователя
Генерирование SSH ключей для пользователя
Повышение пользователя до админа и обратно
Удаление пользователя
Запись всех действий в журнал actions.log
Резервные копии
Скрипт создает каталог резервных копий в папке скрипта и создает архив tar.gz с именем, содержащим - имя пользователя и текущую дату
Генерация SSH ключа
Для генерации используется ssh-keygen, в результате будут отображены сведения о том, куда был сохранен ключ и отображено содержимое публичного ключа:
https://github.com/m0zgen/user-manager
Функциональные возможности
Создание пользователей
Просмотр списка существующих пользователей
Сброс пароля для существующих пользователей
Блокировка / Разблокировка пользовтеля
Просмотр всех заблокированных пользователей
Создание резервной копии домашнего каталога пользователя
Генерирование SSH ключей для пользователя
Повышение пользователя до админа и обратно
Удаление пользователя
Запись всех действий в журнал actions.log
Резервные копии
Скрипт создает каталог резервных копий в папке скрипта и создает архив tar.gz с именем, содержащим - имя пользователя и текущую дату
Генерация SSH ключа
Для генерации используется ssh-keygen, в результате будут отображены сведения о том, куда был сохранен ключ и отображено содержимое публичного ключа:
https://github.com/m0zgen/user-manager
GitHub
GitHub - m0zgen/user-manager: ⚙ Linux script for user management
⚙ Linux script for user management. Contribute to m0zgen/user-manager development by creating an account on GitHub.
👍3❤2
📁 Работа с файлами и каталогами в Linux
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
https://telegra.ph/Rabota-s-fajlami-i-katalogami-v-Linux-09-19
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
https://telegra.ph/Rabota-s-fajlami-i-katalogami-v-Linux-09-19
❤2👍2
Объединение команд - последовательное и параллельное выполнение в bash
Символы групповых операций
Мы уже изучили достаточно команд и наверняка возникал вопрос как применить данные команды сразу к группе файлов. Например, за раз скопировать несколько файлов в каталог или наоборот удалить ненужные файлы. Делать одну и ту же операцию один за другим довольно утомительное и ненужное занятие.
Поэтому в Linux имеются специальные символы, которые позволяют проводить данные операции над несколькими файлами.
https://telegra.ph/Obedinenie-komand---posledovatelnoe-i-parallelnoe-vypolnenie-v-bash-10-12
Символы групповых операций
Мы уже изучили достаточно команд и наверняка возникал вопрос как применить данные команды сразу к группе файлов. Например, за раз скопировать несколько файлов в каталог или наоборот удалить ненужные файлы. Делать одну и ту же операцию один за другим довольно утомительное и ненужное занятие.
Поэтому в Linux имеются специальные символы, которые позволяют проводить данные операции над несколькими файлами.
https://telegra.ph/Obedinenie-komand---posledovatelnoe-i-parallelnoe-vypolnenie-v-bash-10-12
❤3👍2
API-аналитик трафика для Kubernetes, обеспечивающий видимость на уровне протоколов K8s в реальном времени, захватывающий и отслеживающий весь трафик и полезную нагрузку, проходящие в, из и между контейнерами, подами, узлами и кластерами. Вдохновленный Wireshark, специально разработан для Kubernetes.
👍2❤1
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
🔥3👍1
Продвинутая работа с логами в Linux
journalctl - Работа со структурированными логами
Журнал событий, это компонент systemd, который захватывает сообщения Syslog, логи ядра, все события при инициализации системы (RAM, диск, boot, STDOUT/STDERR для всех сервисов), индексирует их и затем предоставляет удобной пользовательский интерфейс для поиска и фильтрации логов. Журнал (systemd journal) можно использовать вместе или вместо syslog или syslog-ng.
Утилита командной строки journalctl, если сравнивать ее с традиционным инструментами для работы с логами в UNIX (tail, grep, sed, awk) более широкие возможности.
Давайте рассмотрим основные возможности которые предоставляет журнал systemd и способы их применения.
https://habr.com/ru/articles/749714/
journalctl - Работа со структурированными логами
Журнал событий, это компонент systemd, который захватывает сообщения Syslog, логи ядра, все события при инициализации системы (RAM, диск, boot, STDOUT/STDERR для всех сервисов), индексирует их и затем предоставляет удобной пользовательский интерфейс для поиска и фильтрации логов. Журнал (systemd journal) можно использовать вместе или вместо syslog или syslog-ng.
Утилита командной строки journalctl, если сравнивать ее с традиционным инструментами для работы с логами в UNIX (tail, grep, sed, awk) более широкие возможности.
Давайте рассмотрим основные возможности которые предоставляет журнал systemd и способы их применения.
https://habr.com/ru/articles/749714/
❤2
Запуск Windows-контейнеров под Linux и MacOS
Если на компьютере под Linux нужно быстренько запустить Windows или MacOS, самый простой и быстрый способ сделать это — ввести команду для скачивания и загрузки докер-контейнера с этой ОС.
В маркетплейсе RuVDS много готовых образов с установленными операционными системами. Там разные дистрибутивы Linux, Windows Server и CentOS. Но нет контейнеров с операционными системами.
Операционная система в докер-контейнере (в QEMU) не требует ручной инсталляции ОС. Всего одна команда в консоли — и контейнер Windows скачивается и запускается.
https://habr.com/ru/companies/ruvds/articles/901004/
Если на компьютере под Linux нужно быстренько запустить Windows или MacOS, самый простой и быстрый способ сделать это — ввести команду для скачивания и загрузки докер-контейнера с этой ОС.
В маркетплейсе RuVDS много готовых образов с установленными операционными системами. Там разные дистрибутивы Linux, Windows Server и CentOS. Но нет контейнеров с операционными системами.
Операционная система в докер-контейнере (в QEMU) не требует ручной инсталляции ОС. Всего одна команда в консоли — и контейнер Windows скачивается и запускается.
https://habr.com/ru/companies/ruvds/articles/901004/
👍2
Шпаргалка по RAID
Информация о RAID
Сборка RAID
при получении ответа mdadm: Unrecognised md component device -
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.
Создание файловой системы и монтирование массива
nano /etc/fstab, прописать
Восстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
Статус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
Запасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
Добавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
* где
Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm
— утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.Информация о RAID
cat /proc/mdstat
- состояние всех RAIDmdadm -D /dev/md0
- подробная инфа о конкретном RAIDlsblk
- список дисков с разделами, местом, типомdf -hT
- свободное место, тип файловой системы, точки монтированияСборка RAID
mdadm —zero-superblock —force /dev/sd{b,c}
- обнуление суперблоков на дисках sdb sdc (для удаления инфы о других RAID)при получении ответа mdadm: Unrecognised md component device -
/dev/sdb
значит, что диск не использовался для RAID, продолжаемmdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.
Создание файловой системы и монтирование массива
mkfs.ext4 /dev/md0
- создание файловой системы ext4 на md0mount /dev/md0 /mnt
- разово примонтировать md0 к /mnt
nano /etc/fstab, прописать
/dev/md0 /mnt ext4 defaults 1 2
- постоянное монтирование, работает после перезагрузкиВосстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
mdadm /dev/md0 —remove /dev/sdc
- удалить сбойный дискmdadm /dev/md0 —add /dev/sde
- добавить новый диск в массивСтатус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm —assemble —scan
- команда сама найдет необходимую конфигурацию и восстановит RAID.mdadm —assemble /dev/md0 /dev/sdb /dev/sdc
- с указанием из каких дисков пересобратьЗапасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
mdadm /dev/md0 —add /dev/sdd
- Диском Hot Spare станет тот, который просто будет добавлен к массивуДобавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
mdadm /dev/md0 —add /dev/sde
mdadm -G /dev/md0 —raid-devices=3
- расширяем RAID* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
apt-get install mdadm
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
umount /mnt
* где
/mnt
— каталог монтирования нашего RAID.mdadm -S /dev/md0
Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm —zero-superblock /dev/sdb
mdadm —zero-superblock /dev/sdc
mdadm —zero-superblock /dev/sdd
👍4❤1
Fail2Ban: Шпаргалка по настройке
Fail2Ban — инструмент для защиты сервера от перебора паролей (brute-force) и других атак, блокируя IP-адреса через
Установка
Debian/Ubuntu:
RHEL/CentOS:
Базовая настройка
1. Создаём локальную копию конфига:
2. Открываем для редактирования:
3. Ключевые параметры:
Пример: защита SSH
Проверка и управление
- Запуск/остановка:
- Статус:
- Статус конкретного jail:
- Разбанить IP:
Полезные логи
- Fail2Ban логи:
- Проверка правил iptables:
Советы :
✅ Создавайте
✅ Добавляйте свои фильтры в
✅ Используйте
Fail2Ban — инструмент для защиты сервера от перебора паролей (brute-force) и других атак, блокируя IP-адреса через
iptables
, firewalld
, nftables
и др.Установка
Debian/Ubuntu:
sudo apt update && sudo apt install fail2ban
RHEL/CentOS:
sudo dnf install fail2ban
Базовая настройка
1. Создаём локальную копию конфига:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
2. Открываем для редактирования:
sudo nano /etc/fail2ban/jail.local
3. Ключевые параметры:
[DEFAULT]
bantime = 3600 # Время бана (в секундах)
findtime = 600 # Интервал поиска неудачных попыток
maxretry = 5 # Сколько раз можно ошибиться
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 # IP без блокировки
Пример: защита SSH
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3
bantime = 1h
Проверка и управление
- Запуск/остановка:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- Статус:
sudo fail2ban-client status
- Статус конкретного jail:
sudo fail2ban-client status sshd
- Разбанить IP:
sudo fail2ban-client set sshd unbanip 1.2.3.4
Полезные логи
- Fail2Ban логи:
/var/log/fail2ban.log
- Проверка правил iptables:
sudo iptables -L -n
Советы :
✅ Создавайте
.local
-файлы вместо правки .conf
✅ Добавляйте свои фильтры в
/etc/fail2ban/filter.d
✅ Используйте
fail2ban-regex
для теста фильтров👍4❤1
Руководство по обеспечению безопасности Linux-сервера
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
❤3