La directive ANSIBLE devient une directive pour exécuter les commandes comme utilisateur spécifié

La directive ANSIBLE devient une directive pour exécuter les commandes comme utilisateur spécifié

En utilisant ANSIBLE, vous pouvez effectuer diverses opérations sur des machines distantes à l'aide de commandes brutes ou de playbooks ANSIBLE. Par défaut, un playbook anible est exécuté sur l'hôte distant en tant que même utilisateur sur le contrôleur ANSIBLE. Cela signifie que si vous avez besoin d'exécuter une commande en tant qu'un autre utilisateur sur la machine distante, vous devrez le spécifier explicitement dans votre manuel ANSIBLE.

Pour implémenter les fonctionnalités des commandes en cours d'exécution en tant qu'un autre utilisateur, vous devrez utiliser la fonction sudo disponible dans les systèmes Linux. La directive ANSIBLE DEVOIR vous permet d'exécuter des commandes en tant qu'utilisateur spécifié.

Les informations de l'utilisateur sont spécifiées dans un livre de jeu ANSIBLE en utilisant les variables CETTE, telles que CETH_PASS, pour spécifier le mot de passe de l'utilisateur CETTE_USER, ainsi que quel utilisateur peut exécuter la commande.

Comment exécuter des tâches anibles comme racine

Pour exécuter une commande spécifique en tant qu'utilisateur racine dans ANSIBLE, vous pouvez implémenter la directive de devenir et définir la valeur sur «True.'Faire cela indique à ANSIBLE d'implémenter Sudo sans arguments lors de l'exécution de la commande.

Par exemple, considérez un playbook anible qui met à jour le package MySQL-Server, puis le redémarrer. Dans les opérations Linux normales, vous devrez vous connecter en tant qu'utilisateur racine pour effectuer de telles tâches. Dans ANIBLE, vous pouvez simplement appeler la directive CETTE: Oui, comme indiqué ci-dessous:

- hôtes: tout
devenir: oui
Tâches:
- Nom: Anible Run en tant que root et mise à jour Sys
Miam:
Nom: MySQL-Server
État: dernier
- nom:
service.service:
Nom: MySQLD
État: redémarré

Dans le livre de jeu ci-dessus, nous avons utilisé la directive devenue et nous n'avons pas spécifié l'utilisateur de CETTE_USER, car toutes les commandes sous la directive sont exécutées par défaut par défaut.

Ceci est similaire à le spécifier comme:

- hôtes: tout
devenir: oui
devenu_user: root
Tâches:
- Nom: Anible Run en tant que root et mise à jour Sys
Miam:
Nom: MySQL-Server
État: dernier
- nom: service.service:
Nom: MySQLD
État: redémarré

Comment exécuter des tâches anibles comme sudo

Pour exécuter une tâche ANSIBLE en tant qu'utilisateur spécifique, plutôt que l'utilisateur racine normal, vous pouvez utiliser la directive CETTE_USER et passer le nom d'utilisateur de l'utilisateur pour exécuter la tâche. C'est tout à fait comme utiliser la commande sudo -u dans Unix.

Pour mettre en œuvre la directive CETTE_USER, vous devez d'abord activer la directive, car le CETH_USER est inutilisable sans cette directive activée.

Considérez le livre de jeu suivant, dans lequel la commande est exécutée comme l'utilisateur personne.

- Nom: exécutez une commande en tant qu'un autre utilisateur (personne)
Commande: PS Aux
devenir vrai
devenu_method: su
Devet_user: personne
devenu_flags: '-s / bin / bash'

Dans l'extrait de livre de jeu ci-dessus, nous avons mis en œuvre le CETH, CETTE_USER et d'autres directives.

  1. devenir_method: Cela définit la méthode d'escalade des privilèges, comme Su ou Sudo.
  2. Directive devenu_user: Cela spécifie l'utilisateur pour exécuter la commande comme; Cela n'implique pas de devenir: oui.
  3. devenu_flags: Cela définit les drapeaux à utiliser pour la tâche spécifiée.

Vous pouvez maintenant exécuter le livre de jeu ci-dessus avec le nom de fichier Ansible-PlayBook.yml et voyez le résultat par vous-même. Pour les tâches avec une sortie, vous devrez peut-être implémenter le module de débogage.

Comment exécuter ANSIBLE devenir avec le mot de passe

Pour exécuter une directive de devenir qui nécessite un mot de passe, vous pouvez dire à Ansible de demander un mot de passe lors de l'invoquer le livre de jeu spécifié.

Par exemple, pour exécuter un playbook avec un mot de passe, entrez la commande ci-dessous:

anable-playbook devenue_pass.yml --ask-become-pass

Vous pouvez également spécifier l'indicateur -K, qui effectue des opérations similaires à la commande ci-dessus. Par exemple:

anable-playbook devenue_pass.yml -K

Une fois spécifié, vous serez invité à un mot de passe lorsque les tâches s'exécutent.

NOTE: Vous pouvez également utiliser la directive de devenir des commandes RAW Ad hoc ANSIBLE en utilisant le drapeau -b. Pour en savoir plus, consultez la documentation fournie ci-dessous:

https: // linkfy.à / devenantocumentation

Conclusion

Après avoir lu cet article, vous devriez maintenant savoir comment utiliser la directive ANSIBLE deviendre pour effectuer une escalade des privilèges pour diverses tâches.

Pour des raisons de sécurité, il est préférable de mettre en œuvre des restrictions pour divers comptes et de spécifier explicitement quand ils sont utilisés. Ainsi, l'escalade des privilèges est un aspect important de l'utilisation du sudo et du su dans ANSIBLE.