上一篇                     
               
			  Linux如何创建新用户?,或,Linux怎么添加新用户?
- Linux
- 2025-06-02
- 3632
 在 Linux 中,使用 
 
 
useradd 或 
 adduser 命令创建用户,通常需要 root 权限,基本命令格式为 
 sudo useradd 用户名,之后使用 
 passwd 用户名 为其设置密码。
Linux 用户创建的核心命令
useradd 命令(基础方法)
 
sudo useradd [选项] <用户名>
常用选项详解:
- -m:自动创建用户家目录(默认在- /home/用户名)
- -d /path:自定义家目录路径(如- -d /data/john)
- -s /bin/bash:指定登录 Shell(支持- /sbin/nologin禁止登录)
- -G group1,group2:将用户加入附加组
- -u 1005:手动指定用户 UID(避免冲突)
- -e YYYY-MM-DD:设置账户过期日期
操作示例:
sudo useradd -m -s /bin/bash -G developers,webadmin john
adduser 命令(交互式向导,推荐新手)
 
sudo adduser <用户名> # Debian/Ubuntu 专属
执行后按提示输入密码、全名等信息,自动完成家目录创建和基础配置。
关键配置与安全设置
设置用户密码
创建后必须用 passwd 激活账户:

sudo passwd john # 按提示输入两次密码
安全建议:
- 密码长度 ≥ 12 位,混合大小写、数字、符号
- 定期更新:chage -M 90 john(90 天强制更换)
用户配置文件解析
- /etc/passwd:存储用户基本信息- john:x:1001:1001:John Doe:/home/john:/bin/bash # 依次为:用户名:密码占位符:UID:GID:描述:家目录:Shell 
- /etc/shadow:加密密码及策略(仅 root 可读)
- /etc/group:用户组定义
自定义用户环境
初始化文件模板位于 /etc/skel/:
sudo cp /etc/skel/.bashrc /home/john/ # 复制默认配置
进阶场景操作指南
创建系统用户(无登录权限)
适用于运行服务的守护进程:

sudo useradd -r -s /usr/sbin/nologin mysql # -r 表示系统用户
用户组管理
- 创建组:sudo groupadd developers
- 追加组:sudo usermod -aG developers john(-a保留原有组)
批量创建用户
通过脚本自动化处理:
   for user in alice bob charlie; do
     sudo useradd -m $user
     echo "$user:Passw0rd!" | sudo chpasswd
   done 
验证与故障排查
- 检查用户信息: id john # 查看 UID/GID 及所属组 grep john /etc/passwd # 核对配置 
- 测试登录: su - john # 切换用户(需输入密码) 
- 常见错误: 
  - 用户已存在:useradd: user 'john' already exists
- 权限不足:确保使用 sudo
- 家目录未生成:检查 -m参数或磁盘空间
 
- 用户已存在:
用户删除操作
安全删除用户及关联文件:
sudo userdel -r john # -r 删除家目录和邮件
️ 警告:生产环境删除前务必备份数据!
安全最佳实践
- 最小权限原则:用户只拥有必需权限(通过组精细控制)
- 禁用 root 远程登录:修改 /etc/ssh/sshd_config中PermitRootLogin no
- 定期审计:使用 last查看登录记录,chage -l john检查密码策略
引用说明
- 命令文档:man useradd,man passwd,man groupadd
- Linux 标准规范参考:Filesystem Hierarchy Standard (FHS)
- 安全建议:基于 CIS Linux Benchmarks 强化指南
本文严格遵守 Linux 官方操作规范,所有命令均在 Ubuntu 22.04/CentOS 9 验证通过,实际部署时请结合发行版手册调整参数,关键操作建议先在测试环境验证。
 
 
 
			