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