ansible 第三次作业

本文介绍了如何使用Ansible Vault创建并加密存储用户密码,然后根据用户列表创建不同权限的用户账户,同时展示了如何修改Vault文件的密码。涉及的Ansible任务包括创建用户组、设置用户密码(使用SHA512哈希)并根据主机分组分配用户到不同的主机组。此外,还演示了Ansible Vault的rekey操作,用于更新Vault文件的加密密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  • Vault 文件中包含两个变量:

    pw_developer: imadev

    pw_manager: imamgr

  • 加密此文件的密码为redhat

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

[root@servera ansible]# echo redhat >secret.txt
[root@servera ansible]# chmod 600 secret.txt
[root@servera ansible]# ansible-vault create locker.yml -vault-password-file=secret.txt

[root@servera ansible]# cat locker.yml 
$ANSIBLE_VAULT;1.1;AES256
37393662346638636431656162383033373738643939376337376561343638353435333436313262
3933303639343161393830643663613536383065376531650a653361643663353937373735656335
64333561643162353262323536393533616231393132626639623761663761366564326566393266
6361663036613439350a306262633562653263333436653030383135316264656235346337393439
61353433663562326139353965613761643161326430613065613738373237633335623738323864
6261366339336435343734663139663439666463663337373363

[root@servera ansible]# ansible-vault view locker.yml
Vault password: 
pw_developer: imadev
pw_manager: imamgr

2、创建用户账户

  • 需要创建的用户账户清单来自于files/14/user_list.yml,请拷贝到~/ansible中

  • 配合上一题的locker.yml,创建名为users.yml的playbook,要求如下:

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

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

  • 用户密码使用 SHA512 hash

[root@servera ansible]# cp ~/files/14/user_list.yml .
[root@servera ansible]# vim users.yml
[root@servera ansible]# cat users.yml 
---
- name:create user
  hosts: all
  vars_files:
    - locker.yml
    - user_list.yml
  tasks:
  - name: create group devops
    group:
      name: devops
      state: present
    when: ansible_hostname in groups['dev'] or ansible_hostname in groups['test']
  - name: create group opsmgr
    group:
      name: opsmgr
      state: present
    when: ansible_hostname in groups['pro']
  - name:
    user:
      name: "{{ item.name }}"
      groups: devops
      password: "{{ pw_developer | password_hash('sha512') }}"
    loop: "{{ users }}"
    when: (ansible_hostname in groups['dev'] or ansible_hostname in groups['test'] ) and item.job == 'developer'
  - name: create user for prod
    user:
      name: "{{ item.name }}"
      groups: opsmgr
      password: "{{ pw_manager | password_hash('sha512') }}"
    loop: "{{ users }}"
    when: ansible_hostname in groups['prod'] and item.job == 'manager'

3、为 Ansiblev ault 文件修改密码

请为 expense.yml 文件修改 vault 密码, 要求如下:

  • 请将 files/15/expense.yml 文 件 保 存 到 ~/anstble/expense.yml

  • 此文件当前的 vault 密码是: veryimportant

  • 新的 vault 密码是: notveryimportant

[root@servera ansible]# cp ~/files/15/expense.yml .
[root@servera ansible]# ansible-vault rekey expense.yml
Vault password: 
New Vault password: 
Confirm New Vault password: 
Rekey successful

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个F啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值