Admin Guides | Сисадмин
11.4K subscribers
1.23K photos
19 videos
34 files
558 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
Еще 4 полезных лайфхака для работы в терминале Linux

Подборка советов от опытного разработчика поможет значительно повысить эффективность работы в командной строке, автоматизировать рутинные задачи и упростить сложные операции.

Начнем с первого:

1️⃣Совет:

command | sudo tee file вместо sudo command > file 


позволяет запускать команду с правами администратора и перенаправлять ее вывод в файл с правами доступа.

2️⃣ Совет:

<<<


(herestring):Позволяет передать строку в качестве входных данных для команды. Например,

cat – <<< "Hello, world!" выведет "Hello, world!"


3️⃣ Совет:

pushd
и popd сохраняют состояние перехода между директориями.

Более простой способ управления директориями используется в оболочке Fish – nextd и prevd.

4️⃣ Совет:

vim scp://<user>@<host>/<absolute-path>
 


позволяет редактировать удаленный файл напрямую через SSH.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161🔥1
- Мне жаль тебя

- Я вообще о тебе не думаю
😁21💯3👍1👎1🗿1
Управление групповыми политиками через PowerShell

Групповые политики (Group Policy) являются важным инструментом для администрирования Windows-систем, особенно в корпоративных средах.

Они позволяют централизованно управлять настройками безопасности, приложениями и средой пользователя. 


Использование PowerShell для управления групповыми политиками значительно упрощает и автоматизирует эту задачу.

Экспорт и импорт объектов GPO

PowerShell предоставляет мощные команды для экспорта и импорта объектов групповых политик (GPO).

Это особенно полезно при необходимости переноса настроек между разными доменами или создания резервных копий.

Для экспорта объекта GPO используется командлет Backup-GPO:

Backup-GPO -Name "НазваниеGPO" -Path "C:\Backup\GPO"


Этот командлет создает резервную копию указанного объекта GPO в указанной директории. Экспортированный файл может быть использован для восстановления или переноса настроек.

Импортировать объект GPO можно с помощью командлета Import-GPO:

Import-GPO -BackupId (Get-GpoBackup -Path "C:\Backup\GPO").BackupID -TargetName "НазваниеНовогоGPO" -CreateIfNeeded


Этот командлет восстанавливает GPO из резервной копии, что упрощает процесс развертывания стандартных политик в новой среде.

Управление отдельными параметрами GPO

PowerShell также позволяет изменять отдельные параметры групповой политики, что полезно для быстрой настройки без использования графического интерфейса.

Например, для включения политики "Запретить изменение параметров экрана" можно использовать командлет Set-GPRegistryValue:

Set-GPRegistryValue -Name "НазваниеGPO" -Key "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" -ValueName "NoDispSettingsPage" -Type Dword -Value 1


Этот командлет задает значение параметра реестра, связанного с конкретной политикой, что позволяет управлять настройками напрямую через PowerShell.

Мониторинг изменений GPO

Для мониторинга изменений в объектах групповых политик PowerShell предлагает использование командлета Get-GPReport.

Этот командлет генерирует отчет о состоянии GPO в формате XML или HTML, что удобно для аудита и документирования.

Get-GPReport -Name "НазваниеGPO" -ReportType HTML -Path "C:\Reports\GPOReport.html"
👍15
Какой командой можно изменить планировщик ввода-вывода (I/O scheduler) в Linux для конкретного блока устройства?
Anonymous Quiz
35%
tune2fs
22%
echo
24%
bikid
19%
chattr
👍10
Релиз WinToUSB 9.0

Вышла новая версия инструмента WinToUSB 9.0. 


Этот проект позволяет устанавливать и запускать полнофункциональную Windows на внешнем жёстком диске, USB-флешке или диске с поддержкой Thunderbolt.

WinToUSB поддерживает версии Windows 7/8/10/11 и Windows Server, а также установки этих ОС с образов ISO, WIM, ESD, SWM, VHD, VHDX.

Кроме того, можно клонировать текущую установленную Windows на USB или диск Thunderbolt, создавая портативную версию операционной системы.

Список изменений в WinToUSB 9.0:

• Добавлена поддержка изменения размера и перемещения разделов;
• Улучшен графический интерфейс пользователя;
• Поддержка светлых и тёмных тем;
• Исправлена проблема с установкой дополнительных драйверов;
• Повышена производительность за счёт исправления некоторых ошибок.
13👍13🔥4
Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump

Mysqldump — это удобная утилита, входящая в стандартный комплект MySQL и MariaDB, предназначенная для создания резервных копий баз данных.

С ее помощью можно сохранить содержимое базы данных в виде SQL-скриптов, которые затем могут быть использованы для восстановления данных или их переноса на другой сервер.

Основной синтаксис

mysqldump [options] > file.sql

• options — параметры для конфигурации экспорта данных.
• file.sql — файл, в который будет сохранена резервная копия базы данных.

Резервное копирование одной базы данных

mysqldump -u root -p database_name > database_name.sql


После ввода пароля root будет создан файл database_name.sql, содержащий SQL-операторы для восстановления базы данных.

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

Резервное копирование нескольких баз данных

Если вам нужно сделать резервную копию сразу нескольких баз данных, это можно сделать одной командой:

mysqldump -u root -p --databases database1 database2 > databases.sql


Этот файл будет содержать дампы всех указанных баз данных.

Резервное копирование всех баз данных

Чтобы создать дамп всех баз данных на сервере, используйте команду:

mysqldump -u root -p --all-databases > all_databases.sql


Этот файл станет архивом всех баз данных на вашем сервере, что удобно для полной миграции или резервного копирования.

Сжатие резервной копии

При необходимости можно уменьшить размер файла резервной копии с помощью сжатия:

mysqldump database_name | gzip > database_name.sql.gz


Команда создаст сжатый файл, что сэкономит место на диске и упростит его передачу.

Восстановление базы данных

Для восстановления базы данных используйте следующую команду:

mysql -u root -p database_name < database_name.sql


Это вернет все данные из файла database_name.sql в базу данных database_name.

Автоматизация резервного копирования

Чтобы автоматизировать процесс создания резервных копий, можно использовать планировщик заданий cron. Например, следующая команда создаст резервную копию базы данных каждый день в 3 часа ночи:

0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql 


Такой подход позволит вам не беспокоиться о регулярности создания резервных копий, обеспечивая их актуальность.

В следующем посте продолжим
👍152🔥1
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Можно ли использовать ярлыки для длинного пути?

Ответ: Да, есть. Функция, известная как расширение имени файла, позволяет вам сделать это с помощью клавиши TAB.

Например, если у вас есть путь с именем каталога /home/iceman/assignments, вы должны ввести следующее: /ho[tab]/ice[tab]/assi[tab] . Однако это предполагает, что путь уникален и что используемая вами оболочка поддерживает эту функцию.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤷‍♂21👎13😁3👍2🔥2
Настройка маршрута по умолчанию в Linux

Разберем, как настроить маршрут по умолчанию в Linux, используя команды маршрутизации.

Это базовая задача для сетевых администраторов, которая позволяет направлять весь трафик через конкретный шлюз. Давайте разберем, как это сделать шаг за шагом.

Отображение текущих маршрутов

Прежде чем настраивать новый маршрут, давайте посмотрим на текущую таблицу маршрутизации.

Это можно сделать с помощью команды route. Выполнив её, вы увидите что-то подобное:

$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 ra0
default dsl-router 0.0.0.0 UG 0 0 0 ra0


Другой способ отобразить маршруты — это использовать полный путь к утилите:

$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
191.255.255.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 191.255.255.1 0.0.0.0 UG 0 0 0 eth0


Настройка маршрута по умолчанию

Чтобы добавить маршрут по умолчанию, используйте команду route add default gw. Синтаксис предельно прост:

# route add default gw {IP-АДРЕС} {ИНТЕРФЕЙС}


• IP-АДРЕС — IP-адрес вашего шлюза.
• ИНТЕРФЕЙС — сетевой интерфейс, через который будет проходить весь трафик.

Например, чтобы направить весь трафик через шлюз 192.168.1.254, подключенный к интерфейсу eth0, выполните команду:

# route add default gw 192.168.1.254 eth0


Если вы хотите использовать hostname вместо IP-адреса, убедитесь, что он корректно резолвится через DNS:

# route add default gw dsl-router eth0


Настройка маршрута с использованием команды ip

Более современный способ настройки маршрутов — это использование команды ip.

Например, чтобы направить весь трафик через шлюз 192.168.1.254, подключенный к интерфейсу eth0, выполните:

# ip route add 192.168.1.0/24 dev eth0


Если хотите указать шлюз явно:

# ip route add 192.168.1.0/24 via 192.168.1.254


⚡️ Вот и всё! Теперь ваш Linux-сервер будет отправлять трафик по новому маршруту по умолчанию, обеспечивая корректную работу сети.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍282🔥1
7 полезных команд в Linux

Рассмотрим еще 7 команд для эффективной работы в системе Linux.

Прошлый пост тут

strace — один из самых мощных инструментов мониторинга и диагностики, позволяющий проводить трассировку системных вызовов и сигналов.

sdiff — находит различия между двумя файлами и объединяет их в интерактивном режиме.

tee — считывает данные из стандартного устройства ввода и записывает их на стандартное устройство вывода или в файл.

tsch — командный интерпретатор TENEX C Shell.

tee — считывает данные из стандартного устройства ввода и записывает их на стандартное устройство вывода или в файл.

timex  время выполнения команды (с отображением более подробной информации).

todos  конвертирование текстовых файлов Unix в формат DOS.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁41
Какой командой можно проверить, какие процессы занимают определенный порт в Linux?
Anonymous Quiz
61%
netstat -tuln
15%
lsof -i
22%
ss -p
2%
ip addr
🤯27👎4🔥3👍1😱1
Операторы связи в РФ и антизамедление YouTube

Некоторые операторы связи в России начали внедрять собственные решения для обхода замедления YouTube, чтобы сделать этот процесс менее заметным для абонентов.

Операторы прибегли к этим мерам на фоне отсутствия официальных разъяснений регуляторов по поводу замедления работы сервиса.


Вместо маршрутизации трафика через российские серверы Google (GGC), операторы перенаправляют его на европейские серверы, которые не подвергаются замедлению.

В крупных телекоммуникационных компаниях, таких как «Вымпелком», «МегаФон», МТС и «Ростелеком», от комментариев отказались.

Эксперты отмечают, что такие меры могут помочь операторам привлечь новых абонентов.

Тем не менее, юридические риски остаются: манипуляции с трафиком могут привести к санкциям вплоть до лишения лицензий. 


🔥 Ситуация продолжает развиваться, и операторы связи уже обратились за помощью к Минцифры и Роскомнадзору.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴9👍4😁1🤔1
Как использовать команду timeout в Linux

Иногда в Linux нужно ограничить время выполнения команды.

Для этого можно использовать команду timeout, которая позволяет задать максимальное время выполнения любой программы.

Базовый синтаксис команды

Синтаксис команды очень простой:

timeout [опции] [длительность] [команда]


Единицы измерения времени:

s — секунды (по умолчанию)
m — минуты
h — часы
d — дни


Примеры:

• timeout 5 ping 1.1.1.1 — выполняем команду ping 5 секунд.
• timeout 5m ping 1.1.1.1 — команда будет работать 5 минут.
• timeout 5.5h ping 1.1.1.1 — выполнение пинга на протяжении 5,5 часов.

Использование с sudo:

sudo timeout 100 tcpdump -n -w dump.pcap


Отправка сигналов с помощью timeout

По умолчанию timeout отправляет сигнал SIGTERM, чтобы завершить процесс. Однако можно отправить другой сигнал с помощью опции -s:

• sudo timeout -s SIGKILL ping 1.1.1.1 — завершение с помощью SIGKILL.
• sudo timeout -s 9 ping 1.1.1.1 — аналогичный результат, но с использованием цифрового обозначения сигнала.

Чтобы увидеть весь список доступных сигналов, используйте команду:

kill -l


Принудительное завершение зависших процессов

Если процесс не завершился по сигналу SIGTERM, можно использовать ключ -k, чтобы через заданное время отправить сигнал SIGKILL:

sudo timeout -k 10 1m ping 1.1.1.1


Эта команда сначала ждет 1 минуту, а затем, если процесс не завершился, отправляет сигнал SIGKILL через 10 секунд.

Сохранение статуса команды

Чтобы сохранить код возврата управляющей команды, используйте опцию --preserve-status:

timeout --preserve-status 10 ping 1.1.1.1


Запуск на переднем плане

По умолчанию timeout запускает команду в фоновом режиме. Если вам нужно, чтобы команда оставалась на переднем плане, используйте ключ --foreground:

timeout --foreground 10m ./bestscripteva.sh
👍25
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Объясните, как включить root-вход в систему Ubuntu?

Ответ: Команда, которая включает корневую регистрацию:

#sudo sh-c 'echo «greater-show-manual-login=true» >>/etc/lightdm/lightdm.conf'
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔16👍153
3 протокола для работы в сети

Сетевые протоколы играют ключевую роль в обеспечении обмена данными между устройствами в сети. 


Помимо хорошо известных протоколов, таких как TCP/IP, HTTP, и FTP, существуют менее известные, но не менее важные протоколы, которые могут значительно облегчить работу сетевых администраторов и улучшить производительность сети.

NTP (Network Time Protocol)

NTP — протокол для синхронизации времени на устройствах в сети.

Обеспечивает точность времени на всех устройствах.

Практическое применение:

Синхронизация времени: Обеспечивает единое время на всех устройствах, что важно для логов и диагностики сетевых проблем.

Безопасность: Помогает в обнаружении аномалий и несанкционированного доступа, фиксируя точное время событий.

Координация действий: Необходим для работы некоторых сетевых приложений и протоколов, требующих синхронизации времени.

Команды на Cisco:

Switch(config)# ntp server 192.168.1.1
Switch# show ntp status


IGMP (Internet Group Management Protocol)

IGMP — протокол, используемый для управления группами мультикастинга в IP-сетях.

Он позволяет устройствам сообщать о своем желании присоединиться или покинуть мультикаст-группы.

Эффективное использование полосы пропускания: Мультикаст позволяет отправлять данные группе получателей одновременно, снижая нагрузку на сеть.

Стриминг и трансляции: Используется для приложений, требующих передачи данных множеству получателей, таких как видеотрансляции и аудиоконференции.

Команды на Cisco:

Switch(config)# ip igmp snooping
Switch# show ip igmp groups


VRRP (Virtual Router Redundancy Protocol)

VRRP — протокол, обеспечивающий резервирование маршрутизаторов.

Позволяет нескольким маршрутизаторам совместно использовать один виртуальный IP-адрес для повышения надежности сети.

Обеспечение отказоустойчивости: В случае выхода из строя основного маршрутизатора, резервный маршрутизатор автоматически берет на себя его функции.

Балансировка нагрузки: Распределение трафика между несколькими маршрутизаторами для улучшения производительности сети.

Команды на Cisco:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# vrrp 1 ip 192.168.1.1
Router(config-if)# vrrp 1 priority 120
Router# show vrrp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6👎3
Когда кажется, что во всем виноват сисадмин, стоит помнить о них 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🤣3👍1
Установка и настройка VNC сервера в CentOS 8

Virtual Network Computing (VNC) — это графическая система общего доступа к рабочему столу, позволяющая удаленно управлять компьютером с помощью клавиатуры и мыши.

В этой статье мы рассмотрим процесс установки и настройки VNC-сервера на CentOS 8, а также подключение к серверу через безопасный SSH-туннель.

Для начала вам потребуется войти в систему CentOS 8 как пользователь с правами sudo.

Часто на серверах нет графической оболочки. Если на вашем сервере она отсутствует, установите её с помощью команды:

sudo dnf groupinstall "Server with GUI"


Это займет некоторое время в зависимости от конфигурации вашей системы.

Установка VNC-сервера

Мы будем использовать TigerVNC, который доступен в стандартных репозиториях CentOS. Для его установки выполните:

sudo dnf install tigervnc-server


После завершения установки создайте начальную конфигурацию и задайте пароль:

vncserver


Вам предложат ввести пароль и решить, использовать ли режим "только для просмотра" (view-only).

Настройка VNC-сервера

Для настройки TigerVNC с Gnome откройте файл ~/.vnc/xstartup и отредактируйте его следующим образом:

vim ~/.vnc/xstartup


#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &


Сохраните изменения. Этот скрипт будет автоматически запускаться при старте или перезапуске сервера VNC.

Создание файла модуля Systemd

Для упрощения управления VNC создайте файл модуля Systemd:

mkdir -p ~/.config/systemd/user
cp /usr/lib/systemd/user/[email protected] ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable vncserver@:1.service --now


Порт дисплея :1 означает, что VNC-сервер будет слушать на порту 5901.

Подключение к серверу

VNC через SSH-туннель
VNC — это небезопасный протокол, поэтому рекомендуется использовать SSH-туннель.

Если вы используете Linux или macOS, создайте туннель командой:

ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip


Замените username и remote_server_ip на своё имя пользователя и IP-адрес сервера. Теперь вы можете подключаться к VNC через клиент, используя адрес 127.0.0.1:5901.
👍10🔥7🥴1
Microsoft представила ИИ-чип Maia 100

Во время конференции Ignite 2023 Microsoft анонсировала свой первый чип-ускоритель ИИ под названием Maia.

На недавнем же мероприятии Hot Chips 2024 были раскрыты спецификации чипа.

Характеристики Maia 100:

• Размер чипа: 820 мм²
• Процесс: TSMC N5 с интерпозером COWOS-S
• Память: 64 ГБ HBM2E, 1,8 ТБ/с
• Производительность: до 3 POPS (6 бит), 1,5 POPS (9 бит), 0,8 POPS (BF16)
• Сеть: 600 ГБ/с Backend BW, 32 ГБ/с PCIe Gen5X8
• Потребление: TDP до 500 Вт

Maia 100 специально разработан для масштабных ИИ-операций в Azure. 


Архитектура SoC включает тензорные блоки, суперскалярный векторный процессор, аппаратные семафоры и поддержку RoCE Ethernet для высокой пропускной способности.

Программное обеспечение:

Maia SDK позволяет переносить модели PyTorch и Triton в Azure, предлагая два способа программирования: через язык Triton или API Maia.

Это обеспечивает разработчикам гибкость и высокую производительность при развёртывании моделей ИИ.
👍13🤣1
Если никто не помнит, когда у меня день рождения, почему это считается плохим паролем?
😁27👍4
4 лучших сканера для поиска уязвимостей в Kubernetes

Kubernetes стал одной из ведущих платформ для управления контейнерами, и обеспечение безопасности этих контейнеров — критически важная задача для организаций.

Хотя Kubernetes предлагает базовые меры безопасности, для полноценной защиты требуется использование сторонних инструментов. Рассмотрим четыре лучших сканера для поиска уязвимостей в Kubernetes.

1️⃣Kube Hunter

Kube Hunter — это мощный инструмент для выявления уязвимостей, разработанный Aqua Security. Он предлагает несколько вариантов сканирования, включая удаленное, чересстрочное и сетевое. Инструмент эффективно идентифицирует большинство уязвимостей в кластерах Kubernetes, обеспечивая более высокий уровень безопасности.

Преимущества:

• Позволяет выбирать между тремя способами использования: установка на машину, запуск в Docker-контейнере или работа в виде пода внутри кластера Kubernetes.
• Обнаруживает и устраняет уязвимости как в кластере, так и в приложениях.

2️⃣ Checkov

Checkov — это инструмент безопасности, ориентированный на предотвращение неправильных настроек облачных инфраструктур во время сборки. Он поддерживает Terraform, Cloudformation, Kubernetes и другие сервисы, что делает его незаменимым в мире Infrastructure-as-Code.

Преимущества:

• Более 500 встроенных политик безопасности.
• Поддержка различных форматов вывода, включая JSON и JUnit XML.
• Легкая интеграция в CI/CD конвейеры, что позволяет оперативно выявлять и устранять проблемы.

3️⃣ Kubei

Kubei предназначен для оценки рисков в кластере Kubernetes. Инструмент, написанный на Go, проводит сканирование всех образов, используемых в кластере, и предоставляет подробную информацию об уязвимостях через графический интерфейс.

Преимущества:

• Охватывает все эталонные тесты CIS для Docker.
• Обеспечивает различные варианты настройки сканирования и уровня уязвимости.
• Предоставляет визуализацию найденных уязвимостей и рекомендации по их устранению.

4️⃣ Kubeaudit

Kubeaudit — это инструмент для аудита безопасности Kubernetes, который помогает находить неправильные настройки в кластере. Написанный на Go, Kubeaudit предлагает рекомендации по устранению проблем и предотвращению распространенных уязвимостей.

Преимущества:

• Три режима аудита: манифест, локальный, кластер.
• Уровни серьёзности результатов: ошибка, предупреждение, информация.
• Встроенные аудиторы проверяют контейнеры, модули и пространства имен на наличие проблем с безопасностью.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3