上一篇                     
               
			  如何在Linux中添加用户?
- Linux
- 2025-06-16
- 3919
 在Linux中添加用户使用
 
 
useradd或
 adduser命令,以root权限执行
 sudo useradd -m 用户名创建用户并生成家目录,再通过
 sudo passwd 用户名设置密码即可完成。
在Linux系统中添加用户是系统管理的基础操作,无论是部署服务器、分配权限还是多用户环境管理,都需要掌握此技能,以下为详细操作指南,涵盖命令行工具、配置选项及安全建议,所有步骤均需root权限(使用sudo前缀或切换至root账户执行)。
核心命令:useradd 与 adduser
 
useradd(基础工具)
 
- 基本语法: sudo useradd [选项] 用户名 
- 常用选项: 
  - -m:创建用户家目录(默认位于- /home/用户名)。
- -s /bin/bash:指定登录Shell(如- /bin/zsh)。
- -c "备注信息":添加用户描述(如全名)。
- -G 组名:将用户添加到附加组(如- sudo组赋予管理员权限)。
- -e YYYY-MM-DD:设置账户过期时间。
 
- 示例: sudo useradd -m -s /bin/bash -c "开发人员" -G developers,ftp john 
adduser(交互式工具,推荐新手)
 
- 部分Linux发行版(如Debian/Ubuntu)提供更友好的交互式流程: sudo adduser john 执行后按提示输入密码、全名等信息。 
关键操作步骤
设置用户密码
使用passwd命令为新建用户设置密码:

sudo passwd john
- 输入两次密码(密码不显示),需符合系统密码策略(长度、复杂度)。
自定义用户家目录
通过-d选项指定自定义家目录路径:
sudo useradd -m -d /data/users/john john
用户组管理
- 添加用户到附加组(如sudo组):sudo usermod -aG sudo john # -aG表示追加(不覆盖原有组) 
- 创建新用户组并加入: sudo groupadd developers sudo usermod -aG developers john 
修改用户属性
使用usermod调整现有用户:

sudo usermod -s /bin/zsh john # 更改Shell sudo usermod -L john # 锁定账户(禁止登录) sudo usermod -U john # 解锁账户
配置文件解析
/etc/passwd
 
存储用户基本信息,每行格式为:
   john:x:1001:1001:开发人员:/home/john:/bin/bash- 含义:用户名:密码占位符:UID:GID:描述:家目录:Shell
/etc/shadow
 
存储加密密码及策略(仅root可读):

   john:$6$加密密码...:19157:0:99999:7:::- 字段含义:密码最后修改日期、最小/最大密码有效期等。
/etc/skel/
 
- 模板目录,新建用户时自动复制此目录内容到家目录。
- 可预置.bashrc、.profile等配置文件。
删除用户
完全删除用户及相关文件
sudo userdel -r john # -r同时删除家目录和邮件
保留用户文件
sudo userdel john # 仅删除用户,保留/home/john
安全与最佳实践
- 最小权限原则: 
  - 避免赋予普通用户sudo权限,必要时通过visudo精细配置。
 
- 避免赋予普通用户
- 密码策略: 
  - 使用chage设置密码过期时间:sudo chage -M 90 -m 7 -W 14 john # 90天有效期,提前14天警告 
 
- 使用
- 禁用Shell访问: 
  - 创建仅用于服务的用户(如运行数据库): sudo useradd -m -s /usr/sbin/nologin dbuser 
 
- 创建仅用于服务的用户(如运行数据库): 
常见问题排查
- 用户无家目录:忘记加-m选项 → 用mkhomedir_helper john手动创建。
- 权限拒绝:确保命令前加sudo或切换至root账户。
- 用户组未生效:用户需重新登录或执行newgrp 组名。
引用说明: 基于Linux标准文档(
man useradd)、Filesystem Hierarchy Standard (FHS) 及开源社区最佳实践,具体命令行为可能因发行版(如CentOS与Ubuntu差异)略有不同,建议查阅官方手册:
- Linux man-pages
- Debian User Management
- Red Hat System Administrator’s Guide
 
  
			