系统相关
首页 > 系统相关> > yum安装的ansible学习

yum安装的ansible学习

作者:互联网

yum -y install ansible


yum安装ansible的特点
yum安装的ansible,配置文件,hosts文件,roles目录都默认在/etc/ansible目录下


配置文件要点介绍
-------------------
配置文件中的sudo-user和become-user,remote_user
remote_user:  本机要通过一个用户名密码登录到远程机器上,remote_user指的就是这个用户名

sudo_user:  本机通过一个用户名密码登录到远程机器机器以后,可能还要sudo到其他账户下进行操作,如zabbix账户,nginx账户,如果这些账户下的目录设了置权限,一定要sudo - zabbix,sudo - nginx才可以操作的,所以sudo_user指的就是值,登录以后要去那个账户下去干活,用的就是提升权限这个操作

become-user: 和sudo_user类似,他可以在每个任务中进行定义。在1.9 Ansible之前,大多数情况下都允许使用sudo和有限的su来允许登录/远程用户成为不同的用户并执行任务,用第二个用户的权限创建资源。从1.9开始become代替旧的sudo / su,同时仍然向后兼容。这个新系统也使得添加诸如pbrun(Powerbroker),pfexec,dzdo(Centrify)等其他特权升级工具变得更加容易。还有一个不同之处,sudo_user在配置文件的default模块中,而become_user没有,这说明become_user在提升权限时划分的更加精准了。

ask_pass = True   在本机执行命令时,需不需要本机用户的密码,这个很无聊,因为操作者不希望每次操作时都输入本机的密码,这是没有意义的,此项应该注释掉。这个功能和命令行的-k参数的功能重叠
ask_sudo_pass = True  \\每次执行ansible命令是否询问ssh密码,同样的,此项也应该注释掉。这个功能和命令行的-K参数的功能重叠

ansible常用命令
1,-i参数指定hosts目录,
ansible -i /data/hosts all -m ping

2,使用become_user功能
    2.1 通过命令行的-e参数指定become  
       例如:
       ansible 192.168.136.201 -e "ansible_become_user=root" -m yum -a "name=httpd state=latest"   -k -K
       ansible -i hosts all  -m yum -e "ansible_ssh_user=ansibleadmin  ansible_become_user=ansibleadmin ansible_become=true  ansible_become_pass='666666'" -a "name=gcc state=latest"   -k -K   
    使用-k -K参数时确保配置文件中的两个选项注释掉、
    2.2 在hosts文件中指定become
       例如:
       [s21]
       #192.168.1.21  ansible_ssh_user=i  ansible_ssh_pass=i 
       192.168.1.21  ansible_ssh_user=i  ansible_ssh_private_key_file=/home/i/.ssh/id_rsa ansible_become=true ansible_become_user=root  ansible_become_pass='i'
    2.3,在roles的yml文件中编写,略过

 

标签:sudo,ansible,yum,user,become,安装,ssh
来源: https://www.cnblogs.com/zhuhaofeng01/p/13215403.html