2017-03-16 11 views
0

私は問題があります。私は別のユーザーからsudoを設定する:不可能なbecome_userエラーUnicodeEncodeError: 'ascii'コーデックは文字をエンコードできません

hosts: testnodes

become: yes

become_user: nadya

become_method: sudo

しかし、私は脚本を実行すると、私はエラーがあります:私は設定した場合

An exception occurred during task execution. The full traceback is: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 119, in run res = self._execute() File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 490, in _execute result = self._handler.run(task_vars=variables) File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/normal.py", line 33, in run results = merge_hash(results, self._execute_module(tmp=tmp, task_vars=task_vars)) File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/init.py", line 617, in _execute_module self._fixup_perms2(remote_files, remote_user) File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/init.py", line 394, in _fixup_perms2 ' see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user '.format(res['rc'], res['stderr'])) UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 29: ordinal not in range(128)

fatal: [192.168.3.99]: FAILED! => { "failed": true, "msg": "Unexpected failure during module execution.", "stdout": "" }

ansible --version ansible 2.2.0.0

become_user: rootすべては問題ありません。リモートホストの/ etc/sudoをオン

ansible ALL=(nadya) NOPASSWD:ALL

誰も私を助けることができますか?おかげさまで

+0

英語のキーボードを使って単語を書くのは確かです。私はこの文字列をコピーしません: "become_user:nadya" – user265247

答えて

0

手掛かりは、あなたのトレースバック出力である:Pythonはres['rc']またはres['stderr']を解析することができないという事実について、基本的には

File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/init.py", line 394, in _fixup_perms2 
' see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user'.format(res['rc'], res['stderr'])) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 29: ordinal not in range(128) 


これは、リモートシステムが、ASCII以外の何かをエラーメッセージとしてstderrに出力したことを意味します。

あなたはこのエラーを約hereが何であるかを確認することができますので、あなたは、Ansible 2.2.0.0を実行して、言ったように:

   raise AnsibleError('Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user' 
         ' (rc: {0}, err: {1}). For information on working around this,' 
         ' see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user'.format(res['rc'], res['stderr'])) 

エラーを回避するための権限を修正したりprovidedリンクからの回避策を使用し、。

+0

ありがとう!その後、私はaclをインストールして、すべてがOKです。 – user265247

関連する問題