Ansible:有sudo但没有root

Ansible:有sudo但没有root,第1张

概述我想使用Ansible来管理我们的Hadoop集群(运行Red Hat)的配置. 我有sudo访问权限,可以手动ssh到节点执行命令.但是,当我尝试运行Ansible模块来执行相同的任务时,我遇到了问题.虽然我有sudo访问权限,但我不能成为root用户.当我尝试执行需要提升权限的Ansible脚本时,我收到如下错误: Sorry, user awoolford is not allowed to 我想使用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)   ALLawoolford       ALL=(ALL)   ALL,!SU,!SHELLS,!RESTRICT

Ansible可以在这样的环境中工作吗?如果是这样,我做错了什么?

解决方法 好吧,你根本无法执行/ bin / sh或/ bin / bash,因为你的/ etc / sudoers显示了.你可以做的是将ansible的默认shell更改为其他东西(ansible.conf中的变量可执行文件).

由于你的sudo策略默认允许所有内容(对我来说似乎不太安全),并且我认为ansible期望一个sh兼容的shell,作为一个非常脏的黑客你可以复制/ bin / bash到其他路径/名称并设置相应的可执行变量(未测试).

总结

以上是内存溢出为你收集整理的Ansible:有sudo但没有root全部内容,希望文章能够帮你解决Ansible:有sudo但没有root所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存