ansible普通用户批量修改密码

ansible批量修改密码

#日常运维为了安全会禁止root远程登陆,并且要求用户三个月改一次密码,这时当机器比较多时,一台一台操作就比较麻烦。可以考虑以下方案

#创建一个普通用户,并加入wheel组,默认情况下只有加入wheel组的用户才能使用sudo提权

bash 复制代码
useradd -m -s /bin/bash admin_user

# 2. 为该用户设置初始密码
passwd admin_user

# 3. 赋予 sudo 权限
# 方法 A (推荐): 将用户加入 wheel 组 (CentOS/RHEL) 或 sudo 组 (Ubuntu/Debian)
usermod -aG wheel admin_user   # CentOS/RHEL/Fedora



#创建ansible的hosts文件
#同密码机器作为一批机器组

[webservers]
10.0.0.11

[webservers:vars]
# 指定登录的普通用户
ansible_user=admin_user
ansible_password=xxxxxxx
# 如果使用了 SSH 密钥,指定私钥路径(如果没有配置 ssh-agent 或默认 ~/.ssh/id_rsa)
# ansible_ssh_private_key_file=~/.ssh/id_rsa

# 【关键】开启提权模式 (相当于 sudo)
ansible_become=yes
# 如果 sudo 需要密码,在这里配置用来提权的用户密码 (如果配置了 NOPASSWD 则不需要这行)
ansible_become_password=xxxxxxx
yaml 复制代码
- name: Batch Update Root Password on Hardened Servers
  hosts: webservers
  gather_facts: no  # 加快速度,不需要收集系统信息
  
  tasks:
    - name: Update root password using user module
      user:
        name: root
        # 这里使用加密后的密码字符串,避免明文
        # 可以使用 mkpasswd 命令生成: mkpasswd -m sha-512 "NewPassword123!",或者python3 -c 'import crypt; print(crypt.crypt("b0++1Y#4I~ZPAE1", crypt.mksalt(crypt.METHOD_SHA512)))'
        password: "$6$v08nweH6wdN9cgZl$e6iEgRzpy7RltRmVq3HFl4AuUOnzPLPSTpVG3YqpABkC3kOh74NxDLy6KqUXMGh69q8t8WVengryo0a7ql08J0"
        update_password: always
      become: yes  # 再次确认需要提权 (虽然 inventory 里已经全局设置了)
      become_method: sudo
bash 复制代码
ansible-playbook -i hosts change_root_pwd.yml

#如果没有在Hosts文件写密码,,或者没有生成密钥则可以添加询问模式
ansible-playbook -i hosts change_root_pwd.yml --ask-pass --ask-become-pass
相关推荐
Yana.nice5 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567968 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧9 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
HiDev_9 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling10 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森10 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客11 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝11 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
AOwhisky12 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客12 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice