Я взял сервер Ubuntu 14.04. У него есть пользователь, называемый «развертыватель» (используется с capistrano), и поэтому ему нужны привилегии sudo. С помощью этой установки, я могу войти на сервер и делать такие вещи, как:Ansible: создать пользователя с привилегиями sudo
workstation> ssh [email protected]
myserver> sudo apt-get install git
myserver> exit
workstation>
Я пытаюсь понять, как использовать анзибль (версия 2.0.2.0 и питон 2.7.3), чтобы создать пользователя с именем «Deployer »и иметь возможность входа на сервер с этим идентификатором, а затем так суо-иш-вещи, как« apt-get install ». Мой сборник пьесы выглядит следующим образом:
---
- 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
После выполнения этих пьес, я могу SSH в машину как «Deployer», (например, SSH Установщик @ MYSERVER), но если я запускаю команду Суда, он всегда спрашивает меня для моего пароля sudo.
Я понимаю, что пользователь «развертывателя» в конечном итоге должен найти свой путь в файле пользователей visudo, но я не могу понять, какие магические заклинания Ansible вызываются, чтобы я мог ssh в машину в качестве развертывателя, а затем запустить sudo (например, sudo apt-get install git) без запроса пароля sudo.
Я искал высоко и низко, и я не могу найти фрагмент плеера Ansible, который помещает пользователя «развертыватель» в sudo group, не требуя пароля. Как это делается?
Пожалуйста, добавьте строку 'validate: 'visudo -cf% s'' в конец раздела' lineinfile: 'для проверки до сохранения. Прошивка файла sudoers заблокирует вас от доступа sudo навсегда. –
'authorized_key' [принимает ключ как строку] (http://docs.ansible.com/ansible/latest/authorized_key_module.html) в параметре' key', так как v1.9 – Tim
Вы также можете создать/скопировать файл в '/ etc/sudoers.d', большинство дистрибутивов по умолчанию включают строку для этого ... –