Ansible实现远程创建用户并对密码进行加密设置 Linux教程



ansible  app   -m  user  -a  'name=apple  shell=/bin/bash  home=/home/apple/  state=present'

---present, 增加用户, 当 state=absent 时,为删除用户


ansible-vault  # 查看ansible加密模块的用法


# 编辑用户和密码.yml文件

vi userlist.yml

---
userlist:
 - user: user1
    pass: '123'
 - user: user2
    pass: '456'
 - user: user3
    pass: '789'    #密码都引起来,字符串


# 编辑创建用户的.yml文件

vi createuser.yml
---
 - hosts: test
  vars_files:
    - userlist.yml
  tasks:
    - name: create user
      user:
        name: "{{ item.user }}"
        password: "{{ item.pass | password_hash('sha512') }}"    #不引
        state: present
      loop: "{{ userlist }}"


# 对存放用户名和密码的.yml文件进行加密,并输入密码:

ansible-vault encrypt userlist.yml 

cat userlist.yml

ansible-vault view userlist.yml   # 输入密码后可以查看文件内容

ansible-vault edit userlist.yml    # 编辑文件内容,用edit参数


# 使用加密的方式创建用户

ansible-playbook createuser.yml --ask-vault-pass


# cat /etc/shadow  # 执行成功,在目标主机server2查看,发现密码已经是加密过的


# 给文件解密

ansible-vault decrypt userlist.yml 


# 下面的命令用于修改已经存在的用户的密码也是可以的:

ansilbe   apps   -m   user  -a   'name=apple  shell=/bin/bash   password=pnK4rIpkaoHo  update_password=always '


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回