Системный Администратор (Сисадмин) – Telegram
Системный Администратор (Сисадмин)
14K subscribers
1.81K photos
1.68K videos
87 files
1.88K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
📈Picosnitch - мониторинг сетевого трафика на каждый исполняемый файл с помощью BPF

Получение уведомлений при подключении к сети новой программы или при ее изменении

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

При желании можно проверить хэши или исполняемые файлы с помощью VirusTotal

Хеши исполняемых файлов кэшируются на основе устройства + inode для повышения производительности и работают с приложениями, запущенными в контейнерах

Используется BPF для точного мониторинга пропускной способности с низкими накладными расходами и fanotify для контроля исполняемых файлов на предмет модификации

Поскольку приложения могут вызывать других пользователей для отправки/получения данных для них, родительский исполняемый файл и хэш также регистрируются для каждого соединения

Прагматичный и минималистичный дизайн, сфокусированный на точном обнаружении с четким сообщением об ошибке, когда это невозможно

https://github.com/elesiuta/picosnitch

https://elesiuta.github.io/picosnitch/

👉 @sysadminof
🔥5👍3
Трюки терминала Bash

Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.

Горячие клавиши" Bash с Ctrl
Ctrl + n — то же самое, что и стрелка вниз.
Ctrl + p — то же самое, что и стрелка вверх.
Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.
Ctrl + s — остановить вывод в терминал.
Ctrl + q — восстановить вывод в терминал после Ctrl + s.
Ctrl + a — перейти к началу строки (аналог клавиши Home).
Ctrl + e — перейти к концу строки (аналог клавиши End).
Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.
Ctrl + k — удалить весь текст от курсора до конца строки.
Ctrl + x + backspace — удалить весь текст от начала строки до курсора.
Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.
Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.
Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.
Ctrl + _ — отменить ввод.
Ctrl + l — очищает окно терминала. То же самое, что и clear.
Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.

Изменить заглавные на строчные и наоборот
Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.
Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.
Esc + c — заменить букву под курсором на заглавную.

Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53
!! — запуск последней команды.
sudo !! — запустить предыдущую команду с sudo.

Запускает последнюю команду и меняет какой-то параметр. Например, меняем "aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb

$ echo 'bbb'
bbb


Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте :&:
^aaa^bbb^:&
# или
!!:gs/aaa/bbb/


Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c


— запускает cat filename ещё раз.

Указание файлов по шаблону в Bash
/etc/pa*wd/etc/passwd — символ * означает "несколько любых символов".
/b?n/?at/bin/cat — символ ? означает "один любой символ".
ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".
ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".

Полезные переменные окружения Bash
Короткие переменные:
$0 — оболочка командной строки или путь до запускаемого файла.
$1, $2, $3, ... — аргументы запуска скрипта.
$# — число аргументов, переданных в скрипт из терминала.
$? — код завершения последней команды.
$- — текущие опции, установленные для оболочки.
$$ — идентификатор текущего процесса.
$! — идентификатор процесса, завершённого последним.

Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION — текущий менеджер дисплеев.
$EDITOR — редактор текста по умолчанию.
$LANG — используемый системой язык.
$PATH — список директорий, в которых будут искаться исполняемые файлы.
$PWD — текущая директория.
$SHELL — текущая оболочка командной строки.
$USER — имя текущего пользователя.
$HOSTNAME — имя текущего хоста (компьютера).

👉 @sysadminof
👍7🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
Yoink.vim

Плагин Vim, который поддерживает историю yank для переключения между ними при вставке.

https://github.com/svermeulen/vim-yoink

👉 @sysadminof
👍5
Анализ сетевого трафика и устранение неполадок

1.Обзор
2.Три направления
3.Tcpdump
4.Кадр, пакет, сегмент
5.Основы перехвата трафика
6. Обнаружение сети
7.Основы фильтрации
8.Основы TCP
9.RTT и размер окна
10.Проблемы

источник

👉 @sysadminof
👍152
Что такое свой NAS и как его начать делать?

Современный и доступный NAS - понятие довольно растяжимое. Для чего он нужен - для дома или офиса, его размеры, мобильность, стоимость, программное обеспечение, все эти и другие вопросы так или иначе определяют конкретную модель и сферу применения. Рассмотрим то, что будет интересно всем - это системы хранения для дома или малых рабочих групп. Причем существуют не только ограничения по стоимости и локальной доступности, но также и простое желание собрать что-то своими руками. Мы постарались разобраться в ситуации, проанализировать существующие решения и, возможно, предложить свой вариант развития, который будет интересен и тем, кто хочет купить готовое решение, и тем, кто смотрит на NAS как на потенциальное устройство для самостоятельной сборки от железа до софта.

https://habr.com/ru/company/3rdman/blog/713900/

👉 @sysadminof
👍6
Пакетная фильтрация в Linux

Бесконтекстная пакетная фильтрация (iptables): stateless
Контекстная пакетная фильтрация (iptables): stateful

источник

👉 @sysadminof
👍5👏41
Как найти количество открытых файлов в Linux

Значение сохраняется в
# cat /proc/sys/fs/file-max

Проверка Hard лимит в Linux
# ulimit -Hn

Проверка Soft лимит в Linux
# ulimit -Sn

Чтобы просмотреть значения Hard и Soft для разных пользователей, переключите пользователя с «su» на пользователя, ограничения которого вы хотите проверить.
Например:
# su root
$ ulimit -Sn
$ ulimit -Hn


Как проверить количество системных дескрипторов файлов в Linux
На серверах, некоторые из ваших приложений могут потребовать более высокий лимит для открытых дескрипторов файлов. Хорошим примером этого являются службы MySQL / MariaDB или веб-сервер Apache.

Вы можете увеличить лимит открытых файлов в Linux, отредактировав опцию ядра fs.file-max. Для этого используйте утилиту sysctl.

Sysctl используется для настройки параметров ядра.

Например, чтобы увеличить ограничение на количество открых файла до 500000, вы можете использовать следующую команду:
# sysctl -w fs.file-max=500000

Вы можете проверить текущее значение для количества открытых файлов с помощью следующей команды:
$ cat /proc/sys/fs/file-max

С помощью указанной команды изменения, которые вы внесли, будут оставаться активными только до следующей перезагрузки. Если вы хотите применить их на постоянной основе, вам придется отредактировать следующий файл:
# vi /etc/sysctl.conf

Добавьте следующую команду:
fs.file-max=500000

Конечно, вы можете изменить число в соответствии с вашими потребностями. Чтобы снова проверить изменения, используйте:
# cat /proc/sys/fs/file-max

Чтобы изменения вступили в силу, пользователям необходимо будет выйти из системы и снова войти в систему. Если вы хотите немедленно применить ограничения, вы можете использовать следующую команду:
# sysctl -p

Установка количества открытых файлов для пользователя в Linux
Вышеприведенные примеры показали, как установить ограничения, но вы можете установить лимит для каждого пользователя. Для этой цели, с правами пользователя root, вам необходимо отредактировать следующий файл:
# vi /etc/security/limits.conf

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

Команды, которые вы должны добавить, имеют следующие параметры:
<domain>        <type>  <item>  <value>

Вот пример установки Soft и Hard лимитов для пользователя dimon:
## Example hard limit for max opened files
dimon hard nofile 4096
## Example soft limit for max opened files
dimon soft nofile 1024

👉 @sysadminof
👍8🎉2
Работа с правами доступа файлов и директорий в 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
Листинг текущего каталога с правами доступа

👉 @sysadminof
👍6👏1
Скрипты для диагностики DNS

DNS-TESTER
Тестирование скорости ответа DNS со статистикой превышения, минимума, максимума

https://github.com/m0zgen/dns-tester

BENCH-DNS
Простой скрипт для тестирования загрузки DNS. Написан на языке Go.

https://github.com/m0zgen/bench-dns

CHECK-DNS-SERVERS
Проверка DNS - Дата сертификата, DNS resolve, HTTP 200

https://github.com/m0zgen/check-dns-servers


MAC-DNS
Очистка кэша DNS и настройка DNS IP сервисов - Google, Cloudflare, BLD

https://github.com/m0zgen/mac-dns

BLD-LOOKUP
Соберите все IP-адреса DNS BLD и попытайтесь разрешить целевой домен с каждым IP BLD

https://github.com/m0zgen/bld-lookup

👉 @sysadminof
👍5❤‍🔥1
Шпаргалка по работе в командной строке

Команды для работы с файлами

ls — вывод содержимого каталога;
ls -la — вывод содержимого каталога в форматированном виде (в т.ч. скрытые файлы);
cd dir — перейти в каталог dir;
cd — перейти в домашний каталог;
pwd — показать текущий каталог;
mkdir dir — создать каталог dir;
rm file — удалить файл;
rm -r dir — удалить каталог dir;
rm -f file — принудительно удалить файл;
rm -rf dir — принудительно удалить каталог dir;
cp file1 file2 — скопировать file1 в file2;
cp -r dir1 dir2 — скопировать каталог dir1 в каталог dir2 (если каталога dir2 нет, он будет создан);
mv file1 file2 — переместить (или переименовать, если file1 и file2 находятся в одном каталоге) file1 в file2;
ln -s file link — создать симлинк link на файл file;
touch file — создать файл;
cat > file — направить стандартный ввод в file;
more file — вывод содержимого file;
head file — вывод содержимого первых 10 строк file;
tail file — вывод содержимого последних 10 строк file;
tail -f file — вывод содержимого file по мере появления, начиная с последних 10 строк файла.

👉 @sysadminof
👍103
Основы документирования сетей. Как рисовать понятные и красивые схемы на примере типового дизайна сети

1.Основы документирования сетей. Введение
2.Основы документирования сетей. Чем рисовать? Visio
3.Основы документирования сетей. Чем рисовать? Diagrams.net
4.Основы документирования сетей. Структурная схема сети
5.Основы документирования сетей. L3 схема сети
6.Основы документирования сетей. L2 схема сети
7.Основы документирования сетей. Расположение оборудования в стойке
8.Основы документирования сетей. IP-план
9.Основы документирования сетей. Описание настроек
10.Основы документирования сетей. Заключение

источник

👉 @sysadminof
👍193