Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

10.2.2. Виконання команд над міньйонами


Як тільки міньйони підключені, ви можете виконувати над ними команди від майстра:


майстер# сіль '*' test.ping

kali-scratch:

Справжній калі-майстер:

Правда

майстер# сіль '*' test.ping

kali-scratch:

Справжній калі-майстер:

Правда


Ця команда запитує всіх міньйонів ( '*' є підстановочним знаком, націленим на всіх міньйонів) для виконання пінг функція від тест виконавчий модуль. Ця функція повертає a Правда цінує успіх і є простим способом переконатися, що зв’язок між господарем і різними слугами працює.

Ви також можете націлити на певного міньйона, вказавши його ідентифікатор у першому параметрі, або, можливо, підмножину міньйонів, використовуючи менш загальний символ підстановки (наприклад, '*-scratch' або 'kali-*'). Ось приклад того, як виконати довільну команду оболонки на kali-scratch minion:


майстер# сіль kali-scratch cmd.shell 'період роботи; uname -a'

kali-scratch:

05:25:48 до 44 хв, 2 користувача, середнє навантаження: 0.00, 0.01, 0.05

Linux kali-scratch 4.5.0-kali1-amd64 #1 SMP Debian 4.5.3-2kali1 (2016-05-09) x86_64

GNU / Linux

майстер# сіль kali-scratch cmd.shell 'період роботи; uname -a'

kali-scratch:

05:25:48 до 44 хв, 2 користувача, середнє навантаження: 0.00, 0.01, 0.05

Linux kali-scratch 4.5.0-kali1-amd64 #1 SMP Debian 4.5.3-2kali1 (2016-05-09) x86_64

GNU / Linux


Довідка про сольовий модуль Існує багато модулів виконання, доступних для всіх видів використання. Ми не будемо розглядати їх усі тут, але повний список доступний за посиланням https://docs.saltstack.com/ en/latest/ref/modules/all/index.html. Ви також можете отримати опис усіх модулів виконання та їхніх доступних функцій для певного міньона за допомогою сіль міньйон sys.doc команда. Виконання цієї команди повертає дуже довгий список функцій, але ви можете відфільтрувати список, передавши ім’я функції або модуля з префіксом батьківського модуля як параметр:

майстер# сіль kali-scratch sys.doc disk.usage

disk.usage:


Повернути інформацію про використання для томів, змонтованих на цьому

міньйон


Одним з найкорисніших модулів є pkg, який є абстракцією менеджера пакетів, що спирається на відповідний менеджер пакетів для системи (apt-get для Debian та його похідних, таких як Kali).

Команда pkg.refresh_db команда оновлює список пакетів (тобто виконує apt-get поновлення) час pkg.upgrade встановлює всі доступні оновлення (виконає apt-get оновлення or apt-get dist-upgrade, залежно від отриманих варіантів). The pkg.list_upgrades Команда перераховує операції оновлення, які очікують на розгляд (які будуть виконуватися pkg.upgrade dist_upgrade=Правда команда)

Команда обслуговування модуль є абстракцією менеджера служб (systemd у випадку з Kali), що дозволяє виконувати все звичне systemctl операції: service.enable, service.disable, обслуговування. почати, служба.стоп, service.restart та service.reload:


майстер# salt '*' service.enable ssh

kali-scratch:

Справжній калі-майстер:

Правда

майстер# salt '*' service.start ssh

kali-master:

Правда

kali-scratch:

Правда

майстер# сіль '*' pkg.refresh_db

kali-scratch:

----------

kali-master:

----------

майстер# salt '*' pkg.upgrade dist_upgrade=Правда

kali-scratch:

----------

зміни:

----------

базові файли:

----------

новий:

1:2016.2.1

старий:

1:2016.2.0

[...]

zaproxy:

----------

новий:

2.5.0-0kali1 старий:

2.4.3-0калі3

коментар: результат:

Правда

майстер# salt '*' service.enable ssh

kali-scratch:

Справжній калі-майстер:

Правда

майстер# salt '*' service.start ssh

kali-master:

Правда

kali-scratch:

Правда

майстер# сіль '*' pkg.refresh_db

kali-scratch:

----------

kali-master:

----------

майстер# salt '*' pkg.upgrade dist_upgrade=Правда

kali-scratch:

----------

зміни:

----------

базові файли:

----------

новий:

1:2016.2.1

старий:

1:2016.2.0

[...]

zaproxy:

----------

новий:

2.5.0-0kali1 старий:

2.4.3-0калі3

коментар: результат:

Правда

Як більш конкретний зразок, ви можете легко налаштувати розподілений Nmap сканувати за допомогою dnmap. Після встановлення пакета на всіх міньйонах ви запускаєте сервер у першому терміналі:


сервер № salt '*' pkg.install dnmap

[...]

сервер № vim dnmap.txt

сервер № dnmap_server -f dnmap.txt

сервер № salt '*' pkg.install dnmap

[...]

сервер № vim dnmap.txt

сервер № dnmap_server -f dnmap.txt


Припускаючи, що IP-адреса сервера дорівнює 1.2.3.4, ви можете далі сказати всім фаворитам запустити процес клієнта, який підключається до сервера:


сервер № salt '*' cmd.run_bg template=jinja 'dnmap_client -s 1.2.3.4 -a {{ grains.id }}'

kali-scratch:

----------

pid:

17137

[...]

сервер № salt '*' cmd.run_bg template=jinja 'dnmap_client -s 1.2.3.4 -a {{ grains.id }}'

kali-scratch:

----------

pid:

17137

[...]


Зауважте, що в прикладі використовується cmd.run_bg для запуску dnmap_client команда у фоновому режимі. Не чекайте, поки він закінчиться, оскільки це тривалий процес. На жаль, він не вбиває себе належним чином, коли ви перериваєте сервер, тому вам, можливо, доведеться його очистити:


сервер № salt '*' cmd.shell 'pkill -f dnmap_client'

сервер № salt '*' cmd.shell 'pkill -f dnmap_client'


Найпопулярніші хмарні обчислення ОС на OnWorks: