Программа проверки истечения срока действия SSL-сертификатов
ssl-cert-check - это скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов. Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.
https://github.com/Matty9191/ssl-cert-check
ssl-cert-check - это скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов. Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.
https://github.com/Matty9191/ssl-cert-check
❤1👍1
Пример правильного использования Chmod
Правила доступа по умолчанию для каталогов
Ниже пример того, как в каталоге
Первой командой переходим в нужную директорию, далее с помощью команды
Правила доступа по умолчанию для каталогов
755
, для файлов 644
. Поэтому, в подавляющем большинстве случаев, вам понадобятся только эти права.Ниже пример того, как в каталоге
/var/www/i_odmin_book
на все файлы рекурсивно поставить права 0644
, а на все каталоги и подкаталоги 0755
cd /var/www/i_odmin_book
find ./ -type f -exec chmod 0644 {} \;
find ./ -type d -exec chmod 0755 {} \;
Первой командой переходим в нужную директорию, далее с помощью команды
find
ищем нужный тип: файлы -f (files)
и каталоги -d (directories)
— и запускаем chmod
с нужными правами.❤2
Полезные команды Linux. Манипуляции с текстом
#
Вывести содержимое файла, нумеруя выводимые строки
#
Вывести только не четные строки файла
#
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
#
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
#
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
#
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
#
Отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
#
Отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
#
Отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
#
Объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
#
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
#
Сравнить содержимое двух файлов
#
Заменить string1 на string2 в файле example.txt и вывести содержимое
#
Удалить пустые строки и комментарии из файла example.txt
#
Удалить пустые строки и комментарии из файла example.txt
#
Удалить первую строку из файла example.txt
#
Отобразить только строки содержащие string1
#
Удалить строку string1 из текста файла example.txt не изменяя всего остального
#
Удалить пустые символы в конце каждой строки файла example.txt
#
Вывести пятую строку
#
Вывести строки со второй по пятую
#
Заменить последовательность из любого количества нулей одним нулём
#
Вывести отсортированное содержимое двух файлов
#
Вывести отсортированное содержимое двух файлов исключая повторные значения
#
Вывести уникальные значения из отсортированного содержимого двух файлов
#
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
#
Перевести символы нижнего регистра в верхний
#
cat -n file1
Вывести содержимое файла, нумеруя выводимые строки
#
cat example.txt | awk 'NR%2==1'
Вывести только не четные строки файла
#
echo a b c | awk '{print $1,$3}'
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
echo a b c | awk '{print $1}'
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
comm -3 file1 file2
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
#
comm -1 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
#
comm -2 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
#
grep [0-9] /var/log/messages
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
#
grep ^Aug /var/log/messages
Отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
#
grep Aug /var/log/messages
Отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
#
grep Aug -R /var/log/*
Отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
#
paste -d '+' file1 file2
Объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
#
paste file1 file2
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
#
sdiff file1 file2
Сравнить содержимое двух файлов
#
sed 's/string1/string2/g' example.txt
Заменить string1 на string2 в файле example.txt и вывести содержимое
#
sed '/ *#/d; /^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
#
sed '/^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
#
sed -e '1d' exampe.txt
Удалить первую строку из файла example.txt
#
sed -n '/string1/p'
Отобразить только строки содержащие string1
#
sed -e 's/string//g' example.txt
Удалить строку string1 из текста файла example.txt не изменяя всего остального
#
sed -e 's/ *$//' example.txt
Удалить пустые символы в конце каждой строки файла example.txt
#
sed -n '5p;5q' example.txt
Вывести пятую строку
#
sed -n '2,5p' example.txt
Вывести строки со второй по пятую
#
sed -e 's/00*/0/g' example.txt
Заменить последовательность из любого количества нулей одним нулём
#
sort file1 file2
Вывести отсортированное содержимое двух файлов
#
sort file1 file2 | uniq
Вывести отсортированное содержимое двух файлов исключая повторные значения
#
sort file1 file2 | uniq -u
Вывести уникальные значения из отсортированного содержимого двух файлов
#
sort file1 file2 | uniq -d
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
#
echo 'word' | tr '[:lower:]' '[:upper:]'
Перевести символы нижнего регистра в верхний
👍3❤1
Полезные Bash-скрипты для повседневных задач
Ниже — два скрипта, которые могут сэкономить тебе время и нервы.
Перемещение директории
Переименование файла
Ниже — два скрипта, которые могут сэкономить тебе время и нервы.
Перемещение директории
#!/bin/bash
# Проверка существования директории-источника
if [ ! -d "$1" ]; then
echo "$1 doesn't exist"
exit 1
fi
# Проверка существования директории-назначения
if [ ! -d "$2" ]; then
echo "$2 doesn't exist"
exit 1
fi
# Копирование и удаление исходной директории
if cp -r "$1" "$2" && rm -r "$1"; then
echo "Dir $1 was moved to dir $2 successfully"
exit 0
else
echo "Something went wrong"
exit 1
fi
Переименование файла
#!/bin/bash
# Проверка количества аргументов
if [ $# -ne 2 ]; then
echo "2 args needed: file to rename and new name"
exit 1
fi
# Проверка существования файла
if [ ! -f "$1" ]; then
echo "File $1 does not exist or it's not a file"
exit 1
fi
# Переименование через копирование и удаление
if cp "$1" "$2" && rm -f "$1"; then
echo "Name of file $1 was changed to $2"
exit 0
else
echo "Something went wrong!"
exit 1
fi
❤2👍1
Система доменных имён (DNS)
▪️Что такое DNS?
DNS (Domain Name System) — распределённая система, преобразующая доменные имена (например,
▪️Основные типы DNS-записей:
-
-
-
-
-
-
-
-
-
▪️Как работает DNS-запрос:
1. Пользователь вводит URL в браузере
2. Резолвер (обычно у провайдера или в системе) ищет в кэше
3. Если нет — запрос уходит на root-серверы
4. Затем на TLD-серверы (
5. Потом — на authoritative DNS (настоящий источник зоны)
6. Ответ возвращается через цепочку обратно
▪️Утилиты для работы с DNS:
-
-
-
-
-
▪️Типовые задачи админа:
- Настройка и обслуживание DNS-сервера (bind, PowerDNS, Unbound)
- Создание и поддержка зоны (
- Делегирование поддоменов
- Обратная зона (PTR-записи)
- Настройка SPF, DKIM, DMARC для почты
- Обновление TTL и проверка кэша
▪️Фишки и советы:
✔️ TTL влияет на скорость обновления записей — не ставь слишком большое значение при отладке
✔️ Используй
✔️ Смотри
✔️ Кэш можно сбросить:
▪️Что такое DNS?
DNS (Domain Name System) — распределённая система, преобразующая доменные имена (например,
example.com
) в IP-адреса (192.0.2.1
), необходимые для связи между устройствами в интернете.▪️Основные типы DNS-записей:
-
A
— IPv4-адрес (example.com → 93.184.216.34) -
AAAA
— IPv6-адрес -
CNAME
— алиас (псевдоним домена) -
MX
— почтовый сервер -
NS
— серверы имён (authority) -
TXT
— произвольные данные (например, SPF, DKIM) -
PTR
— обратная запись (IP → домен) -
SRV
— информация о службах (используется, например, в AD) -
SOA
— стартовая запись зоны (параметры зоны DNS)▪️Как работает DNS-запрос:
1. Пользователь вводит URL в браузере
2. Резолвер (обычно у провайдера или в системе) ищет в кэше
3. Если нет — запрос уходит на root-серверы
4. Затем на TLD-серверы (
.com
, .org
, .ru
и т.д.) 5. Потом — на authoritative DNS (настоящий источник зоны)
6. Ответ возвращается через цепочку обратно
▪️Утилиты для работы с DNS:
-
nslookup
— базовая диагностика -
dig
— гибкий и подробный инструмент (Linux/macOS/Windows) -
host
— простой просмотр записей -
whois
— инфа о владельце домена -
dnf check
/ systemd-resolve
/ resolvectl
— системные утилиты в Linux▪️Типовые задачи админа:
- Настройка и обслуживание DNS-сервера (bind, PowerDNS, Unbound)
- Создание и поддержка зоны (
zone file
) - Делегирование поддоменов
- Обратная зона (PTR-записи)
- Настройка SPF, DKIM, DMARC для почты
- Обновление TTL и проверка кэша
▪️Фишки и советы:
✔️ TTL влияет на скорость обновления записей — не ставь слишком большое значение при отладке
✔️ Используй
dig +trace
для пошагового анализа резолвинга ✔️ Смотри
dnstools.ws
или dnschecker.org
для глобальной проверки ✔️ Кэш можно сбросить:
systemd-resolve --flush-caches
или ipconfig /flushdns
👍2❤1
Руководство и шпаргалка по Wireshark
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:
https://habr.com/ru/articles/436226/
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:
https://habr.com/ru/articles/436226/
❤1
Основы Tcpdump
Я думаю, что наиболее важным элементом для отладки сетевой проблемы является инструмент захвата пакетов или сниффер, и наиболее распространенным в дистрибутивах Linux является tcpdump.
Tcpdump выводит описание содержимого пакетов в сетевом интерфейсе, соответствующее выражению; описанию предшествует отметка времени, по умолчанию печатаемая в виде часов, минут, секунд и долей секунды с полуночи.
https://telegra.ph/Osnovy-Tcpdump-08-09
Я думаю, что наиболее важным элементом для отладки сетевой проблемы является инструмент захвата пакетов или сниффер, и наиболее распространенным в дистрибутивах Linux является tcpdump.
Tcpdump выводит описание содержимого пакетов в сетевом интерфейсе, соответствующее выражению; описанию предшествует отметка времени, по умолчанию печатаемая в виде часов, минут, секунд и долей секунды с полуночи.
https://telegra.ph/Osnovy-Tcpdump-08-09
❤1
LVM логические тома
Создание логических томов LVM предполагает создание трех уровней в архитектуре LVM.
Уровень 1. Создание физического тома (PV).
Уровень 2. Создание группы томов (VG).
Уровень 3. Создание логических томов.
https://telegra.ph/LVM-logicheskie-toma-07-11
Создание логических томов LVM предполагает создание трех уровней в архитектуре LVM.
Уровень 1. Создание физического тома (PV).
Уровень 2. Создание группы томов (VG).
Уровень 3. Создание логических томов.
https://telegra.ph/LVM-logicheskie-toma-07-11
👍1
Полезные команды Linux. Атрибуты файлов
Разрешает только добавление данных в файл
Игнорировать данный файл при создании резервной копии с помощью программы dump
Разрешить ядру автоматически сжимать/разжимать содержимое файла
Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него
Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync
При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости
Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению
Листинг файлов с атрибутами
# chattr +a file
Разрешает только добавление данных в файл
# chattr +d file
Игнорировать данный файл при создании резервной копии с помощью программы dump
# chattr +c file
Разрешить ядру автоматически сжимать/разжимать содержимое файла
# chattr +i file1
Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него
# chattr +S file1
Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync
# chattr +u file1
При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости
# chattr +s file1
Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению
# lsattr
Листинг файлов с атрибутами
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Linux Kernel Manager and Activity Monitor
Утилита отображает информацию о текущем состоянии ядра, выводит данные о загруженных в ядро модулях и позволяет работать с ними.
https://github.com/orhun/kmon
Утилита отображает информацию о текущем состоянии ядра, выводит данные о загруженных в ядро модулях и позволяет работать с ними.
https://github.com/orhun/kmon
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
CKS
Открытая платформа для изучения kubernetes и aws eks и подготовки к экзаменам Certified Kubernetes Specialist (CKA , CKS , CKAD)
SRE Learning Platform - это центр с открытым исходным кодом, призванный помочь ИТ-инженерам эффективно подготовиться к экзаменам CKA (Certified Kubernetes Administrator), CKS (Certified Kubernetes Security Specialist) и CKAD (Certified Kubernetes Application Developer). Кроме того, данная платформа предлагает бесценный практический опыт работы с AWS EKS (Elastic Kubernetes Service), что позволяет пользователям получить практические знания для применения в реальных условиях. Если вы хотите подтвердить свои навыки, повысить карьерные перспективы в области администрирования Kubernetes, безопасности, разработки приложений или углубиться в изучение AWS EKS, эта платформа предоставляет практические лабораторные работы, практические тесты и рекомендации экспертов для успешного прохождения сертификации.
Подготовка к экзамену CKA: Certified Kubernetes Administrator
Повысьте свои навыки для экзамена CKS: Certified Kubernetes Security Specialist
Превосходно подготовиться к экзамену CKAD: Certified Kubernetes Application Developer Exam
https://github.com/ViktorUJ/cks
Открытая платформа для изучения kubernetes и aws eks и подготовки к экзаменам Certified Kubernetes Specialist (CKA , CKS , CKAD)
SRE Learning Platform - это центр с открытым исходным кодом, призванный помочь ИТ-инженерам эффективно подготовиться к экзаменам CKA (Certified Kubernetes Administrator), CKS (Certified Kubernetes Security Specialist) и CKAD (Certified Kubernetes Application Developer). Кроме того, данная платформа предлагает бесценный практический опыт работы с AWS EKS (Elastic Kubernetes Service), что позволяет пользователям получить практические знания для применения в реальных условиях. Если вы хотите подтвердить свои навыки, повысить карьерные перспективы в области администрирования Kubernetes, безопасности, разработки приложений или углубиться в изучение AWS EKS, эта платформа предоставляет практические лабораторные работы, практические тесты и рекомендации экспертов для успешного прохождения сертификации.
Подготовка к экзамену CKA: Certified Kubernetes Administrator
Повысьте свои навыки для экзамена CKS: Certified Kubernetes Security Specialist
Превосходно подготовиться к экзамену CKAD: Certified Kubernetes Application Developer Exam
https://github.com/ViktorUJ/cks
❤1
Мониторинг дисков и программных RAID-массивов с помощью Zabbix
Данная статья поможет вам настроить мониторинг дисков и программных RAID-массивов, созданных с помощью mdadm. Без преувеличения можно сказать, что мониторинг этих устройств сервера представляет собой одну из важнейших задач.
Если не контролировать постоянно состояние дисков и массивов, рано или поздно сервер прекратит свою работу. А если вдобавок еще и не делать резервное копирование данных, то в худшем случае при аварии с дисками можно потерять бизнес.
https://habr.com/ru/companies/first/articles/681522/
Данная статья поможет вам настроить мониторинг дисков и программных RAID-массивов, созданных с помощью mdadm. Без преувеличения можно сказать, что мониторинг этих устройств сервера представляет собой одну из важнейших задач.
Если не контролировать постоянно состояние дисков и массивов, рано или поздно сервер прекратит свою работу. А если вдобавок еще и не делать резервное копирование данных, то в худшем случае при аварии с дисками можно потерять бизнес.
https://habr.com/ru/companies/first/articles/681522/
❤🔥1❤1👍1
Работа с файлами и каталогами в Linux
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
https://telegra.ph/Rabota-s-fajlami-i-katalogami-v-Linux-01-23
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
https://telegra.ph/Rabota-s-fajlami-i-katalogami-v-Linux-01-23
❤2