Creative IT practitioner's blog - take your thought and give it idea acceleration! My IT goals: GenAI, Networks, Security, Virtualization and Multimedia.
Sunday, 10 March 2019
Криминалистическая экспертиза цифровых данных.
Wednesday, 8 May 2019
Windows для Linux?
Tuesday, 23 July 2024
Легкий старт з Prometheus.
Всім привіт.
Моніторинг сьогодні - фактично обов'язкова частина ІТ-інфраструктури для компанії будь-яких розмірів. Але сьогодні я не буду зупинятися на різноманітті програмного забезпечення для моніторингу, а просто покажу як легко можно дати старт такому функціоналу з одним із популярних рішень - пара на основі Prometheus плюс Grafana.
То ж щодо теорії то вам сюди, бо далі сама практика від Дениса Астахова. Піднімемо сервер Prometheus та сервер Grafana, з'єднаємо їх, та запустимо моніторинг на інші сервери.
Інсталюємо сервер Prometheus:
#!/bin/bash
#--------------------------------------------------------------------
# Script to Install Prometheus Server on Linux Ubuntu
# Tested on Ubuntu 22.04, 24.04
# Developed by Denis Astahov in 2024
#--------------------------------------------------------------------
# визначення глобальних констант
PROMETHEUS_VERSION="2.51.1"
PROMETHEUS_FOLDER_CONFIG="/etc/prometheus"
PROMETHEUS_FOLDER_TSDATA="/etc/prometheus/data"
# отримання пакету PROMETHEUS з мережі internet
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz
tar xvfz prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz
cd prometheus-$PROMETHEUS_VERSION.linux-amd64
mv prometheus /usr/bin/
rm -rf /tmp/prometheus*
# створення теки для PROMETHEUS
mkdir -p $PROMETHEUS_FOLDER_CONFIG
mkdir -p $PROMETHEUS_FOLDER_TSDATA
# створення конфігурації для сервера PROMETHEUS
cat <<EOF> $PROMETHEUS_FOLDER_CONFIG/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name : "prometheus"
static_configs:
- targets: ["localhost:9090"]
EOF
# визначення користувача PROMETHEUS та надання йому відповідних прав
useradd -rs /bin/false prometheus
chown prometheus:prometheus /usr/bin/prometheus
chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG
chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG/prometheus.yml
chown prometheus:prometheus $PROMETHEUS_FOLDER_TSDATA
# створення конфігурації PROMETHEUS як сервісу Linux
cat <<EOF> /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
After=network.target
[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
ExecStart=/usr/bin/prometheus \
--config.file ${PROMETHEUS_FOLDER_CONFIG}/prometheus.yml \
--storage.tsdb.path ${PROMETHEUS_FOLDER_TSDATA}
[Install]
WantedBy=multi-user.target
EOF
# запуск сервісу PROMETHEUS, перевірка його статусу, та визначення його на автозапуск
systemctl daemon-reload
systemctl start prometheus
systemctl enable prometheus
systemctl status prometheus --no-pager
prometheus --version
Monday, 10 December 2018
Дистрибутивы для Forensics анализа.
Monday, 13 June 2022
Nmap scanning and discovering.
Сегодня у нас вторая часть из серии "Анализ сетевых пакетов" и сегодня оперируем Nmap.
Nmap (network mapper) is an open source tool for network traffic analysis and security auditing.
It uses raw network packets to determine:
- what hosts are available on networks,
- what services (application name and versions),
- what operating systems and OS versions they are running,
- what type of packet filters/firewalls are in use,
and many more...
Single Target Scanning:
## Scan a single ip address ###
nmap 192.168.1.1
## Scan a host name ###
nmap www.google.com
## Scan a host name with more info###
nmap –v myhost.ieu.edu.tr
Multiple Target Scanning:
nmap 192.168.1.1 192.168.1.2 192.168.1.3
nmap 192.168.1.1,2,3
Tuesday, 7 March 2023
Copy/Paste feature between VMRC client and Virtual Machine.
I was amazing by discovering that feature "Copy/Paste" between VMRC client and Windows/Linux Virtual Machine is not available. However to resolve such issue, you can first install or upgrade the VMware tools for the Windows/Linux virtual machine(VM) and perform next steps..
From the vCenter Server HTML5 Web Client.
1)Power off the VM.
2)Enable the Copy & Paste for the Windows/Linux virtual machine:
a) Right-click the virtual machine and click Edit Settings.
b) Click the VM Options tab, expand Advanced, and click Edit Configuration.
c) Click on Add Configuration Params three times to give three rows
d) Fill in the Name and Value fields as mentioned below:
Name: Value:
isolation.tools.copy.disable FALSE
isolation.tools.paste.disable FALSE
isolation.tools.setGUIOptions.enable TRUE
e) Click OK to save and exit out of the Configuration Parameters wizard. Note: These options override any settings made in the guest operating system’s VMware Tools control panel.
f) Click OK to save and exit out of the Edit Settings wizard.
3) Power on the VM
4) Then use Copy/Paste directly on Windows/Linux/any other platform.
5) For paste operation's target platform is Linux, Older X applications do not use a clipboard. Instead, they let you paste the currently selected text (called the "primary selection") without copying it to a clipboard. Pressing the middle mouse button is usually the way to paste the primary selection.
Friday, 18 August 2023
Как завершить процесс в Linux.
Процесс — это программа в Linux, которая выполняется в отдельном адресном пространстве. При этом GNU / Linux — это многозадачная система, которая одновременно выполняет множество процессов, принадлежащих одному или нескольким пользователям. К сожалению, бывает, что некоторые приложения могут перестать отвечать на запросы пользователя или других приложений. Тогда приходиться либо перезагружать систему, либо выполнять завершение отдельного процесса.
Прежде всего чтобы завершить процесс, Вам нужно знать PID или его имя. При каждом новом запуске программы автоматически генерируется уникальный PID для соответствующего процесса. Тогда как его имя остается одним и тем же.
Первый процесс, который запускается при загрузке системы Linux — это systemd или init, которые являются основными, поэтому их невозможно уничтожить даже случайно. В большинстве случаев в операционной системе этим процессам присваивается значение PID равное 1.
Чтобы увидеть все запущенные процессы и соответствующие им значения PID — выполните следующую команду:
ps -A
Чтобы узнать идентификатор конкретного процесса — используя его имя. Для этого Вы можете применить следующую команду (в качестве примера мы использовали имя mysqld):
pidof mysqld
Для этой же цели Вы можете ввести комбинацию команд, приведенную ниже (при этом она выводит гораздо больше информации о процессе):
ps aux | grep mysqld
Третий способ вывода идентификатора процесса предполагает использование команды pgrep:
pgrep mysql
Команды kill, pkill и killall.
Команда kill — это встроенный инструмент ОС семейства Linux, который используется для завершения процессов вручную. Она посылает сигнал выбранному процессу, который и завершает его. По умолчанию команда kill посылает сигнал SIGTERM запущенному процессу. Это действие обычно останавливает работающие процессы. Если Вы хотите остановить процесс — просто укажите его идентификатор PID в переменной ProcessID.
Синтаксис команды kill выглядит следующим образом:
kill [-s sigspec | -n signum | -sigspec] pid
При этом элементы команды имеют следующее значение:
- sigspec — посылает сигнал процессу, названному по спецификации задания jobspec;
- signum — посылает сигнал процессу, названному по идентификатору процесса PID.
Существует семь базовых сигналов, которые Вы можете послать, используя команду kill:
- SIGHUP(1) — сигнал для сообщения о потере соединения с управляющим терминалом пользователя;
- SIGINT(2) — сигнал о прерывании процесса с клавиатуры (обычно при нажатии комбинации клавиш Ctrl+C);
- SIGQUIT(3) — сигнал, аналогичный SIGINT, но при этом вызывается символом QUIT, и при завершении процесса производит дамп ядра;
- SIGABRT(6) — сигнал, посылаемый процессом самому себе при выполнении аварийной остановки с выполнением дампа памяти в случае невозможности дальнейшего продолжения работы программы;
- SIGKILL(9) — сигнал используется для немедленного завершения программы (не может быть обработан, проигнорирован или заблокирован);
- SIGTERM(15) — сигнал для завершения работы программы, который можно блокировать, обрабатывать и игнорировать (используется как сигнал по умолчанию);
- SIGSTOP(17,19,23) — сигнал для приостановки процесса (процесс не возобновится автоматически, пока Вы не отправите ему сигнал SIGCONT — позволяет приостановить процесс, не завершая его).
Monday, 11 November 2019
Как пользоваться curl.
Friday, 3 June 2016
Подключение WinSCP к виртуальной СentOS c NAT.
Tuesday, 1 June 2021
Проводим пентест, часть 4 - используем уязвимости.
Сегодня 4-я часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №07-08(164-165), 2016.
Часть 4. Используем уязвимости
После нахождения уязвимостей хакеру необходимо ими воспользоваться. Есть много способов это сделать. В этой статье мы продолжим тему практического теста на проникновение. Ранее [1-3] мы подробно рассмотрели способы проникновения в сеть, идентификации ресурсов и поиска уязвимостей. Теперь поговорим о том, как злоумышленник может воспользоваться найденными в ПО уязвимостями.
Тему использования уязвимостей мы поделим с вами на три части, каждая из которых будет представлять отдельную статью. Первая будет посвящена эксплуатации уязвимостей с помощью Metaspoit Framework, входящего в состав Kali Linux. Этот фреймворк является основным инструментом при проведении любого пентеста. Во второй мы расскажем об уязвимостях в веб-приложени ях. Будут подробно рассмотрены различные кроссплатформенные инструменты, также входящие в состав Kali. Широкое распространение веб-приложений в корпоративных средах требует особого внимания к вопросам их защищенности, поэтому я планирую посвятить этому отдельную статью. В третьей статье мы поговорим о поиске уязвимостей в «самописных» приложениях. Практически в любой крупной компании есть ПО, разработанное либо собственными программистами, либо сторонними разработчиками. Зачастую это довольно старые программы, давно не обновлявшиеся. Про уязвимости в них сканеры, описанные в предыдущих статьях, могут не знать, так как в силу закрытости и нераспространенности данного ПО никто не проводил его аудит и, соответственно, никто не знает специфические ошибки. Также и Metasploit вряд ли сможет применить к таким приложениям свои эксплоиты. Поэтому в третьей статье мы рассмотрим, как самостоятельно искать дыры в ПО.
Эта статья потребует от читателя некоторых базовых знаний в области программирования и языка ассемблер, без которого исследование выполнимых файлов невозможно.
Ну а теперь рассмотрим работу с Metasploit Framework.
Хакерский мультитул.
ПО Metasploit Framework от компании Rapid7 представляет собой многофункциональный набор средств, с помощью которых можно осуществлять различные тесты на проникновение. Есть несколько редакций Metasploit [4]. Если Pro и Express являются платными, то Community и Framework бесплатные. Мы будем рассматривать редакцию Framework как наиболее подходящую для тестов на проникновение. Metasploit Framework входит в состав Kali Linux и для запуска консоли выполним Applications/Exploitation Tools/Metasploit. В результате мы попадаем в командную строку. Для начала проверим наличие соединения с БД:
msf > db_status
[*] postgresql connected to msf
При отсутствии соединения нужноо его восстановить, т.к. Metasploit постоянно использует базу в своей работе. Если все функционирует штатно, то можно перейти к выполнению практических задач по эксплуатации найденных уязвимостей. Сначала мы попробуем воспользоваться уязвимостями в Linux, а затем посмотрим, как взломать Windows.
Tuesday, 23 April 2024
Возможности BCDEdit.
Вы наверняка знаете что система запуска для Windows хранится в чём-то с названием Boot Configuration Database (BCD, База данных конфигурации запуска). В Windows 11 его можно редактировать, но зачем это кому-то нужно? Существуют обстоятельства, например, когда у вас имеется конфигурация с двойным запуском или когда что- то в этой базе данных изменяется или разрушается. Даже в этом случае для Вас не все потеряно!
Для редактирования этой базы данных откройте Командную строку или Терминал Windows от имени Администратора и наберите команду BCDEdit. Она отобразит текущую конфигурацию в этой базе данных.
Все записи в этой базе данных начинаются со своих Идентификаторов. Это может быть некое техническое название, текстовая строка или даже шестнадцатеричный GUID (General Unique Identifier, Глобально уникальный идентификатор). Он поставляется в установленном формате {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.
Полный список идентификаторов показан ниже:
- {badmemory} Глобальный список дефектной памяти
- {bootloadersettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
- {bootmgr} Диспетчер запуска Windows
- {current} Основная операционная система в этом ПК
- {dbgsettings} Глобальные настройки отладчика
- {default} Идентификатор для записи запуска по умолчанию
- {emssettings} Глобальные настройки EMS
- {fwbootmgr} Запись запуска диспетчера запуска встроенного ПО, хранится в NVRAM систем UEFI
- {globalsettings} Подлежащие наследованию всеми записями начального загрузчика глобальные настройки
- {memdiag} Утилита диагностики памяти
- {ntldr} Наследуемый загрузчик Windows, NTLDR; применяется для выпущенных до Windows Vista версий Windows
- {ramdiskoptions} Необходимые для RAM дисков дополнительные параметры
- {resumeloadersettings} Подлежащие наследованию всеми записями восстановления из гибернации Windows глобальные настройки.
Sunday, 12 April 2020
Не забывайте обновляться, говорят - помогает!

Всем привет.
Не буду учить вас ни чему сегодня. Выходной.
Кстати, как у вас с Linux? Все хорошо? Вот замечательно. Жена тоже на Linux-е? Какая она у вас молодец! И теща?! Да вы просто мой герой сегодня.
А вот мне не повезло. Снес ее в очередной раз. Запамятовал, что с самого начала надо было запомнить версию ядра, потом версию Python, ой, а их ведь два на одной ОС, но экая чепуха, плюс еще версию эмулятора GNS3, плюс еще версию.... не помню чего. А, неважно. Это все же можно обновить через "sudo apt-get update". Кстати, классная команда, пишем ее на ладошке и шпарим каждые 15 минут на выполнение: говорят - помогает.
А потом еще судорожно ищем откуда же мой очередной пакет может обновиться сегодня, ибо версий Linux немеряно - от стабильных до почти стабильных. Ой, а тут у нашей Linux ключа нет, а значит и доверия к ней тоже нет. Ройте, ищите, и не забывайте обновляться, говорят - помогает.
Вот ведь, нашли подробную инструкцию, и даже к нашей версии Linux подходит, пошли ее выполнять, а на пункте 4 ответ пришел не такой... ну ка же так, даже обидно. И весь процесс стал, мы ищем инструкцию по новой ошибке. Что ? Ах да, не забывайте обновляться, говорят - помогает.
В целом с Linux процесс довольно увлекательный - куча материала в сети, куча сообществ и помощников, шикарный выбор форков и внешнего вида типа "Сделай сам". Не соскучишься. Но главное не забывайте обновляться, говорят - помогает!
Sunday, 15 November 2020
Читаем журналы Linux #3.
Всем привет.
Показывая Как читать журналы также необходимо сказать Что именно читать. Поэтому сказав вчера "А" сегодня скажу "Б", т.е. продолжу серию заметок про журналы Linux.
Администраторам Linux часто нужно заглядывать в лог-файлы для устранения неполадок. По сути, это действие первой необходимости для любого админа. Система Linux и ее приложения могут создавать разные типы сообщений, которые записываются в различные журналы. Linux использует набор конфигурационных файлов, каталогов, программ, команд и демонов для создания, хранения и повторного использования таких сообщений. Поэтому зная, где система хранит свои журналы и как воспользоваться определенными командами, можно сэкономить драгоценное время во время устранения неполадок.
Стандартные журналы.
По умолчанию журналы в Linux хранятся в /var/log.
Для просмотра списка журналов, находящихся в данном каталоге, используйте команду ls -l /var/log.
Примеры журналов:
/var/log/syslog или /var/log/messages - глобальный системный журнал
/var/log/auth.log или /var/log/secure - информация об авторизации пользователей
/var/log/dmesg - оборудование и драйверы устройств
/var/log/anaconda.log - лог установки системы
/var/log/audit - лог демона auditd
/var/log/boot.log - лог загрузки системы
/var/log/cron - лог демона crond
Для каждого дистрибутива создается отдельный журнал менеджера пакетов:
/var/log/yum.log — для программ установленных с помощью yum в RedHat
/var/log/emerge.log — для ebuild-ов установленных из Portage с помощью emerge в Gentoo
/var/log/dpkg.log — для программ установленных с помощью dpkg в Debian и всем семействе родственных дистрибутивов
/var/log/mysql - логи базы данных MySQL
/var/log/apache2 - логи веб-сервера Apache
/var/log/nginx - логи веб-сервера NGINX
root@logs ~]# dmesg -l err
[1131424.604352] logs kernel: end_request: I/O error, dev sdc, sector
[1131424.604352] logs kernel: Buffer I/O error on device sdc, logical
[1131424.604352] logs kernel: Buffer I/O error on device sdc, logical
Thursday, 1 July 2021
Проводим пентест, часть 7 - ищем сокровища и заметаем следы.
Сегодня 7-я заключительная часть из серии публикаций Андрея Бирюкова, посвященных проведению аудита и теста на проникновение (пентест). Оригинал статьи был опубликован в журнале "Системный администратор" №12(169), декабрь 2016.
Часть 7. Ищем сокровища и заметаем следы.
Этой статьей я завершаю цикл, посвященный проведению тестов на проникновение. В предыдущих шести [1-6] мы достаточно подробно рассмотрели различные способы, которыми может воспользоваться злоумышленник для проникновения в корпоративную сеть. Были представлены методы, связанные с использованием беспроводных сетей, поиском и эксплуатацией уязвимостей в приложениях, разработкой эксплоитов. Темой этой статьи будет обсуждение действий хакера, который уже проник в сеть, получил шелл на различные серверы, и теперь ему необходимо найти в сети ценную информацию, а также скрыть следы своего присутствия. Как известно, в среднем после взлома сети и до его обнаружения проходит порядка 200 дней (рекорд – восемь лет!). За это время злоумышленник успевает получить доступ практически ко всей интересующей его информации. Рассмотрим, какие действия может предпринять взломщик, проникнув в сеть, и что можно сделать, чтобы их обнаружить.
Вот основные действия хакера, о которых мы будем говорить:
- взлом паролей
- инвентаризация и поиск необходимой информации
- перехват передаваемого трафика
- выгрузка собранной информации
- сокрытие следов своего присутствия.
Это некоторый типовой набор действий, которые обычно предпринимает злоумышленник. Перехват передаваемого трафика уже достаточно подробно рассматривался во второй статье цикла, так что здесь мы к этой теме возвращаться не будем. Однако в зависимости от структуры компании жертвы эти действия могут отличаться.
Паролей не бывает много.
Даже получив доступ к сети и создав свои учетные записи с административными правами, злоумышленник будет интересоваться учетными данными легальных пользователей домена, доступ к которым позволит получить доступ к большей информации, в том числе и зашифрованной данным пользователем. Также его действия будут менее заметны. Самый простой способ, к которому он может прибегнуть, – это сделать копию файлов с паролями и затем попытаться расшифровать пользовательские пароли офлайн, то есть на своем оборудовании или с помощью ботсети. Конечно, многие могут возразить, что подбор паролей – это достаточно продолжительный и трудоемкий процесс. Однако с ростом вычислительных мощностей и развитием соответствующих технологий подбор восьмизначного символьно-цифрового пароля может занять считанные минуты. Но обо всем по порядку.
Начнем с того, где хранят пароли различные операционные системы. Начнем с семейства ОС Windows.
Saturday, 14 November 2020
Ускоряем Ansible #4.
Финальная часть по ускорению сценариев Ansible.
#4 Параллелизм.
Для каждой задачи Ansible устанавливает соединения параллельно с несколькими хостами и запускает на них одну и ту же задачу параллельно. Однако Ansible необязательно будет устанавливать соединения сразу со всеми хостами -уровень параллелизма контролируется параметром по умолчанию, равным 5. Изменить его можно одним из двух способов. Можно настроить переменную среды ANSIBLE_FORKS, как это показано в примере 11.
Пример 11 Настройка ANSIBLE_FORKS
$ export ANSIBLE_FORKS=20
$ ansible-playbook playbook.yml
Можно также изменить настройки в файле конфигурации Ansible (ansible.cfg), определив параметр forks в секции default, как показано в примере 12.
Пример 12 ansible.cfg. Настройка параллелизма
[defaults]
forks = 26
Monday, 19 October 2020
Reboot Linux by Ansible.
Хоть Linux и не требует своей перезагрузки так часто как Windows, но тем не менее такой вариант надо знать тоже. Мы инсталировали софт в Linux с помощью Ansible, значит и перегружать ее будем с помощью того же Ansible.
Итак, пишем наш плейбук:
- name: Linux system reboot
apt: name=git update_cache=yes
hosts: test
become: yes
tasks:
#Первая задача: непосредственно сам ребут
- name: Reboot host
command: shutdown -r now "Ansible system reboot"
async: 3600
poll: 0
register: linux_clone
#вторая задача: отследим когда ребут завершится - вариант первый
- name: Wait for linux to complete
async_status:
jid: "{{ linux_clone.ansible_job_id }}"
register: result
until: result.finished
retries: 3600
#вторая задача: отследим когда ребут завершится - вариант второй
- name: Wait for the host to finish rebooting
local_action: wait_for host={{ inventory_hostname }} state=started
become: false
delegate_to: localhost
#вторая задача отследим когда ребут завершится - вариант третий
- name: Wait for the host to finish rebooting
wait_for:
host: "{{ inventory_hostname }}"
state: started
delay: 5
timeout: 40
delegate_to: localhost
где:
1) аsync говорит о том, что команду надо запустить асинхронно (т.е. продолжить выполнение, после ее запуска не дожидаясь ответа). Аsync = 3600 - выполнять не более 3600 секунд.
2) poll говорит о том, через сколько попробовать получить результат выполнения команды.
poll = 0 - т.е. можно перейти к следующей задаче не ожидая окончания выполнения текущей
3) register: linux_clone - захватим результат чтобы работать с ним дальше
4) async_status: - читаем результат задачи linux_clone
5) jid: "{{ linux_clone.ansible_job_id }}" - по идентификатору
register: result
6) until: result.finished - перечитываем результат повторно много раз.
Thursday, 15 October 2020
Инсталлируем софт с помощью Ansible #2.
Ну что ж, пробуем инсталлировать софт в Linux. Хорошая новость - для Linux в Ansible имеется модуль с названием package, который предпринимает попытку определения верного диспетчера пакетов для его использования на основании той операционной системы, для которой выполняется данный плейбук.
Определить пакетный менеджер можно так:
ansible localhost -m setup | grep ansible_pkg_mgr
А выполнить так:
# This uses a variable as this changes per distribution.
- name: remove the apache package
package:
name: "{{ item }}"
state: absent
Однако тут надо учесть что один и тот же пакет может иметь разное название для разных систем:
для RHEL это httpd
для Debian/Ubuntu это apache2.
Поэтому напишем нашу роль по другому.
---
- name: Install MariaDB
hosts: all
become: yes
roles:
- installmariadb
Тогда роль installmariadb для инсталяции пакета MariaDB:
- name: Install MariaDB Server on Ubuntu or Debian
apt:
name: "{{ item }}"
state: present
loop:
- mariadb-server
- mariadb-client
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Install MariaDB Server on CentOS or RHEL
yum:
name: "{{ item }}"
state: present
loop:
- mariadb-server
- mariadb
when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
Роль для деинсталяции MariaDB:
- name: Install MariaDB Server on Ubuntu or Debian
apt:
name: "{{ item }}"
state: absent
loop:
- mariadb-server
- mariadb-client
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Install MariaDB Server on CentOS or RHEL
yum:
name: "{{ item }}"
state: absent
loop:
- mariadb-server
- mariadb
when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
Роль для инсталяции пакета без его предварительной загрузки:
- name: Install Virtus software on Ubuntu
apt:
deb: https://github.com/software.forza.com/pkg/virtus_all.deb
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Install Virtus software on CentOS or RHEL
yum:
name: https://github.com/software.forza.com/pkg/virtus.noarch.rpm
state: present
when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
И роль инсталляции математики без самого пакета:
- name: download virtussoft install script
get_url:
url: http://software.forza.com/scripts/install.sh
dest: /root/install.sh
mode: 0755
- name: virtussoft install (takes around 10 mins) you can see progress using: tail -f /root/virtus-install.log
shell: /root/install.sh --force --hostname {{ inventory_hostname }} --minimal --yes
args:
chdir: /root
Все необходимое прописывается в install.sh. Также в этом случае следует учесть что вызов shell будет выполнятся всегда при повторном запуске плейбука.
Удачи.
Friday, 7 April 2017
Попытка подружить Windows7 с Ubuntu.
Thursday, 6 May 2021
Ansible-роль для Linux.
После установки свежей Linux ей надо указать IP-адрес, временную зону, адрес DNS-сервера, адрес Proxy-сервера, локализацию консоли, прочее. И только после этого уже можно переходить к обновлению системы и установке прочего софта.
Эти шаги настолько обязательны что хочется их автоматизировать, чтобы исключить человеческий фактор. А почему бы и нет? Мои мысли прочитал Вячеслав Лохтуров и предложил для этого иcпользовать Ansible.
Он набросал Ansible-роль под именем "host". Роль использует следующие переменные назначение которых очевидно:
hostname: Linux-host
base_domain_prefix: mydomain
base_domain_suffix: net
base_net: 192.168.1
gateway_octet: 254
dns_ip: 192.168.1.1
proxy_ip: 192.168.1.1
proxy_port: 8080
А в список задач для исполнения включено следующее:
Все задачи также очевидны по своему назначению, кроме, разве что, изменения hostname хоста. Я бы ее не применял. Все файлы роли после моих правок я выложил одним архивом: пользуйтесь, критикуйте, меняйте под себя.
Успехов.
Friday, 10 July 2020
Ansible и его соединения.
Всем привет.- правильная и быстрая настройка серверов до нужной конфигурации;
- управление развертыванием облачных серверов (через API, с помощью Docker);
- установка и обновление приложений;
- координация звеньев инфраструктуры для выполнения развертываний;
- централизованный сбор логов.
Но хватит теории. Волею случая мне довелось проверить все возможности соединения с помощью Ansible. В моем тесте участвовали:
- Homediver, Desktop Windows 10
- ec2-54-197-120-211.compute-1.amazonaws.com, AWS MS Server 2019
- ec2-54-88-28-8.compute-1.amazonaws.com, AWS Ubuntu
- appliance, VirtualBox CentOS 8
- Ansible master, VirtualBox Debian 9
Популярне
-
На сегодня наверняка уже все видели « Аватар » Джеймса Камерона. Некоторые даже по по два раза! Шума по поводу фильма больше чем ...
-
Всем привет. В прошлом году я вам показывал фокус с защитой листа в MS Excel 2010. Но как оказалось в великом и могучем MS Excel сюр...
-
Всем привет. Первая задача, с которой хакер сталкивается на этапе построения атаки - это передача файлов. Нужно залить на удаленный хост э...
-
Как то получил я от Яндекс.вебмастера сообщение что мой сайт nyukers.ucoz.net содержит вредоносн ы й код. К сожалению, в сообщении...
-
Всім привіт. Відкрийте для себе 17 "прихованих" підказок ChatGPT та чарівних ключових слів, які допоможуть вам створювати неймові...














