Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

10.2.2. Exécuter des commandes sur les Minions‌


Dès que les minions sont connectés, vous pouvez exécuter des commandes sur eux depuis le maître :


Maître# sel '*' test.ping

kali-scratch :

Véritable kali-maître :

Vrai

Maître# sel '*' test.ping

kali-scratch :

Véritable kali-maître :

Vrai


Cette commande demande à tous les serviteurs (le '*' est un caractère générique ciblant tous les serviteurs) pour exécuter le ping fonction du tester module d'exécution. Cette fonction renvoie un Vrai valeur sur le succès et est un moyen simple de s'assurer que la connexion fonctionne entre le maître et les différents serviteurs.

Vous pouvez également cibler un serviteur spécifique en donnant son identifiant dans le premier paramètre, ou éventuellement un sous-ensemble de serviteurs en utilisant un caractère générique moins générique (comme '*-scratch' ou 'kali-*'). Voici un exemple d'exécution d'une commande shell arbitraire sur le minion kali-scratch :


Maître# sel kali-scratch cmd.shell 'temps de disponibilité ; uname -a'

kali-scratch :

05:25:48 jusqu'à 44 min, 2 utilisateurs, charge moyenne : 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

Maître# sel kali-scratch cmd.shell 'temps de disponibilité ; uname -a'

kali-scratch :

05:25:48 jusqu'à 44 min, 2 utilisateurs, charge moyenne : 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


Référence du module de sel Il existe de nombreux modules d'exécution disponibles pour toutes sortes de cas d'utilisation. Nous ne les couvrirons pas tous ici, mais la liste complète est disponible sur https://docs.saltstack.com/ fr/dernier/ref/modules/all/index.html. Vous pouvez également obtenir une description de tous les modules d'exécution et de leurs fonctions disponibles sur un minion donné avec le de sel serviteur sys.doc commander. L'exécution de cette commande renvoie une très longue liste de fonctions, mais vous pouvez filtrer la liste en passant le nom d'une fonction ou d'un module préfixé par son module parent en paramètre :

Maître# sel kali-scratch sys.doc disk.usage

utilisation du disque:


Renvoie les informations d'utilisation pour les volumes montés sur ce

serviteur


L'un des modules les plus utiles est pkg, qui est une abstraction du gestionnaire de packages reposant sur le gestionnaire de packages approprié pour le système (apt-get pour Debian et ses dérivés comme Kali).

Le pkg.refresh_db La commande met à jour la liste des packages (c'est-à-dire qu'elle exécute apt-get update) tandis que pkg.mise à niveau installe toutes les mises à jour disponibles (il effectue apt-get mise à niveau or apt-get dist-mise à jour, selon les options reçues). Les pkg.list_upgrades La commande répertorie les opérations de mise à niveau en attente (qui seraient effectuées par le pkg.upgrade dist_upgrade=Vrai commander).

Le service module est une abstraction du gestionnaire de services (systemd dans le cas de Kali), qui vous permet d'effectuer toutes les opérations habituelles systemctl opérations: service.activer, service.désactiver, service. début, service.stop, service.restartet service.recharger:


Maître# sel '*' service.enable ssh

kali-scratch :

Véritable kali-maître :

Vrai

Maître# sel '*' service.start ssh

kali-maître :

Vrai

kali-scratch :

Vrai

Maître# sel '*' pkg.refresh_db

kali-scratch :

----------

kali-maître :

----------

Maître# sel '*' pkg.upgrade dist_upgrade=True

kali-scratch :

----------

changements:

----------

fichiers de base :

----------

Nouveau:

1:2016.2.1

vieille:

1:2016.2.0

[...]

zaproxy :

----------

Nouveau:

2.5.0-0kali1 ancien :

2.4.3-0kali3

commentaire : résultat :

Vrai

Maître# sel '*' service.enable ssh

kali-scratch :

Véritable kali-maître :

Vrai

Maître# sel '*' service.start ssh

kali-maître :

Vrai

kali-scratch :

Vrai

Maître# sel '*' pkg.refresh_db

kali-scratch :

----------

kali-maître :

----------

Maître# sel '*' pkg.upgrade dist_upgrade=True

kali-scratch :

----------

changements:

----------

fichiers de base :

----------

Nouveau:

1:2016.2.1

vieille:

1:2016.2.0

[...]

zaproxy :

----------

Nouveau:

2.5.0-0kali1 ancien :

2.4.3-0kali3

commentaire : résultat :

Vrai

Comme exemple plus concret, vous pouvez facilement mettre en place un système distribué Nmap scanner avec dnmap. Après avoir installé le package sur tous les minions, vous démarrez le serveur dans un premier terminal :


serveur# sel '*' pkg.install dnmap

[...]

serveur# vim dnmap.txt

serveur# dnmap_server -f dnmap.txt

serveur# sel '*' pkg.install dnmap

[...]

serveur# vim dnmap.txt

serveur# dnmap_server -f dnmap.txt


En supposant que l'IP du serveur est 1.2.3.4, vous pouvez ensuite dire à tous les minions de démarrer un processus client qui se connecte au serveur :


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

kali-scratch :

----------

pid :

17137

[...]

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

kali-scratch :

----------

pid :

17137

[...]


Notez que l'exemple utilise cmd.run_bg pour exécuter le dnmap_client commande en arrière-plan. N'attendez pas qu'il se termine, car il s'agit d'un processus de longue haleine. Malheureusement, il ne se tue pas correctement lorsque vous interrompez le serveur, vous devrez donc peut-être le nettoyer :


serveur# sel '*' cmd.shell 'pkill -f dnmap_client'

serveur# sel '*' cmd.shell 'pkill -f dnmap_client'


Meilleur système d'exploitation Cloud Computing chez OnWorks :