温馨提示×

centos怎样导入用户列表

小樊
69
2026-09-12 07:20:25
栏目: 智能运维

在 CentOS 里“导入用户列表”常见有几种场景,下面按最常用方式给你说明,你可以按需选择。


一、用脚本批量导入用户(最常用)

假设你有一个用户列表文件 users.txt,格式如下:

user1
user2
user3

或者带密码(不推荐明文,仅示例):

user1:password1
user2:password2

1️⃣ 仅创建用户(无密码)

while read user; do
    useradd "$user"
done < users.txt

2️⃣ 创建用户并设置密码

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

三、从其他系统导入(/etc/passwd + /etc/shadow)

如果你是从另一台 CentOS 迁移用户:

# 拷贝以下文件内容合并(手动或脚本)
/etc/passwd
/etc/shadow
/etc/group

⚠ 注意:

  • UID 不能冲突
  • 家目录需手动创建
  • 推荐用 rsync 同步 /home

四、导入用户并设置有效期 / 禁止登录

useradd -e 2025-12-31 user1     # 账号到期
useradd -s /sbin/nologin user2  # 禁止登录

五、验证用户是否导入成功

cut -d: -f1 /etc/passwd
id user1

如果你能说明:

  • 用户来源(Excel / 文件 / 其他系统)
  • 是否需要家目录 / 密码 / sudo 权限

我可以给你更精准的导入方案。

0 踩