ansible批量更新修改用户密码

举报
江晚正愁余 发表于 2024/04/03 10:58:29 2024/04/03
【摘要】 ansible批量更新修改用户密码一,问题背景因为服务器用户密码定期90天必须修改密码,因此需要进行批量化操作。使用有sudo权限的普通用户进行操作二,环境系统IP软件备注centos7192.168.11.140ansible2.9.7安装需要epel源centos7192.168.153.130nullnull三,操作步骤取消key验证[admin]# sudo sed -i 's/^#...

ansible批量更新修改用户密码

一,问题背景

  1. 因为服务器用户密码定期90天必须修改密码,因此需要进行批量化操作。
  2. 使用有sudo权限的普通用户进行操作

二,环境

系统 IP 软件 备注
centos7 192.168.11.140 ansible2.9.7 安装需要epel源
centos7 192.168.153.130 null null

三,操作步骤

  1. 取消key验证
[admin]# sudo sed -i 's/^#host_key_checking = False/host_key_checking = False/g' /etc/ansible/ansible.cfg


  1. 定义hosts文件
[admin]# sudo vim /etc/ansible/hosts

[backsrvs]
192.168.153.130 ansible_ssh_user=admin ansible_ssh_pass=admin1234 ansible_become_pass=admin1234

ansible_ssh_user,ansible_ssh_pass 这两个是需要更新密码的主机的远程登陆账号与密码(如使用ssh互信就不用再写密码),ansible_become_pass是运行sudo命令的账号的密码,再运行命令时,如果 提示输入当前账号的密码,就需要使用此密码。

 

  1. 定义playbooks
[admin]# sudo vim /etc/ansible/update_users_pd.yml

- name: 由于线上服务器普通账号三个月密码需要更新,这里采用普通用户登陆,再用sudo命令修改密码。
  hosts: backsrvs
  remote_user: admin
  gather_facts: false
  tasks:
  - name: update users's password
    become: yes
    become_user: root
    become_method: sudo
    user: name={{ item.name }} password={{ item.chagepd | password_hash('sha512') }} update_password=always
    with_items:
    - { name: 'test01',chagepd: 'test1234' }
    - { name: 'test02',chagepd: 'test1234' }
    - { name: 'test03',chagepd: 'test1234' }

其中 在hosts资源清单中已经写明远程登陆更新密码的主机账号的话,yaml剧本中不用再写remote_user,这样远程主机的账号可以使用不同的账号. name: 是更新密码的账号,chagepd是更新的密码。

 

  1. 执行
[admin]# sudo ansible-playbook update_users_pd.yml --list-hosts 	#查看执行脚本中的hosts
[admin]# sudo ansible-playbook update_users_pd.yml -C 		#只检查,不真正执行,如有报错,根据情况修改
[admin]# sudo ansible-playbook update_users_pd.yml



四,修改单一用户

[admin]# sudo vim /etc/ansible/update_user_pd.yml
- hosts: backsrvs
  remote_user: admin
  gather_facts: false
  tasks:
  - name: update users's password
    become: yes
    become_user: root
    become_method: sudo
    user: name={{ name }} password={{ chagepd | password_hash('sha512') }} update_password=always
sudo ansible-playbook update_user_pd.yml -e "name=test01 chagepd=test4321"

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。