Системный Администратор – Telegram
Системный Администратор
2.13K subscribers
201 photos
486 videos
8 files
207 links
Канал для системных администраторов. Полезный контент по Windows, Linux и т.д.

По всем вопросам @evgenycarter
Download Telegram
Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает.
С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из

> /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

Потом я нашёл Cronic - обёртку на bash, которая скрывает вывод запускаемой задачи, если она завершена успешно. Стало полегче, но обнаружилось, что от некоторых заданий всё же лучше получать сообщение "Task OK", чтобы не столкнуться в самый неподходящий момент с тем, что выполнение задания тихо сломано месяц назад.

https://habr.com/ru/articles/778922/

👉 @sys_adminos
👍2
Мануалы

Расследование одного взлома. SSH туннель
Установка android в Virtual Box. Android virtual machine
Сброс пароля веб интерфейса freePBX
Как добавить роутер Eltex в eve-ng
Установка ELTEX vESR в virtual box.
Portknocking на mikrotik
Изменяем Windows 10 из профессиональной в корпоративную
Дисковый телефон в ip телефонии
Подключаем транком две станции FreePBX друг к другу
Установка LAMP сервера на Ububtu

источник

👉 @sys_adminos
👍2
Пункт выдачи багажа аэропорта Шарлотт.

👉 @sys_adminos
😁5🔥1
mRemoteNG

Это форк mRemote: мультипротокольный менеджер удаленных соединений с открытым исходным кодом для Windows. mRemoteNG добавляет исправления ошибок и новые функции в mRemote и позволяет просматривать все ваши удаленные соединения в простом, но мощном интерфейсе с вкладками.

Поддерживаемые протоколы:

RDP (Remote Desktop Protocol)
VNC (Virtual Network Computing)
SSH (Secure Shell)
Telnet (TELecommunication NETwork)
HTTP/HTTPS (Hypertext Transfer Protocol)
rlogin (Remote Login)
Raw Socket Connections
Powershell remoting

https://mremoteng.org/

https://github.com/mRemoteNG/mRemoteNG

👉 @sys_adminos
👍3
Работа с правами доступа файлов и директорий в Linux

# chown vasya /file
Назначить пользователя vasya владельцем файла file
# chown -R vasya directory
Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
# chown vasya:group /file
Назначить владельца и группу для файла /file
# chmod ugo+rwx /directory
Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
# chmod go-rwx /directory
Удалить все права на директорию /directory для группы и остальных
# chgrp new_group file
Изменить группу-владельца для file на new_group
# chmod o+t /home/public
Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
# chmod o-t /home/public
Удалить STIKY-бит с директории /home/public
# chmod u+s /bin/binary_file
Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правами владельца файла
# chmod u-s /bin/binary_file
Удалить SUID-бит с файла /bin/binary_file
# chmod g+s /home/public
Установить SGID-бит на директории /home/public
# chmod g-s /home/public
Удалить SGID-бит с директории /home/public
# find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
# ls -lh
Листинг текущего каталога с правами доступа

👉 @sys_adminos
👍4
Временные метки файла (Access, Modify, Change) в Linux

Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).

Разница между временами "Доступа", "Модификации" и "Изменения"

atime Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: Использование grep, egrep, cat, head и т.д.

mtime Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл.

ctime Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла.


Изменить время доступа к файлу (atime):
touch -a --date="1988-02-15" file.txt
touch -a --date="1988-02-15 01:00" file.txt
touch -a --date="1988-02-15 01:00:17.547775198 +0300" file.txt



Изменить время модификации файла (ctime):
touch -m --date="2020-01-20" file.txt

👉 @sys_adminos
👍1
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.

На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.

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

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"

👉 Для участия зарегистрируйтесь: https://vk.cc/cRtiF6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎1
Kubernetes Security Training Platform - Focussing on security mitigation


Симулятор распределенных систем и инфраструктуры для атак и отладки Kubernetes: симулятор создает для вас кластер Kubernetes в вашем аккаунте AWS; запускает сценарии, которые неправильно конфигурируют его и/или делают уязвимым для компрометации, и обучает вас способам устранения этих уязвимостей.

https://github.com/kubernetes-simulator/simulator

👉 @sys_adminos
👍2
systemD с 0 до 1: библия сисадмина

Что бы кто не говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.

Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.

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

А также напишем небольшой скрипт на Python для автомизации некоторых задач. Приятного чтения, господа линуксоиды и просто пользователи!

https://habr.com/ru/companies/timeweb/articles/824146/

👉 @sys_adminos
👍2
Примеры скриптов для Mikrotik


Проверка изменения IP-адреса интерфейса для Mikrotik

Иногда провайдер выдает динамические IP-адреса. Этот скрипт проверит, не изменился ли динамический IP-адрес.

:global currentIP;

:local newIP [/ip address get [find interface="ether1"] address];

:if ($newIP != $currentIP) do={
:put "ip address $currentIP changed to $newIP";
:set currentIP $newIP;
}


Netmask

Этот скрипт полезен, если вам нужен ip-адрес без netmask (например, чтобы использовать его в брандмауэре), а "/ip address get [id] address" возвращает ip-адрес и netmask.

:global ipaddress 10.1.101.1/24

:for i from=( [:len $ipaddress] - 1) to=0 do={
:if ( [:pick $ipaddress $i] = "/") do={
:put [:pick $ipaddress 0 $i]
}
}



Резолвим имя хоста

Многие пользователи спрашивают, как использовать dns-имена вместо IP-адресов для серверов radius, правил брандмауэра и т. д.

Вот пример того, как резовлить IP-адрес сервера RADIUS.
Допустим, у нас настроен сервер radius:

/radius
add address=3.4.5.6 comment=myRad


А вот скрипт, который резовлит ip-адрес, сравнит ip с настроенным и заменит, если они не равны:

/system noscript add name="resolver" source= {

:local resolvedIP [:resolve "server.example.com"];
:local radiusID [/radius find comment="myRad"];
:local currentIP [/radius get $radiusID address];

:if ($resolvedIP != $currentIP) do={
/radius set $radiusID address=$resolvedIP;
/log info "radius ip updated";
}

}



Добавьте этот скрипт в планировщик, чтобы он выполнялся, например, каждые 5 минут

/system scheduler add name=resolveRadiusIP on-event="resolver" interval=5m


👉 @sys_adminos
1👍1
Инструменты, которые можно использовать для определения производительности Linux.

Наиболее распространенные: top, htop, iostat, vmstat, sar, netstat, tcpdump, strace, lsof, perf.

👉 @sys_adminos
👍21
CCNA Routing & Switching Packet Tracer Labs

001: Basic Router Security Configuration 1
002: Basic Router Security Configuration 2
003: Basic Router Security Configuration 3
004: Basic Serial Connection Configuration
005: VLAN Configuration
006: VLAN Configuration: Trunk Encapsulation
007: Inter-VLAN Routing (Router on a Stick)
008: Inter-VLAN Routing (Router on a Stick) - Troubleshooting 1
009: Inter-VLAN Routing (Router on a Stick) - Troubleshooting 2
010: Local Username/Password Database


На данный момент доступно 76 видео

https://www.youtube.com/playlist?list=PLxbwE86jKRgMQ4HTuaJ7yQgA2BoNwY9ct

👉 @sys_adminos
👍1