我正在使用ansible来替换多个RHEL6 & RHEL7服务器上的用户的ssh密钥。我正在运行的任务是:Ansible无法对临时设置权限
- name: private key
copy:
src: /Users/me/Documents/keys/id_rsa
dest: ~/.ssh/
owner: unpriv
group: unpriv
mode: 0600
backup: yes
,我试图更新是给下面的错误的主机二:
fatal: [host1]: FAILED! => {"failed": true, "msg": "Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user (rc: 1, err: chown: changing ownership of
/tmp/ansible-tmp-19/': Operation not permitted\nchown: changing ownership of
/tmp/ansible-tmp-19/stat.py': Operation not permitted\n). For information on working around this, see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user "}
的事情是,这两块得到错误有些更新很好的克隆。我已经比较了sudoers和sshd设置,以及/ tmp目录中的权限和挂载选项。他们在问题主持人和工作主持人之间都是一样的。关于我接下来可以检查的任何想法?
我在Mac OS Sierra上运行ansible 2.3.1.0,如果有帮助的话。
更新:
@techraf
我不知道为什么这个工作在所有主机上除了两个。这里是原来的剧本:
- name: ssh_keys
hosts: my_hosts
remote_user: my_user
tasks:
- include: ./roles/common/tasks/keys.yml
become: yes
become_method: sudo
和原keys.yml:
- name: public key
copy:
src: /Users/me/Documents/keys/id_rsab
dest: ~/.ssh/
owner: unpriv
group: unpriv
mode: 060
backup: yes
我改变了剧本到:
- name: ssh_keys
hosts: my_hosts
remote_user: my_user
tasks:
- include: ./roles/common/tasks/keys.yml
become: yes
become_method: sudo
become_user: root
而且keys.yml
到:
- name: public key
copy:
src: /Users/me/Documents/keys/id_rsab
dest: /home/unpriv/.ssh/
owner: unpriv
group: unpriv
mode: 0600
backup: yes
它的工作所有主机。
好吧,不过你看到的错误消息,可能明白它的英文意思对不对?那么为什么你甚至不提到你是否正在用普通用户“成为”,或者不是?我想你会这么做,但是你不认为任何人读过你的问题都会立即怀疑你是如何定义这个剧本的。如果这些是克隆,如果包含信息,则应该很容易重现。 – techraf
另外...您有多台RHEL6和RHEL7机器,根据您的写法,问题出现在两台机器上。 RHEL6听起来不像RHEL7的克隆,所以它就像每个机器一样,或者是什么? – techraf
我很欣赏那些花时间去帮助的人,但关于理解英语的讽刺评论什么都不会成功。我是Ansible的新手,不确定提问时哪些信息是相关的。提供太多信息同样可能导致侮辱,因为提供的信息不够。关于RHEL 6和RHEL 7,你是正确的。我试图得到的观点是获得了不同的结果,而在我的目标主机上似乎是一致的配置。 – Alex