2016-06-11 43 views
1

我正在使用ansible啓動aws實例。 aws實例上有一個名爲「ubuntu」的默認用戶,我需要設置新用戶。 Here是手動設置用戶的指南,但有沒有什麼辦法通過ansible自動完成?在實例啓動時創建ubuntu用戶ansible aws

+1

檢查這個腳本,你需要在運行此腳本同樣的事情你的劇本https://gist.github.com/martinhbramwell/4223476 – error2007s

回答

3

下面是另一個版本,這一個你避免使用外殼模塊,而是使用原生用戶模塊,用於authorized_keys的

--- 
- hosts: "{{ host_name }}" 
    become: yes 
    become_method: sudo 
    tasks: 
    - name: Create user deploy 
    user: name=deploy comment="The Deploy user" group=admin shell=/bin/bash 
    - name: Copy deploy's authorized_keys file 
    authorized_key: user=deploy key="your_authorized_key_file_name" 
0

這裏有一個例子劇本我寫的正是這麼做的 -

--- 
- hosts: "{{ host_name }}" 
    become: yes 
    become_method: sudo 
    tasks: 
    - name: Create user deploy 
    shell: "adduser --disabled-password --gecos \"\" deploy10" 
... 

如果需要,您可以創建這個劇本略有改動密碼的用戶,然後將authorized_keys的部分到這個劇本。如果您需要任何幫助,請告訴我。

+1

你應該在Ansible作爲最後的手段炮轟出局。使用Ansible的模塊可以讓您更輕鬆地使您的劇本/角色冪等,而無需使用大量的欺騙或註冊和檢查任務輸出。 – ydaetskcoR

+0

你是對的,我應該使用用戶模塊..我已經這樣寫了這個遊戲,因爲我們特別需要使用'--disabled-password'標誌,我找不到一種方法來做到這一點與用戶模塊。無論如何感謝提示。 –