> 软件包与系统管理 > useradd

useradd 命令指南:创建新用户账户

`useradd` 命令用于在 Linux 系统中创建新的用户账户。该命令不仅可以添加用户名,还可以设置用户的主目录、Shell、组成员资格等账户的各种属性。系统管理员在注册新用户或创建服务账户时必不可少。通过本指南,您可以了解 `useradd` 的基本用法和各种选项。

useradd 概述

`useradd` 命令向 `/etc/passwd`、`/etc/shadow`、`/etc/group`、`/etc/gshadow` 等系统文件添加用户账户信息,创建用户的主目录,并复制基本配置文件(骨架文件)等操作。整个过程需要管理员权限(`sudo`)。

useradd 的主要角色

`useradd` 命令主要用于以下目的:

主要应用领域

  • 注册新用户: 向系统添加新的普通用户,以允许登录和文件访问。
  • 创建服务账户: 用于特定应用程序或服务运行时的非登录账户。
  • 安全管理: 为每个用户提供独特的账户,以控制系统访问并增强责任感。

创建用户账户时的主要组成部分

创建用户账户时,会设置以下主要组成部分:

主要账户组成部分

  • 用户名 (Username): 账户的唯一标识符,在登录时使用。
  • 用户 ID (UID): 系统识别用户的数字 ID,记录在 `/etc/passwd` 中。
  • 主组 (Primary Group): 用户创建时自动分配的主组。
  • 附加组 (Supplementary Groups): 用户可以额外加入的组。
  • 主目录 (Home Directory): 用户个人文件存储的空间。通常为 `/home/username` 格式。
  • 登录 Shell (Login Shell): 用户登录时执行的默认 Shell 程序。(例如:`/bin/bash`、`/bin/sh`、`/bin/false`)
  • 密码: 用于用户认证,必须通过 `passwd` 命令单独设置。

📂 基本配置文件(骨架目录)

/etc/skel

创建新用户账户时,用户的主目录会复制预定义的基本配置文件(例如:`.bashrc`、`.profile`)。这些文件通常位于 `/etc/skel` 目录中,称为骨架目录。

主要 useradd 命令选项

`useradd` 命令提供了设置用户的主目录、Shell、组、过期日期等多种账户属性的选项。

1. 账户基本设置

2. 组及 UID/GID 设置

3. 账户过期及其他

生成的命令:

请尝试组合命令。

描述:

`useradd` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 `useradd` 命令的各种应用示例,学习如何创建新用户账户并设置属性。

创建新用户账户(默认设置)

sudo useradd testuser

创建名为 `testuser` 的新用户账户。该账户的主目录和密码尚未设置。

创建带主目录的新用户账户

sudo useradd -m devuser
sudo passwd devuser

创建名为 `devuser` 的新用户账户,同时创建 `/home/devuser` 主目录并复制 `/etc/skel` 的基本配置文件。账户创建后,必须通过 `passwd` 命令设置密码才能登录。

创建具有特定主目录和 Shell 的用户

sudo useradd -m -d /var/www/webuser -s /bin/false webuser

创建名为 `webuser` 的账户,主目录设置为 `/var/www/webuser`,默认 Shell 设置为 `/bin/false`(不可登录)。适合用作 Web 服务账户。

将用户添加到多个组

sudo useradd -m -G sudo,www-data -c "Administrator for Web" adminuser
sudo passwd adminuser

创建 `adminuser` 账户,并将其添加到 `sudo` 组和 `www-data` 组,同时设置用户说明。

创建具有过期日的用户账户

sudo useradd -m -e 2025-12-31 tempuser
sudo passwd tempuser

创建名为 `tempuser` 的账户,并创建主目录,同时设置账户在 2025 年 12 月 31 日过期。适合用作临时工账户。

查看当前 useradd 默认值

useradd -D

查看创建新用户时将应用的默认值(基本组、主目录前缀、Shell 等)。


相同类别命令