2017-09-21 80 views
2

我正在使用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 

它的工作所有主机。

+0

好吧,不过你看到的错误消息,可能明白它的英文意思对不对?那么为什么你甚至不提到你是否正在用普通用户“成为”,或者不是?我想你会这么做,但是你不认为任何人读过你的问题都会立即怀疑你是如何定义这个剧本的。如果这些是克隆,如果包含信息,则应该很容易重现。 – techraf

+0

另外...您有多台RHEL6和RHEL7机器,根据您的写法,问题出现在两台机器上。 RHEL6听起来不像RHEL7的克隆,所以它就像每个机器一样,或者是什么? – techraf

+1

我很欣赏那些花时间去帮助的人,但关于理解英语的讽刺评论什么都不会成功。我是Ansible的新手,不确定提问时哪些信息是相关的。提供太多信息同样可能导致侮辱,因为提供的信息不够。关于RHEL 6和RHEL 7,你是正确的。我试图得到的观点是获得了不同的结果,而在我的目标主机上似乎是一致的配置。 – Alex

回答

1

你可以尝试这样的事:

- name: private key 
    become: true 
    become_user: root 
    copy: 
    src: /Users/me/Documents/keys/id_rsa 
    dest: ~/.ssh/ 
    owner: unpriv 
    group: unpriv 
    mode: 0600 
    backup: yes 

注意的:

become: true 
become_user: root 

检查 “become” 文档的更多信息

+0

非常感谢。这解决了问题。 – Alex

+0

@Alex所以如果它解决了这个问题,你介意首先解释为什么问题存在吗?目标机器应该是相同的,不是吗? – techraf