命令简介

useradd 是 Linux 系统中用于创建新用户的命令。它允许系统管理员设置用户的属性、权限和其他相关设置。该命令是管理用户帐户的重要工具之一。

命令格式

1
useradd [选项] 用户名

参数说明

参数 说明 备注
-c 指定新用户的备注信息 例如:”Full Name”
-d 指定新用户的主目录 默认为 /home/用户名
-g 指定新用户的主组 可以是组名或 GID
-G 指定新用户的附加组 多个组使用逗号分隔
-m 自动创建主目录 默认情况下不会创建
-s 指定新用户的默认 Shell 默认为 /bin/bash
-u 指定新用户的 UID 如果不指定,系统会自动分配
-k 复制骨架目录的内容 用于初始化新用户的主目录
-r 创建系统帐户 没有主目录、密码等

命令实例

基本用法

1.创建新用户

1
useradd newuser

这将创建一个名为 newuser 的新用户,使用默认设置。

2.创建新用户并设置属性

1
useradd -c "John Doe" -d /home/johndoe -s /bin/zsh -g developers -G admins,finance johndoe

这将创建一个名为 johndoe 的新用户,并设置以下属性:

  • 备注信息为 “John Doe”
  • 主目录为 /home/johndoe
  • 默认 Shell 为 /bin/zsh
  • 主组为 developers
  • 附加组为 adminsfinance

3.创建系统帐户

1
useradd -r systemuser

这将创建一个名为 systemuser 的系统帐户,没有主目录、密码等。

4.复制骨架目录

1
useradd -m -k /etc/skel newuser

这将创建一个名为 newuser 的新用户,并从 /etc/skel 目录复制文件和目录作为新用户主目录的初始内容。

扩展用法

1.批量创建用户

1
2
3
cat users.txt | while read user; do
useradd -m -c "$user" "$user"
done

这将从 users.txt 文件中读取用户名,并为每个用户创建一个新帐户,使用用户名作为备注信息。

2.使用密码创建用户

1
useradd -m -p $(openssl passwd -1 "Password123") newuser

这将创建一个名为 newuser 的新用户,并使用 openssl 命令生成一个加密的密码 “Password123”。

3.高级用户创建

1
useradd -m -U -K UID_MIN=1000 -K UID_MAX=5000 -K USERGROUPS_ENAB=yes newuser

这将创建一个名为 newuser 的新用户,并设置以下高级选项:

  • 将用户的 UID 限制在 1000 到 5000 之间
  • 启用用户组创建功能,为新用户自动创建一个同名的用户组

高级用法

1.自定义新用户的默认配置文件

1
useradd -m -k /path/to/custom/skel newuser

这将创建一个名为 newuser 的新用户,并从 /path/to/custom/skel 目录复制文件和目录作为新用户主目录的初始内容。这样,您可以自定义新用户的默认配置文件、bashrc、vimrc 等。

2.创建具有特定权限的用户

1
useradd -m -G sudo,docker newuser

这将创建一个名为 newuser 的新用户,并将其添加到 sudodocker 组中,从而赋予该用户使用 sudodocker 命令的权限。

3.创建具有特定资源限制的用户

1
useradd -m -K FSGID=1000 -K FSUID=1000 -K FSMASK=027 newuser

这将创建一个名为 newuser 的新用户,并设置以下资源限制:

  • 设置新用户的文件系统 GID 为 1000
  • 设置新用户的文件系统 UID 为 1000
  • 设置新用户创建文件的默认权限掩码为 027

通过这些设置,您可以控制新用户对文件系统的访问权限和默认文件权限。

以上是关于 useradd 命令的详细文档,包括命令简介、语法格式、参数使用说明、演示实例以及扩展和高级使用方法。如果您需要更多关于用户管理的信息,可以查阅 usermoduserdelgroupaddgroupmodgroupdel 等相关命令的文档。