J'ai repris un serveur Ubuntu 14.04. Il a un utilisateur appelé "deployer" (utilisé avec capistrano), et en tant que tel, il a besoin des privilèges sudo. Avec cette configuration, je peux me connecter au serveur et faire des choses comme.. :
workstation> ssh deployer@myserver
myserver> sudo apt-get install git
myserver> exit
workstation>
J'essaie de comprendre comment utiliser Ansible (version 2.0.2.0 et python 2.7.3) pour créer un utilisateur appelé "deployer" et pouvoir se connecter au serveur avec cet identifiant et ensuite faire des choses sudoïdes comme "apt-get install". Mon playbook ressemble à ceci :
---
- hosts: example
become: yes
tasks:
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 3600
- group: name=sudo state=present
- name: Add deployer user and add it to sudo
user: name=deployer
state=present
createhome=yes
become: yes
become_method: "sudo"
- name: Set up authorized keys for the deployer user
authorized_key: user=deployer key="{{item}}"
with_file:
- /home/jaygodse/.ssh/id_rsa.pub
Après avoir exécuté ce playbook, je suis capable de me connecter à la machine en tant que "deployer" (par exemple, ssh deployer@myserver), mais si j'exécute une commande sudo, on me demande toujours mon mot de passe sudo.
Je comprends que l'utilisateur "deployer" doit finalement se retrouver dans le fichier visudo users, mais je n'arrive pas à trouver les incantations magiques Ansible à invoquer pour que je puisse me connecter à la machine en tant que deployer et ensuite exécuter une commande sudo (par exemple sudo apt-get install git") sans être invité à entrer un mot de passe sudo.
J'ai cherché partout et je n'arrive pas à trouver un fragment de playbook Ansible qui place l'utilisateur "deployer" dans le groupe sudo sans exiger de mot de passe. Comment cela se fait-il ?
0 votes
Duplicata possible de Ansible : meilleure pratique pour maintenir la liste des sudoers