Визуальное руководство по туннелям SSH: Локальная и удаленная переадресация портов.
SSH – это еще один пример древней технологии, которая широко используется и сегодня. Вполне возможно, что освоение пары трюков с SSH в долгосрочной перспективе более выгодно, чем освоение дюжины инструментов Cloud Native, которым суждено устареть в следующем квартале.
https://itmozg.ru/vizualnoe-rukovodstvo-po-tunneljam-ssh/
👉 @sysadminof
SSH – это еще один пример древней технологии, которая широко используется и сегодня. Вполне возможно, что освоение пары трюков с SSH в долгосрочной перспективе более выгодно, чем освоение дюжины инструментов Cloud Native, которым суждено устареть в следующем квартале.
https://itmozg.ru/vizualnoe-rukovodstvo-po-tunneljam-ssh/
👉 @sysadminof
👍4
Будни техпода. Разворачиваем Android на Hyper-V
Вопрос, о котором хотелось бы сегодня поговорить, мне кажется, я слышу ежедневно, по несколько раз на дню. Точно не помню, но, мне кажется, что этот вопрос был первым, с которым я столкнулся на данной должности. Звучит он обычно так: «Как мне установить эмулятор Android на ваш сервер?». Серьёзно, когда я только начинал работать, я даже представить не мог, насколько часто я буду отвечать на данный вопрос.
https://habr.com/ru/company/ruvds/blog/693734/
👉 @sysadminof
Вопрос, о котором хотелось бы сегодня поговорить, мне кажется, я слышу ежедневно, по несколько раз на дню. Точно не помню, но, мне кажется, что этот вопрос был первым, с которым я столкнулся на данной должности. Звучит он обычно так: «Как мне установить эмулятор Android на ваш сервер?». Серьёзно, когда я только начинал работать, я даже представить не мог, насколько часто я буду отвечать на данный вопрос.
https://habr.com/ru/company/ruvds/blog/693734/
👉 @sysadminof
👍2
Максимально простое, автоматизированное и современное решение для управления удаленным доступом сотрудников.
Alphabyte ZTNA позволит вам легко управлять доступом к корпоративным ресурсам, а вашим сотрудникам — быстро подключаться к любой корпоративной сети и безопасно работать из любой точки мира. Устанавливайте свои правила доступа к тем или иным корпоративным ресурсам: по ролям, типу трафика, дню недели, протоколу и порту.
Демоверсия с полным доступом к сервису — 90 дней до конца января. Попробуйте сами: https://clck.ru/33JASD
Alphabyte ZTNA позволит вам легко управлять доступом к корпоративным ресурсам, а вашим сотрудникам — быстро подключаться к любой корпоративной сети и безопасно работать из любой точки мира. Устанавливайте свои правила доступа к тем или иным корпоративным ресурсам: по ролям, типу трафика, дню недели, протоколу и порту.
Демоверсия с полным доступом к сервису — 90 дней до конца января. Попробуйте сами: https://clck.ru/33JASD
В чем разница между killall и pkill
Обе эти утилиты делают почти то же самое - уничтожают процессы, но по-разному.
👉 @sysadminof
Обе эти утилиты делают почти то же самое - уничтожают процессы, но по-разному.
pkill находит процесс по разным параметрам, например, pid, ppid, cmd, uid, и посылает ему сигнал завершения.killall находит процесс по имени и завершает все совпавшие процессы, есть режим регулярных выражений и интерактивный режим, которых нет в pkill.👉 @sysadminof
👍7👏1💋1
В чем разница между режимом сна и гибернации
В режиме сна ваш компьютер не отключается полностью. Система оставляет все периферийные устройства в режиме энергосбережения. Если батарея разрядится или компьютер отключится по каким-либо другим причинам текущая сессия и настройки будут потеряны.
Гибернация сохраняет состояние вашего компьютера на жесткий диск и полностью выключает. При включении сохраненное состояние восстанавливается.
👉 @sysadminof
В режиме сна ваш компьютер не отключается полностью. Система оставляет все периферийные устройства в режиме энергосбережения. Если батарея разрядится или компьютер отключится по каким-либо другим причинам текущая сессия и настройки будут потеряны.
Гибернация сохраняет состояние вашего компьютера на жесткий диск и полностью выключает. При включении сохраненное состояние восстанавливается.
👉 @sysadminof
👍8💋2
В чем разница между Ctrl+C, Ctrl+Z, Ctrl+D
Сочетание клавиш Ctrl+C (intr) отправляет сигнал SIGINT приложению. Обычно после этого приложение завершает свою деятельность и закрывается.
Ctrl+Z или susp, отправляет сигнал SIGSTP, приложение приостанавливает свою деятельность и сворачивается в фоновый режим. Потом его можно восстановить с помощью команды fg. Посмотреть свернутые процессы можно командой jobs.
Ctrl+D - полностью завершает сеанс терминала.
В чем разница между gksu и pkexec
Обе программы позволяют выполнять графические приложения от имени суперпользователя.
×
Pkexec работает на основе PolicyKit. PolicyKit более настраиваемая, показывает полный путь к программе, и позволяет использовать политики для настройки поведения программы, например, настройки запроса пароля и т д.
👉 @sysadminof
Сочетание клавиш Ctrl+C (intr) отправляет сигнал SIGINT приложению. Обычно после этого приложение завершает свою деятельность и закрывается.
Ctrl+Z или susp, отправляет сигнал SIGSTP, приложение приостанавливает свою деятельность и сворачивается в фоновый режим. Потом его можно восстановить с помощью команды fg. Посмотреть свернутые процессы можно командой jobs.
Ctrl+D - полностью завершает сеанс терминала.
В чем разница между gksu и pkexec
Обе программы позволяют выполнять графические приложения от имени суперпользователя.
×
Pkexec работает на основе PolicyKit. PolicyKit более настраиваемая, показывает полный путь к программе, и позволяет использовать политики для настройки поведения программы, например, настройки запроса пароля и т д.
👉 @sysadminof
👍2
👍8🥴3
Базовая конфигурация iptables
Конкретные правила фаервола зависят от сервисов, используемых на вашем сервере. Ниже приведен пример правил, подразумевающих использование вами веб-сервера. Прежде, чем применять правила iptables, спланируйте их исходя из вашей вашей конфигурации:
IPv4 (файл /tmp/v4):
IPv6 (/tmp/v6):
👉 @sysadminof
Конкретные правила фаервола зависят от сервисов, используемых на вашем сервере. Ниже приведен пример правил, подразумевающих использование вами веб-сервера. Прежде, чем применять правила iptables, спланируйте их исходя из вашей вашей конфигурации:
IPv4 (файл /tmp/v4):
*filter
# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT
# Allow ping.
-A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT
# Allow SSH connections.
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere
# (the normal ports for web servers).
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
# Allow inbound traffic from established connections.
# This includes ICMP error returns.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7
# Reject all other inbound.
-A INPUT -j REJECT
# Log any traffic that was sent to you
# for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7
# Reject all traffic forwarding.
-A FORWARD -j REJECT
COMMITIPv6 (/tmp/v6):
*filter
# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s ::1/128 -j REJECT
# Allow ICMP
-A INPUT -p icmpv6 -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere
# (the normal ports for web servers).
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
# Allow inbound traffic from established connections.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "ip6tables_INPUT_denied: " --log-level 7
# Reject all other inbound.
-A INPUT -j REJECT
# Log any traffic that was sent to you
# for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "ip6tables_FORWARD_denied: " --log-level 7
# Reject all traffic forwarding.
-A FORWARD -j REJECT
COMMIT👉 @sysadminof
👍8
Уровни модели 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