anible使用循环创建用户

本文介绍如何使用Ansible批量创建用户并利用Ansible Vault进行密码加密,确保信息安全。通过示例展示如何编写playbook,配置用户列表及密码,并实现安全的密码管理。

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

[devops@server1 ansible]$ vim useradd.yml##创建用户文件
[devops@server1 ansible]$ pwd
/home/devops/ansible

[devops@server1 ansible]$ cat useradd.yml 
---
- hosts: all
  vars_files:
    - userlist.yml
  tasks:
    - name: create user
      user:
        name: "{{ item.user }}"
        password: "{{ 'item.pass' | password_hash('sha512') }}"
        state: present
      loop: "{{ userlist }}"

[devops@server1 ansible]$ vim userlist.yml##创建用户列表文件

[devops@server1 ansible]$ cat userlist.yml 
---
userlist:
  - user: user1
    pass: 123
  - user: user2
    pass: 456
  - user: user3
    pass: 789

[devops@server1 ansible]$ ansible-playbook useradd.yml ##执行文件
[devops@server1 ansible]$ cat /etc/passwd##查看用户是否添加

在这里插入图片描述

但这样很不安全,用cat命令就可以查看到所有的用户和密码
在这里插入图片描述

我们可以通过ansible-vault对其进行加密,加密后查看时智慧看到加密后的信息,无法得到明文密码
[devops@server1 ansible]$ ansible-vault encrypt userlist.yml
New Vault password:
Confirm New Vault password:
Encryption successful
在这里插入图片描述
当想查看时可以通过view命令来查看,使用命令后输入正确密码就可以看到用户列表的信息了(设置密码时要符合密码格式,不然可能无法切换用户,我的密码为纯数字经测试后就无法切换用户)
在这里插入图片描述
加密后也无法直接进行推送
在这里插入图片描述

推送时需要添加参数
[devops@server1 ansible]$ ansible-playbook useradd.yml --ask-vault-pass##添加参数,输入正确密码后就可以推送了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值