file模块

  • 该模块的关键字有 path被控主机端的路径 、state 状态 、 touch创建文件 、 directory 创建目录、 recures 递归 、owner 所属主、 group所属组、 mode 权限。

1.创建文件,并且设定属主,属组,权限

[root@localhost opt]# ansible dbserver -m file -a "path=/var/www/html/xjm.html state=touch owner=root group=root mode=644" -i hosts

2.创建目录,并设定属主,属组,权限

[root@localhost opt]# ansible dbserver -m file -a "path=/var/www/html/dd state=directory owner=root group=root mode=755" -i hosts

3.递归授权目录的方式

[root@localhost opt]# ansible dbserver -m file -a "path=/var/www/html/ owner=apache group=apache recurse=yes" -i hosts

把/var/www/html目录下的所有目录和文件的所属主和所属组都改为apache

yum模块

  • 该模块的主要参数有:name:要安装的软件包名,多个软件包以英文逗号隔开, state 对当前指定的软件安装、移除操作 支持的参数有:
    present:确认已经安装,但不升级
    inistalled:确认已经安装
    latest:确保安装,且升级为最新
    absent和removed:确认已移除
    exclude :排除

1.安装当前最新的apache软件,如果存在就更新

[root@localhost opt]# ansible dbserver -m yum -a "name=httpd state=latest" -i hosts

2.安装当前最新的apache,通过epel仓库安装

[root@localhost opt]# ansible dbserver -m yum -a "name=httpd state=latest enablerepo=epel" -i hosts

3.通过公网url安装rpm软件

[root@localhost opt]# ansible dbserver -m yum -a "name=http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm state=latest" -i hosts

4.更新所有的软件包,但是排除kernel相关的软件包

[root@localhost opt]# ansible dbserver -m yum -a "name=* state=latest exclude=kernel*" -i hosts

要排除多个,用逗号隔开

5.删除apache软件

[root@localhost opt]# ansbile dbserver -m yum -a "name=httpd state=absent" -i hosts

copy模块

  • copy模块的参数有:
  • src:指定拷贝文件的源地址
    dest:指定拷贝文件的目标地址
    backup:拷贝文件前,若原始文件发生变化,则对目标文件进行备份
    owner:指定新拷贝文件的所有者
    group:指定新拷贝文件的所有组
    mode:指定新拷贝文件的权限

1.将本地的httpd.conf文件listen端口修改为8080,然后推送到远端服务

[root@localhost opt]# ansible dbserver -m copy -a "src=/opt/xjm/http.conf dest=/opt/xjm/httpd.conf owner=root group=root mode=644" -i hosts

2.将本地的httpd.conf文件listen端口修改为9090。然后推送到远端,检查远端是否存在上一次的备份

[root@localhost opt]# ansible dbserver -m copy -a "src=/opt/xjm/http.conf dest=/opt/xjm/httpd.conf owner=root group=root mode=644 backup=yes" -i hosts

3.往远处的主机文件中写入内容

[root@localhost opt]# ansible dbserver -m copy -a "content=xjmgoodgreil.... dest=/var/www/html/xjm.html" -i hosts

get_url模块

1.下载互联网的软件至本地

[root@localhost opt]# ansible -m get_url -a "url=http://xxxxxxxx dest=xxxxxxxx" -i hosts

2.下载互联网文件并进行md5校验

首先先对得到文本的md5校验值

[root@localhost opt]# ll
total 4
drwxr-xr-x 2 root root 68 Dec 28 14:46 xjm
-rw-r--r-- 1 root root 33 Dec 28 15:57 xjm.txt
[root@localhost opt]# md5sum xjm.txt
0bc6d086bb6aac08bdd24e17e34c5d80  xjm.txt

在下载的时候,添加一个条件

[root@localhost opt]# ansible dbserver -m get_url -a "url=http://xxxxxx dest=xxxxxx checksum=md5:0bc6d086bb6aac08bdd24e17e34c5d80" -i hosts

service模块

几个关键字:started
stopped
restarted
reloaded

1.启动httpd服务

[root@localhost opt]# ansible dbserver -m service -a "name=httpd state=started" -i hosts

2.重载httpd服务

[root@localhost opt]# ansible dbserver -m service -a "name=httpd state=reload" -i hosts

3.重启httpd服务

[root@localhost opt]# ansible dbserver -m service -a "name=httpd state=restarted" -i hosts

4.停止httpd服务

[root@localhost opt]# ansible dbserver -m service -a "name=httpd state=stopped" -i hosts

5.启动httpd服务,并加入开机自启动

[root@localhost opt]# ansible dbserver -m service -a "name=httpd state=started enabled=yes" -i hosts

group模块

  • 该组的关键字有
  • name 组名称
    system 是否为系统组 yes、no (默认是no)
    state 删除或者创建 present 、absent
    1.创建news基本组,指定uid为9999
    管理节点
[root@localhost opt]# ansible dbserver -m group -a "name=news state=present gid=9999" -i hosts

被管理节点

[root@localhost ~]# tail -1 /etc/group
news:x:9999:

2.创建http系统组,指定uid为8888

[root@localhost opt]# ansible dbserver -m group -a "name=http gid=8888 state=present system=yes" -i hosts

3.删除test基本组

[root@localhost opt]# ansible dbserver -m group -a "name=news state=absent" -i hosts

user模块

1创建joh用户,uid是1040主要组是adm

首先在被控端查看有没有admin这个组,如果没有就要创建

[root@localhost ~]# grep "adm" /etc/group
adm:x:4:
db_admin:x:1000:tom

在管理节点上

[root@localhost opt]# ansible dbserver -m user -a "name=joh uid=1040 group=adm" -i hosts

在被控节点上验证一下

 [root@localhost ~]# id joh
uid=1040(joh) gid=4(adm) groups=4(adm)

2.创建joh用户,登录shell是/sbin/nologin,追加bin,sys两个组
首先在被控端查看有没有bin,sys这两个组,如果没有就要创建

[root@localhost ~]# grep "bin" /etc/group
bin:x:1:
[root@localhost ~]# grep "sys" /etc/group
sys:x:3:

管理节点:

[root@localhost opt]# ansible dbserver -m user -a "name=joh groups=bin,sys shell=/sbin/nologin" -i hosts

被管理节点验证

[root@localhost ~]# id joh
uid=1040(joh) gid=4(adm) groups=4(adm),1(bin),3(sys)

3.创建lll用户,为其添加123作为登录密码,并且登录家目录

[root@localhost opt]# pass=$(echo "123" | openssl passwd -1 -stdin) [root@localhost opt]# echo $pass
$1$HXl9zMjT$2lvPxEy3R.siF.dfpsbBb1
[root@localhost opt]# ansible dbserver -m user -a "name=lll password=${pass}" -i hosts

被管理节点验证

[root@localhost ~]# tail -1 /etc/shadow
lll:$1$HXl9zMjT$2lvPxEy3R.siF.dfpsbBb1:18989:0:99999:7:::

然后用用户名lll 密码:123进行登录

4.移除joh用户

[root@localhost opt]# ansible dbserver -m user -a "name=joh state=absent" -i hosts

5.创建http用户,并为该用户创建2048字节的秘钥,存放在/http/.ssh/id_rsa
在控制端创建秘钥

[root@localhost opt]# ansible dbserver -m user -a "name=httpd generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa" -i hosts

在被控节点查询

[root@localhost httpd]# ll /home/httpd/.ssh
total 8
-rw------- 1 httpd httpd 1675 Dec 28 21:45 id_rsa
-rw-r--r-- 1 httpd httpd  424 Dec 28 21:45 id_rsa.pub

cron模块

1.添加定时任务,每分钟执行一次ls * * * * * ls >/dev/null

[root@localhost opt]# ansible dbserver -m cron -a "name=job1 job='ls >/dev/null'" -i hosts

被管理节点验证

[root@localhost httpd]# crontab -l
#Ansible: create new job
0 * * * * ls -alh > /dev/null
#Ansible: job1
* * * * * ls >/dev/null

2.添加定时任务,每天的凌晨2点到5点执行一次 ls > /dev/null

[root@localhost opt]# ansible dbserver -m cron -a "name=job2 minute=0 hour=5,2 job='ls >/dev/null'" -i hosts

在被管理节点验证

[root@localhost httpd]# crontab -l
#Ansible: create new job
0 * * * * ls -alh > /dev/null
#Ansible: job1
* * * * * ls >/dev/null
#Ansible: job2
0 5,2 * * * ls >/dev/null

3.关闭定时任务 使定时任务失效

[root@localhost opt]# ansible dbserver -m cron -a "name=job2 minute=0 hour=5,2 job='ls >/dev/null' disabled=yes" -i hosts

去被管理节点验证

[root@localhost httpd]# crontab -l
#Ansible: create new job
0 * * * * ls -alh > /dev/null
#Ansible: job2
#0 5,2 * * * ls >/dev/null

加上了注释

mount模块

src 源文件 path 目标文件

永久:挂载mounted 卸载 absent

临时:挂载 present 卸载 unmounted

firewalld模块

ansible模块专项练习题相关推荐

  1. 2023年网络安全竞赛B模块专项练习题(ALL)

    2023年网络安全竞赛B模块专项练习题(ALL) 目录 B模块安全事件响应/网络安全数据取证/应用安全(400分)... 1 任务一:nmap扫描渗透测试1. 1 任务二:nmap扫描渗透测试2. 1 ...

  2. python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案

    说明:个人练手python用. 操作系统:window10 x64 IDE:Pycharm 2017.2.2 Python版本:3.6.2 目标 牛客网是一个IT笔试面试的平台,提供了很多题库,今天我 ...

  3. ansible模块command、shell、raw、script

    环境: ansible端: ip:192.168.100.129 hostname:node1.lansgg.com client端: ip:192.168.100.131 hostname:v2.l ...

  4. 一位同学想通过用计算机编程解决韩信点兵,高中信息技术《算法与程序设计模块》练习题...

    新课标高中信息技术<算法与程序设计模块>练习题 一.单选题(每题2分,共40分) 1.四川汶川地震过后,要对各个单位捐款救灾情况进行分组制表,并进行积分排序,一般使用的专业电子处理软件是( ...

  5. ansible 模块_您需要了解的Ansible模块

    ansible 模块 Ansible通过连接到节点并发送称为模块的小型程序来远程执行工作. 这使得它成为一个推式架构,其中配置从Ansible推到没有代理的服务器,这与基于代理的配置管理系统中通常会拉 ...

  6. 计算机二级c语言题2016,2016年计算机二级《C语言》专项练习题及答案

    2016年计算机二级<C语言>专项练习题及答案 11.若有以下说明语句: struct date { int year; int month; int day; }brithday; 则下 ...

  7. 【数据库】数据分析专项练习题库-SQL试卷一

    目录 单选题 多选题 数据来源:数据分析专项练习题库 单选题 共29题,共58.0分 1.以下哪个不属于关系型数据库? A.MySQL B.MongoDB C.Oracle D.PostgreSQL ...

  8. an tu tu html5 test,2016年中考英语试题感叹句专项练习题

    2016年中考英语试题感叹句专项练习题 感叹句是指抒发强烈感情,表示感叹语气的`句子.尽管感叹句的表现形式多种多样,但主要的表现形式只有两种,即what和how引导的感叹句.以下是小编带来的2016年 ...

  9. ansible模块临时命令

    ansible模块临时命令 使用临时命令通过模块来执行任务 一. 查看系统上安装的所有模块 ansible-doc -l 查看ping模块帮助文档 ansible-doc ping 1. ansibl ...

  10. 2022兴福村镇银行人员招聘专项练习题及答案

    题库来源:优题宝公众号 2022兴福村镇银行人员招聘专项练习题及答案,由优题宝公众号根据最新农村信用社大纲与历年真题汇总编写,包含农村信用社常考重点题型与知识点,有助于考生复习备考农村信用社,取得好成 ...

最新文章

  1. ISP【三】———— raw读取、不同格式图片差异
  2. 深圳.NET俱乐部7月活动小结及照片
  3. CodeForces-1294B排序+pair使用
  4. CUDA ERROR: device-side assert triggered at解决
  5. 站在公司和员工的角度看实习员工
  6. Ubuntu 防火墙 ufw
  7. elasticsearch内部版本控制
  8. TypeError at /**/ ** missing 1 required positional argument: '**'
  9. java基础总结01-简介
  10. FdfsConnectException:无法获取服务端资源:cant creat connection to /ip timeout
  11. VUE3+TS 生成一些五线谱
  12. win7 IE8无法升级IE11
  13. json格式的字符数据转换成map格式
  14. 巨头的联盟链选择 | 直播实录
  15. #pragma warning 启用和禁用warning
  16. 关于GPU一些笔记(SIMT方面)
  17. 什么才算是“好的”测试用例?
  18. .py文件与.ipynb文件互相转换
  19. 临床试验中的指标敏感性、特异性
  20. iOS10 隐私权限设置问题(Crash)

热门文章

  1. linux查看完整历史记录
  2. 高中计算机教室标语,高中教室宣传标语
  3. PS完成淡水彩效果的步骤
  4. t’触发器真值表和状态方程_t触发器(d触发器真值表)
  5. 天敏G10数位板安装完PS无压感,观看此教程
  6. 怎么更改网络选项为家庭计算机,教你无法设定这是一台家庭计算机怎么操作
  7. 树莓派Python编程手册
  8. 测试用例设计-颗粒度
  9. Aatcc加速器市场现状及未来发展趋势
  10. 思考-IT行业设备分销代理商的运营模式