Admin Guides | Сисадмин – Telegram
Admin Guides | Сисадмин
11.5K subscribers
1.41K photos
24 videos
34 files
594 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

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

РКН: https://kurl.ru/nQejS
Download Telegram
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Объясните понятие ветвление (Контроль Версий).

Ответ: Одна из самых распространённых тем, которые должен знать DevOps инженер – ваше объяснение покажет ваши знания и опыт вашей прошлой работы с этой сферой.

Существуют три различных типах ветвления (branching) – ветвление задачи, функции и релиза.

Ветвление задачи включает в себя каждую задачу в различных ветвях, с ключами задач в названии ветви.

Ветвление функции хранит изменения и модификации внутри ветви. Когда работа с этой функцией завершена, ветвь, содержащая эту функцию, объединяется (merge) с мастер файлом.

Наконец, ветвление релиза позволяет вам клонировать ветвь, чтобы при её релизе, вы всё равно могли вносить изменение в клонированную версию.
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7
Какая команда в Windows используется для просмотра и изменения настроек системного журнала?
Anonymous Quiz
51%
eventvwr
19%
logman
7%
wevtutil
23%
regedit
👍141👎1
Как в Bash прочитать ввод пользователя в переменную?

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

Ввод данных с помощью команды read

Чтобы попросить пользователя ввести данные, можно использовать команду read с опцией -p, которая позволяет вывести приглашение перед вводом:

read -p "Введите полное имя: " fullname
read -p "Введите желаемое имя пользователя в системе: " user


В этих строках введенные значения будут присвоены переменным $fullname и $user.

Другой вариант использования команды read без опции -p:

echo -n "Введите полное имя: "
read fullname


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

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

passwd "$user"
mkdir "$home"
chown "$user:$group" "$home"


Проверка пользовательского ввода

Пример конструкции, в которой проверяется пользовательский ввод. Если введено что-либо иное кроме y или yes (в любом регистре), скрипт завершится:

read -p "Продолжить? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1


Ввод данных с использованием zenity

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

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

user=$(zenity --entry --text 'Пожалуйста, введите имя пользователя:') || exit 1


В этом примере будет показано следующее окно для ввода данных, а введенные данные будут присвоены переменной $user.

🔥Таким образом, команда read и утилита zenity предоставляют удобные способы запроса и получения данных от пользователя для использования в скриптах Bash.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍8🤣1
В Linux может появиться «чёрный экран смерти» при Kernel Panic

В новых версиях ядра Linux может появиться «чёрный экран смерти» при возникновении фатальной ошибки Kernel Panic.

Некоторым пользователям Linux не понравился недавно вышедший вариант BSOD («синий экран смерти») в Linux. 


Инженер Red Hat Хавьер Мартинес Канильяс, участвовавший в создании новой инфраструктуры DRM Panic, показал, что такая фатальная ошибка может стать «чёрным экраном смерти».

Проблема возникла после жалоб пользователей и разработчиков на то, что текущая реализация BSOD в Linux при DRM Kernel Panic в ядре Linux 6.10+ слишком похожа на аналогичную ошибку в Microsoft Windows.

Хавьер предложил вариант «чёрного экрана смерти» для тех разработчиков, кому такой подход будет более приемлем. 


В конце концов, Linux — это проект с открытым исходным кодом, и его можно настроить по своему усмотрению.

⚡️Хавьер опубликовал свой пример Linux с «чёрным экраном смерти» на примере DRM Kernel Panic на небольшом дисплее SSD1306, который можно доработать для ПК и ноутбуков.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3😁1😱1
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Что происходит на фоне когда вы заходите по ssh на сервер Linux?

Ответ: Каждый раз, когда мы заходим по ssh на любой Unix сервер, устанавливает TCP соединение между Клиентом и Сервером по порту 22 (по-умолчанию, если не указано другое) и Сервер выдает список версию протокола SSH которую он поддерживает.

Если клиента она «устраивает», то соединение продолжается и после того как сервер передаст свой публичный ключ и клиент сохранит его в файле '~/.ssh/known_hosts' мы получим подсказку ssh.

Да, и такие вопросы тоже бывают😅
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣12👍11😐4🔥2😁2
— Ты не сделал бэкапы?
— Ответ на твой вопрос — НЕТ, не сделал.
— Я только хочу железно удостовериться: ты не сделал тех самых данных, на которых мы зарабатываем?
— Так точно.
— И что именно ты планируешь делать, когда ты потеряешь все ключевые данные?
— Тебе позвоню.
🤣37🤔3😁2👍1👏1
Эффективное управление с помощью Microsoft Endpoint Configuration Manager (SCCM)

SCCM — мощный инструмент для управления ИТ-инфраструктурой, позволяющий централизованно администрировать конфигурации, развертывать программное обеспечение и обновления, а также проводить инвентаризацию оборудования и ПО.

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


Автоматизация развертывания операционных систем

SCCM позволяет автоматизировать процесс развертывания ОС на новых и существующих устройствах, что значительно сокращает время и усилия, затрачиваемые на настройку рабочих станций.

Основные шаги включают создание и настройку последовательностей задач (Task Sequences), импорт и подготовку образов операционных систем, а также настройку PXE- или USB-boot для автоматического развертывания.

# Пример создания последовательности задач с использованием PowerShell
New-CMTaskSequence -Name "Deploy Windows 10" -BootImageID "XYZ0001" -OperatingSystemImageID "XYZ0002"


Управление патчами и обновлениями

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

Для управления обновлениями необходимо настроить WSUS (Windows Server Update Services) и его интеграцию с SCCM, создать автоматические правила развертывания (ADR) и мониторить статус развертывания.

# Пример создания ADR с использованием PowerShell
New-CMAutoDeploymentRule -Name "Monthly Security Updates" -DeploymentTemplateID "XYZ0003" -UpdateClassification "SecurityUpdates"


Инвентаризация оборудования и программного обеспечения

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

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

# Пример запроса данных об установленном ПО с использованием PowerShell
Get-CMSoftwareInventory -ResourceID "XYZ0004"


Управление мобильными устройствами

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

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

Мониторинг и отчетность

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

Настройка и использование встроенных отчетов, создание кастомных отчетов с использованием SQL Server Reporting Services (SSRS), а также настройка оповещений и уведомлений о событиях и инцидентах обеспечивают высокий уровень контроля и мониторинга всех аспектов ИТ-инфраструктуры.

# Пример создания отчета с использованием PowerShell
New-CMReport -Name "Installed Software Report" -SQLQuery "SELECT * FROM v_Add_Remove_Programs"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4👎1
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что Такое Memcached?

Ответ: Memcached — это система кеширования объектов памяти с открытым исходным кодом. В основном Memcached используется для избежания повторяющихся задач извлечения данных SQL, которые могут занимать долгое время при параллельном выполнении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔2
sed - потоковый редактор Linux

sed (Stream Editor) — это мощный и гибкий инструмент для обработки и преобразования текста в потоковом режиме. 


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

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

Основные возможности sed

Замена текста

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

# Замена 'old_text' на 'new_text' во всех строках файла
sed 's/old_text/new_text/g' input.txt


Удаление строк

С помощью sed можно удалять строки, соответствующие определенным шаблонам.

# Удаление строк, содержащих 'text_to_delete'
sed '/text_to_delete/d' input.txt


Вставка текста

sed позволяет вставлять новые строки перед или после строк, соответствующих определенным шаблонам.

# Вставка 'new_text' после строк, содержащих 'pattern'
sed '/pattern/a\new_text' input.txt

Извлечение строк

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

# Извлечение строк с 1 по 10
sed -n '1,10p' input.txt

Примеры использования

Замена текста во всем файле:

# Заменяет 'foo' на 'bar' в файле input.txt и сохраняет результат в output.txt
sed 's/foo/bar/g' input.txt > output.txt

Удаление строк с определенным шаблоном:

# Удаляет все строки, содержащие 'delete_me' из input.txt
sed '/delete_me/d' input.txt

Вставка текста перед и после строки:

# Вставляет 'before_text' перед строками, содержащими 'pattern'
sed '/pattern/i\before_text' input.txt

# Вставляет 'after_text' после строк, содержащих 'pattern'
sed '/pattern/a\after_text' input.txt

Замена текста только в определенных строках:

# Заменяет 'foo' на 'bar' только в строках с 5 по 10
sed '5,10s/foo/bar/g' input.txt

Использование скрипта sed:

# Создание скрипта 'noscript.sed'
echo 's/foo/bar/g' > noscript.sed
echo '/delete_me/d' >> noscript.sed

# Применение скрипта к файлу
sed -f noscript.sed input.txt
👍26🔥7
Ушёл из жизни Ларри Фингер, разработчик драйверов Wi-Fi для Linux

21 июня 2024 года на 85-м году жизни скончался Ларри Фингер, учёный и разработчик драйверов для беспроводной сети в Linux. 


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

Ларри Фингер первоначально работал над драйвером Broadcom BCM43XX и внёс значительный вклад в разработку драйверов Wi-Fi для Linux, таких как RTW88, RTW89, R8188EU, R8712, RTLWIFI и B43.

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

Фингер был активным участником сообщества разработчиков ядра, внесший 1464 коммита в 94 выпусках ядра Linux, начиная с версии 2.6.16 в 2006 году.

🔥 Это впечатляющее достижение для человека, не имевшего формального компьютерного образования.
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡67😢15🙏3😭21
Как в Linux изменить login shell (оболочку входа в систему). Инструкция по команде chsh

Для чего нужен login shell

Login shell (оболочка входа) обрабатывает файлы запуска, которые должны обрабатываться только один раз за сеанс входа, и защищает сеанс от нежелательных взаимодействий с некоторыми функциями системы.

В частности, login shell обрабатывает команды из /etc/profile, затем первый файл среди ~/.bash_profile, ~/.bash_login и ~/.profile. 


Выход из login shell прерывает все задания и защищает сеанс от приостановки работы.

Как узнать, какие оболочки установлены в системе

Чтобы изменить оболочку по умолчанию для пользователя, нужно знать доступные оболочки и их правильные названия. Один из способов узнать это — команда:

cat /etc/shells


В этом файле собраны пути к действующим оболочкам входа. Он просматривается программой chsh и доступен для запроса другими программами.

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

Программа для смены оболочки пользователя — chsh

Команда chsh изменяет оболочку входа пользователя на постоянной основе. Если оболочка не указана в командной строке, chsh запросит её.

Синтаксис команды:

sudo chsh -s ОБОЛОЧКА


В качестве ОБОЛОЧКИ укажите одну из оболочек, перечисленных в файле /etc/shells. Команда chsh примет полный путь к любому исполняемому файлу в системе.

Временное изменение оболочки

Если вы временно хотите изменить оболочку, просто установите её и запустите. Примеры команд для запуска различных оболочек:

sh
bash
pwsh
dash
zsh


Смена оболочки с помощью usermod

Утилита usermod с опцией -s меняет оболочку указанного пользователя.

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

sudo usermod -s /usr/bin/bash root


Чтобы назначить пользователю root оболочку ZSH:

sudo usermod -s /usr/bin/zsh root


Эти команды помогут вам легко изменить login shell в Linux.

Особенности оболочки входа

Особенности оболочки входа, по крайней мере, реализованной в Bash, заключаются в следующем:

Оболочка входа в систему обрабатывает команды из /etc/profile, затем первый файл, который она находит среди ~/.bash_profile, ~/.bash_login и ~/.profile (если только это не интерактивная оболочка входа, запущенная без параметра —login).
При выходе из оболочки входа выполняется logout вместо exit.
Выход из оболочки входа в систему прерывает все задания.
Оболочку входа нельзя приостановить.
Оболочка входа устанавливает переменную HOME (кроме POSIX-корректного режима).
Оболочка входа устанавливает параметр оболочки login_shell.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Компоненты дистрибутива Linux

1️⃣ Ядро Linux

Ядро — это сердце любой операционной системы. Первое публичное ядро Linux было выпущено Линусом Торвальдсом в 1991 году.

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

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


2️⃣ Утилиты GNU

Проект GNU, начатый Ричардом Столлманом в 1980-х годах, создавал утилиты для свободной операционной системы, подобной UNIX.

В 1991 году Линус Торвальдс создал ядро Linux и использовал утилиты GNU для создания полной операционной системы.

Проект GNU включает в себя командную оболочку bash, компиляторы GNU, загрузчик GRUB, архиватор gzip, текстовый редактор Nano и другие программы.

3️⃣ Загрузчик GRUB

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

Если у вас установлено несколько ОС, GRUB позволяет выбрать нужную. Он используется в большинстве дистрибутивов Linux.


4️⃣ Командная оболочка bash

Bash — это интерфейс командной строки, позволяющий управлять компьютером с помощью команд.

Он поддерживает запуск скриптов, которые автоматизируют выполнение команд.

5️⃣ Демоны

Демоны — это фоновые процессы, контролирующие различные подсистемы ОС, такие как печать и сеть.

Самым известным демоном является systemd, который управляет всеми другими процессами системы и запускается первым после загрузки ядра.

6️⃣ Менеджер пакетов

Менеджер пакетов управляет установкой, удалением и обновлением программного обеспечения. 


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

Разные дистрибутивы используют разные менеджеры пакетов: apt для Ubuntu, dnf для Fedora, zypper для openSUSE и pacman для Arch Linux.

7️⃣ Дисплейный сервер

Дисплейный сервер отображает графический интерфейс на экране. Наиболее известным дисплейным сервером для Linux является X.Org Server.

Новый протокол Wayland разрабатывается для улучшения безопасности и производительности.

8️⃣ Окружение рабочего стола

Окружение рабочего стола включает значки, окна, панели и другие элементы графического интерфейса. Популярные окружения для Linux — GNOME и KDE.

9️⃣ Дисплейный менеджер

Дисплейный менеджер отображает экран приветствия и запускает сеансы рабочего стола. Например, GDM используется в GNOME, а SDDM — в KDE.

1️⃣0️⃣ Пользовательские приложения

Это программы, которые вы используете ежедневно, такие как браузер Firefox, офисный пакет LibreOffice и медиаплеер VLC. 


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

☄️ Эти компоненты вместе образуют функциональную операционную систему Linux, обеспечивая её работу и взаимодействие с пользователем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍343👎1
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Как увидеть временные метки dmesg в RHEL7?

Ответ: Добавим параметр '-T' к команде dmesg можно увидеть временные метки dmesg.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Если бы Cisco изобрели колесо
😁45👍4🤔3🥴3
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Опишите автоматическое тестирование и назовите основные преимущества использования автоматического тестирования.

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

У использования автоматического тестирования в рабочем процессе существует довольно много преимуществ. Давайте назовём только лишь самые основные.

Как упоминалось ранее, ошибки случаются гораздо реже.
Оно сохраняет время и деньги.
Позволяет проводить более масштабные тесты, которые могли занять долгое время при ручном тестировании.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎7🤯3🔥1
Юниты systemd

Если описать systemd в общих чертах, то это система управления юнитами.

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


Помимо сервисов, существуют другие типы юнитов, такие как сокеты, монтирование и другие.

Чтобы отобразить список всех доступных юнитов, введите systemctl -t help:

[root@server2 ~]# systemctl -t help
Available unit types:
service
socket
busname
target
snapshot
device
mount
automount
swap
timer
path
slice
scope


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

/usr/lib/systemd/system: системные юнит-файлы. Это юниты из установленных пакетов RPM — всякие nginx, apache, mysql и прочее.
/etc/systemd/system: юниты, созданные нами, то есть админами. Переопределяют значения юнит-файлов по умолчанию.
/run/systemd/system: runtime-юниты, которые генерируются автоматически.

Юнит-файлы пользовательских юнитов по аналогии хранятся в директориях /etc/systemd/<имя пользователя>, /run/sustemd/<имя пользователя> и /usr/lib/systemd/<имя пользователя>.

Юнит-файл на примере vsftpd

[Unit]
Denoscription=Vsftpd ftp daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

[Install]
WantedBy=multi-user.target


Из этого примера юнит-файла видно, что его относительно легко понять.

Любой файл сервисного юнита systemd состоит из трех секций. (В других файл-юнитах могут быть другие секции, но эти три присутствуют во всех юнит-файлах.)

[Unit]: Описывает юнит и определяет зависимости. Эта секция также содержит важный оператор After и, опционально, оператор Before. Эти операторы определяют зависимости между различными юнитами.

[Service]: Эта секция описывает, как запустить и остановить сервис и запросить статус установки.

[Install]: Описывает целевые юниты, которые должны включать данный юнит.

Пример файла-юнита типа mount

[Unit]
Denoscription=Temporary Directory
Documentation=man:hier(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/
APIFileSystems
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime

[Install]
WantedBy=local-fs.target


Файл tmp.unit показывает интересную дополнительную информацию.

В секции [Unit] виден оператор Conflicts, который указывает, что этот юнит не может использоваться совместно с юнитом umount.target.

Секция [Mount] определяет, что и где надо монтировать.

Юнит socket

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

Некоторые сервисы создают свои собственные сокеты при запуске, в то время как другим сервисам нужен файл-юнит сокетов для создания сокетов для них. Пример файла сокета:

[root@server202 system]# cat virtlockd.socket
[Unit]
Denoscription=Virtual machine lock manager socket

[Socket]
ListenStream=/var/run/libvirt/virtlockd-sock

[Install]
WantedBy=multi-user.target


Понимание целевых юнитов

Юнит-файлы используются для создания функциональности, необходимой на вашем сервере.

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

Простое определение целевого юнита - это «группа юнитов».

[root@server2 system]# cat multi-user.target
[Unit]
Denoscription=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes


Целевой юнит определяет зависимости и порядок загрузки.

В секции [Install] он может быть определен как default.target, чтобы сервер запускался по умолчанию в этот целевой юнит.

Понимание Wants

Want в systemd определяет, какие юниты он хочет при запуске определенной цели. Want создаются путем создания символической ссылки в каталоге /etc/systemd/system.

🔥 Во второй части статьи о systemd разберемся, как управлять юнитами, зависимостями и целями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202🔥2👎1
Энтузиаст подключил Windows XP к интернету: через пару минут ОС заразилась вирусами

Как легко подцепить вирус в 2024 году, используя Windows XP?

Оказывается, даже простое подключение этой ОС к интернету подвергает её огромной опасности.


Блогер Эрик Паркер продемонстрировал в своём видео, что достаточно оставить систему подключённой к сети всего на несколько минут, и диспетчер задач уже показывает признаки вирусной активности.

Паркер отключил брандмауэр на Windows XP для большей наглядности, но даже с включённым брандмауэром, пакет безопасности, не обновлявшийся десятилетиями, едва ли справился бы с современными угрозами.

После короткого сеанса работы в сети, Эрик установил бесплатный антивирус Malwarebytes, который обнаружил восемь вирусов-троянов, программы для удалённого доступа, изменяющие настройки DNS, и рекламное ПО.

Кроме того, он обнаружил неизвестную учётную запись «admina», что указывало на попытки удалённого подключения к компьютеру через FTP.

Аналогичный эксперимент с Windows 2000 дал ещё более удручающие результаты.

В течение нескольких минут после подключения к интернету, когда все порты, включая SMB, были открыты, вирусы проникли в систему и привели к «синему экрану смерти».

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

Если вы ностальгируете по старым версиям Windows, лучше ограничиться их обоями. 


😉 А если ваш руководитель не желает обновляться на современные ОС, покажите ему эти видео.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32👎12🦄41🔥1
Юниты systemd. Часть 2

Первая часть тут

Управление юнитами через systemd

Для управления юнитами используется команда systemctl. Например, установим пакет php-fpm:

[root@server2]# yum install -y php-fpm.x86_64


Запускаем сервис:

systemctl start php-fpm


Проверяем статус:

[root@server2 system]# systemctl status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-08-15 14:19:59 +10; 46s ago


Чтобы сервис запускался при загрузке системы:

[root@server2 system]# systemctl enable php-fpm.service


Используя команду systemctl status, вы можете увидеть состояния юнитов:

Loaded: Юнит-файл обработан и юнит активен
Active (running): Сервис запущен
Inactive: Сервис не запущен
Enabled: Будет запущен при загрузке системы

Команды для управления юнитами

systemctl --type=service  # Показать только сервисные юниты
systemctl list-units --type=service --all # Показать все сервисные юниты
systemctl --failed --type=service # Показать все сервисы, которые не удалось запустить
systemctl status -l <имя_сервиса> # Показать детальную информацию о сервисе


Управление зависимостями

Юниты systemd могут иметь зависимости. Чтобы узнать зависимости юнита:

[root@server2 system]# systemctl list-dependencies php-fpm


Для просмотра юнитов, которые зависят от указанного юнита:

[root@server2 system]# systemctl list-dependencies --reverse sshd


Изолирующие цели

Некоторые цели в systemd можно изолировать, что позволяет запускать систему в определённом состоянии.

Примеры целей:

poweroff.target: уровень запуска 0
rescue.target: уровень запуска 1
multi-user.target: уровень запуска 3
graphical.target: уровень запуска 5
reboot.target: уровень запуска 6

Для изоляции цели:

[root@server2 system]# systemctl isolate rescue.target


⚡️ Таким образом, вы можете управлять юнитами, зависимостями и целями в systemd, используя команды systemctl.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍231
4 забавных команды в Linux, которые оживят ваш терминал.
Часть 3

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

"Крейзи" команда

Данная «крейзи» команда будет экспоненциально запускать свои копии до тех пор, пока не исчерпаются все системные ресурсы и система не зависнет.

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

# :(){ :|:& }:


Команда rig

Команда rig каждый раз генерирует случайное имя и адрес.

Сначала нужно установить rig:

$ sudo apt install rig


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

$ rig


Команда aview

Как насчет просмотра изображений в ASCII-формате прямо в терминале?

Сначала нужно установить aview:

$ sudo apt install aview


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

$ asciiview [путь_к_картинке]


Команда cowthink

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

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

$ cowthink [строка]


Например:

$ cowthink Hmm, I know kung-fu
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤣2