Ho rilevato un server Ubuntu 14.04. Ha un utente chiamato "deployer" (usato con capistrano), e come tale ha bisogno di privilegi sudo. Con questa configurazione, posso accedere al server e fare cose come:Ansible: creare un utente con privilegi sudo
workstation> ssh [email protected]
myserver> sudo apt-get install git
myserver> exit
workstation>
Sto cercando di capire come utilizzare Ansible (versione 2.0.2.0 e Python 2.7.3) per creare un utente chiamato "deployer "ed essere in grado di accedere al server con quell'ID e quindi sudo-ish cose come" apt-get install ". Il mio playbook si presenta così:
---
- 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
Dopo l'esecuzione di questo playbook, sono in grado di ssh nella macchina come "deployer", (ad esempio, ssh Deployer @ mioserver), ma se ho eseguito un comando sudo, mi chiede sempre per la mia password sudo.
Capisco che l'utente del "deployer" debba in definitiva trovare la sua strada nel file degli utenti visudo, ma non riesco a capire quali magici incantesimi di Ansible invocare in modo da poter eseguire ssh nella macchina come deployer e quindi eseguire un sudo comando (ad es. sudo apt-get install git ") senza password richiesta
Ho cercato in alto e in basso, e non riesco a trovare un frammento di playbook Ansible che metta l'utente in" deployer " il gruppo sudo senza richiedere una password Come è fatto?
Si prega di aggiungere la riga 'convalida: 'visudo -cf% s'' alla fine della sezione' lineinfile: 'per convalidare prima del salvataggio. Incasinare il file sudoers ti bloccherà permanentemente dall'accesso sudo. –
'authorized_key' [accetta la chiave come stringa] (http://docs.ansible.com/ansible/latest/authorized_key_module.html) nel parametro' key' dalla v1.9 – Tim
È anche possibile creare/copiare un file in '/ etc/sudoers.d', la maggior parte delle distribuzioni come linea di default include quella ... –