FreeCAD:革命性开源参数化3D建模软件的完整解析与实战指南
2026/7/21 22:03:28
在日常 Linux 运维或测试环境中,经常会遇到需要批量创建用户并设置密码的场景,比如:
手动逐个创建不仅效率低,而且容易出错。本文介绍一种使用 Bash 脚本 + Linux 命令批量创建 100 个用户,并将用户名和密码保存到文本文件中的方法。
整体流程如下:
for循环生成用户列表(user1 ~ user100)openssl生成随机密码useradd创建用户chpasswd批量设置密码.txt文件中,方便后续分发或查看#!/bin/bash# 保存用户名和密码的文件output_file="user_credentials.txt"# 创建或清空文件>"$output_file"# 循环创建 100 个用户foriin{1..100};dousername="user${i}"# 生成随机密码(12 位)password=$(openssl rand -base6412|tr-d'/+=')# 创建用户(-m 自动创建 home 目录)sudouseradd-m"$username"# 设置用户密码echo"$username:$password"|sudochpasswd# 将用户名和密码写入文件echo"$username:$password">>"$output_file"doneecho"用户创建完成,账号信息已保存到$output_file"username="user${i}"生成的用户名为:
user1 user2 ... user100你可以根据需要修改为testuser${i}、dev${i}等。
openssl rand -base6412|tr-d'/+='说明:
openssl rand -base64 12:生成 12 字节随机字符串tr -d '/+=':去掉可能导致输入问题的特殊字符这样生成的密码:
sudouseradd-m"$username"参数说明:
-m:自动创建/home/username目录echo"$username:$password"|sudochpasswd相比passwd交互式方式,chpasswd非常适合脚本自动化。
echo"$username:$password">>"$output_file"最终生成的user_credentials.txt内容类似:
user1:KjS82jds9As user2:9DJkS8sd2Lm ...⚠️注意:该文件包含明文密码,请妥善保管或仅用于测试环境。
vicreate_users.sh粘贴脚本内容并保存。
chmod+x create_users.shsudo./create_users.sh必须使用sudo或 root 用户运行。
如果你只想生成加密后的密码字符串(例如用于/etc/shadow或配置文件),可以使用:
opensslpasswd-1"123456"示例输出:
$1$R9E3fH2J$gXGk3L1ZC8mZkYQ5DqGJb/说明:
-1:使用MD5-crypt"123456":原始明文密码📌 实际脚本中更推荐使用chpasswd,系统会自动选择合适的加密算法。
✅仅在测试或内部环境使用明文密码文件
❌ 不要在生产环境长期保存明文密码
🔐 用完后建议删除:
shred -u user_credentials.txt👥 如果是服务器环境,建议结合:
通过 Bash 脚本 + Linux 原生命令,你可以:
这是一个非常实用的Linux 运维自动化小技巧,适合新服务器初始化或测试环境搭建。