我想使用Ansible来管理我们的Hadoop集群(运行Red Hat)的配置.
我有sudo访问权限,可以手动ssh到节点执行命令.但是,当我尝试运行Ansible模块来执行相同的任务时,我遇到了问题.虽然我有sudo访问权限,但我不能成为root用户.当我尝试执行需要提升权限的Ansible脚本时,我收到如下错误:
Sorry,user awoolford is not allowed to execute ‘/bin/bash -c echo
BECOME-SUCCESS- […] /usr/bin/python
/tmp/ansible-tmp-1446662360.01-231435525506280/copy’ as awoolford on
[some_hadoop_node].
通过documentation,我认为become_allow_same_user属性可能会解决这个问题,因此我将以下内容添加到ansible.cfg中:
[privilege_escalation] become_allow_same_user=yes
不幸的是,它没有用.
这个post表明我需要sudo / bin / sh(或其他一些shell)的权限.不幸的是,出于安全原因,这是不可能的.这是/ etc / sudoers的片段:
root ALL=(ALL) ALL awoolford ALL=(ALL) ALL,!SU,!SHELLS,!RESTRICT
Ansible可以在这样的环境中工作吗?如果是这样,我做错了什么?