Секреты сисадмина | DevOps, Linux, SRE
25.7K subscribers
667 photos
17 videos
441 files
608 links
Крупнейший справочник системного администратора.

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

РКН: vk.cc/cHhGTz
Download Telegram
Локальные репозитории пакетов

Сегодня хотим поделиться мыслями относительно того, как можно защитить свою разработку от некоторых потенциальных рисков в современных условиях.

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

📁 Скачать/Download 👇
В чем разница между adduser и useradd

Обе команды создают нового пользователя в системе. Но они очень сильно отличаются.

Adduser - утилита для добавления пользователей и групп в систему. Программа учитывает политики дистрибутива по желаемому UID и GID, создает домашний каталог, копирует туда файлы по умолчанию и запускает специальные сценарии.

Useradd - это низкоуровневая утилита для добавления пользователей. Создается только пользователь без каких-либо дополнительных настроек, вам придется все делать вручную, в том числе создавать домашний каталог.

#СекретыСисадмина
Подключение к shadow сессии непривилегированного пользователя

Необходимо выдать права группе пользователей на подключение к shadow сессии на терминальном сервере.

В командной строке терминального сервера выполняем следующую команду:
wmic /namespace:\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName="RDP-Tc

Необходима перезагрузка. Определяем список сессий:
query session /server:terminal01

И выполняем подключение:
mstsc /shadow:5 /control /noconsentprompt

Небольшой скрипт автоматизации подключения:
@echo off
query session
echo
set /p UserSessionID= Enter the session ID:
mstsc /shadow:%UserSessionID% /control /noconsentprompt

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

Ядро является главной частью любой операционной системы. Существует точка зрения, которая приравнивает понятие операционной системы к ядру. Есть точка зрения, когда в понятие операционной системы включают как ее ядро, так и системные программы, позволяющие пользователю обращаться через ядро к аппаратным ресурсам.

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

📁 Скачать/Download 👇
Команда sudo – администрирование системы

В Unix-подобных операционных системах должен быть привилегированный пользователь – суперпользователь, он же администратор. Логин его учетной записи – root, а домашний каталог находится в / root. Этот пользователь предназначен для администрирования системы, а значит обладает правами на операции с системными файлами, установку программного обеспечения, создание и удаление других пользователей, предоставление им различных доступов.

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

📁 Скачать/Download 👇
Полезные команды Linux. Архивация и сжатие файлов

# gzip -9 file1
Поместить файл file1 в архив gzip с максимальной степенью сжатия
# rar a file1.rar file1 file2 dir1
Создать rar архив file1.rar, заархивировав файлы: file1, file2 и директорию: dir1
# rar a file1.rar test_file
Упаковать в rar архив file1.rar файл test_file
# rar x file.rar
Разархивировать rar архив file.rar
# bzip2 file1
Сжимает файл file1
# bunzip2 file1.bz2
Разжимает файл file1.bz2
# gzip file1
Сжимает файл file1
# gunzip file1.gz
Разжимает файл file1.gz
# tar -cvf archive.tar file
Упаковать в tar-архив archive.tar файл file
# tar -tf archive.tar
Вывести содержимое tar архива
# tar -xvf archive.tar -C /tmp
Распаковать архив в /tmp
# tar -cvfz archive.tar.gz dir1
Создать tar архив и сжать его с помощью программы gzip
# zip file1.zip file1
Создать сжатый zip-архив
# unrar x file1.rar
Распаковать rar-архив

#СекретыСисадмина
Управление процессами в Linux

Как вы думаете, операционная система Linux может автоматически позаботиться сама о себе? Когда все работает нормально или вам не нужны никакие нестандартные возможности - вполне да. Но иногда может понадобиться ваше вмешательство в ее работу.

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

📁 Скачать/Download 👇
Команда findmnt

Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы.

Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию findmnt отображает файловые системы в древовидном формате:
# findmnt

Чтобы отобразить информацию в виде обычного списка, используйте параметр -l:
# findmnt -l

Можно выбрать отображение файловых систем только определенного типа, например XFS или EXT4:
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4

Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/boot»:
# findmnt -n --raw --evaluate --output=target LABEL=/boot

Отследить действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test:
# findmnt --poll --mountpoint /mnt/test

Если вы хотите получить больше информации в выводе, используйте ключ –verbose:
# findmnt --real --verbose

#СекретыСисадмина
Enter-PSSession: интерактивное управление удаленным компьютером из PowerShell

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

📁 Скачать/Download 👇
Когда TCP-сокеты отказываются умирать

В поисках причин, почему установленные соединения не разрываются в некоторых случаях, автор набрёл на отличную статью в блоге Cloudflare. Которая в итоге помогла найти не только решение этой проблемы, но и помогла лучше понять как работают таймауты TCP соединений в Linux.

Читать

#СекретыСисадмина
- Как быстро разобраться в N-звенной архитектуре приложения?
- Как траблшутить развертывание микросервисов?
- Как в сетевом окружении обнаружить некорректные настройки Firewall, VPN, DNS?

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

Попробуй свои силы на открытом воркшопе серии "Продвинутый траблшутинг в N-звенной и микросервисной архитектурах" 29 ноября.
Это именно практический воркшоп, а не вебинар. Каждый участник в консоли песочницы примет участие в решении той или иной задачи.

Сложность 5 из 5 (для мидлов/сеньоров QA, DEV, Sysanalyst, DevOps).
Только 15 мест.
Бот для записи → "Хочу на ADTS"
Команды Linux: IPTABLES (firewall)

# iptables -nL
отобразить все цепочки правил
# iptables -t nat -L
отобразить все цепочки правил в NAT-таблице
# iptables -t filter -F
очистить все цепочки правил в filter-таблице
# iptables -t nat -F
очистить все цепочки правил в NAT-таблице
# iptables -t filter -X
удалить все пользовательские цепочки правил в filter-таблице
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
позволить входящее подключение telnet'ом
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
блокировать исходящие HTTP-соединения
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
позволить «прокидывать» (forward) POP3-соединения
# iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"
включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавить к сообщению префикс «DROP INPUT»

#СекретыСисадмина
Мониторинг в ОС Linux (часть 1)

gstat

gstat — показывает использование дисков
gstat -a — используется для вывода только активных устройств

top

У утилиты top есть параметры, которые облегают жизнь, их мы набираем в top’e когда он запущен:
S — показать системные процессы
u — и имя пользователя, например u mysql покажет процессы запущенные от пользователя mysql
o — используется для сортировки, возможные параметры: pri, size, res, cpu, time, threads
m — переключиться между режимами отображения нагрузки и ввода-вывода
k — завершить процесс
r — изменить приоритет процесса
n — отобразить статистику по определённому процессу
top -n 3 — показывает самые ресурсоёмкие приложения в данный момент

#СекретыСисадмина
Мониторинг в ОС Linux (часть 2)

vmstat

vmstat — показывает состояние виртуальной памяти и буфера
vmstat 5 — отображает статистику раз в пять секунд
vmstat -z — показывает состояние буфера
vmstat -i — показывает состояние прерываний

iostat

iostat — выводит статистику по I/O устройств
iostat -d -w5 — показывает информацию по дискам, с периодичностью в пять секунд безостановочно
iostat -dx -w5 — показывает расширенную статистику

netstat

netstat — показывает активные сетевые соединения
netstat -w 1 — количество пакетов в настоящее время
netstat -rn — отображает таблицу маршрутизации
netstat -ibt — вывод сетевых интерфейсов с разбивкой по IP адресам

#СекретыСисадмина
Ravada - менеджер удаленных виртуальных рабочих столов

Это программа, позволяющая пользователю подключаться к удаленному виртуальному рабочему столу. Ravada предназначена для системных администраторов, имеющих опыт работы с GNU/Linux и желающих развернуть проект VDI.

Читать

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