Системный администратор
2.16K subscribers
422 photos
575 videos
7 files
235 links
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS.

По всем вопросам @evgenycarter
Download Telegram
Права доступа Unix, SUID, SGID, Sticky биты

В Unix каждому файлу соответствует набор прав доступа, представленный в виде 9-ти битов режима. Он определяет, какие пользователи имеют право читать файл, записывать в него данные или выполнять его. Вместе с другими тремя битами, влияющими на запуск исполняемых файлов, этот набор образует код режима доступа к файлу. Двенадцать битов режима хранятся в 16-битовом поле индексного дескриптора вместе с 4-мя дополнительными битами, определяющими тип файла. Последние 4 бита устанавливаются при создании файлов и не подлежат изменению. Биты режима (далее права) могут изменяться либо владельцем файла, либо суперпользователем с помощью команды chmod.

Существует три пути управления доступом к файлу или каталогу. Было определено, что каждый файл должен иметь владельца (owner), группового владельца (group owner), а также может потребоваться доступ для всех остальных пользователей (everyone). Эти названия обычно приводятся как пользователь/группа/остальные (user/group/others) или коротко ugo. Реализация управления доступом к файлам и каталогам в Unix позволяет или запрещает доступ по трем флагам: флаг чтения (Read), флаг записи (Write), флаг выполнения (eXecute).

https://help.ubuntu.ru/wiki/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B0_unix

👉@i_linux
👍1
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌

https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌

https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
👎3👍1
Traceroute и Tracert — утилиты-близнецы? Что такое трассировка сети

В Windows эта команда называется Tracert, а в Linux и MacOS – Traceroute.

Разница между Traceroute и Tracert

Tracert

1- Tracert, в отличие от своего Linux-двойника, реализован на основе протокола ICMP, а не UDP.
2- Tracert отправляет эхо-запрос ICMP (ICMP Echo Request) с TTL=1.
3- Первый маршрутизатор проверяет адрес назначения, чтобы выяснить был ли отправлен запрос именно ему.
4- Узнав, что цель пакета – другой хост, маршрутизатор отбрасывает его, и TTL становится равным 0.
5- Затем маршрутизатор 1 отправляет ICMP-сообщение с указанием информации о себе и причине проблемы источнику пакета: «Time-To-Live Exceeded» или «Time Exceeded in transit».
6- Благодаря этому сообщению Tracert записывает маршрутизатор 1 как первый транзитный участок или, как его ещё называют, «хоп, прыжок». Процесс передачи пакета между промежуточными маршрутизаторами продолжится, пока переменная (TTL ICMP-запроса), не станет равна количеству «прыжков» между узлом-отправителем и узлом-получателем, и пакет не будет получен хостом назначения или количество сетевых переходов не превысит максимальное значение для Tracert – 30.
7- Когда целевой хост проверит IP-адрес назначения и узнает, что запрос был направлен именно ему, он отправит эхо-ответ ICMP (ICMP Echo Request), что даст утилите понять, что процесс передачи завершён.


Traceroute

В чём ещё отличие Traceroute от Tracert? В Traceroute схема схожая, практически идентичная.

Целевому хосту направляется фрагментированный UDP-запрос. Таким образом, отправляется сразу несколько пакетов с TTL: TTL=1, TTL=2 и TTL=3.

Вот только раз эта утилита не отправляет эхо-запрос ICMP, как она понимает, что трассировка подошла к концу?

Всё просто: в каждом пакете содержатся данные о порте отправителя (Source) и порте получателя (Destination). Destination порт по умолчанию закрытый (34434), поэтому утилита Traceroute сразу понимает, что процесс передачи данных завершён, когда получает ответ с сообщением о недоступности порта «Destination port unreachable» (Хост/Порт недостижим). Иными словами, запрос достиг целевого хоста.

https://telegra.ph/Traceroute-i-Tracert--utility-bliznecy-CHto-takoe-trassirovka-seti-03-15

👉@i_linux
👍1
Эти утилиты предоставляют важные возможности для анализа и отладки сетевых проблем в различных операционных системах📌

Windows

tracert - стандартная утилита в Windows для трассировки маршрута, которая известна многим.
tracert google.com


pathping - это встроенный в Windows аналог утилиты mtr с аналогичной функциональностью, но поддерживающий только icmp запросы. Обычно он уже установлен в системе, и его не требуется устанавливать отдельно.
pathping google.com


tracetcp - это виндовая утилита, которая может выполнять tcp syn запросы по маршруту следования пакетов. Она помогает определить доступность определенного порта и может указать, где именно блокируется этот порт. Для установки этой утилиты потребуется скачать ее с официального сайта и установить вручную.
tracetcp google.com:443


Linux

traceroute - это стандартная утилита Linux, предназначенная для трассировки маршрута. По умолчанию она использует протокол udp, но вы можете выполнить трассировку с использованием протокола icmp следующим образом:
traceroute -I google.com


tracepath - аналогична утилите traceroute, но использует протокол udp и сразу выводит значения mtu и маршрутизаторы, где происходит изменение mtu.
tracepath google.com


mtr - эта утилита объединяет функциональность утилит ping и traceroute. Она может использовать протоколы tcp, udp и icmp. В операционной системе Windows есть аналог с названием Winmtr.
mtr -c3 google.com

👉@i_linux
👍2
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌

https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌

https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
🖕4
System Monitoring Center

Функции:
Подробные функции мониторинга/управления производительностью и использованием системы:
Мониторинг информации об аппаратном обеспечении/использовании CPU, RAM, Disk, Network, GPU
Мониторинг и управление процессами и службами (systemd)
Мониторинг пользователей, датчиков и общей информации о системе
Поддержка PolicyKit. Нет необходимости запускать приложение с помощью "sudo"
Опции выбора оборудования (выбор ядер CPU, дисков, сетевых карт, GPU)
Построение графиков производительности нескольких устройств одновременно
Интерактивные графики для запроса данных о производительности в любой точке
Возможность отображения процессов в виде дерева или списка
Оптимизирован для низкого использования процессора
Меню настройки практически для всех вкладок
Поддержка архитектуры ARM
Графический интерфейс с аппаратным ускорением
Бесплатный и открытый исходный код

https://github.com/hakandundar34coding/system-monitoring-center

👉@i_linux
👍4
KVM изменить размер диска / blockresize / domblklist / guests linux / mbr /gpt


Изменение диска offline / qemu-img
!!! не забываем делать backup
qemu-img resize vmdisk.qcow2 +10G - добавим 10Гб диску vmdisk.img


Изменение диска online / blockresize
virsh blockresize <domain> <path> <size>
[--domain] <строка> имя домена, ID или UUID
[--path] <строка> Полный путь к блочному устройству
[--size] <число> Новый размер блочного устройства, кратный целому числу (по умолчанию в КиБ)

virsh domblklist name_VM - узнаем какие диски есть у ВМ
virsh blockresize name_VM /kvm/name_VM_disk.qcow2 100G - для ВМ (name_VM), изменим размер диска равный 100Гб


Необходимые действия для гостя, при изменении диска, MBR диск / один раздел / fdisk:
!!! Не забываем делать backup
!!! Внимание пример для одного диска с одним разделом
!!! fdisk -l - посмотреть доступные

fdsik /dev/sda - редактируем таблицу разделов
: p - показываем таблицу разделов
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sda1 * 2048 14678015 14675968 7G 83 Linux
: d - удаляем таблицу разделов
: n - создаем таблицу разделов
Do you want to remove the signature? [Y]es/[N]o: N - не удаляем сигнатуры
: a - ставим ставим загрузочный бит
: w - применяем изменения
!!! после выхода из (fdisk) будет сказано что изменена таблица разделов и необходимо выполнить partprobe
(name_VM)# partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)# resize2fs /dev/sda1 - выполняем изменения FS


Необходимые действия для гостя, при изменении диска, MBR диск / несколько разделов / parted:
!!! Не забываем делать backup
!!! Внимание пример для одного диска и нескольких разделов
!!! fdisk -l - посмотреть доступные

Пример (parted)
(name_VM)# parted /dev/vda - открываем нужный диск
(parted) print free - покажем доступные разделы (диск /dev/vda)
Number Start End Size Type File system Flags
1 32.3kB 4295MB 4295MB primary ext4 boot
2 4295MB 8590MB 4295MB primary linux-swap(v1)
3 8590MB 107GB 98GB primary ext4
107GB 215GB 107GB Free Space
(parted) resizepart 3 - изменяем размер третьего раздела
End [107GB]? 215GB
(parted) quit - выходим из parted
(name_VM)#partprobe - выполняем просим систему перечитать таблицу разделов
(name_VM)#resize2fs /dev/vda3 - выполняем изменения FS


Необходимые действия для гостя, при изменении диска, GBT диск / несколько разделов / parted:
!!! GPT Рассматривается схема с одним разделом (/dev/vdb1) на весь диск
(name_VM)#partprobe
(name_VM)#gdisk /dev/vdb
переходим в расширенный режим x
смещаем запись в конец диска e
выходим из расширенного режима m
Command (? for help): d
Using 1
Command (? for help): n
Partition number (1-128, default 1): [Enter]
First sector (34-2147483614, default = 2048) or {+-}size{KMGTP}: [Enter]
Last sector (2048-2147483614, default = 2147483614) or {+-}size{KMGTP}: [Enter]
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): [Enter]
Changed type of partition to 'Linux filesystem'
выходим с сохранением w
(name_VM)#partprobe
(name_VM)#resize2fs /dev/vdb1
или
btrfs filesystem resize max /<MOUNTPOINT>


Смонтировать образ диска qcow2 в гипервизоре:
modprobe nbd max_part=8
qemu-nbd --connect=/dev/nbd0 <PATH-TO-IMAGE>.qcow2
fdisk /dev/nbd0 -l
mount -o ro /dev/nbd0p1 /mnt/ext0
umount /mnt/ext0
qemu-nbd --disconnect /dev/nbd0
rmmod nbd

👉@i_linux
🔥2👍1