Linux Ansible sudo不起作用

Linux Ansible sudo不起作用,linux,centos,sudo,ansible,Linux,Centos,Sudo,Ansible,我正在编写Ansible脚本,以便在CentOS机器上安装一些软件包 我无法使用sudo在Ansible中执行简单的YUM命令 - name: Install Java yum: name={{java_version}} state=present sudo_user: dexter sudo: yes 我得到以下错误 任务:[tomcat |安装Java]************************************************* 失败:[服务器名称]=>

我正在编写Ansible脚本,以便在CentOS机器上安装一些软件包

我无法使用sudo在Ansible中执行简单的YUM命令

- name: Install Java
  yum: name={{java_version}} state=present
  sudo_user: dexter
  sudo: yes
我得到以下错误

任务:[tomcat |安装Java]************************************************* 失败:[服务器名称]=>{“已更改”:true,“rc”:1,“结果”:[“加载的插件:FastTestMirror,la ngpacks\n“]} msg:您需要是root用户才能执行此命令。 致命:所有主机都已失败--正在中止

我还设置了我的远程用户

remote_user: dexter
我使用的是ansible 1.7.2

我只能访问dexter用户(不能访问root)

dexter用户在sudoers列表中

我可以在机器上对用户执行sudo命令,也可以执行类似的操作

sudo yum install ...
奇怪的是,我还能够使用shell在Ansible中运行SUDO命令

- name: Add permissions to dummy path
  shell: sudo chmod 0755 {{dummy_path}}
ansible中的sudo似乎与sudo命令不同。还是我做错了什么

谢谢

[编辑]根据@tedder42的建议,我正在添加带有(-vvv')的控制台输出,不带sudo_user',但带有sudo:yes
TASK:[apache |安装apache]***********************************************
为用户建立连接:dexter
远程模块yum name=httpd state=present
执行官['ssh'、'-C'、'-tt'、'-vvv'、'-o'、'ControlMaster=auto'、'-o'、'ControlPersist=60s'、'-o'、'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r'、'-o'、'KbdInteractiveAuthentication=no'、'-o'、'PreferredAuthentications=gssapi-with-mic、gssapi-keyex、基于主机、公钥'、'o'、'PasswordAuthentication=no'、'o'、'User=dexter'-o'、'tim'eout=10,“服务器名”;“/bin/sh-c'mkdir-p$HOME/.ansible/tmp/ansible-tmp-1416243654.43-120840990326663&&chmod a+rx$HOME/.ansible/tmp/ansible-tmp-1416243654.43-120840990326663&&echo$HOME/.ansible/tmp/ansible-tmp-1416243654.43-12084099036663']
将/tmp/tmpV8bobo放到/home/dexter/.ansible/tmp/ansible-tmp-1416243654.43-120840990326663/yum
执行官['ssh'、'-C'、'-tt'、'-vvv'、'-o'、'ControlMaster=auto'、'-o'、'ControlPersist=60s'、'-o'、'ControlPath=/home/vagrant/.ansible/cp/ansible-ssh-%h-%p-%r'、'-o'、'KbdInteractiveAuthentication=no'、'-o'、'PreferredAuthentications=gssapi-with-mic、gssapi-keyex、基于主机、公钥'、'o'、'PasswordAuthentication=no'、'o'、'User=dexter'-o'、'meout=10','server name',u'/bin/sh-c'sudo-k&&sudo-H-S-p“[sudo via ansible,key=nnqylcywghrogwhmdyzwidpsqbqxuef]密码:“-u root/bin/sh-c\'”\‘echo SUDO SUCCESS nnqylcywghrogwhmdyzwidpsqbqxuef;LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8/usr/bin/python-tt/home/dexter/.ansible/tmp/ansible-tmp-1416243654.43-120840990326663/yum;rm-rf/home/dexter/.ansible/tmp/tmp/1416243654.43-120840326663//dev/null 2>&1\''''
致命:[服务器名称]=>解析失败:抱歉,不允许用户dexter执行“/bin/sh-c echo SUDO SUCCESS nnqylcywghrogwhmdyzwidpsqbqbqxuef;LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8/usr/bin/python-tt/home/dexter/.ansible/tmp/ansible-tmp-1416243654.43-120840990326663/yum;rm-rf/home/dexter/ansible/tmp-14162654.43-1208409903263/null/>&1'在server-name.mia.amadeus.net上作为root用户。
致命:所有主机都已失败--正在中止
您不需要行:

sudo_user: dexter 
这会导致脚本以“dexter”的形式执行,您希望成为root用户。因此,请以用户“dexter”的身份将ssh发送到远程主机,然后将sudo发送到“dexter”。:)

您不需要线路:

sudo_user: dexter 
这会导致脚本以“dexter”的形式执行,您希望成为root用户。因此,请以用户“dexter”的身份将ssh发送到远程主机,然后将sudo发送到“dexter”。:)


如果我删除sudo_用户行,我会得到这个…致命:[服务器名称]=>解析失败:很抱歉,不允许用户dexter执行“/bin/sh-c echo SUDO SUCCESS wrwerwerhwkjerjkwehrh;LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8/usr/bin/python-tt/home/dexter/。ansible/tmp/ansible-tmp-1314921202.26-267234556234/yum;rm-rf/home/dexter/。ansible/tmp/ansible/tmp-1314921202.26-267234556234/。dev/null作为根用户,在s上的根目录为空服务器名称.致命:所有主机都已失败--中止可能您的home dir perms.或使用noexec选项安装的/home有问题。看起来很奇怪。Witch CentOS?如果我错了,请更正我,但如果/home使用noexec选项安装,sudo命令在终端上也不会工作。但它可以工作。此外,我的版本是CentOS Linux 7.0.1406sudo_版用户在这种情况下以及在几乎所有情况下都是绝对错误的。编辑您的问题以显示完整的输出(
-vvv'),不使用
sudo_用户`但使用
sudo:yes
@Dexter@tedder42更新内容,在上面添加详细输出如果我删除sudo_用户行,我会得到这个…致命:[服务器名称]=>解析失败:很抱歉,不允许用户dexter执行“/bin/sh-c echo SUDO SUCCESS wrwerwerhwkjerjkwehrh;LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8/usr/bin/python-tt/home/dexter/。ansible/tmp/ansible-tmp-1314921202.26-267234556234/yum;rm-rf/home/dexter/。ansible/tmp/ansible/tmp-1314921202.26-267234556234/。dev/null作为根用户,在s上的根目录为空服务器名称.致命:所有主机都已失败--中止可能您的home dir perms.或使用noexec选项安装的/home有问题。看起来很奇怪。Witch CentOS?如果我错了,请更正我,但如果/home使用noexec选项安装,sudo命令在终端上也不会工作。但它可以工作。此外,我的版本是CentOS Linux 7.0.1406sudo_版用户在这种情况下以及在几乎所有情况下都是绝对错误的。编辑您的问题以显示完整的输出(
-vvv'),不使用
sudo_用户`但使用
sudo:yes
@Dexter@tedder42更新内容,在上面添加详细输出