ansible 切换用户问题
admin
2023-03-04 09:21:24
0

ansible 切换用户问题

​ 在实际生产环境中,应用程序的用户为不允许用户直接登陆,即为登陆用户user1 ,操作应用程序为user2,需要完成对应用程序的启动关闭,需要登陆user1 切换user2 操作应用程序。

​ 在ansible 实际应用中怎么解决此类问题呢,通过多方查看资料发现可以ansible_become这个参数可以完美的解决这个问题。

配置文件修改为一下

[pro1]
192.168.0.226   ansible_ssh_user=user1  ansible_ssh_pass='passwd' ansible_become=true ansible_become_user=user2  ansible_become_pass='passwd'
[pro2]
10.111.36.72  ansible_ssh_user=manager  ansible_ssh_pass='O5e2#L9w'

注释如下:

ansible_user # ssh用户
ansible_ssh_pass # 密码
ansible_port # ssh端口
ansible_become # true or false,是否切换用户
ansible_become_method # 切换用户使用的方法,如sudo、su
ansible_become_user # 要切换的用户
ansible_become_pass # 切换用户是需要的密码

注意:
这里还有一个非常重要的问题!!!
博主今天遇到了!!!
就是同一台主机,同一个用户登陆操作不同的应用程序
user1 可以正常登陆 正常操作应用程序
user1 可以正常登陆 切换user2 操作应用程序
这里就出现了冲突矛盾的问题!!!
在ansible 应用组里面 即使指定了组 但是user1 执行任何程序的时候还是会自动切换成user2 用户!!

需要怎么如何解决这个问题呢????
通过查看资料以及好友的帮助有两条解决问题的方法:

方法一:

在hosts 文件中不使用bcome 参数,在语句中进行附加

ansible-playbook /etc/ansible/pro1.yml -e "ansible_become='yes'ansible_become=true ansible_become_user='user2' ansible_become_pass='passwd'"

方法二:

这里博主是使用了方法二,因为密码有特殊字符不好处理。

当查看主机的时候发现主机有多网卡,于是就把pro2的ip地址改成另一个内网地址,经过测试,两个项目都能正常使用了!!!

总结:

经过测试,ansible_become=true 这个参数,对同一个主机地址,同一个用户都会有效果,即使指定不同的分组,优先级甚是高!解决问题方法的思路很多种,有时候换一下角度考虑,问题就能迎刃而解。

相关内容

热门资讯

马斯克官宣:解散xAI! 最新官宣。 当地时间5月6日,埃隆・马斯克在社交平台X正式宣布,xAI将解散并停止作为独立公司运营,...
低端PC的革命来了!Windo... 快科技5月8日消息,Windows Latest对Win11正在内部测试的"低延迟配置"(Low L...
原创 新... ## 933图片插入失败: 'NoneType' object has no attribute '...
荣获“国机杯”卓越奖!安世亚太... 2026年4月30日,在第九届数字中国建设峰会期间,“国机杯”首届工业智能体大赛颁奖典礼于福州海峡国...
曝全球科技巨头争相投资SK海力... IT之家 5 月 8 日消息,据路透社今天报道,消息人士透露,全球各大科技公司争相向 SK 海力士抛...
中国人的AI焦虑,又领先了 《极限审判》 一场AI大辩论正在越演越烈,公众讨论AI的时候,显然已经呈现出了多个派别:降临派积极拥...
上海汇正财经服务费能退吗?看懂...   近期出现部分关于“上海汇正财经服务费能退吗”的讨论,一些投资者将关注点放在费用争议上,可能会忽略...
美军,突然“反击” 当地时间5月7日深夜至8日凌晨,霍尔木兹海峡再度成为世界最危险的水道。美军“特拉克斯顿”号、“佩拉尔...
古镇民宿贴出“艳遇秘诀”等标牌... 近日,网友称在云南丽江束河古镇发现一店铺门口挂出多块标语牌子:“艳遇秘诀,把自己灌醉,给别人机会”…...