接上文,继续讲解ansible的模块以及参数
(11)yum_repository
参数 | 功能 |
---|---|
name | 指定仓库的名称 |
baseurl | 指定源路径 |
description | 指定仓库的描述 |
file | 指定仓库的文件名称 |
enabled | 仓库是否启用 |
gpgcheck | 仓库是否使用gpgkey检测 |
state | present 建立 absent 删除 |
先删除被控主机repo文件
使用模块,文件名为westos,后缀自动添加。名字和描述为AppStream,路径如图,开启使用,不监测gpgcheck,创建
类似再添加BaseOS
(12)dnf
参数 | 功能 |
---|---|
name | 指定包 |
state | present安装 latest更新 absent删除 |
list | 列出指定信息 |
disable_gpg_check | 禁用gpgkey检测 |
enablerepo | 指定安装包来源 |
disablerepo | 禁用安装包来源 |
autoremove | 依赖性一起卸载 |
安装httpd和php,安装完后删除,虽然已经删除了,但是依赖性还没有卸载
再次安装,加入autoremove参数会将本身及依赖性都卸载掉
将gpgcheck改为1,无法安装软件
加入参数禁止gpgcheck检测就可以了
禁用AppStream源无法安装
列出httpd的信息,有可安装和已安装信息
(13)service
参数 | 功能 |
---|---|
name | 服务名称 |
state | 对服务的动作 |
enabled | 设定服务开机是否启动 |
启动httpd服务并开启自启
(14)firewalld
参数 | 功能 |
---|---|
zone | 火墙的域 |
service | 服务名称 |
permanent | 永久生效 |
state | enabled允许 disabled不允许 |
immediate | 立即生效 |
ansible主机使用firewalld模块,设定public域,允许http服务,永久生效,立即生效
可以访问apache页面
(15)group
参数 | 功能 |
---|---|
name | 日指定要操作的组名称 |
state | present建立 absent删除 |
gid | 指定组的gid |
[root@westos_node1 ~]# watch -n 1 tail /etc/group
监控node1的/etc/group
建立testgroup组 gid=2222
修改
删除testgroup这个组
(16)user
参数 | 功能 |
---|---|
name | 指定要操作的用户名称 |
group | 指定用户所在的基本组 |
gourps | 指定用户所在的附加组 |
append | 指定添加附加组,默认值为no |
shell | 指定用户的shell |
uid | 指定用户的 uid |
comment | 指定用户的注释信息 |
state | present建立 absent删除 |
remove | 删除用户时删除用户家目录,默认值为no |
password | 用于指定用户的密码 |
generate_ssh_key | 生成sshkey |
监控用户,组和家目录
[root@westos_node1 ~]# watch -n 1 "tail -n 3 /etc/passwd /etc/group ; echo =============== ; ls -l /home"
创建一个新用户,name指定用户名称
删除testuser
已删除
但是家目录还在
再次创建用户,然后删除,添加remove参数,同时删除家目录
添加用户,组和附加组
再添加nginx附加组
直接被覆盖了,相当于useradd -G
添加append参数,相当于useradd -G 可以添加
添加注释信息,指定shell和uid
先使用openssl生成加密字符,然后指定更改用户密码
添加generate_ssh_key参数生成密钥
(17)lineinfile
类似于vim
参数 | 功能 |
---|---|
path | 指定要操作的文件 |
line | 指定文本内容 |
regexp | 使用正则表达式匹配对应的行。替换文本时如果有多行文本都能被匹配,则只有最后面被匹配到的那行文本才会被替换;当删除文本时,如果有多行文本都能被匹配,那么这些行都会被删除 |
state | state的默认值为present,当想要删除对应的文本时需要将state参数的值设置为absent |
backrefs | 默认值为no,如果该为yes,表示当内容无匹配规则时不对文件做任何更改 |
insertafter | 借助insertafter参数可以将文本插入到“指定的行”之后,insertafter参数的值可以设置为EOF或者正则表达式 |
insertbefore | 借助insertbefore参数可以将文本插入到“指定的行”之前,insertbefore参数的值可以设置为BOF或者正则表达式 |
backup | 是否在修改文件之前对文件进行备份。 |
create | 当要操作的文件并不存在时,是否创建对应的文件 |
创建内容为hello world 名字为westosfile的文件
替换hello开头的为hello linux
追加两行内容
替换hello开头的为westos
只有最后一行会被替换
删除hello开头的
hello开头的都会被删除
被控主机修改为
匹配以h开头后跟四个任意字符,再跟*(0到任意)字符,再跟w后五个字符,匹配到后替换成第一个变量,如果没有匹配到,不对文件作任何修改
只有hello westos 符合匹配条件,替换成hello
添加内容到最后一行,添加insertafter参数
添加内容到第一行
(18)replace
参数 | 功能 |
---|---|
path | 指定要操作的文件 |
regexp | 指定一个正则表达式,文件中与正则匹配的字符串将会被替换 |
replace | 指定最终要替换成的字符串 |
backup | 是否在修改文件之前对文件进行备份 |
再受控主机中修改westos文件
匹配westos字符,替换为WESTOS,备份文件
(19)setup
filter:用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息
可以看到受控主机的所有信息
也可以指定信息查看
(20)debug
在调试中输出信息
参数 | 功能 |
---|---|
msg | 调试输出的消息 |
var | 将某个任务执行的输出作为变量传递给debug模块,debug会将其打印输出 |
verbosity | debug的级别 |
debug模块,使用测试消息,设置debug等级