Python Ansible BE#U用户错误UnicodeEncodeError:&x27;ascii';编解码器可以';t编码字符

Python Ansible BE#U用户错误UnicodeEncodeError:&x27;ascii';编解码器可以';t编码字符,python,ansible,sudo,Python,Ansible,Sudo,我对ansible有问题。我想从其他用户配置sudo: 主机:testnodes 变成:是的 成为用户:nadya 方法:sudo 但当我执行playbook时,我有一个错误: 任务执行期间发生异常。完整回溯是: 回溯(最近一次调用上次):文件 “/usr/lib/python2.7/dist packages/ansible/executor/task_executor.py”, 第119行,运行中 res=self.\u execute()文件“/usr/lib/python2.7/dist

我对ansible有问题。我想从其他用户配置sudo:

主机:testnodes

变成:是的

成为用户:nadya

方法:sudo

但当我执行playbook时,我有一个错误:

任务执行期间发生异常。完整回溯是: 回溯(最近一次调用上次):文件 “/usr/lib/python2.7/dist packages/ansible/executor/task_executor.py”, 第119行,运行中 res=self.\u execute()文件“/usr/lib/python2.7/dist packages/ansible/executer/task\u executer.py”, 第490行,in_执行 result=self.\u handler.run(task\u vars=variables)文件“/usr/lib/python2.7/dist packages/ansible/plugins/action/normal.py”, 第33行,运行中 结果=合并\u散列(结果,self.\u执行\u模块(tmp=tmp,task\u vars=task\u vars))文件 “/usr/lib/python2.7/dist packages/ansible/plugins/action/init.py”, 第617行,输入执行模块 self.\u fixup\u perms2(远程文件,远程用户)文件“/usr/lib/python2.7/dist-packages/ansible/plugins/action/init.py”, 第394行,在_fixup _perms2中 “请参阅”。格式(res['rc'], res['stderr'])UnicodeEncodeError:'ascii'编解码器无法编码 第29位的字符u'\u2018:序号不在范围内(128)

致命:[192.168.3.99]:失败!=>{ “失败”:对, “msg”:“模块执行期间出现意外故障。”, “标准输出”:“}

ansible——版本 ansible 2.2.0.0

如果我设置
成为用户:root
一切正常

在远程主机/etc/sudo上:

ansible ALL=(nadya)NOPASSWD:ALL

有人能帮我吗?
谢谢。

线索在回溯输出中:

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)
这主要是因为Python不能解析
res['rc']
res['stderr']

这意味着远程系统将非ascii的内容作为错误消息打印到stderr中

正如您所说,您运行Ansible 2.2.0.0,因此您可以检查此错误的原因:


要避免错误,请修复权限或使用link中的解决方法。

我确信,我使用的是英语键盘。我不复制这个字符串:“Been_user:nadya”谢谢!之后,我安装了acl,一切正常。
                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']))