Системный администратор
Відкрити в Telegram
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS. По всем вопросам @evgenycarter
Показати більше2 097
Підписники
-924 години
-227 днів
-14530 день
Архів дописів
Администрирование с Антоном Павленко
В чем разница между OSI и TCP/IP? Зачем существуют одновременно две сетевые модели?
Куда расти сисадмину-эникею? Мое мнение и опыт
Настройка nginx wordpress php-fpm. Nginx или apache для wordpress? Почему nginx?
Что такое DDOS? Простым языком. Какие атаки я наблюдал Распределенная атака на сервера.
SSD. Архитектура. Как появляются битые сектора и что с этим делается?
Strace Linux. Когда нет другого выхода
Полный плейлист на youtube
👉 @i_linux
Основы Linux (обзор с практическим уклоном)
В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическим уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).
Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.
https://habr.com/ru/articles/655275/
👉 @i_linux
Winapps
Проект, что позволяет запускать приложения Windows, такие как Microsoft Office в Linux (Ubuntu) и GNOME, как если бы они были частью собственной ОС, включая интеграцию с Nautilus
https://github.com/Fmstrat/winapps
👉 @i_linux
Утилиты 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/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh
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 — посмотреть список используемых портов
👉 @i_linuxСоздание гигабитного коммутатора на Linux
Сетевые коммутаторы — простые устройства: принимаешь пакет, отправляешь пакет. К счастью, люди придумали, как усложнить их, и изобрели управляемые коммутаторы.
Обычно они реализуются добавлением веб-интерфейса, конфигурирующего настройки и контролирующего такие параметры, как состояние портов. В более дорогих коммутаторах есть доступ к альтернативным интерфейсам, например Telnet и последовательным консольным портам.
Однако есть и вторая категория управляемых коммутаторов, о которых вспоминают не сразу — это коммутаторы, находящиеся внутри маршрутизаторов потребительского уровня. Эти маршрутизаторы — небольшие устройства на Linux, имеющие внутри чип коммутатора, один или несколько портов с внутренним подключением к CPU, а остальные выведены наружу как физические порты.
https://habr.com/ru/articles/831162/
original https://blog.brixit.nl/making-a-linux-managed-network-switch/
👉 @i_linux
+3
Лучшие практики сегментации корпоративной сети любой компании
Данный проект создан для публикации лучших практик сегментации корпоративной сети любой компании. В целом схемы, приведенные в данном проекте, подходят для любой компании.
https://github.com/sergiomarotco/Network-segmentation-cheat-sheet
👉 @i_linux
Протоколы транспортного уровня UDP, TCP И SCTP: достоинства и недостатки
В статье рассматриваются три основных протокола транспортного уровня: UDP, TCP и SCTP, их преи- мущества и недостатки. Анализируется логика работы протоколов и ситуации, при которых предпо- чтительно использовать тот или иной протокол. Также приведено соответствие стека TCP/IP модели OSI и примеры приложений, использующих данные протоколы.
👉 @i_linux
Файловая система Linux
Файловая система Linux. Нужна ли дефрагментация? Раскрываем секреты.
Структура каталогов Linux и монтирование дисков. Как продлить жизнь SSD.
Управление доступом к файлам в Linux, назначение владельцев, права по умолчанию
Что такое SWAP linux, как он работает? Создание swap файла linux
LVM Linux. Как разметить диск в Linux чтобы можно было расширить?
Все видео доступны на youtube
👉 @i_linux
Работа с архивами
Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)
Распаковать .tar:
tar -xvf file.tar.gz
Распаковать gz:
gunzip yourfile.gz
Распаковать многотомный архив:
7za x arch.7z.001
Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>
Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]
Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user
👉 @i_linuxOh My Zsh
Удивительный фреймворк, созданный при участии сообщества (более 2400 участников) для управления вашей конфигурацией zsh. Включает более 300 дополнительных плагинов (rails, git, macOS, hub, docker, homebrew, node, php, python и др.), более 140 тем, чтобы разнообразить ваш день, и инструмент автоматического обновления, который облегчает установку последних обновлений от сообщества.
https://github.com/ohmyzsh/ohmyzsh
👉 @i_linux
DUF (Disk Usage/Free) — это современная утилита для отображения информации о дисковом пространстве на Linux, BSD, macOS и Windows. Она предоставляет удобный интерфейс для мониторинга использования дисков с цветовой индикацией и выводом полезной информации, такой как объем свободного и занятого места, проценты использования и точки монтирования.
Основные особенности DUF:
- Понятный и цветной интерфейс.
- Кроссплатформенность (Linux, BSD, macOS и Windows).
- Поддержка различных файловых систем.
- Возможность фильтрации и настройки отображаемых данных.
Эта утилита — полезный инструмент для системных администраторов и пользователей, которым требуется быстрая и удобная проверка состояния дисков в системе.
https://www.cyberciti.biz/open-source/command-line-hacks/duf-disk-usage-free-utility-for-linux-bsd-macos-windows/
👉 @i_linux
Common Windows, Linux and Web Server Systems Hacking Techniques
Alassouli, Dr. Hidaia Mahmood (2021)
A Trojan horse or Trojan is a type of malware that is often disguised as legitimate software. Trojans can be employed by cyber-thieves and hackers trying to gain access to users' systems. Users are typically tricked by some form of social engineering into loading and executing Trojans on their systems. Once activated, Trojans can enable cyber-criminals to spy on you, steal your sensitive data, and gain backdoor access to your system.A computer virus is a type of computer program that, when executed, replicates itself by modifying other computer programs and inserting its own code.
👉 @i_linux
Информация о пользователях и системе в Linux
whoami или echo $USER- выведем имя юзера
groups - выведет группы пользователя
id - выведет User IDentifier, его имя, Group IDentifier и группы данного юзера с их GID
(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
last - список последних логинов в систему
last reboot - список перезагрузок хоста по времени
last user1 - отобразить историю регистрации пользователя в системе и время его нахождения в ней
w - показывает активные сессии (дата, время, ip, простой, сколько было потреблено процессорного времени и что выполняет)
echo $XDG_CURRENT_DESKTOP - узнать какая графическая оболочка
hostname - выведет имя хоста, hostname -i - IP адреса
uname -a - выводит ОС, версию ядра, архитектуру и дату сборки, процессор, лицензию и так далее, т.е. вся информация о системе, сборке или lsb_release -a или пакет neofetch с полной информацией о системе или cat /etc/os-release
dmidecode - информация о железе
free -w -t --mega - выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)
date - полная дата с часовым поясом
ifconfig -a - Настройки всех сетевых адаптеров
ip addr show - Список всех сетевых интерфейсов и связанных IP-адресов
wget -qO- eth0.me - Узнать внешний IP
uptime
man ls - документация/инструкция по указанному пакету
👉 @i_linuxЧто происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово.
Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.
Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.
Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.
👉 @i_linux
Топ полезных команд
Конвертировать HEIC в JPG:
ls *.HEIC -1 | sed -e 's/\.HEIC$//' | xargs -I {} convert {}.HEIC {}.JPG
Изменить текстовый редактор для конкретного случая:
export EDITOR=ee; crontab -e
Удалить snapd в Ubuntu Server:
$ sudo apt purge snapd
$ sudo apt-mark hold snapd
snapd помечен как зафиксированный.
Удалить старые данные telegraf в Influxdb 1.8:
$ docker exec -ti influxdb influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use telegraf;
Using database telegraf
> DELETE WHERE time < '2022-06-01'
будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
route change default 192.168.1.1
Выключаем IPv6:
sudo nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
👉 @i_linuxТоп полезных команд
Отправить тестовое письмо:
echo "test" | mail -s "Test Subject" user@gmail.com
Выполнить PHP функцию в консоли:
php -r "echo phpinfo();" | grep date.timezone
Отключить спящий режим на ubuntu server:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Для проверки набора переменных BASH_ENV:
$ env | grep BASH_ENV
Замер скорости диска:
dd if=/dev/zero of=testfile bs=4k count=1310720
dd if=testfile of=/dev/null bs=4k count=1310720
Обновить locate:
/usr/libexec/locate.updatedb
👉 @i_linuxПримеры использования команды grep в Linux
Поиск файлов с помощью команды grep
# dpkg -l | grep -i python
Команда dpkg -l выводит на экран установленные пакеты с расширением *.deb. Результат вывода с помощью символа передается по конвейеру команде grep. При этом опция -i позволяет команде игнорировать регистр в названиях.
Фильтрация содержимого файлов с помощью команды grep (игнорирование закомментированных строк)
# grep –v "#" /etc/apache2/sites-available/default-ssl
Опция –v указывает команде, что на экран нужно выводить те строки, в которых нет искомого выражения.
Обнаружение всех файлов с расширением .mp3 с помощью команды grep
# find . –name "*.mp3" | grep –i "ABC" | grep –vi "remix"
find — утилита поиска файлов в файловой системе;
. — указывает, что поиск следует вести относительно текущего рабочего каталога;
–name — проверяет название файлов на соответствие заданному шаблону;
"*.mp3" — шаблон, соответствующий файлам искомого формата;
| — объединяет команды в конвейер (вывод первой команды передается на ввод второй — и так далее);
grep с опцией –i — поиск по выводу команды find с игнорированием регистра;
"ABC" — шаблон, по которому осуществляется поиск;
grep –vi — поиск по выводу предыдущей команды grep и исключение результатов, соответствующих заданному шаблону;
"remix" — шаблон, по которому осуществляется поиск.
Отображение строк до или после строки с результатом поиска
# ifconfig | grep –A 4 eth0
-A (от англ. After) — указанное количество строк до шаблона;
-B (от англ. Before) — указанное количество строк после шаблона.
Выведение заданного числа всех соседних строк с помощью команды grep
# ifconfig | grep -C 2 lo
В том случае, если Вы точно не знаете, какие именно соседние строки (до или после строки, содержащей шаблон) Вам нужны — воспользуйтесь командой grep с опцией -C. Следующая комбинация команд выведет на экран по 2 строки до и после строчки вывода команды ifconfig, содержащей шаблон lo:
Подсчет числа строк, содержащих искомое выражение
# ifconfig | grep -c inet6
В некоторых случаях Вам могут понадобится не сами строчки, включающие заданное выражение, а их общее количество. В таком случае воспользуйтесь опцией -c. Следующая комбинация команд выведет на экран количество строк в выводе команды ifconfig, включающих шаблон inet6.
👉 @i_linuxУроки по Linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉 @i_linux
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
