在 CentOS 里“导入用户列表”常见有几种场景,下面按最常用方式给你说明,你可以按需选择。
假设你有一个用户列表文件 users.txt,格式如下:
user1
user2
user3
或者带密码(不推荐明文,仅示例):
user1:password1
user2:password2
while read user; do
useradd "$user"
done < users.txt
while IFS=: read user pass; do
useradd "$user"
echo "$user:$pass" | chpasswd
done < users.txt
✅ 适合 CentOS 6 / 7 / 8 / Stream
newusers 命令(推荐批量导入)newusers 可以直接导入标准格式文件。
用户名:密码:UID:GID:说明:家目录:shell
示例 users.txt:
user1:123456:1001:1001::/home/user1:/bin/bash
user2:123456:1002:1002::/home/user2:/bin/bash
执行:
newusers users.txt
⚠ 密码是明文,导入后建议强制改密:
chage -d 0 user1
如果你是从另一台 CentOS 迁移用户:
# 拷贝以下文件内容合并(手动或脚本)
/etc/passwd
/etc/shadow
/etc/group
⚠ 注意:
rsync 同步 /homeuseradd -e 2025-12-31 user1 # 账号到期
useradd -s /sbin/nologin user2 # 禁止登录
cut -d: -f1 /etc/passwd
id user1
如果你能说明:
我可以给你更精准的导入方案。