エラー
ssh ユーザーと実行ユーザーを変更して ansible playbook を実行したら、一時ファイルの権限エラーが発生してしまった
hosts.ini
ansible_ssh_user=my_ssh_user
ansible_user=execute_user
ansible_become_user=execute_user
ansible_become_pass=execute_user_pass
app_env=dokka
error.
Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user
解決
ansible.cfg の pipelining を True に設定することで解決した
ansible.cfg
[defaults]
...
pipelining = True ;こいつ追加
pipelining
を True
に設定すると、サーバーにファイル転送を行わず実行するようになるため、一時ファイルの権限エラーを回避できる。また、ファイル転送がなくなるため、パフォーマンスが大幅に向上するらしい。しかし、サーバーの設定によっては使えないようなので要確認。
参考