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 等)。