linux——ansible实验

要求

0.进入servera进行准备工作,做一些清理

  1)停止httpd服务,清除httpd软件包、配置文件、主页文件

  2)清理/etc/hosts文件中的内容,只保留最上面默认的两行

     (127.0.0.1和::1这两行)

1.根据之前的剧本改造

  0)还在之前的/work工作目录下

  1)清单

     确保servera在newweb组

  2)项目文件目录

     建立目录/work/files,存放ansible工作相关文件

     提前编辑好httpd.conf放到files目录里

  3)变量目录和文件

     在工作目录中,建立变量目录varfile

     在varfile目录中新建变量文件vars

  4)变量文件vars内容

     包含以下变量和对应值:

web_pkg

httpd

fw_pkg

firewalld

web_svc

httpd

fw_svc

cfg_src

files/httpd.conf

cfg_dest

/etc/httpd/conf/httpd.conf

web_root

/var/www/html/

  5)编写剧本(使用刚定义好的变量)

  5.1)使用dnf模块,确保web_pkg和fw_pkg指定的软件包被安装

  5.2)将cfg_src指定的文件,放到客户机的cfg_dest位置

       并确保文件属于root账户组,权限644

  5.3)在web_root指定的客户机目录,创建index.html文件

       index.html中包含:客户机的主机名和IP地址

       (获取客户机的facts信息并写入)

  5.4)确保服务启动

       web_svc和fw_svc

       立刻启动,并开机自动启动

  5.5)配置防火墙

       确保防火墙放行web_svc指定的服务

       立即生效,且写入配置文件(永久生效)

  6)对变量文件加密

     使用ansible-vault对变量文件var加密,使用密码redhat

     密码写入密码文件files/pwd,确保文件仅root账户可读写

  7)执行剧本

  8)探索

     刚才清除了客户机/etc/hosts文件内容

     是否可以让ansible读取客户机facts,并填充hosts文件

     把客户机的IP和对应主机名,填充进去

实验过程

0.工作目录

ansible的配置文件

files,要给客户机的文件,全放里头

varfile,变量文件房里头

host,是清单inventory

其他

facts.yml,查看客户机的所有facts,留着,回头有用

1.变量文件

web的软件包和服务名一样,web_pkg_svc赋值httpd

防火墙的软件包,fw_pkg

防火墙要放行的服务名,web_fw_svc

web的配置文件源,cfg_src

web的配置文件,放到客户机的哪里,cfg_dest

web的工作目录,web_root

web配置文件所属用户、组、权限

cfg_own,cfg_grp,fmode

2.变量文件需要加密

2.1)先建立密码文件

2.2)用这个密码文件,去加密刚才的变量文件

命令ansible-vault,选项

  encrypt,加密

  --vault-password-file,指定密码文件

2.3)加密后的变量文件,vim或cat看一下

打开以后,或者cat以后,只能看到一堆加密后的字符

看不到源文件内容的

如果要看源文件,需要解密……

用于加密的密码文件,看情况,是否要再加密后删除

密码文件需要限制权限,如果自己记住密码,也可以删了……

而且,之后,执行playbook的时候,可以使用交互式输入密码

可以不指定密码文件

3.准备要给web的配置文件

4.看剧本

开头,剧本名字

操作的主机

指定变量文件

开始tasks

第一个task

  用了dnf模块,装软件包

  用变量指定俩包,httpd,firewalld

第二个task

  用copy模块

  把web的配置文件复制到客户机指定目录

  并且改所属和权限

第三个task

  还是用copy模块

  但是,是生成一个文件,index.html主页文件,在指定的目录产生

  不需要提前先创建这个文件,会自动新建

  content部分,和书里参考不太一样

在咱自己这个环境里,有可能default_ipv4这个fact是空的

需要从别的位置,去取IP地址

于是用了:

  ansible_facts

    ens160

      ipv4

        address

第四个task

  启用防火墙服务

  没干别的……

第五个task

  并没有继续启动web服务

  配置防火墙

放行web服务的端口

  防火墙,是否放行服务,和目标服务本身的状态配置没关系

最后一个task

  最后拉起web服务

5.执行这个剧本

要用vault的选项,使用了交互式提供密码,没使用密码文件

如果要详细过程,加选项 -v、-vv、-vvv

6.看一下web主页内容

所以,上面剧本里,fact外面的( ),就只是括号……

7.如果要修改已加密的变量文件,需要重新解密、加密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短信内容关键字被拦截-阿里云通知类短信

通知类短信。地产、留学、招聘、交友、游戏等行业仅支持发送验证码。 注意不要有字眼,替换为相似的词语。否则拦截率很高

如何设计一个点赞系统

首先我们定义出一个点赞系统需要对外提供哪些接口: 1.用户对特定的消息进行点赞; 2.用户查看自己发布的某条消息点赞数量以及被哪些人赞过; 3.用户查看自己给哪些消息点赞过; 这里假设每条消息都有一个message_id, 每一个用户都…

百度安全X盈科全球数据合规服务中心:推进数据安全及合规智能化创新领域深化合作

6月19日,百度安全与盈科全球数据合规服务中心举行合作签约仪式,双方将充分发挥各自优势,在数据安全及合规智能化创新领域深化合作,在遵守国家法律法规和顺应市场规则的前提下,推动地方经济社会发展,促进企业…

(3) cmake编译多个cpp文件

文章目录 概要整体代码运行结果 概要 上一节中实现了对单个cpp文件用cmake编译。这一节升级一下 整体代码 main.cpp #include <iostream> #include "person.h"using namespace std;int main() {person me person("langdaoliu", 28, "engin…

2024考古之还在用原始JDBC开发 手搓 案例 实现一个模块的增删改

JDBC案例 将来如果完成的话 就代表对JDBC里面的知识点全部融会贯通了 其实就是对数据的增删改查 我们入门做不出来前端的内容 很正常 准备环境 建表 use mybatis;create table tbl_brand (id int primary key auto_increment,brand_name varchar(20),company_name varcha…

使用 ZoomEye 找到未启用身份验证的 Jupyter 服务器

一&#xff0e;摘要 在使用Jupyter Notebook和JupyterLab 的过程中&#xff0c;有些用户缺乏安全意识&#xff0c;未启用身份验证功能&#xff0c;导致任何用户都可以直接访问自己的Jupyter服务器&#xff0c;并查看其服务器上的代码和文档。 我们使用ZoomEye 网络空间搜索引…

SBTI认证的申请流程是什么?

SBTI&#xff08;科学基准目标倡议&#xff09;认证的申请流程通常包括以下几个关键步骤&#xff0c;以下是根据参考文章整理出的清晰流程&#xff1a; 咨询和准备阶段&#xff1a; 企业首先需要咨询SBTI认证机构&#xff0c;了解认证的标准和要求&#xff0c;并确定是否有资格…

LDO的原理及测试方法

一、基本结构 这是LM317芯片的核心,这个电路单元称为Bandgap Reference带隙基准源。属于模拟集成电路中的经典电路结构。 LDO拓扑结构图 常见的基本结构 利用VBE的负温度系数,而VT是正温度系数,正负温度系数抵消就的得到稳定的基准参考电压了(三极管的方程VBE=VT*In(lC/IS…

SCI一区TOP|局部强化优化算法(PRO)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年&#xff0c;A Taheri受到部分强化效应(PRE)理论启发&#xff0c;提出了局部强化优化算法&#xff08;Partial Reinforcement Optimizer, PRO&#xff09;。 2.算法原理 2.1算法思…

OpenGL绘制Bezier曲面

Bezier的定义 贝塞尔曲面是贝塞尔曲线在二维上的扩展。它由一组控制点定义,通过这些控制点生成光滑的曲面。贝塞尔曲面通常用两个参数 u u u和 v v v来表示,这两个参数的取值范围都在 [0, 1] 之间。 数学表示 P ( u , v ) = ∑ i = 0 n ∑ j = 0 m p i j ⋅ B i , n ( u ) ⋅…

redis-基础篇(1)

黑马redis-基础篇笔记 1. 初识redis REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统&#xff0c;是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的…

Mybatis中BaseEntity作用

新建各种对象的时候&#xff0c;一般来说&#xff0c;有几个属性是所有对象共有的&#xff0c;比如说id,is_del&#xff0c;is_enable这些&#xff0c;然后设置一个基础对象&#xff0c;以后新建所有对象的时候都继承它&#xff0c;就省的每次都要写这些共有的属性了

HCIA-速查-ENSP模拟器2步清空配置

需求&#xff1a;清空模拟器配置 清空当前图中配置 步骤1&#xff1a;reset saved-configuration 后输入y确认 步骤2&#xff1a;reboot后输入n否认再输入y确认 验证已经清空配置

文件防篡改监控工具 - WGCLOUD全面介绍

WGCLOUD是一款优秀的运维监控软件&#xff0c;免费、轻量、高效&#xff0c;部署容易&#xff0c;上手简单&#xff0c;对新手非常友好 WGCLOUD部署完成后&#xff0c;点击菜单【文件防篡改】&#xff0c;可以看到如下页面 我们点击【添加】按钮&#xff0c;输入监控文件的信息…

Java面向对象的三大特性之一——继承

目录 一、继承概念 二、为什么要继承 三、继承语法&#xff08;关键字extends&#xff09; 四、父类成员访问 1、子类中访问父类的成员变量 &#xff08;1&#xff09;子类和父类不存在同名的成员变量 &#xff08;2&#xff09;子类和父类中存在同名的成员变量 2、子类中访…

React+TS 从零开始教程(1)

源码链接&#xff1a;https://pan.quark.cn/s/c6fbc31dcb02 创建项目 直接通过以下命令&#xff0c;我们来创建一个reactts的项目。 npx create-react-app myapp --template typescript这样就创建好了,然后我们导入vscode. npx是npm里面的一个库&#xff0c;可以让你自动使用…

2-11 基于matlab的BP-Adaboost的强分类器分类预测

基于matlab的BP-Adaboost的强分类器分类预测&#xff0c;Adaboost是一种迭代分类算法&#xff0c;其在同一训练集采用不同方法训练不同分类器&#xff08;弱分类器&#xff09;&#xff0c;并根据弱分类器的误差分配不同权重&#xff0c;然后将这些弱分类器组合成一个更强的最终…

云专线组网方案的特性和实施要素

云专线组网方案是指企业通过专用的网络连接&#xff0c;将其内部网络与云服务商的数据中心直接相连&#xff0c;从而实现高速、安全、稳定的云资源访问。云专线通常提供比公共互联网更优的网络性能&#xff0c;包括更低的延迟、更高的带宽和更强的安全性。以下是云专线组网方案…

物联网设备安装相关知识整理

拓扑图 对于ADAM-4150先接设备的整体的供电。 ADAM-4150就涉及到几个电子元器件的连接&#xff0c;一个是485-232的转换器&#xff0c;一个是将RS-232转换为USB的转接口&#xff0c;因为现在的计算机很多都去掉了RS-232接口而使用USB接口。 4150右侧有个拨码&#xff0c;分别两…

UniApp 开发微信小程序教程(一):准备工作和环境搭建,项目结构和配置

文章目录 一、准备工作和环境搭建1. 安装 HBuilderX步骤&#xff1a; 2. 注册微信开发者账号步骤&#xff1a; 3. 创建 UniApp 项目步骤&#xff1a; 二、项目结构和配置1. UniApp 项目结构2. 配置微信小程序修改 manifest.json修改 pages.json 3. 添加首页文件index.vue 示例&…