2017-09-21 100 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