创建密码库/创建用户帐户/更新 Ansible 库的密钥/ 配置cron作业

目录

创建密码库

创建用户帐户

[更新 Ansible 库的密钥](#更新 Ansible 库的密钥)

配置cron作业


创建密码库

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

库名称为 /home/curtis/ansible/locker.yml

库中含有两个变量,名称如下:

pw_developer,值为 Imadev

pw_manager,值为 Imamgr

用于加密和解密该库的密码为 whenyouwishuponastar

密码存储在文件 /home/curtis/ansible/secret.txt 中

复制代码
vim locker.yml

pw_developer: Imadev
pw_manager: Imamgr

vim secret.txt

whenyouwishuponastar

ansible-vault encrypt --vault-password-file=secret.txt locker.yml

ansible-vault view --vault-password-file=secret.txt locker.yml

创建用户帐户

http://rhgls.area12.example.com/materials/user_list.yml 下载要创建的用户的列表,并将它保存到 /home/curtis/ansible

在本次考试中使用在其他位置创建的密码库 /home/curtis/ansible/locker.yml 。创建名为 /home/curtis/ansible/users.yml 的 playbook ,从而按以下所述创建用户帐户:

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

在 dev 和 test 主机组中的受管节点上创建

从 pw_developer 变量分配密码

分配对应的用户ID

是补充组 devops 的成员

职位描述为 manager 的用户应当:

在 prod 主机组中的受管节点上创建

从 pw_manager 变量分配密码

分配对应的用户ID

是补充组 opsmgr 的成员

密码采用 SHA512 哈希格式。

您的 playbook 应能够在本次考试中使用在其他位置创建的库密码文件 /home/curtis/ansible/secret.txt 正常运行。

复制代码
wget  http://rhgls.area12.example.com/materials/user_list.yml

vim users.yml

- hosts: all
  vars_files:
          - user_list.yml
          - locker.yml
  tasks:
          - group:
                  name: devops
                  state: present
          - group:
                  name: opsmgr
                  state: present
          - user:
                  name: "{{ item.name }}"
                  uid: "{{ item.uid }}"
                  groups: devops
                  password: "{{ pw_developer | password_hash ('sha512')}}"
                  state: present
            when: ( 'dev' in group_names or 'test' in group_names) and ( item.job== "developer")
            loop: "{{ users }}"
          - user:
                  name: "{{ item.name }}"
                  uid: "{{ item.uid }}"
                  groups: opsmgr
                  state: present
                  password: "{{ pw_manager | password_hash ('sha512')}}"
            when: ( 'prod' in group_names ) and ( item.job== "manager")
            loop: "{{ users}}"
复制代码
ansible-playbook users.yml --vault-password-file=secret.txt

更新 Ansible 库的密钥

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

http://rhgls.area12.example.com/materials/salaries.yml 下载 Ansible 库到 /home/curtis/ansible

当前的库密码为 insecure8sure

新的库密码为 bbs2you9527

库使用新密码保持加密状态

复制代码
wget http://rhgls.area12.example.com/materials/salaries.yml
复制代码
ansible-vault rekey salaries.yml

配置cron作业

创建名为/home/curtis/ansible/cron.yml的playbook,在所有托管主机上运行为用户curtis创建如下cron作业:

/home/curtis/ansible/cron.yml 用户curtis必须配置运行每个2分钟并执行logger "EX294 in progress"的cron作业

复制代码
vim cron.yml 
- hosts: all
  tasks:
          - cron:
                  name: cron
                  user: curtis
                  minute: "*/2"
                  job: logger "EX294 in progress"
复制代码
ansible-playbook cron.yml
复制代码
ansible all -a "crontab -lu curtis"
相关推荐
开源Linux4 天前
Ansible高频面试题详解:30个问题从入门到精通
ansible
我爱钱因此会努力6 天前
ansible实战-不同的用户登录不同的主机
linux·运维·服务器·ansible
我爱钱因此会努力6 天前
ansible实战- 关机
linux·运维·服务器·centos·自动化·ansible
运维李哥不背锅7 天前
Ansible 模块详解:高效管理你的 IT 基础设施
服务器·网络·ansible
K_i1347 天前
Ansible模块分类与实战应用指南
ansible
我爱钱因此会努力7 天前
ansible自动化运维入门篇
linux·运维·服务器·centos·自动化·ansible
zz-zjx7 天前
Ansible生产调优与故障排查全攻略
ansible
K_i1347 天前
Ansible自动化部署ECS与Nginx全流程
nginx·自动化·ansible
zz-zjx7 天前
生产级 Ansible 部署全流程-nginx示例
ansible
运维李哥不背锅7 天前
Ansible 的变量与模板:实现更灵活的自动化配置
java·自动化·ansible