前言

RHCE考试一共分为两个部分,上午RHCSA考试2个半小时,下午RHCE4个小时,其中RHCE部分15道题,考试正常1个半小时到2个小时能做完,当然慢点也没事,RHCSA部分一共二十二道题,1月份新增容器两道题,后期会进行分享,考试正常1个多小时能做完,机构给的题和答案还有视频,讲解的也不透彻,这次分享一下自己的备注版本

第一题(送分题)

1.设置主机组/home/student/ansible/inventory的静态清单文件
servera是dev主机组的成员
serverb是test主机组的成员
serverc和serverd是prod主机组的成员
bastion是balancers主机组的成员
prod组是webservers主机组的成员
2.将配置文件导入到student的家目录里,
3.并设置提权,修改主机组配置文件到student的家目录,设置远程用户为devops

1.解:

vim inventory     #编辑主机清单
[dev]
servera
[test]
serverb
[prod]
serverc
serverd
[balancers]
bastion
[webservers:children]
prod

2.解:

cp /etc/ansible/ansible.cfg  /home/student/ansible/

3.解:

搜索指定文件名,并修改为如下位置
vim ansible.cfg
inventory      = /home/student/ansible/inventory
remote_user = devops
roles_path    = /home/stduent/ansible/roles
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

考点:ansible提权配置,ansible主机清单编写

第二题(送分题)

请按照下方所述, 创建一个名为/home/student/ansible/adhoc.sh的shell脚本
脚本将使用Ansible临时命令在各个受管节点上安装yum存储库:
存储库1:
存储库的名称为 rh294_BASE
描述为 rh294 base software
基础URL为 http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
GPG签名检查为启用状态
GPG密钥URL为 http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
存储库为开启状态

存储库2:
存储库的名称为 rh294_STREAM
描述为 rh294 stream software
基础URL为 http://content.example.com/rhel8.0/x86_64/dvd/AppStream
签名检查为启用状态
GPG密钥URL为 http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release
存储库为开启状态

解法;

vim adhoc.sh
#bin/bash
ansible all -m yum_repository -a " name=rh294_BASE description='rh294 base software'file=redhat_dvd  baseurl=http://content.example.com/rhel8.0/x86_64/dvd/BaseOS gpgcheck=yes gpgkey=http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release  enabled=yes"
ansible all -m yum_repository -a " name=rh294_STREAM  description='rh294 stream software'file=redhat_dvd  baseurl=http://content.example.com/rhel8.0/x86_64/dvd/AppStream gpgcheck=yes gpgkey=http://content.example.com/rhel8.0/x86_64/dvd/RPM-GPG-KEY-redhat-release enabled=yes"

考点:yum_repository 模块使用,是一个用于配置yum源的模块

  • name #存储库的名字
  • description #描述
  • file #yum仓库的文件名
  • baseurl #yum源的地址
  • gpgcheck #是否检查签名
  • gpgkey #key的地址
  • enabled #是否启用

第三题(送分题)

创建一个名为 /home/student/ansible/packages.yml的 playbook:

  1. 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上
  2. 将 Development Tools 软件包组安装到 dev 主机组中的主机上
  3. 将 dev 主机组中主机上的所有软件包更新为最新版本

解:

vim packages.yml
- name: package insall
  hosts: dev,test,prod
  tasks:
    - name: install php mariadb
      yum:
        name:
          - php
          - mariadb
        state: installed


- name: package greup
  hosts: dev
  tasks:
    - name: install dev tools
      yum:
        name: "@Development Tools"
        state: installed


- name: package updata
  hosts: dev
  tasks:
    - name: insall updata
      yum:
        name: '*'
        state: latest

考点:yum模块的使用安装软件包组时需要在前面加@符号,还有注意的是,每隔一个等级空两格,installed 代表安装,latest代表安装最新版本

第四题(送分题)

安装 RHEL 系统角色软件包,并创建符合以下条件的playbook
/home/student/ansible/timesync.yml:

  1. 在所有受管节点上运行
  2. 使用 timesync 角色
  3. 配置该角色,以使用当前有效的 NTP 提供
  4. 配置该角色,以使用时间服务器 classroom.example.com
yum install -y rhel-system-roles.noarch     #安装系统角色
[root@workstation ansible]# mkdir roles
[root@workstation ansible]# cp -r /usr/share/ansible/roles/rhel-system-roles.timesync/   roles/timesync  #把下载的系统角色复制到目录下
[root@workstation ansible]# vim temisync.yml    #创建剧本
- hosts: all              #在所有节点上运行
  vars:                   
    timesync_ntp_servers:
      - hostname: classroom.example.com
        iburst: yes
  roles:
    - timesync

考点:
1.redhat系统角色
在当前版本中,Red Hat提供了五类角色集,分别是:kdump,postfix,network,selinux和timesync,系统角色,简单来说就是系统自带的roles
更多请详情:https://searchdatacenter.techtarget.com.cn/9-30278/

第五题(送分题)

使用Ansible Galaxy安装角色
使用 Ansible Galaxy 和要求文件 /home/student/ansible/roles/requirements.yml,
从以下 URL 下载
角色并安装到 /home/student/ansible/roles:
http://classroom.example.com/content/haproxy.tar.gz 此角色的名称应当为 balancer
http://classroom.example.com/content/phpinfo.tar.gz 此角色的名称应当为 phpinfo

解法:

[student@workstation ansible]$ vim roles/requirements.yml
- name: balancer
  src: http://classroom.example.com/content/haproxy.tar.gz
- name: phpinfo
  src: http://classroom.example.com/content/phpinfo.tar.gz

[student@workstation ansible]$ ansible-galaxy install -r roles/requirements.yml -p roles/   #下载角色

考点:将地址编写进yml并安装ansible-galaxy -r 指定源,-p指定目的

六、创建和使用角色

0.根据下列要求,在 /home/student/ansible/roles中创建名为 apache 的角色:

  1. httpd软件包已安装,设为在系统启动时启用
  2. 防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则
  3. 模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html:Welcome to HOSTNAME on IPADDRESS
    其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP
  4. 按照下方所述,创建一个使用此角色的 playbook /home/student/ansible/newrole.yml:
    该 playbook 在 webservers 主机组中的主机上运行

0.解

root@workstation roles]# ansible-galaxy init apache  #生成apache角色文件
[root@workstation roles]# cd apache/
[root@workstation apache]# tree    #查看自动生成的目录
.
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── README.md
├── tasks
│   └── main.yml
├── templates
│   └── index.html.j2
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

1,2.解

[root@workstation apache]# vim tasks/main.yml    #编辑任务文件
---
# testk file for apache
- name: config system service
  service: name=httpd state=started enabled=yes  #启动httpd服务

- name: config firewalld
  firewalld: zone=public service=http state=enabled  permanent=yes immediate=yes
  #防火墙模块 设置区域     放通服务      状态启用       是否保存为永久  立刻启用
- name: user templates
  template: src=index.html.j2 dest=/var/www/html/index.html
  传输网页文件到指定位置

3.解

[root@workstation apache]# vim templates/index.html.j2
Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}   #调用系统变量   域名              

4.解

[root@workstation ansible]# cat newrole.yml
- name: user apache role
  hosts: webservers                  #对web server 操作
  roles: 
    - apache                         #调用apache剧本

测试:

[root@workstation ansible]# curl serverc
Welcome to serverc.lab.example.com on 172.25.250.12
[root@workstation ansible]# curl serverd
Welcome to serverd.lab.example.com on 172.25.250.13

考点:
ansble的service模块,firewall模块,template模块
防火墙模块的使用:

firewalld: zone=public service=http state=enabled  permanent=yes immediate=yes
 #防火墙模块 设置区域     放通服务      状态启用       是否保存为永久  立刻启用

Ansible roles使用,系统变量 ansible_fqdn ,ansible_default_ipv4.address
fqdn 调用的是被执行playbook主机的域名,ipv4.address是主机的ip地址

七、使用 ansible Galaxy角色(送分题)

根据下列要求,创建一个名为 /home/student/ansible/roles.yml 的 playbook:

  1. playbook 中包含一个 play,该 play 在 balancers 主机组中的主机上运行并将使用 balancer 角色。
    此角色配置一项服务,以在 webservers 主机组中的主机之间平衡 Web 服务器请求的负载。
    浏览到 balancers 主机组中的主机(例如http://bastion.lab.example.com/ )将生成以下输出:Welcome to serverc.example.com on 172.25.250.12
    重新加载浏览器将从另一 Web 服务器生成输出:
    Welcome to serverd.example.com on 172.25.250.13
  2. playbook 中包含一个 play,该 play 在 webservers主机组中的主机上运行并将使用 phpinfo 角色。
    通过 URL /hello.php 浏览到 webservers 主机组中的主机将生成以下输出:
    Hello PHP World from FQDN
    其中,FQDN是主机的完全限定名称。
    例如,浏览到 http://serverc.lab.example.com/hello.php 会生成以下输出:
    Hello PHP World from serverc.lab.example.com
    另外还有 PHP 配置的各种详细信息,如安装的PHP 版本等。
    同样,浏览到 http://serverd.lab.example.com/hello.php 会生成以下输出:
    Hello PHP World from serverd.lab.example.com
    另外还有 PHP 配置的各种详细信息,如安装的PHP 版本等

别看他写了这么多其实都不用管,只需调用第六题下载的roles 即可肥肠的简单
针对balancers组使用 balancer角色
针对websers组使用phpinfo角色

解:

vim roles.yml
---
- name: config balancer
  hosts: balancers
  roles:
    - balancer
- name: config php webserver
  hosts: webservers
  roles:
    - phpinfo

第八题

创建一个名为/home/student/ansible/lv.yml 的playbook,它将在所有受管节点上运行以执行下列任务

  1. 创建符合以下要求的逻辑卷:
    逻辑卷创建在 research 卷组中
    逻辑卷名称为 data
    逻辑卷大小为 1500MiB
  2. 使用 ext4 文件系统格式化逻辑卷
  3. 如果无法创建请求的逻辑卷大小,应显示错误消息
    Could not create logical volume of that size,并且应改为使用大小 800MiB。
  4. 如果卷组research 不存在 ,应显示错误消息
    Volume group does not exist。
  5. 不要以任何方式挂载逻辑卷。

解题步骤:
这里说了要我们创建逻辑卷,又说了如果创建逻辑卷大小超过了vg的大小,就应当缩小容量然后再次创建,如果vg卷组不存在的话就要显示错误信息
使用了block rescue always
block、rescue和always之间的关系:block执行有误时执行rescue,而always无论block是否成功执行都会执行
这里我们进行when判断,如果research这个VG组存在就执行block,research和always的语句,不存在就返回一条信息,说明research这个VG组不存在

解:

 - name: create LVM
  hosts: all                       
  tasks:             
    - name: create L - V 
      block:                         
        - name: create LVM 1500M
          lvol:
            vg: research         #vg的名字
            lv: data             #lv的名字
            size: 1500M         #lv的大小
      rescue:                     #如果block任务执行失败则执行如下
        - name: output fail msg   
          debug:                  #输出LVM无法创建
            msg: Could not create logical volume of that size
        - name: create lvm 800m   #并尝试将容量修改为800m
          lvol:
            vg: research
            lv: data
            size: 800M
      always:                  #始终执行的
        - name: format lvm
          filesystem:
            fstype: ext4
            dev: /dev/research/data
          when: " 'research' in ansible_lvm.vgs"  #有research卷组执行格式化
        - name: seratch not existes
          debug:
            msg: Volume group done not exist
          when: " 'research' not in ansible_lvm.vgs" #没有卷组就输出没有卷组

考点:

  • Lvol模块,是ansible用于创建PV的模块,他的参数顾名思义vg就是用于指定卷组 的的名字,lv 就是执行逻辑卷的名字
  • debug:用于调试输出的模块,msg:调试输出的消息
  • block 定义要运行的任务
  • rescue:拯救,执行定义 block 运行失败时执行的任务,成功则跳过
  • always 定义独立任务,不受block和rescue的影响
  • when:用于判断,当when的条件不成立时,与其对应的模块不会执行
  • when “’research‘ in ansible_lvm.vgs” 判断目标客户端中是否有research这个
    卷组,如果有则为真,如果没有则为假
  • ansible_lvm.vgs 是ansible默认执行的gather_facts组件,他用于收集客户端的一些信息
  • 通过 ansible servera -m setup 可以查看到所有收集到的信息
  • filesysrem模块用于格式化,fstype用于指定格式,dev用于指定目标硬盘位置

第九题

生成模板文件

  1. 编写模板文件/home/student/ansible/hosts.j2 ,针对每个清单主机包含一行内容,其格式与/etc/hosts 相同。
  2. 创建名为 /home/student/ansible/hosts.yml 的playbook,它将使用此模板在 dev 主机组中的主机上生成文件 /etc/myhosts。
  3. 该 playbook 运行后,dev 主机组中主机上的文件/etc/myhosts 应针对每个受管主机包含一行内容。
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.25.254.10 servera.lab.example.com servera
    172.25.254.11 serverb.lab.example.com serverb
    172.25.254.12 serverc.lab.example.com serverc
    172.25.254.13 serverd.lab.example.com serverd
    172.25.250.254 bastion.lab.example.com bastion

1.解:编写j2文件

[student@workstation ansible]$ vim hosts.j2
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
{% for host in groups.all %}
{{ hostvars[host].ansible_enp1s0.ipv4.address }} {{ hostvars[host].ansible_fqdn }} {{ hostvars[host].ansible_hostname }} 
{% endfor %}
#for循环把所有主机名赋值给host
#第一个获取对应主机的ip地址
#第二个主机域名信息
#第三个主机名

hostvars是所有主机的信息,hostvars[host].ansible_hostname 实际上经过循环赋值后,会变成hostvars[servera].ansible_enp1s0.ipv4address 所有含义就是获取所有主机信息提取servera的ansible_hostname参数

2.解:编写yml文件

[student@workstation ansible]$ vim hosts.yml
- name: vars
  hosts: all
- name: config myhosts
  hosts: dev
  tasks:
  - name: copy hosts.j2 to dev
    template:
      src: hosts.j2                       #拷贝编写好的j2
      dest: /etc/myhosts                  #复制到对应路径下

调用所有hosts:all原因先引用所有主机的内置变量,因为我们在hosts.j2里面调用了所有主机的变量,但是如果不在playbook里先调用所有主机的变量的话,那playbook脚本将执行失败

运行yml

[root@workstation ansible]# ansible-playbook hosts.yml

考点:
1.jinja2模板
2.魔法变量 group_names: 列出当前受管理主机所属的所有组,gruop列出清单中所有的主机和组
hostsvars:列出当前所有受管理的主机信息
3.ansible facts 获取客户端的参数
ansible_fqdn是域名参数,ansible_enp1s0.ipv4.address 是ip地址参数

ansible_hostname是主机名

[root@workstation ansible]# ansible servera -m setup | grep ansible_hostname
        "ansible_hostname": "servera",
[root@workstation ansible]# ansible servera -m setup | grep ansible_fqdn
        "ansible_fqdn": "servera.lab.example.com",

第十题(送分题)

按照下方所述,创建一个名为 /home/student/ansible/issue.yml 的 playbook:

  1. 该 playbook 将在所有清单主机上运行
  2. 该 playbook 会将 /etc/issue 的内容替换为下方所示的一行文本:
    在 dev 主机组中的主机上,这行文本显示为:Development
    在 test 主机组中的主机上,这行文本显示为:Test
    在 prod 主机组中的主机上,这行文本显示为:Production
[root@workstation ansible]# vim  issur.yml
- name: modify issue file
  hosts: all                             #针对所有主机
  tasks:
    - name: write Development to dev   
      copy:
        content: "Development"          #内容
        dest: /etc/issue                #目的地
      when: "'dev' in group_names"      #如果当前主机属于dev主机组则执行copy
    - name: write Test to test
      copy:
        content: "Test"
        dest: /etc/issue
      when: "'test' in group_names"  #如果当前主机属于test主机组则执行copy
    - name: write Production to pord
      copy:
        content: "Production"
        dest: /etc/issue
      when: "'pord' in group_names"  #如果当前主机属于pord主机组则执行copy

十一题

按照下方所述,创建一个名为 /home/student/ansible/webcontent.yml 的 playbook:

  1. 该 playbook 在 dev 主机组中的受管节点上运行
  2. 创建符合下列要求的目录 /webdev:拥有组为 devops 组
    具有常规权限:owner=read+write+execute,group=read+write+execute other=read+execute,具有特殊权限: set group ID
  3. 用符号链接将 /var/www/html/webdev 链接到 /webdev
  4. 创建文件 /webdev/index.html,其中包含如下所示的单行文本:Development
  5. 在 dev 主机组中主机上浏览此目录(例如 http://servera.lab.example.com/webdev/ )将生成以下输出:Development
[student@workstation ansible]$ vim webcontent.yml
- name: create web directory
  hosts: dev
  tasks:
    - name: config system service      #开启httpp与firewalld
      service: name="{{ item }}}" state=started enabled=yes
     loop:                  #给item传输变量
       - httpd
       - firewalld 
    - name: config firewalld           #配置防火墙放行端口
      firewalld: zone=public service=http state=enabled  permanent=yes immediate=yes
    - name: mkdir  #创建目录并改权限
      file: path=/webdev state=directory owner=root group=devops mode=2775 setype=httpd_sys_content_t
    - name: links         #创建软链接将webdev创建到/html/webdev
      file: src=/webdev dest=/var/www/html/webdev state=link
    - name: create file               #创建webdev内容
      copy: content="Development" dest=/webdev/index.html setype=httpd_sys_content_t

考点:
firewalld模块,file模块创建软连接,传输文本,创建文件夹等操作

十二题

生成硬件报告
创建一个名为 /home/student/ansible/hwreport.yml的 playbook,它将在所有受管节点上生成含有以
下信息的输出文件 /root/hwreport.txt:
清单主机名称
以 MB 表示的总内存大小
BIOS 版本
磁盘设备 vda 的大小
磁盘设备 vdb 的大小
输出文件中的每一行含有一个 key=value 对。
您的 playbook 应当:

  1. 从 http://172.25.254.254/content/hwreport.empty 下载文件,并将它保存为/root/hwreport.txt
  2. 使用正确的值修改 /root/hwreport.txt
  3. 如果硬件项不存在,相关的值应设为 NONE

解题步骤:hwreport.empty 包含这些内容

hostname = inventoryhostname
memory = memory_in_MB
bios_version = BIOS_version
vda_size = disk_vda_size
vdb_size = disk_vdb_size

可以通过参数替换将=号中的内容替换为指定的参数
可以使用replace模块 匹配文档中关键字,然后替换为ansible 获取的设备的变量从而完成解题
当没有设备变量时,证明没有其设备,可以使用 “ | ” 正则逻辑或输出 NONE内容

解:

[root@workstation ansible]# cat hwreport.yml
- name: get hwreport info
  hosts: all
  tasks:
    - name: get report file
      get_url:
        url: http://172.25.254.254/content/hwreport.empty
        dest: /root/hwreport.txt
    - name: get inventory_hostname
      replace:
        path: /root/hwreport.txt
        regexp: 'inventoryhostname'
        replace: "{{ ansible_hostname }}"
    - name: get inventory_MB
      replace:
        path: /root/hwreport.txt
        regexp: 'memory_in_MB'
        replace: "{{ ansible_memtotal_mb | default('NONE') }}"
    - name: get inventory_BIOS
      replace:
        path: /root/hwreport.txt
        regexp: 'BIOS_version'
        replace: "{{ ansible_bios_version }}"
    - name: get inventory_VDA
      replace:
        path: /root/hwreport.txt
        regexp: 'disk_vda_size'
        replace: "{{ ansible_devices.vda.size | default ('NONE') }}"
    - name: get inventory_VDB
      replace:
        path: /root/hwreport.txt
        regexp: 'disk_vdb_size'
        replace: "{{ ansible_devices.vdb.size | default ('NONE') }}"

考点:
1.replace 模块,
模块参数:path 文件位置,regexp;正则匹配文本的内容,repalce;替换文本的内容
2.get_url 模块,用于下载url位置文件,参数 url;网址 dest;目标位置和名字

第十三题(送分题)

按照下方所述,创建一个 Ansible 库来存储用户密码:

  1. 库名称为 /home/student/ansible/locker.yml
  2. 库中含有两个变量,名称如下:
    pw_developer,值为 Imadev
    pw_manager,值为 Imamgr
  3. 用于加密和解密该库的密码为whenyouwishuponastar
  4. 密码存储在文件 /home/student/ansible/secret.txt中

echo whenyouwishuponastar >  secret.txx        #创建密码文件
[student@workstation ansible]$ vim locker.yml  #创建变量文件
pw_developer: Imadev
pw_manager: Imamgr

ansible-vult --vult-password-file=secret.txt encrypt locker.yml  #加密配置
#将secret.txt当作 loker.yml的密码并加密

考点:
ansible-vult 使用文件加密

十四、创建用户账户

1.从 http://172.25.254.254/content/user_list.yml下载要创建的用户的列表,并将它保存
到 /home/student/ansible,用户密码来自于/home/student/ansible/locker.yml文件。

2.创建名为/home/student/ansible/users.yml 的playbook,从而按以下所述创建用户帐户:

  • 职位描述为 developer 的用户应当:

    • 在 dev 和 test 主机组中的受管节点上创建
    • 从 pw_developer 变量分配密码
    • 是附加组 student 的成员
  • 职位描述为 manager 的用户应当:

    • 在 prod 主机组中的受管节点上创建
    • 从 pw_manager 变量分配密码
    • 是附加组 opsmgr 的成员

3.密码应采用 SHA512 哈希格式。
4.您的 playbook 应能够在本次考试中使用在其他位置创建的库密码文件
/home/student/ansible/secret.txt 正常运行。

解:
下载变量

wget http://172.25.254.254/content/user_list.yml

查看文件

users:
  - name: bob
    job: developer
  - name: sally
    job: manager
  - name: fred
    job: developer

编写playbook

- name: create developer             #名字创建开发人员用户
  hosts: dev,test                    #针对dev,test组
  vars_files:                        #导入变量
    - locker.yml                     #13题的加密变量
    - user_list.yml                  #刚才下载的变量
  tasks:                             
    - name: create group             #创建student组
      group:
        name: student
    - name: create user in devenloper  #创建用户 
      user:
        name: "{{ item.name }}"    #取users变量中的name参数,创建他
        group: student             #在student组中
        password: "{{ pw_developer | password_hash('sha512') }}" #指定密码调用locker.yml的变量并hash加密
      loop: "{{ users }}"          #循环调用user,目的是为了多次调用参数让上面的创建用户循环
      when: item.job == "developer"  #当users中job变量为开发者时,则执行以上所有操作


- name: create manager
  hosts: prod
  vars_files:
    - locker.yml
    - user_list.yml
  tasks:
    - name: create group
      group:
        name: prod
    - name: create user in manager
      user:
        name: "{{ item.name }}"
        group: student
        password: "{{ pw_manager | password_hash('sha512') }}"
      loop: "{{ users }}"
      when: item.job == "manager",

考点:
1.loop循环,vars_files变量导入与调用,when的使用,user模块
2.group模块:
参数 :name 必须参数 指定要操作的组名称,state:两个选项 1.present 创建组 2.absent删除组
gid: 用于指定gid

十五、Ansible库的密钥

按照下方所述,更新现有 Ansible 库的密钥:

  1. 从 http://172.25.254.254/content/salaries.yml 下载 Ansible 库到 /home/student/ansible
  2. 当前的库密码为 insecure4sure
  3. 新的库密码为 bbe2de98389b
  4. 库使用新密码保持加密状态

解:

wget   http://172.25.254.254/content/salaries.yml  #下载
[student@workstation ~]$ ansible-vault rekey salaries.yml 
Vault password:               #老密码
New Vault password:           #新密码
Confirm New Vault password:   #新密码
Rekey successful

考点:ansible-vault 的修改密码

**

最后预祝你顺利通过RHCE考试!!!

**

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐