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

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

РКН: vk.cc/cHhGTz
Download Telegram
Как я делал сеть на 25 гигабит с минимальным бюджетом

В этом материале автор представляет небольшой отчёт о своем опыте покупки кабелей и сетевых карт, а также тестов 25Гбит/с на слабых и быстрых компьютерах. Что же получилось собрать за 100 $, какие в реальности скорости получились, и как он сэкономил 30 $?

Читать

#СекретыСисадмина
Работа с правами доступа файлов и директорий в Linux (часть 1)

# 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 для группы и остальных

#СекретыСисадмина
Работа с правами доступа файлов и директорий в Linux (часть 2)

# 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

#СекретыСисадмина
Работа с правами доступа файлов и директорий в Linux (часть 3)

# chmod g+s /home/public
Установить SGID-бит на директории /home/public

# chmod g-s /home/public
Удалить SGID-бит с директории /home/public

# find / -perm -u+s
Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы

# ls -lh
Листинг текущего каталога с правами доступа

#СекретыСисадмина
Какая разница между командами GREP, AWK и SED

Мы не можем с уверенностью называть себя экспертами по управлению файлами Linux, не обладая навыками обработки текста. Три самых известных инструмента командной строки (grep, sed и awk) заслужили хорошую репутацию текстовых процессоров Linux. Они предустановлены во всех основных дистрибутивах операционных систем Linux, поэтому нет необходимости устанавливать их дополнительно.

Каждая команда grep, sed и awk имеет уникальные функции обработки текста, но в некоторых простых сценариях их функции могут быть аналогичными.

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

Читать статью

#СекретыСисадмина
Cron — лучшие практики

Планировщик задач cron существует с 7 версии Unix, а его синтаксис crontab знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами.

Читать

#СекретыСисадмина
Настройка Iptables для чайников

Операционные системы Linux, на которых чаще всего и функционируют серверы (виртуальные машины), имеют встроенный инструмент защиты – программный фильтр Iptables. Все сетевые пакеты идут через ядро приложения и проходят проверку на безопасность для компьютера. Сценария всего два – или данные передаются дальше на обработку, или полностью блокируются.

Читать статью

#СекретыСисадмина
ИОЛА (IOLANET2): уникальная ретро-сеть отечественного производителя и безуспешный эксперимент

В этой статье автор расскажет о попытке организации простейшей сети — объединении двух компьютеров, содержащих сетевые ISA-карта ИОЛА при помощи коаксиального кабеля, и о возникшей тупиковой ситуации.

Читать

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

rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов
-u — не перезаписывать более новые файлы
-l — копирует символьные ссылки
-L — копирует содержимое ссылок
-p — сохраняет права для файлов
-t — сохраняет время модификации
-e — использовать другой транспорт, например, ssh
[-z] — cжимает файлы перед передачей
—recursive — перебирать директории рекурсивно
—exclude — исключить файлы по шаблону

Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер

ss
-l или —listening — посмотреть только прослушиваемые порты
-p или —program — показать имя программы и ее PID
-t или —tcp — показать tcp порты
-u или —udp показать udp порты
-n или —numeric показывать ip адреса в числовом виде

Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту

ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom

mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру

free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах

top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу

dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет

netstat
netstat -pnltu — посмотреть список используемых портов

#СекретыСисадмина
Что такое IP-адрес и маска подсети, и зачем они нужны

Компьютерам, серверам и роутерам в интернете нужно понимать, куда отправлять данные, чтобы они не потерялись в паутине проводов и прочих вайфаев. Один из помощников в этом деле — IP-адрес. Он представляет собой что-то вроде дорожного указателя, маяка, который содержит данные о месте конкретного устройства в структуре Глобальной сети.

Читать

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

Что такое линк?
Перечислите 7 уровней модели OSI.
Что такое IP - адрес?
Что такое LAN?
Расскажите про DHCP?
А про DNS?
Что такое WAN?
Что означает термин "нода"? Что такое "хост"?
Какая максимальная длина кабеля UTP?
Что такое маршрутизатор?
Что такое коммутатор?
В чем разница между роутером, свичем и хабом?
3 уровня иерархии сетей от Cisco?
Что такое VLAN и зачем они нужны?
Что такое PING?
Какие режимы передачи данных бывают?
Что такое Ethernet?
Что такое VPN?
Что такое MAC - адрес?
Что такое TCP и UDP? В чем разница между ними?
Что такое NIC?
Зачем нужен прокси сервер?
Какие типы сетевых атак вы знаете?
Что такое NAT?
А знаете ли вы про MST (Multiple Spanning Tree)?
А про RSTP (Rapid Spanning Tree) что скажете?
А про протокол RIP что скажете?
Расскажите про EIGRP?
Что скажете про BGP?
Что скажете про OSPF?
Что такое VTP?
Что думаете про модный SD WAN?
Пару слов про MPLS?
И пару слов про шифрование трафика. Какие алгоритмы вам знакомы?
Поговорим про телефонию. Какие кодеки вам знакомы?
А разницу между FXS и FXO портом знаете?
А что по-вашему лучше - SIP или PRI?
Зачем нужен протокол RTP?
А термин SBC вам знаком?

#СекретыСисадмина
Просмотр процессов на Linux с помощью ps

В инструкции описаны наиболее распространенные примеры использования команды ps для работы с виртуальным сервером с операционной системой семейства Linux.

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

📁 Скачать/Download 👇
Как проанализировать производительность DNS сервера с помощью WireShark?

DNS – система доменных имен. Общение между устройствами в сети осуществляются по адресам, но помнить их все не представляется возможным, и поэтому их заменили вполне удобными доменными именами, например, www.ya .ru.

Читать статью

#СекретыСисадмина
Stress – инструмент командной строки Linux, который позволяет нагружать процессор, память, систему ввода-вывода и диск

Установим stress на CentOS, RHEL, Fedora
sudo dnf install stress

Установим stress на Ubuntu и Debian
sudo apt install stress

Синтаксис stress
stress [OPTION [ARG]]

Увеличить нагрузку на процессор
Опция -c или –cpu использует заданное количество воркеров на функции sqrt(), чтобы увеличить нагрузку на процессор и заставить его работать интенсивнее.
stress -c N или stress -cpu N

Следующая команда будет непрерывно загружать 4 ядра процессора
stress -cpu 4

Задаем тайм-аут для стресса
Чтобы задать работу на определенное время, вы можете использовать опцию -t или –timeout.
Следующие команды будут нагружать четыре ядра процессора только в течение 10 с.
stress -c 4 -t 10 или stress -cpu 4 -timeout 10

Увеличение нагрузки на память
Опция -v или -vm позволяет вам нагрузить виртуальную память.
[simterm] $ stress -v N

Вы можете увеличить нагрузку ввода-вывода с помощью опции -i или –io.
stress -i N или stress -io N

Создаем нагрузку на систему с помощью двух процессов, связанных с вводом-выводом.
# stress -io 100

Увеличение нагрузки на диск
Опция -d или –hdd используется для создания нагрузки на диск.
stress -d N или stress -hdd N

Посмотрим пропускную способность диска с помощью команды vmstat.
vmstat 1 100

Команде stress можно задать несколько нагрузок. В следующем примере используется 4 ядра ЦП, 2 виртуальных памяти и 1 процесс ввода-вывода для нагрузки на систему в течение 20 секунд.
stress -cpu 4 -vm 2 -io 1 -t 20

#СекретыСисадмина
Протокол TCP: что нужно знать специалисту по анализу сетевого трафика

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

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

📁 Скачать/Download 👇
Awesome Linux Software

Список приложений, программного обеспечения, инструментов и других материалов для разных дистрибутивов Linux.

Открыть

#СекретыСисадмина
Убираем зомби процессы

Знакомство с семейством операционных систем Linux сопряжено пониманием особенностей управления процессами в этой системе. Процесс — это программа, которая, по сути, выполняется постоянно.

Читать статью

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