标签:变量 练习 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。