在 Linux 系统中,可以使用 useradd 或 adduser 命令创建用户。以下是详细步骤和常见用法,Linux新手必看,如何用useradd/adduser命令轻松创建用户?,Linux新手必看,如何用useradd/adduser命令轻松创建用户?

前天 9974阅读

方法 1:使用 useradd(基础用户创建)

sudo useradd -m 用户名  # -m 自动创建用户家目录(如 /home/用户名)
sudo passwd 用户名      # 为用户设置密码(会提示输入两次密码)

常用选项详解

  • -m:自动创建用户家目录(默认不创建,强烈建议使用此选项)
  • -d /path/to/home:自定义家目录路径(如 -d /data/user1
  • -s /bin/bash:指定登录 Shell(默认可能是 /bin/sh,推荐指定为 bash)
  • -G 组名:将用户添加到附加组(多个组用逗号分隔,如 -G sudo,developers
  • -u 1001:手动指定用户 UID(需确保唯一,1000 以上为普通用户)
  • -e YYYY-MM-DD:设置账户过期日期(适用于临时账户)
  • -c "备注信息":添加用户描述信息(会显示在 /etc/passwd 文件中)

实用示例

# 创建完整配置的开发用户
sudo useradd -m -s /bin/bash -G sudo,developers -c "开发人员账号" -u 1005 devuser
# 创建系统服务账户(无家目录,禁止登录)
sudo useradd -r -s /usr/sbin/nologin serviceuser
# 创建带过期日期的临时账户(2024年底到期)
sudo useradd -m -e 2024-12-31 tempuser

方法 2:使用 adduser(交互式创建)

sudo adduser 用户名  # 交互式引导完成用户创建(Debian/Ubuntu 系列特有)

特点说明

  1. 全自动配置:自动创建家目录并设置正确权限(755)
  2. 交互式引导:逐步提示输入密码、全名、电话号码等用户信息
  3. 模板复制:自动将 /etc/skel 下的配置文件复制到新用户目录
  4. 发行版差异:部分 Linux 发行版(如 CentOS/RHEL)默认未安装此命令
  5. 安全性:强制要求设置强密码(会提示两次输入确认)

注意adduser 实际上是 useradd 的友好前端,在 Debian 系发行版中更为常见,适合新手使用。

用户管理后续操作

删除用户账户

sudo userdel -r 用户名  # -r 同时删除家目录和邮件目录

重要提示

  1. 删除用户前请确认该用户没有正在运行的进程,可使用 ps -u 用户名 检查
  2. 建议先备份用户重要数据再执行删除操作
  3. 对于系统服务账户,删除前确保相关服务已停止

修改用户属性

# 修改用户登录 Shell
sudo usermod -s /bin/zsh 用户名
# 追加用户到附加组(不影响原有组)
sudo usermod -aG docker,www-data 用户名
# 修改家目录位置(-m 选项会自动移动原有文件)
sudo usermod -d /new/home/dir -m 用户名
# 锁定/解锁账户
sudo usermod -L 用户名  # 锁定(在密码前加!)
sudo usermod -U 用户名  # 解锁
# 修改用户名(同时修改家目录名)
sudo usermod -l 新用户名 -d /home/新用户名 -m 旧用户名

查看用户信息

id 用户名       # 查看 UID、GID 和所属组
finger 用户名   # 查看详细信息(需安装 finger 包)
getent passwd 用户名  # 查看账户基本信息
groups 用户名   # 查看用户所属组
last 用户名     # 查看用户登录历史
who -u         # 查看当前登录用户
chage -l 用户名 # 查看账户密码过期信息

重要注意事项

  1. 权限要求:所有用户管理操作需要 rootsudo 权限

  2. 配置文件位置

    • /etc/default/useradd:默认用户创建配置
    • /etc/login.defs:用户创建默认参数(UID/GID 范围、密码策略等)
    • /etc/skel/:新用户家目录模板文件(可自定义)
    • /etc/passwd:用户基本信息
    • /etc/shadow:用户密码哈希(仅 root 可读)
    • /etc/group:组信息
  3. 安全建议

    • 强制使用复杂密码(长度至少12字符,包含大小写、数字和特殊字符)
    • 定期检查 /etc/passwd/etc/shadow 文件权限(应为644和400)
    • 对不再使用的账户及时锁定或删除
    • 限制 root 直接登录,使用 sudo 替代
    • 定期审计用户权限(特别是 sudo 权限)
  4. 系统用户:创建服务账户时使用 -r 选项,这类账户通常:

    • 没有家目录(除非特别指定)
    • 使用 /usr/sbin/nologin/bin/false 作为 Shell
    • UID 通常小于 1000(普通用户通常从 1000 开始)
    • 密码通常被锁定( 或 在密码字段)

高级技巧

批量创建用户

# 使用newusers命令批量创建(需要提前准备用户列表文件)
echo "user1:x:1001:1001:User One:/home/user1:/bin/bash" > users.txt
sudo newusers users.txt
# 使用for循环批量创建
for user in dev1 dev2 dev3; do
  sudo useradd -m -s /bin/bash $user
  echo "$user:StrongPassword123!" | sudo chpasswd
done

密码策略管理

# 设置密码过期策略
sudo chage -M 90 -m 7 -W 14 用户名  # 90天过期,最短7天修改,提前14天警告
# 强制下次登录修改密码
sudo passwd -e 用户名
# 查看密码策略
sudo chage -l 用户名

可视化操作(可选)

对于桌面环境用户,可通过系统设置中的"用户和组"工具进行图形化管理,主流桌面环境如:

  • GNOME:gnome-control-center user-accounts
  • KDE:kuser
  • Xfce:xfce4-user-settings

但命令行方式更适合服务器环境和管理批量操作,提供更精细的控制和自动化能力。

在 Linux 系统中,可以使用 useradd 或 adduser 命令创建用户。以下是详细步骤和常见用法,Linux新手必看,如何用useradd/adduser命令轻松创建用户?,Linux新手必看,如何用useradd/adduser命令轻松创建用户? 第1张 (常用用户管理命令示意图)

在 Linux 系统中,可以使用 useradd 或 adduser 命令创建用户。以下是详细步骤和常见用法,Linux新手必看,如何用useradd/adduser命令轻松创建用户?,Linux新手必看,如何用useradd/adduser命令轻松创建用户? 第2张 (/etc/passwd 文件结构解析)

在 Linux 系统中,可以使用 useradd 或 adduser 命令创建用户。以下是详细步骤和常见用法,Linux新手必看,如何用useradd/adduser命令轻松创建用户?,Linux新手必看,如何用useradd/adduser命令轻松创建用户? 第3张 (用户与组权限关系示意图)

最佳实践建议:根据实际需求选择合适的方法,useradd 更适合脚本自动化,而 adduser 则适合交互式单用户创建,对于生产环境,建议结合自动化工具如 Ansible 进行用户集中管理。


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]