Уровни модели OSI
Многоуровневая модель OSI очень важна для понимания того, как машины взаимодействуют друг с другом. В этой статье мы рассмотрим основы модели OSI и опишем уровни взаимосвязи различных систем между собой.
Уровни помогают сетевому специалисту визуализировать, что происходит в сетях, а также помогают определить источник проблемы в сети – на программном или аппаратном уровне.
https://telegra.ph/Urovni-modeli-OSI-01-22
👉 @sysadminof
Многоуровневая модель OSI очень важна для понимания того, как машины взаимодействуют друг с другом. В этой статье мы рассмотрим основы модели OSI и опишем уровни взаимосвязи различных систем между собой.
Уровни помогают сетевому специалисту визуализировать, что происходит в сетях, а также помогают определить источник проблемы в сети – на программном или аппаратном уровне.
https://telegra.ph/Urovni-modeli-OSI-01-22
👉 @sysadminof
👍12🔥1🥰1
Media is too big
VIEW IN TELEGRAM
Postal - это полноценный и полнофункциональный почтовый сервер для использования на веб-сайтах и веб-серверах. Представьте Sendgrid, Mailgun или Postmark, но с открытым исходным кодом и готовый к запуску на ваших собственных серверах. Postal был разработан компанией Krystal для удовлетворения собственных потребностей в обработке почты, и с тех пор мы решили, что он должен быть выпущен как проект с открытым исходным кодом для сообщества.
https://docs.postalserver.io/
👉 @sysadminof
https://docs.postalserver.io/
👉 @sysadminof
🔥5
Увеличиваем корневой раздел диска Linux на лету с помощью LVM
LVM позволяет создавать, изменять и удалять разделы диска на запущенном сервере без необходимости перезагружать его.
Утилита growpart — это инструмент для расширения разделов, который входит в пакет cloud utils.
Для установки growpart в Ubuntu / Debian, введите команду:
Для установки growpart в RHEL, введите команду:
Определите SCSI устройства и просканируйте:
Определите раздел диска с LVM:
Расширяем раздел до максимума, вводим команду:
Увеличиваем физический размер тома:
Увеличиваем логический размер тома для корневой файловой системы:
Проверяем, командой:
Если используется standard partition с ext4:
👉 @sysadminof
LVM позволяет создавать, изменять и удалять разделы диска на запущенном сервере без необходимости перезагружать его.
Утилита growpart — это инструмент для расширения разделов, который входит в пакет cloud utils.
Для установки growpart в Ubuntu / Debian, введите команду:
apt install cloud-guest-utils gdisk -yДля установки growpart в RHEL, введите команду:
yum install cloud-utils-growpart gdisk -yОпределите SCSI устройства и просканируйте:
ls /sys/class/scsi_device/
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescanОпределите раздел диска с LVM:
lsblkРасширяем раздел до максимума, вводим команду:
growpart /dev/sda 2Увеличиваем физический размер тома:
pvresize /dev/sda2Увеличиваем логический размер тома для корневой файловой системы:
lvextend -r -l +100%FREE /dev/name-of-volume-group/rootПроверяем, командой:
df -hЕсли используется standard partition с ext4:
growpart /dev/sdb 1
resize2fs /dev/sdb1👉 @sysadminof
👍6
Как сократить затраты на ИТ-инфраструктуру и повысить надежность?
Найти надёжного поставщика услуг по аренде и размещению серверного оборудования.
Компания «NETRACK» предлагает в аренду серверное оборудование с размещением в дата-центрах TIER-3 или навынос и выполняет инфраструктурные проекты любой сложности. Мы помогаем расти бизнесу наших клиентов уже больше 10 лет. За это время «NETRACK» выполнила более 200 highload-проектов.
У нас вы можете:
— взять в аренду «железо»: серверы любой конфигурации под ваш проект, СХД и сетевое оборудование
— разместить оборудование в лучших дата-центрах Москвы
— получить вычислительные мощности под развитие облачных продуктов и сервисов.
Гарантируем SLA 99,999%, круглосуточный физический доступ в дата-центр и оперативную техподдержку 24/7.
Мы одинаково ценим каждого заказчика — от стартапа до корпорации.
Арендовать серверы со огромными скидками можно на канале: @netrack_dedicated_servers
Более подробная информация на сайте: https://netrack.ru/
Найти надёжного поставщика услуг по аренде и размещению серверного оборудования.
Компания «NETRACK» предлагает в аренду серверное оборудование с размещением в дата-центрах TIER-3 или навынос и выполняет инфраструктурные проекты любой сложности. Мы помогаем расти бизнесу наших клиентов уже больше 10 лет. За это время «NETRACK» выполнила более 200 highload-проектов.
У нас вы можете:
— взять в аренду «железо»: серверы любой конфигурации под ваш проект, СХД и сетевое оборудование
— разместить оборудование в лучших дата-центрах Москвы
— получить вычислительные мощности под развитие облачных продуктов и сервисов.
Гарантируем SLA 99,999%, круглосуточный физический доступ в дата-центр и оперативную техподдержку 24/7.
Мы одинаково ценим каждого заказчика — от стартапа до корпорации.
Арендовать серверы со огромными скидками можно на канале: @netrack_dedicated_servers
Более подробная информация на сайте: https://netrack.ru/
👍4
Запуск команд в фоновом режиме
Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:
command & noscript-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &
Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs
Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
jobs –l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы отобразить только идентификаторы процессов, введите:
jobs -p
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID
ИЛИ
fg JOB-ID
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2
Пример вывода данных:
grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду:
bg
Теперь командное задание grep будет работать в фоновом режиме.
👉 @sysadminof
Синтаксис
Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:
command & noscript-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &
Примеры
Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &
Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &
Как найти задания, работающие в фоновом режиме?
Выполните следующую команду:
jobs
Пример вывода данных:
[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l:
jobs –l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы отобразить только идентификаторы процессов, введите:
jobs -p
Пример вывода данных:
7307
7324
Как прекратить выполнение заданий, работающих в фоновом режиме?
Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:
kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here
Как переместить процесс из фонового режима в приоритетный?
Синтаксис:
%JOB-ID
ИЛИ
fg JOB-ID
Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите:
jobs -l
Пример вывода данных:
[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &
Чтобы перевести задание job id #2 в приоритетный режим, введите:
%2
ИЛИ используйте команду:
fg 2
Пример вывода данных:
grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt
Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду:
bg
Теперь командное задание grep будет работать в фоновом режиме.
👉 @sysadminof
👍9🥰1
«Крутое пике» для жестких дисков: продажи упали почти вдвое, но растут продажи ленточных накопителей. Что происходит?
В 2022 году мы публиковали несколько статей на тему динамики продаж жестких дисков. Ну точнее, как, динамика — тут реально впору говорить и крутом пике, поскольку продажи очень быстро сокращаются. Причины достаточно прозрачные, но для большинства вендоров такого типа устройств это весьма болезненная проблема. Сейчас многие производители HDD фактически терпят бедствие — причем как в пользовательском, так и корпоративном сегментах.
Но если у «Вилларибо» проблемы, то в условном «Виллабаджо» — реальный праздник. Под последним подразумеваем производителей ленточных накопителей и всем, что с ними связано. Там, достаточно неожиданно для аналитиков, наблюдается довольно активный рост.
https://telegra.ph/Krutoe-pike-dlya-zhestkih-diskov-prodazhi-upali-pochti-vdvoe-no-rastut-prodazhi-lentochnyh-nakopitelej-CHto-proishodit-01-24
👉 @sysadminof
В 2022 году мы публиковали несколько статей на тему динамики продаж жестких дисков. Ну точнее, как, динамика — тут реально впору говорить и крутом пике, поскольку продажи очень быстро сокращаются. Причины достаточно прозрачные, но для большинства вендоров такого типа устройств это весьма болезненная проблема. Сейчас многие производители HDD фактически терпят бедствие — причем как в пользовательском, так и корпоративном сегментах.
Но если у «Вилларибо» проблемы, то в условном «Виллабаджо» — реальный праздник. Под последним подразумеваем производителей ленточных накопителей и всем, что с ними связано. Там, достаточно неожиданно для аналитиков, наблюдается довольно активный рост.
https://telegra.ph/Krutoe-pike-dlya-zhestkih-diskov-prodazhi-upali-pochti-vdvoe-no-rastut-prodazhi-lentochnyh-nakopitelej-CHto-proishodit-01-24
👉 @sysadminof
Модификация прошивки роутера D-Link
Всех с наступившим Рождеством! В этой заметке я расскажу о том как модифицировать прошивку роутера D-Link DWR-M921, вдруг кому эта информация пригодится.
Привели меня к этому попытки установить на роутер блокировщик рекламы AdGuardHome. Чипсет RTL8197F на котором работает сабж на данный момент не имеет полной поддержки OpenWRT, исходных кодов прошивки от D-Link'а нет, а попытки что-то собрать из древних RealTek'овских SDK для семейства rtl819x которые я нашел на SourceForge не увенчались успехом.
https://habr.com/ru/post/709544/
👉 @sysadminof
Всех с наступившим Рождеством! В этой заметке я расскажу о том как модифицировать прошивку роутера D-Link DWR-M921, вдруг кому эта информация пригодится.
Привели меня к этому попытки установить на роутер блокировщик рекламы AdGuardHome. Чипсет RTL8197F на котором работает сабж на данный момент не имеет полной поддержки OpenWRT, исходных кодов прошивки от D-Link'а нет, а попытки что-то собрать из древних RealTek'овских SDK для семейства rtl819x которые я нашел на SourceForge не увенчались успехом.
https://habr.com/ru/post/709544/
👉 @sysadminof
👍7
Forwarded from Книги для Системного Администратора
badblocks — команда для поиска и исправления поврежденных секторов на жестких дисках
Команда badblocks предназначена для поиска и исправления поврежденных секторов на жестких дисках. На сегодняшний день она в некоторой степени утратила свою актуальность из-за того, что современные жесткие диски осуществляют переназначение поврежденных секторов в автоматическом режиме сразу же после возникновения ошибок, связанных с чтением или записью данных. Тем не менее, она может использоваться для активации упомянутого механизма переназначения секторов, так как при работе в основном режиме она осуществляет посектороное чтение данных с жесткого диска, которое позволяет жесткому диску выявить и переназначить поврежденные сектора.
Предупреждение: не используйте рассматриваемую команду, если не до конца уверены в правильности своих действий или не понимаете сути происходящих процессов, ведь в результате даже незначительной ошибки вы можете лишиться всех хранящихся на диске данных. Кроме того, не пытайтесь использовать эту команду по отношению к смонтированному разделу или к диску с со смонтирнованными разделами, ведь в этом случае последствия будут непредсказуемыми.
Перед использованием badblocks необходимо определиться с жестким диском или его разделом, на котором нужно искать поврежденные сектора. Для этого может использоваться команда lsblk:
В данном случае в столбце NAME будут выводиться имена файлов устройств накопителей и их разделов (для обозначения разделов используется дополнительная нумерация), в столбце FSTYPE - названия созданных в разделах файловых систем, в столбце LABEL - метки разделов, в столбце MOUNTPOINT - пути к точкам монтирования файловых систем, а в столбце MODEL - информация о моделях устройств.
Базовый синтаксис команды:
Параметр -v используется для вывода информации о ходе процесса проверки жесткого диска.
Если вам по какой-либо причине понадобится запретить использование поврежденных секторов на уровне файловой системы вы всегда можете сохранить список этих секторов и передать его утилите e2fsck. Это делается следующим образом:
Однако, в большинстве случаев будет достаточно однокртного посектороного чтения данных из раздела или со всего устройства.
Примеры использования
1. Выбор раздела жесткого диска для проверки
Выберем раздел с корневой файловой сситемой дистрибутива Debian (с соотвествующей меткой), который в данный момент не смонтирован. Ему соответствует файл устройства sdb2.
2. Проверка выбранного раздела на наличие поврежденных секторов
Очевидно, что в ходе проверки раздела поврежденных секторов не было обнаружено.
@i_odmin_book
Команда badblocks предназначена для поиска и исправления поврежденных секторов на жестких дисках. На сегодняшний день она в некоторой степени утратила свою актуальность из-за того, что современные жесткие диски осуществляют переназначение поврежденных секторов в автоматическом режиме сразу же после возникновения ошибок, связанных с чтением или записью данных. Тем не менее, она может использоваться для активации упомянутого механизма переназначения секторов, так как при работе в основном режиме она осуществляет посектороное чтение данных с жесткого диска, которое позволяет жесткому диску выявить и переназначить поврежденные сектора.
Предупреждение: не используйте рассматриваемую команду, если не до конца уверены в правильности своих действий или не понимаете сути происходящих процессов, ведь в результате даже незначительной ошибки вы можете лишиться всех хранящихся на диске данных. Кроме того, не пытайтесь использовать эту команду по отношению к смонтированному разделу или к диску с со смонтирнованными разделами, ведь в этом случае последствия будут непредсказуемыми.
Перед использованием badblocks необходимо определиться с жестким диском или его разделом, на котором нужно искать поврежденные сектора. Для этого может использоваться команда lsblk:
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
...В данном случае в столбце NAME будут выводиться имена файлов устройств накопителей и их разделов (для обозначения разделов используется дополнительная нумерация), в столбце FSTYPE - названия созданных в разделах файловых систем, в столбце LABEL - метки разделов, в столбце MOUNTPOINT - пути к точкам монтирования файловых систем, а в столбце MODEL - информация о моделях устройств.
Базовый синтаксис команды:
# badblocks -v /dev/<имя файла раздела или устройства>Параметр -v используется для вывода информации о ходе процесса проверки жесткого диска.
Если вам по какой-либо причине понадобится запретить использование поврежденных секторов на уровне файловой системы вы всегда можете сохранить список этих секторов и передать его утилите e2fsck. Это делается следующим образом:
# badblocks -v /dev/<имя файла раздела или устройства> > /tmp/badblocks.txt
# e2fsck -l /tmp/bad-blocks.txt /dev/<имя файла раздела или устройства>
# rm /tmp/badblocks.txtОднако, в большинстве случаев будет достаточно однокртного посектороного чтения данных из раздела или со всего устройства.
Примеры использования
1. Выбор раздела жесткого диска для проверки
# lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,MODEL
NAME FSTYPE LABEL MOUNTPOINT MODEL
sdb MAXTOR STM316081
├─sdb4 ext4 home /home
├─sdb2 ext4 Debian
└─sdb1 swap
...Выберем раздел с корневой файловой сситемой дистрибутива Debian (с соотвествующей меткой), который в данный момент не смонтирован. Ему соответствует файл устройства sdb2.
2. Проверка выбранного раздела на наличие поврежденных секторов
# badblocks -v /dev/sdb2
Checking blocks 0 to 12697599
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)Очевидно, что в ходе проверки раздела поврежденных секторов не было обнаружено.
@i_odmin_book
👍5
Виртуальные файловые системы в Linux: Зачем они нужны и как они работают
Виртуальные файловые системы - это волшебная абстракция, которая делает возможной философию Linux "все есть файл".
https://opensource.com/article/19/3/virtual-filesystems-linux
👉 @sysadminof
Виртуальные файловые системы - это волшебная абстракция, которая делает возможной философию Linux "все есть файл".
https://opensource.com/article/19/3/virtual-filesystems-linux
👉 @sysadminof
🔥3
Forwarded from Книги для Системного Администратора
chattr — команда для изменения атрибутов файла
Помимо прав доступа каждый из файлов стандартной файловой системы Linux имеет набор атрибутов, регламентирующих особенности работы с ним. Атрибуты поддерживаются такими файловыми системами Linux, как ext4, btrfs и xfs. Команда chattr позволяет вызывать соответствующую утилиту для их модификации.
Базовый синтаксис команды выглядит следующим образом:
Наиболее важными параметрами являются параметр -R, позволяющий рекурсивно изменять атрибуты файлов в дереве директорий, параметр -V, позволяющий выводить подробную информацию о производимых изменениях и параметр -f, позволяющий не выводить большую часть сообщений об ошибках.
Утилита chattr принимает описания атрибутов в буквенной нотации, которая наверняка знакома пользователям, имеющим опыт работы с утилитой chmod. Так, для установки атрибутов используется префикс +, для удаления атрибутов — префикс -, а для сохранения атрибутов — префикс =. Наиболее важные атрибуты приведены в таблице ниже.
Атрибут Значение
A Не обновлять метку времени доступа к файлу
S Открывать файл в синхронном режиме (немедленно записывать изменения на диск)
a Открывать файл в режиме дополнения (дописывать данные в конец файла)
i Запретить изменение содержимого файла (а также его переименование, создание ссылок, исполнение)
j Обновлять информацию в журнале файловой системы перед обновлением содержимого файла
d Не создавать резервную копию файла с помощью утилиты dump
u Не удалять данные файла при его удалении (что позволяет впоследствии восстановить его)
C Не использовать механизм копирования при записи
s Безопасно удалять файл (что не позволит впоследствии его восстановить)
D Открывать файлы из директории в синхронном режиме (немедленно записывать изменения на диск)
e Индикатор использования экстентов для указания на блоки данных (не может быть изменен)
E Индикатор использования шифрования (не может быть изменен)
N Индикатор использования структуры inode для хранения данных файла (не может быть изменен)
Очевидно, что некоторые атрибуты не могут быть изменены. Для их просмотра должна использоваться утилита lsattr.
Примеры использования
Установка атрибутов
Команда chattr может использоваться для установки любых поддерживаемых атрибутов файлов. Например, для того, чтобы сделать файл неудаляемым, следует использовать атрибут i:
Очевидно, что даже суперпользователь теперь не может удалить файл. Но он все так же может убрать атрибут и удалить его:
Данный атрибут — довольно удобный механизм для защиты от ошибок, который, тем не менее, не является механизмом защиты файлов.
Рекурсивная установка прав доступа
Команда chattr может использоваться для рекурсивной установки атрибутов файлов и директорий из любого фрагмента дерева файловой системы, то есть, установки одних и тех же атрибутов всех файлов из директории и ее поддиректорий благодаря поддержке параметра -R. Например, для установки атрибута безопасного удаления всех файлов директории параметр -R может использоваться следующим образом:
Очевидно, что атрибут безопасного удаления был установлен для каждого из файлов.
@i_odmin_book
Помимо прав доступа каждый из файлов стандартной файловой системы Linux имеет набор атрибутов, регламентирующих особенности работы с ним. Атрибуты поддерживаются такими файловыми системами Linux, как ext4, btrfs и xfs. Команда chattr позволяет вызывать соответствующую утилиту для их модификации.
Базовый синтаксис команды выглядит следующим образом:
# chattr [параметры] [атрибуты] файлыНаиболее важными параметрами являются параметр -R, позволяющий рекурсивно изменять атрибуты файлов в дереве директорий, параметр -V, позволяющий выводить подробную информацию о производимых изменениях и параметр -f, позволяющий не выводить большую часть сообщений об ошибках.
Утилита chattr принимает описания атрибутов в буквенной нотации, которая наверняка знакома пользователям, имеющим опыт работы с утилитой chmod. Так, для установки атрибутов используется префикс +, для удаления атрибутов — префикс -, а для сохранения атрибутов — префикс =. Наиболее важные атрибуты приведены в таблице ниже.
Атрибут Значение
A Не обновлять метку времени доступа к файлу
S Открывать файл в синхронном режиме (немедленно записывать изменения на диск)
a Открывать файл в режиме дополнения (дописывать данные в конец файла)
i Запретить изменение содержимого файла (а также его переименование, создание ссылок, исполнение)
j Обновлять информацию в журнале файловой системы перед обновлением содержимого файла
d Не создавать резервную копию файла с помощью утилиты dump
u Не удалять данные файла при его удалении (что позволяет впоследствии восстановить его)
C Не использовать механизм копирования при записи
s Безопасно удалять файл (что не позволит впоследствии его восстановить)
D Открывать файлы из директории в синхронном режиме (немедленно записывать изменения на диск)
e Индикатор использования экстентов для указания на блоки данных (не может быть изменен)
E Индикатор использования шифрования (не может быть изменен)
N Индикатор использования структуры inode для хранения данных файла (не может быть изменен)
Очевидно, что некоторые атрибуты не могут быть изменены. Для их просмотра должна использоваться утилита lsattr.
Примеры использования
Установка атрибутов
Команда chattr может использоваться для установки любых поддерживаемых атрибутов файлов. Например, для того, чтобы сделать файл неудаляемым, следует использовать атрибут i:
# chattr +i 1.odt
# rm 1.odt
rm: невозможно удалить '1.odt': Операция не позволенаОчевидно, что даже суперпользователь теперь не может удалить файл. Но он все так же может убрать атрибут и удалить его:
# chattr -i 1.odt
# rm 1.odtДанный атрибут — довольно удобный механизм для защиты от ошибок, который, тем не менее, не является механизмом защиты файлов.
Рекурсивная установка прав доступа
Команда chattr может использоваться для рекурсивной установки атрибутов файлов и директорий из любого фрагмента дерева файловой системы, то есть, установки одних и тех же атрибутов всех файлов из директории и ее поддиректорий благодаря поддержке параметра -R. Например, для установки атрибута безопасного удаления всех файлов директории параметр -R может использоваться следующим образом:
# lsattr TL-WR1043ND_V4_160607/
--------------e---- TL-WR1043ND_V4_160607/How to upgrade TP-LINK Wireless N Router.pdf
--------------e---- TL-WR1043ND_V4_160607/GPL License Terms.pdf
--------------e---- TL-WR1043ND_V4_160607/wr1043ndv4_eu-up-ver3-16-9-P1[20160607-rel58297].bin
# chattr -R +s TL-WR1043ND_V4_160607/
# lsattr TL-WR1043ND_V4_160607/
s-------------e---- TL-WR1043ND_V4_160607/How to upgrade TP-LINK Wireless N Router.pdf
s-------------e---- TL-WR1043ND_V4_160607/GPL License Terms.pdf
s-------------e---- TL-WR1043ND_V4_160607/wr1043ndv4_eu-up-ver3-16-9-P1[20160607-rel58297].binОчевидно, что атрибут безопасного удаления был установлен для каждого из файлов.
@i_odmin_book
🔥2
Регулярные выражение для поиска IP адресов
Ниже представлены регулярные выражения, которые помогут найти все IP адреса в строке.
Данные регулярные выражения соответствуют шаблонам IPv4 и IPv6 адресов.
Регулярное Выражение для Поиска IP Адресов
Паттерн для поиска IPv4 адресов, соответствует всем значениям от 0.0.0.0to 999.999.999.999и в большинстве случаев этого бывает достаточно.
"([0-9]{1,3}[\.]){3}[0-9]{1,3}"
Найти Все IP Адреса с Помощью Grep
Пропарсим файл и найдем в нем все IP адреса из диапазона от 0.0.0.0до 999.999.999.999с помощью grep:
$ grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" file.txt
Поиск Правильных IPv4 Адресов
Регулярное выражение для поиска и проверки правильных IPv4 адресов:
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
Поиск IPv6 Адресов
Регулярное выражение для проверки IPv6 адреса:
"((^|:)([0-9a-fA-F]{0,4})){1,8}"
👉 @sysadminof
Ниже представлены регулярные выражения, которые помогут найти все IP адреса в строке.
Данные регулярные выражения соответствуют шаблонам IPv4 и IPv6 адресов.
Регулярное Выражение для Поиска IP Адресов
Паттерн для поиска IPv4 адресов, соответствует всем значениям от 0.0.0.0to 999.999.999.999и в большинстве случаев этого бывает достаточно.
"([0-9]{1,3}[\.]){3}[0-9]{1,3}"
Найти Все IP Адреса с Помощью Grep
Пропарсим файл и найдем в нем все IP адреса из диапазона от 0.0.0.0до 999.999.999.999с помощью grep:
$ grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" file.txt
Поиск Правильных IPv4 Адресов
Регулярное выражение для поиска и проверки правильных IPv4 адресов:
"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
Поиск IPv6 Адресов
Регулярное выражение для проверки IPv6 адреса:
"((^|:)([0-9a-fA-F]{0,4})){1,8}"
👉 @sysadminof
👍5
Подборка Telegram каналов для программистов
https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"
https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
CodePen 📌
https://news.1rj.ru/str/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
https://news.1rj.ru/str/arhitekturamira World Architecture
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Мир технологий 📌
https://news.1rj.ru/str/mir_teh Видео из мира технологий
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT.
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"
https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus
Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub
CodePen 📌
https://news.1rj.ru/str/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр
Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
Чат программистов📌
https://news.1rj.ru/str/developers_ru
Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров
https://news.1rj.ru/str/arhitekturamira World Architecture
Системное администрирование 📌
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux
Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля
Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
Мир технологий 📌
https://news.1rj.ru/str/mir_teh Видео из мира технологий
Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack
👍1
5 супер полезных сетевых утилит linux
Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров.
Покажет таблицу роутинга. Тоже самое сделает команда route.
Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig.
Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.
Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так: socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
Конектор к netcat из предыдущего примера: socat - TCP4:127.0.0.1:80
Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.
Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:
Единорог!
curl -v http://127.0.0.1:12345
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
ipУтилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
ip addr Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров.
ip route Покажет таблицу роутинга. Тоже самое сделает команда route.
ip link set eth0 up Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig.
Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
ncПолное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.
Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
socat Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так: socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
Конектор к netcat из предыдущего примера: socat - TCP4:127.0.0.1:80
Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.
netstat Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
curlУтилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:
curl http://artscene.textfiles.com/asciiart/unicorn Единорог!
curl -v http://127.0.0.1:12345
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
👍13🥰1
Media is too big
VIEW IN TELEGRAM
Wi-Fi по-человечески
1. Краткая история Wi-Fi. Появление nice-to-have, must have, critical.
2. Подходы к проектированию Wi-Fi в разные периоды.
3. Личный опыт построения Wi-Fi сетей.
4. 7 частых ошибок в проектировании и построении Wi-Fi, которых следует избегать.
👉 @sysadminof
1. Краткая история Wi-Fi. Появление nice-to-have, must have, critical.
2. Подходы к проектированию Wi-Fi в разные периоды.
3. Личный опыт построения Wi-Fi сетей.
4. 7 частых ошибок в проектировании и построении Wi-Fi, которых следует избегать.
👉 @sysadminof
Media is too big
VIEW IN TELEGRAM
Полноценный почтовый сервер за 15 минут
Лёгкий вариант установки и настройки полноценного почтового сервера iRedMail на основе Postfix, Dovecot & SOGo.
👉 @sysadminof
Лёгкий вариант установки и настройки полноценного почтового сервера iRedMail на основе Postfix, Dovecot & SOGo.
👉 @sysadminof
👍6🗿1
Анатомия GNU/Linux
У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.
https://habr.com/ru/post/531872/
👉 @sysadminof
У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.
https://habr.com/ru/post/531872/
👉 @sysadminof
Хабр
Анатомия GNU/Linux
Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей...
👍3
Привет, админ!👋
Хочешь роста и желаешь сменить свою сферу деятельности на более перспективную и высокооплачиваемую?💰
Попробуй себя в AI!
Нейронки - это более интересные задачи, удаленная работа с высокими зарплатами, а главное - данная профессия будет востребована минимум ближайшие 30 лет!💪
👉Опыт программирования НЕ нужен. С твоими знаниями ты легко вольёшься в тему и напишешь целых 9 нейронок за 3 дня!
Залетай на 🔥бесплатный интенсив по ссылке
Хочешь роста и желаешь сменить свою сферу деятельности на более перспективную и высокооплачиваемую?💰
Попробуй себя в AI!
Нейронки - это более интересные задачи, удаленная работа с высокими зарплатами, а главное - данная профессия будет востребована минимум ближайшие 30 лет!💪
👉Опыт программирования НЕ нужен. С твоими знаниями ты легко вольёшься в тему и напишешь целых 9 нейронок за 3 дня!
Залетай на 🔥бесплатный интенсив по ссылке
😁1🤬1
MU-MIMO Wi-Fi — 13 вещей, которые необходимо знать
Одно из самых существенных и важных нововведений Wi-Fi за прошедшие 20 лет – технология Multi User – Multiple Input Multiple Output (MU-MIMO). MU-MIMO расширяет функциональность появившегося недавно обновления беспроводного стандарта 802.11ac «Wave 2». Безусловно, это огромный прорыв для беспроводной связи. Данная технология помогает увеличить максимальную теоретическую скорость беспроводного соединения от 3,47 Гбит/с в оригинальной спецификации стандарта 802.11ac до 6,93 Гбит/с в обновлении стандарта 802.11ac Wave 2. Это одна из самых сложных функциональностей Wi-Fi на сегодняшний день.
https://bookflow.ru/mu-mimo-wi-fi-13-veshhej-kotorye-neobhodimo-znat/
👉 @sysadminof
Одно из самых существенных и важных нововведений Wi-Fi за прошедшие 20 лет – технология Multi User – Multiple Input Multiple Output (MU-MIMO). MU-MIMO расширяет функциональность появившегося недавно обновления беспроводного стандарта 802.11ac «Wave 2». Безусловно, это огромный прорыв для беспроводной связи. Данная технология помогает увеличить максимальную теоретическую скорость беспроводного соединения от 3,47 Гбит/с в оригинальной спецификации стандарта 802.11ac до 6,93 Гбит/с в обновлении стандарта 802.11ac Wave 2. Это одна из самых сложных функциональностей Wi-Fi на сегодняшний день.
https://bookflow.ru/mu-mimo-wi-fi-13-veshhej-kotorye-neobhodimo-znat/
👉 @sysadminof
👍4
Изучаем процессы в Linux
В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
👉 @sysadminof
В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
👉 @sysadminof
👍7
Powershell мониторинг событий 41, 1074, 6008
Мониторинг по событию 41
Мониторинг по событию 1074
Мониторинг по событию 6008
👉 @sysadminof
Мониторинг по событию 41
Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 41} |
ForEach-Object {
$flam = New-Object PSObject | Select-Object Date
if ($_.ReplacementStrings[4]) {
$flam.Date = $_.TimeGenerated
$flam
}
}
$StrData=[string]$flam.Date
$message = $StrData + " " + "Сервер: $env:computername" + " " + "Система перезагрузилась, завершив работу с ошибками. Возможные причины ошибки: система перестала отвечать на запросы, произошел критический сбой или неожиданно отключилось питание."Мониторинг по событию 1074
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 1074}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.ReplacementStrings[4]
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.UserМониторинг по событию 6008
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 6008}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.Message
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.User👉 @sysadminof
👍9