ansible模块专项练习题
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模块专项练习题相关推荐
- 2023年网络安全竞赛B模块专项练习题(ALL)
2023年网络安全竞赛B模块专项练习题(ALL) 目录 B模块安全事件响应/网络安全数据取证/应用安全(400分)... 1 任务一:nmap扫描渗透测试1. 1 任务二:nmap扫描渗透测试2. 1 ...
- python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案
说明:个人练手python用. 操作系统:window10 x64 IDE:Pycharm 2017.2.2 Python版本:3.6.2 目标 牛客网是一个IT笔试面试的平台,提供了很多题库,今天我 ...
- ansible模块command、shell、raw、script
环境: ansible端: ip:192.168.100.129 hostname:node1.lansgg.com client端: ip:192.168.100.131 hostname:v2.l ...
- 一位同学想通过用计算机编程解决韩信点兵,高中信息技术《算法与程序设计模块》练习题...
新课标高中信息技术<算法与程序设计模块>练习题 一.单选题(每题2分,共40分) 1.四川汶川地震过后,要对各个单位捐款救灾情况进行分组制表,并进行积分排序,一般使用的专业电子处理软件是( ...
- ansible 模块_您需要了解的Ansible模块
ansible 模块 Ansible通过连接到节点并发送称为模块的小型程序来远程执行工作. 这使得它成为一个推式架构,其中配置从Ansible推到没有代理的服务器,这与基于代理的配置管理系统中通常会拉 ...
- 计算机二级c语言题2016,2016年计算机二级《C语言》专项练习题及答案
2016年计算机二级<C语言>专项练习题及答案 11.若有以下说明语句: struct date { int year; int month; int day; }brithday; 则下 ...
- 【数据库】数据分析专项练习题库-SQL试卷一
目录 单选题 多选题 数据来源:数据分析专项练习题库 单选题 共29题,共58.0分 1.以下哪个不属于关系型数据库? A.MySQL B.MongoDB C.Oracle D.PostgreSQL ...
- an tu tu html5 test,2016年中考英语试题感叹句专项练习题
2016年中考英语试题感叹句专项练习题 感叹句是指抒发强烈感情,表示感叹语气的`句子.尽管感叹句的表现形式多种多样,但主要的表现形式只有两种,即what和how引导的感叹句.以下是小编带来的2016年 ...
- ansible模块临时命令
ansible模块临时命令 使用临时命令通过模块来执行任务 一. 查看系统上安装的所有模块 ansible-doc -l 查看ping模块帮助文档 ansible-doc ping 1. ansibl ...
- 2022兴福村镇银行人员招聘专项练习题及答案
题库来源:优题宝公众号 2022兴福村镇银行人员招聘专项练习题及答案,由优题宝公众号根据最新农村信用社大纲与历年真题汇总编写,包含农村信用社常考重点题型与知识点,有助于考生复习备考农村信用社,取得好成 ...
最新文章
- ISP【三】———— raw读取、不同格式图片差异
- 深圳.NET俱乐部7月活动小结及照片
- CodeForces-1294B排序+pair使用
- CUDA ERROR: device-side assert triggered at解决
- 站在公司和员工的角度看实习员工
- Ubuntu 防火墙 ufw
- elasticsearch内部版本控制
- TypeError at /**/ ** missing 1 required positional argument: '**'
- java基础总结01-简介
- FdfsConnectException:无法获取服务端资源:cant creat connection to /ip timeout
- VUE3+TS 生成一些五线谱
- win7 IE8无法升级IE11
- json格式的字符数据转换成map格式
- 巨头的联盟链选择 | 直播实录
- #pragma warning 启用和禁用warning
- 关于GPU一些笔记(SIMT方面)
- 什么才算是“好的”测试用例?
- .py文件与.ipynb文件互相转换
- 临床试验中的指标敏感性、特异性
- iOS10 隐私权限设置问题(Crash)