1.摘要
在上一篇<<初步利用Ansible实现批量服务器自动化管理>>文章中, 我初步实现了通过编写清单和剧本来实现多台服务器的自动化管理,在本章节中, 我将利用Ansible的剧本来实现更实用、更复杂一点的功能, 主要功能包括三个:1.同时在三台服务器中增加IP访问控制,只允许192.168.201.202的IP登录,其它IP禁止其通过SSH登录。2.修改SSH服务的默认22端口,修改为2222。3.启动防火墙,只允许2222端口访问, 不允许其它端口访问。
2.编写剧本
如果只讲原理,没有实践, 学习起来会比较枯燥, 所以我会在编写剧本的过程中边实践边讲解剧本的语法。
在上篇文章中, 我们已经知道剧本是一个YAML格式文件, 在开头,我们要加载所有的远程管理hosts,语法如下:
- hosts: all
还记得在上一章编写的清单文件inventory.yaml吗,看看里面的内容:
hosts: all默认会加载这里的所有IP地址, 紧随其后的命令是:
become: yes
该命令在Ansible中表示提权执行。
默认情况下,Ansible是以普通用户身份通过SSH连接到远程主机的。但有些任务需要 root 或 sudo 权限,比如服务的重启,文件权限的修改等。这时就需要使用become模块