Секреты сисадмина | DevOps, Linux, SRE
25.5K subscribers
665 photos
23 videos
439 files
613 links
Крупнейший справочник системного администратора.

Сотрудничество: @max_excel

РКН: vk.cc/cHhGTz
Download Telegram
Как заставить пользователя изменить пароль при следующем входе в систему

Существует несколько способов:

Использование команды passwd
sudo passwd --expire [username]

Использование команды chage
sudo chage --lastday 0 [username]

Срок действия паролей
chage -l
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена;
Минимальное кол-во дней между итерацией смены пароля;
Максимальное кол-во дней между итерацией смены пароля.

Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90

Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 oleg

Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 boris

Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 boris

Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 boris

Удалить ограничение в днях
sudo chage -m 0 sergey

#СекретыСисадмина
GitOps-практики: развёртываем сервис через ArgoCD

Классический CI/CD запускает деплой. Но как сделать так, чтобы состояние Kubernetes после него соответствовало конфигурации в Git? На вебинаре разберём принципы GitOps и посмотрим, как ArgoCD помогает управлять изменениями в кластере.

7 октября в 20:00 МСК на открытом вебинаре OTUS развернём сервис в Kubernetes с помощью ArgoCD и покажет работу подхода на практике.

На практике рассмотрим:
— чем GitOps отличается от классического CI/CD и когда его применять;
— как устроен ArgoCD и какие есть варианты реализации GitOps;
— как развернуть сервис в Kubernetes через ArgoCD;
— что произойдёт при изменении конфигурации напрямую в кластере;
— какие подходы к работе с ArgoCD полезны в проектах.

После вебинара вы поймёте принципы GitOps, познакомитесь с возможностями ArgoCD и увидите полный процесс развёртывания сервиса. Полученные подходы сможете применить при работе со своими Kubernetes-кластерами.

Урок проходит в преддверии старта курса «DevOps. Экспертный уровень».

👉 Регистрируйтесь: https://clck.ru/3WBAJD

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как восстановить Windows к исходному состоянию, и почему для этого больше не нужен install.wim

Все ноутбуки и планшеты обладают решением для отката к фабричному состоянию. Оно называется Push-Button Reset (PBR), т.е. сброс нажатием кнопки. Давайте посмотрим на его эволюцию в последние годы.

#СекретыСисадмина

📁 Скачать/Download 👇
Bash Массивы

Кроме обычных переменных, bash также различает массивы. Обратите внимание, что синтаксис для доступа к n-ному элементу отличается от синтаксиса, принятого в С.

х=() - Определение пустого массива
х[0]='а' - Присваивание элементов массива
х[1]='b' - Присваивание элементов массива
х[2]='с' - Присваивание элементов массива
х=('а' 'b' 'с') - Краткий вариант записи четырех предыдущих строк
echo ${x[l]} - Считывание элемента массива
echo ${x[@]} - Считывание всех элементов массива

Для программистов исключительно важны массивы ассоциативных элементов, которые стали поддерживаться в bash, начиная с версии 4.0. Не забудьте, что массив сначала требуется специально объявить как ассоциативный с помощью declare -A.

declare -Ay - Определение пустого массива ассоциативных элементов
y[abc]=123 - Присваивание элемента ассоциативного массива
y[efg]=xxx - Присваивание элемента ассоциативного массива
у=( [abc]=123 [efg]=xxx ) - Краткий вариант записи двух предыдущих строк
echo ${y[abc]} - Считывание одного элемента массива

Еще одно важное нововведение версии 4.0 заключается в том, что с помощью команды mapfile можно построчно преобразовать текстовый файл в элементы обычного массива:
mapfile z < текстовый_файл


#СекретыСисадмина
Объектное хранилище в эпоху быстрых данных

Объём данных, с которыми нужно работать, растёт ежедневно. Стандартных решений уже не хватает для задач ИИ и аналитики. Большие объёмы данных нужно не только хранить, но и быстро записывать и читать.

В MWS Cloud Platform мы построили объектное хранилище не только на привычных HDD-дисках, но и на NVMe. На вебинаре покажем, какие сценарии работы это открывает и как меняет привычные подходы.

Подключайтесь! Обсудим:
✅ Чем классы хранения MWS Object Storage отличаются от привычных
✅ В каких сценариях новый тёплый класс проявляет себя лучше всего
✅ Преимущества и слабые места в разных сценариях работы

📆 7 октября в 14:00 (мск)
Please open Telegram to view this post
VIEW IN TELEGRAM
Переменные среды в Windows

В данной статье показаны действия, с помощью которых можно узнать список переменных в операционной системе Windows.

Переменные среды необходимы для указания абсолютных путей к папкам, часто используются в пакетных (командных) файлах. К примеру, если неизвестна буква системного диска, то всегда можно использовать переменную %systemdrive%, возвращающую букву диска, на котором установлена Windows.

#СекретыСисадмина

📁 Скачать/Download 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Как практиковаться Junior DevOps-инженеру

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

0:35 Напоминания
0:59 Создание ВМ
1:14 SSH, настройка Linux
1:31 Проект для практики
2:15 Ручной запуск
2:31 systemd
2:55 Автоматизация
3:23 Контейнеризация
3:44 Регистры
4:01 Docker Compose/Swarm
4:13 Nginx, SSL, reverse proxy
4:32 Мониторинг и доступность
4:58 Сбор логов
5:09 Документация
5:27 Kubernetes

Смотреть это видео на youtube: youtu.be/_rfYnaXXg3k

#СекретыСисадмина
Please open Telegram to view this post
VIEW IN TELEGRAM
Как пробросить порт в Linux на другой сервер

Необходимо пробросить с 8821 порта сервера 10.10.10.10 на 21 порт сервера 12.12.12.12:

iptables -A FORWARD --dst 10.10.10.10 -p tcp --dport 8821 -j ACCEPT

iptables -A FORWARD --src 10.10.10.10 -p tcp --sport 8821 -j ACCEPT

iptables -t nat -A PREROUTING -d 10.10.10.10 -p tcp --dport 8821 -j DNAT --to-destination 12.12.12.12:21

iptables -t nat -A POSTROUTING -d 12.12.12.12 -p tcp --dport 21 -j SNAT --to-source 10.10.10.10:8821

#СекретыСисадмина