栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

ansible练习(3)变量

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ansible练习(3)变量

1、创建一个名为 locker.yml 的 ansible vault 文件存储用户密码:

Vault 文件中包含两个变量:

pw_developer: imadev

pw_manager: imamgr

加密此文件的密码为redhat

此密码存放在:~/ansible/secret.txt

echo redhat > ~/ansible/secret.txt
chmod 600 ~/ansible/secret.txt
cd ~/ansible 
#创建加密yml文件,并且指定密码文件位置
ansible-vault create --vault-password-file=secret.txt locker.yml
pw_developer: imadev
pw_manager: imamgr
#查看我们刚刚是否添加成功
ansible-vault view locker.yml


2、创建用户账户

创建的用户账户清单user_list.yml
配合上一题的locler.yml,创建名为users.yml的playbook,要求如下:

■ 用户的 job description 为 developer 的用户, 创建到 dev和test 主机组中,用户密码来自pw_developer变用量,用户的附加组是devops

■ 用户的 job description 为 manager 的用户,创建到 prod 主机组中,用户密码来自pw_manager变量,用户附加组是opsmgr

■ 用户密码使用 SHA512 hash

cd ~/ansible
这里先创建用户账户清单,yml文件要严格注意格式,不能多一个空格
vim user_list.yml
users:
  - name: bob
    job: developer
  - name: sally
    job: manager
  - name: fred
    job: developer
接下来创建我们的清单文件
vim inventory 
[dev]
serverb

[test]
serverc

[prod]
serverd

[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key"
创建配置文件
vim ansible.cfg
[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
编写playbook
---
 - name: user add
   hosts: dev,test
   vars_files:
     - locker.yml
     - user_list.yml
   tasks:
     - name: add devops group
       group:
         name: devops
         state: present

     - name: dev and test useradd
       user:
         name: "{{ item.name }}"
         groups: devops
         password: "{{ pw_developer | password_hash('sha512') }}"
       loop: "{{ users }}"
       when: item.job == 'developer'
 - name: create manager
   hosts: prod
   vars_files:
     - locker.yml
     - user_list.yml
   tasks:
     - name: add  opsmgr group
       group:
         name: opsmgr
         state: present
         
     - name: prod useradd
       user:
         name: "{{ item.name }}"
         groups: opsmgr
         password: "{{ pw_manager | password_hash('sha512') }}"
       loop: "{{ users }}"
       when:  item.job == 'manager'
       
#执行playbook
ansible-playbook users.yml --vault-password=secret.txt

对我们刚刚的playbook执行结果进行

3、为 Ansiblev ault 文件修改密码

请为~/anstble/expense.yml 添加密码密码为: veryimportant
然后修改密码为:notveryimportant

cd ~/anxible
#创建expense.yml
vim expense.yml
name: bob
#对这个文件进行加密
echo veryimportant > pass.txt
#使用加密文件加密现有yml
ansible-vault encrypt --vault-id pass.txt expense.yml
#更改加密密码
ansible-vault rekey  expense.yml 
Vault password: 旧密码 
New Vault password: 新密码
Confirm New Vault password:新密码 
Rekey successful   修改成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号