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

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

РКН: https://kurl.ru/nQejS
Download Telegram
Работа с .tar архивами

.tar архивы являются неотъемлемой частью работы с файлами в Linux, особенно при необходимости пакетирования и сжатия данных для их последующей передачи или хранения.

Вот несколько команд, которые помогут вам управлять .tar архивами:

Создание архива:

tar cf example.tar /home/example.txt


Эта команда создаёт архив example.tar, который содержит файл example.txt. Это удобно, если вам нужно объединить несколько файлов или каталогов в один архив.

Сжатие с использованием Bzip2:

tar cjf example1.tar.bz2 /home/example1.txt


В данном случае, помимо создания архива, происходит его сжатие с использованием алгоритма Bzip2. Это позволяет уменьшить размер архива, что особенно полезно при передаче данных по сети.

Сжатие с использованием Gzip:

tar czf example2.tar.gz /home/example2.txt


Этот вариант схож с предыдущим, но использует Gzip для сжатия. Формат .gz чаще используется в Linux-системах и может быть более предпочтителен для больших данных.
Распаковка архива:

tar xf example.tar


Команда распаковывает содержимое архива example.tar в текущую директорию. Если архив был сжат с помощью нестандартного алгоритма, например, Bzip2 или Gzip, необходимо добавить соответствующее расширение: .bz2 или .gz.

Работа с RPM пакетами

Если вы используете CentOS или другой RPM-based Linux дистрибутив, работа с RPM пакетами станет неотъемлемой частью вашей деятельности.

Вот несколько основных команд:

Вывод списка установленных пакетов:

rpm -qa


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

rpm -i rpmpackage.rpm


Используется для установки нового RPM пакета. Замените rpmpackage.rpm на имя вашего пакета.

Удаление пакета:

rpm -e rpmpackage


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

Установка пакетов из директории:

dpkg -i *.rpm


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

Про жёсткие диски

Для администраторов важно уметь управлять жёсткими дисками и понимать их конфигурацию. Команда fdisk -l может оказаться крайне полезной.

Вывод информации о дисках:

fdisk -l


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

Пример использования – аудит подключённых устройств или проверка конфигурации нового оборудования.

Пример вывода для OTRS сервера:

Disk /dev/sda: 500 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Этот вывод показывает основной диск системы, его размер и структурную информацию. Такой анализ важен при планировании разделения пространства или конфигурации RAID.
👍131
Какой параметр команды tar позволяет архивировать файлы, сохраняя при этом ссылки (символьные и жесткие) в их оригинальном виде?
Anonymous Quiz
55%
-s
16%
-h
16%
-P
12%
-k
👍6
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Как чувствительность к регистру влияет на то, как вы используете команды?

Ответ: Когда мы говорим о чувствительности к регистру, команды считаются идентичными, только если каждый символ закодирован как есть, включая строчные и прописные буквы. Это означает, что CD, cd и Cd — это три разные команды.

Ввод команды с использованием прописных букв вместо строчных приведет к разным выводам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Еще 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