我们有这样的任务:
- template: src=templates/nginx/default dest=/etc/nginx/sites-available/default owner=root group=root
当我运行它像:
ansible-playbook -i inventory/amazon site.yml -u ubuntu --become --limit=web
有用。 但是become
让用户充当根,如果nginx更新只是部署过程的一部分 – become
标志是危险的。
如果我们删除它 – ansible给出错误,如:
TASK [nginx : template] ******************************************************** fatal: [*****.eu-west-1.compute.amazonaws.com]: FAILED! => {"changed": true, "failed": true, "gid": 1000, "group": "ubuntu", "mode": "0777", "msg": "chown failed", "owner": "ubuntu", "path": "/etc/nginx/sites-available/default", "size": 275, "state": "file", "uid": 1000}
那么..什么是正确的方式来更新nginxconfiguration,使用ansible? 它可以完成没有 – --become
?
使用become: yes
需要root的任务。 请参阅http://docs.ansible.com/ansible/become.html以供官方参考。