我正在尝试使用 Ansible 编写部署规则。其中一些步骤是:
- 更新和升级服务器
- 创建一个名为 Harry 的用户
- 添加公钥和私钥到 Harry
- 从 bitbucket.org 克隆 Git 存储库
我想将存储库克隆为harry
用户在他的主目录中(这就是我复制它的公钥和私钥的原因)。问题是无法指定 git clone 执行时必须使用的用户。因此,Ansible 尝试以 root 身份克隆存储库,但失败了,因为他无权访问存储库。
你如何解决这个问题?
根据 Ansible 的文档权限提升 http://docs.ansible.com/ansible/become.html,Ansible 在成为非特权用户方面受到限制,因为它向 Harry 暴露了安全漏洞。
使用 Ansiblegit http://docs.ansible.com/ansible/git_module.html模块中,您可以使用以下命令指定使用来自特权 Ansible 用户的 Harry 私钥key_file
参数,并使用become_user
允许将克隆文件的所有权授予 Harry。例如:
- name: Clone bitbucket repo
git:
repo: [email protected] /cdn-cgi/l/email-protection:your-repo.git
dest: /var/www/
version: master
accept_hostkey: yes
key_file: /home/harry/.ssh/id_rsa
become: yes
become_user: harry
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)