ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ansible练习(3)变量

2021-11-26 18:32:41  阅读:173  来源: 互联网

标签:变量 练习 manager ansible developer password yml name


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   修改成功

在这里插入图片描述

标签:变量,练习,manager,ansible,developer,password,yml,name
来源: https://blog.csdn.net/hahaxixi131/article/details/121560890

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有