最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 批量修改系统用户密码:利用自动化工具完成
时间:2026-07-07 09:34:57 编辑:袖梨 来源:一聚教程网
chpasswd可高效批量修改用户密码,支持标准输入和文件导入,需确保格式规范、权限正确及密码安全,推荐结合校验、加密控制与自动化清理流程。
直接用 chpasswd 就能高效完成,无需写复杂脚本或装额外工具。它原生支持批量操作,关键在格式规范、权限到位、密码安全。
chpasswd 基础用法:一行命令搞定多个用户
系统自带的 chpasswd 是最轻量、最可靠的批量改密方式。它不依赖网络、不需交互,只要 root 权限和正确格式的输入即可运行。
- 从标准输入修改:
echo "user1:NewPass@2026" | sudo chpasswd - 从文件批量导入:准备
users.txt,每行一个用户名:密码(冒号英文、无空格),然后执行sudo chpasswd < users.txt - 确认用户已存在:运行前用
id username或getent passwd username检查,避免静默失败
密码安全与加密控制
明文密码直接传入有泄露风险,生产环境必须控制加密方式和生命周期。
- 强制使用强哈希:加
-c SHA512参数,例如sudo chpasswd -c SHA512 < users.txt - 避免命令行留痕:不要在
echo中硬编码密码;优先用文件,并设权限chmod 600 users.txt - 改完立即清理:用
shred -u users.txt安全擦除原始密码文件,不留痕迹
自动化脚本封装建议
把检查、执行、清理串成可复用的流程,减少人为疏漏。
- 开头校验文件是否存在、是否可读
- 逐行解析
users.txt,用id预检用户,跳过不存在的账户并记录警告 - 执行
chpasswd后检查退出码,$?非 0 时中断并提示错误 - 成功后自动销毁密码文件,不依赖人工清理
跨服务器批量处理(进阶场景)
单台机器用 chpasswd 足够;若需同步改多台,推荐组合 SSH 密钥 + 简单循环,而非引入 sshpass 或 expect。
- 先部署免密登录:用
ssh-copy-id推送公钥到所有目标主机 - 用 for 循环分发命令:
for host in srv01 srv02 srv03; do ssh "$host" 'sudo chpasswd < /tmp/batch.pass' < users.txt; done - 更稳的方式是把
users.txt先scp过去,再远程执行,避免管道传输中断
相关文章
- 高德地图路线规划显示异常怎么办 07-09
- 漫蛙漫画官方版正版ios如何安装 07-09
- 胖东来官网地址-胖东来官方网站入口地址 07-09
- investopedia官网中文版入口-investopedia国内能用的官方网页版入口地址 07-09
- 一点文学txt小说网站入口-一点文学小说官网入口地址2026最新 07-09
- 易校园怎么绑定微信 07-09