Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

10.2.2. Executarea comenzilor pe Minions‌


De îndată ce minionii sunt conectați, puteți executa comenzi asupra lor de la master:


maestru# sare '*' test.ping

kali-scratch:

Adevărat kali-master:

Adevărat

maestru# sare '*' test.ping

kali-scratch:

Adevărat kali-master:

Adevărat


Această comandă solicită tuturor slujitorilor ( '*' este un wildcard care vizează toți servitorii) pentru a executa ping funcție din test modul de execuție. Această funcție returnează a Adevărat prețuiește succesul și este o modalitate simplă de a te asigura că conexiunea funcționează între maestru și diferiții slujitori.

De asemenea, puteți viza un anume minion dând identificatorul acestuia în primul parametru sau, eventual, un subset de minioni folosind un wildcard mai puțin generic (cum ar fi „*-scratch” sau „kali-*”). Iată un exemplu despre cum să executați o comandă shell arbitrară pe minionul kali-scratch:


maestru# sare kali-scratch cmd.shell 'uptime; uname -a'

kali-scratch:

05:25:48 până la 44 min, 2 utilizatori, medie de încărcare: 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

maestru# sare kali-scratch cmd.shell 'uptime; uname -a'

kali-scratch:

05:25:48 până la 44 min, 2 utilizatori, medie de încărcare: 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


Referință pentru modulul de sare Există multe module de execuție disponibile pentru tot felul de cazuri de utilizare. Nu le vom acoperi pe toate aici, dar lista completă este disponibilă la https://docs.saltstack.com/ ro/latest/ref/modules/all/index.html. De asemenea, puteți obține o descriere a tuturor modulelor de execuție și a funcțiilor lor disponibile pe un minion dat cu ajutorul sare lingău sys.doc comanda. Rularea acestei comenzi returnează o listă foarte lungă de funcții, dar puteți filtra lista pasând numele unei funcții sau al unui modul prefixat de modulul părinte ca parametru:

maestru# sare kali-scratch sys.doc disc.utilizare

utilizare.disc:


Returnați informații de utilizare pentru volumele montate pe acesta

lingău


Unul dintre cele mai utile module este PKG, care este o abstractizare a managerului de pachete care se bazează pe managerul de pachete adecvat pentru sistem (apt-get pentru Debian și derivatele sale precum Kali).

pkg.refresh_db comanda actualizează lista de pachete (adică execută apt-get update) in timp ce pkg.upgrade instalează toate actualizările disponibile (realizează apt-get upgrade or apt-get dist-upgrade, în funcție de opțiunile primite). The pkg.list_upgrades comanda listează operațiunile de actualizare în așteptare (care ar fi efectuate de către pkg.upgrade dist_upgrade=Adevărat comanda).

serviciu modulul este o abstractizare a managerului de servicii (systemd în cazul lui Kali), care vă permite să efectuați toate cele obișnuite systemctl operațiuni: service.activare, serviciu.dezactivare, serviciu. start, serviciu.oprire, service.repornire, și serviciu.reîncărcare:


maestru# serviciu de sare '*'.activează ssh

kali-scratch:

Adevărat kali-master:

Adevărat

maestru# sare '*' service.start ssh

kali-master:

Adevărat

kali-scratch:

Adevărat

maestru# sare '*' pkg.refresh_db

kali-scratch:

----------

kali-master:

----------

maestru# salt '*' pkg.upgrade dist_upgrade=Adevărat

kali-scratch:

----------

schimbări:

----------

fișiere de bază:

----------

noi:

1:2016.2.1

vechi:

1:2016.2.0

[...]

zaproxy:

----------

noi:

2.5.0-0kali1 vechi:

2.4.3-0kali3

comentariu: rezultat:

Adevărat

maestru# serviciu de sare '*'.activează ssh

kali-scratch:

Adevărat kali-master:

Adevărat

maestru# sare '*' service.start ssh

kali-master:

Adevărat

kali-scratch:

Adevărat

maestru# sare '*' pkg.refresh_db

kali-scratch:

----------

kali-master:

----------

maestru# salt '*' pkg.upgrade dist_upgrade=Adevărat

kali-scratch:

----------

schimbări:

----------

fișiere de bază:

----------

noi:

1:2016.2.1

vechi:

1:2016.2.0

[...]

zaproxy:

----------

noi:

2.5.0-0kali1 vechi:

2.4.3-0kali3

comentariu: rezultat:

Adevărat

Ca o mostră mai concretă, ați putea configura cu ușurință o distribuție Nmap scanează cu dnmap. După ce ați instalat pachetul pe toți minionii, porniți serverul într-un prim terminal:


Server# sare '*' pkg.install dnmap

[...]

Server# vim dnmap.txt

Server# dnmap_server -f dnmap.txt

Server# sare '*' pkg.install dnmap

[...]

Server# vim dnmap.txt

Server# dnmap_server -f dnmap.txt


Presupunând că IP-ul serverului este 1.2.3.4, apoi le puteți spune tuturor slujitorilor să înceapă un proces client care se conectează la server:


Server# sare '*' cmd.run_bg template=jinja 'dnmap_client -s 1.2.3.4 -a {{ grains.id }}'

kali-scratch:

----------

pid:

17137

[...]

Server# sare '*' cmd.run_bg template=jinja 'dnmap_client -s 1.2.3.4 -a {{ grains.id }}'

kali-scratch:

----------

pid:

17137

[...]


Rețineți că exemplul folosește cmd.run_bg pentru a rula dnmap_client comanda în fundal. Nu așteptați până se termină, deoarece este un proces de lungă durată. Din păcate, nu se sinucide în mod corespunzător atunci când întrerupeți serverul, așa că ar putea fi necesar să-l curățați:


Server# sare '*' cmd.shell 'pkill -f dnmap_client'

Server# sare '*' cmd.shell 'pkill -f dnmap_client'


Top OS Cloud Computing la OnWorks: