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

РКН clck.ru/3KoGJ3
Download Telegram
Администрирование Linux

Вводный урок
Урок 1 - Разворачиваем стенды с Linux
Урок 2 - Навигация в системе с использованием командной строки
Урок 3 - Потоки ввода-вывода данных
Урок 4 - Работа с файлами и каталогами (часть 1)
Урок 5 - Работа с файлами и каталогами (часть 2)
Урок 6 - Символические и жесткие ссылки в Linux
Урок 7 - Монтирование файловых систем
Урок 8 - Работа с пакетами средствами dpkg
Урок 9 - Управление пакетами с использованием APT

👉 @sysadminof
👍7🔥2
Визуальное руководство по туннелям SSH: Локальная и удаленная переадресация портов.

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
👍2
Максимально простое, автоматизированное и современное решение для управления удаленным доступом сотрудников.

Alphabyte ZTNA позволит вам легко управлять доступом к корпоративным ресурсам, а вашим сотрудникам — быстро подключаться к любой корпоративной сети и безопасно работать из любой точки мира. Устанавливайте свои правила доступа к тем или иным корпоративным ресурсам: по ролям, типу трафика, дню недели, протоколу и порту.

Демоверсия с полным доступом к сервису — 90 дней до конца января. Попробуйте сами: https://clck.ru/33JASD
В чем разница между killall и pkill

Обе эти утилиты делают почти то же самое - уничтожают процессы, но по-разному.

pkill находит процесс по разным параметрам, например, pid, ppid, cmd, uid, и посылает ему сигнал завершения.

killall находит процесс по имени и завершает все совпавшие процессы, есть режим регулярных выражений и интерактивный режим, которых нет в pkill.

👉 @sysadminof
👍7👏1💋1
В чем разница между режимом сна и гибернации

В режиме сна ваш компьютер не отключается полностью. Система оставляет все периферийные устройства в режиме энергосбережения. Если батарея разрядится или компьютер отключится по каким-либо другим причинам текущая сессия и настройки будут потеряны.

Гибернация сохраняет состояние вашего компьютера на жесткий диск и полностью выключает. При включении сохраненное состояние восстанавливается.

👉 @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
👍2
Базовая конфигурация iptables

Конкретные правила фаервола зависят от сервисов, используемых на вашем сервере. Ниже приведен пример правил, подразумевающих использование вами веб-сервера. Прежде, чем применять правила 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

COMMIT



IPv6 (/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
👍12🔥1🥰1
Media is too big
VIEW IN TELEGRAM
Postal - это полноценный и полнофункциональный почтовый сервер для использования на веб-сайтах и веб-серверах. Представьте Sendgrid, Mailgun или Postmark, но с открытым исходным кодом и готовый к запуску на ваших собственных серверах. Postal был разработан компанией Krystal для удовлетворения собственных потребностей в обработке почты, и с тех пор мы решили, что он должен быть выпущен как проект с открытым исходным кодом для сообщества.

https://docs.postalserver.io/

👉 @sysadminof
🔥5
Увеличиваем корневой раздел диска Linux на лету с помощью LVM

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/
👍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
👍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
Модификация прошивки роутера D-Link

Всех с наступившим Рождеством! В этой заметке я расскажу о том как модифицировать прошивку роутера D-Link DWR-M921, вдруг кому эта информация пригодится.

Привели меня к этому попытки установить на роутер блокировщик рекламы AdGuardHome. Чипсет RTL8197F на котором работает сабж на данный момент не имеет полной поддержки OpenWRT, исходных кодов прошивки от D-Link'а нет, а попытки что-то собрать из древних RealTek'овских SDK для семейства rtl819x которые я нашел на SourceForge не увенчались успехом.

https://habr.com/ru/post/709544/

👉 @sysadminof
👍7
badblocks — команда для поиска и исправления поврежденных секторов на жестких дисках

Команда 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
🔥3